diff --git a/mbug.cabal b/mbug.cabal
--- a/mbug.cabal
+++ b/mbug.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 94ac4ffaed906cc7c6fc21f6e34deffce3013fe48480299b75bed5fee79c1d19
+-- hash: 28915eed4aecb0981edfa9c311619daf8b7beb37c23db472bb31dfc31e6a8f1b
 
 name:           mbug
-version:        1.0
+version:        1.1
 synopsis:       download bugs mailboxes
 description:    See readme at https://gitlab.com/iu-guest/mbug
 category:       Debian
@@ -37,23 +37,25 @@
       Data.Maybe.Extended
       Text.HTML.Scalpel.Core.Extended
   other-modules:
+      Data.Text.Compat
+      Options.Applicative.Compat
       Paths_mbug
   hs-source-dirs:
       src
   build-depends:
-      base ==4.10.*
+      base >=4.9 && <5
     , bytestring ==0.10.*
     , directory ==1.3.*
-    , extra ==1.6.*
+    , extra >=1.5 && <1.7
     , http-client ==0.5.*
     , http-client-tls ==0.3.*
-    , optparse-applicative ==0.14.*
-    , process ==1.6.*
+    , optparse-applicative >=0.13 && <0.15
+    , process >=1.4 && <1.7
     , scalpel-core ==0.5.*
     , tagsoup ==0.14.*
     , text ==1.2.*
     , th-printf ==0.5.*
-    , time ==1.8.0.*
+    , time >=1.6 && <1.9
     , xdg-basedir ==0.2.*
   if flag(devel)
     ghc-options: -Wall -Wextra -Werror -Wincomplete-patterns -Wunused-imports
@@ -66,20 +68,20 @@
   hs-source-dirs:
       bin
   build-depends:
-      base ==4.10.*
+      base >=4.9 && <5
     , bytestring ==0.10.*
     , directory ==1.3.*
-    , extra ==1.6.*
+    , extra >=1.5 && <1.7
     , http-client ==0.5.*
     , http-client-tls ==0.3.*
     , mbug
-    , optparse-applicative ==0.14.*
-    , process ==1.6.*
+    , optparse-applicative >=0.13 && <0.15
+    , process >=1.4 && <1.7
     , scalpel-core ==0.5.*
     , tagsoup ==0.14.*
     , text ==1.2.*
     , th-printf ==0.5.*
-    , time ==1.8.0.*
+    , time >=1.6 && <1.9
     , xdg-basedir ==0.2.*
   if flag(devel)
     ghc-options: -Wall -Wextra -Werror -Wincomplete-patterns -Wunused-imports
diff --git a/src/Data/Text/Compat.hs b/src/Data/Text/Compat.hs
new file mode 100644
--- /dev/null
+++ b/src/Data/Text/Compat.hs
@@ -0,0 +1,23 @@
+{-# LANGUAGE CPP #-}
+module Data.Text.Compat
+  ( module Data.Text
+#if !MIN_VERSION_text(1,2,3)
+  , unsnoc
+#endif
+  ) where
+import Prelude
+import qualified Prelude as P
+import Data.Text
+import qualified Data.Text as T 
+
+-- This compatibility version is deliberately implemented in most
+-- simple way possible. Using 'String'.
+#if !MIN_VERSION_text(1,2,3)
+unsnoc :: Text -> Maybe (Text, Char)
+unsnoc txt =
+  case T.unpack txt of
+    [] -> Nothing
+    s  -> Just (T.pack $ P.init s, P.last s)
+#endif
+
+
diff --git a/src/MBug/Options.hs b/src/MBug/Options.hs
--- a/src/MBug/Options.hs
+++ b/src/MBug/Options.hs
@@ -5,7 +5,7 @@
 import Data.Semigroup      ((<>))
 import Data.Text           (Text)
 import MBug.Data.FolderMH  (FolderMH (..), readFolderMH, showFolderMH)
-import Options.Applicative
+import Options.Applicative.Compat
   ( Parser
   , execParser
   , footer
diff --git a/src/MBug/Scrape.hs b/src/MBug/Scrape.hs
--- a/src/MBug/Scrape.hs
+++ b/src/MBug/Scrape.hs
@@ -5,7 +5,7 @@
 import qualified Data.ByteString.Lazy            as BL
 import           Data.Maybe.Extended             (maybeToAlternative)
 import           Data.Text                       (Text)
-import qualified Data.Text                       as T
+import qualified Data.Text.Compat                 as T
 import           Data.Text.Encoding              (decodeUtf8)
 import           MBug.Data.Bug                   (Bug (..))
 import           Text.HTML.Scalpel.Core.Extended
diff --git a/src/Options/Applicative/Compat.hs b/src/Options/Applicative/Compat.hs
new file mode 100644
--- /dev/null
+++ b/src/Options/Applicative/Compat.hs
@@ -0,0 +1,11 @@
+module Options.Applicative.Compat
+  ( module Options.Applicative
+  , strArgument
+  ) where
+
+import Options.Applicative hiding (strArgument)
+import Data.String (IsString, fromString)
+import qualified Options.Applicative as A
+
+strArgument :: (IsString s) => Mod ArgumentFields String -> Parser s
+strArgument m = fromString <$> A.strArgument m
