diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,12 @@
+### 0.1.0.4
+
+* Require base 4.12 (deriving via is only available since GHC 8.6)
+* Remove dependency on string-interpolate.
+
+### 0.1.0.1 - 0.1.0.3
+
+* Fixing Hackage deployment.
+
 ### 0.1.0.0
 
 * Initial release.
diff --git a/app/Main.hs b/app/Main.hs
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -3,7 +3,6 @@
 {-# LANGUAGE DerivingVia #-}
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE QuasiQuotes #-}
 {-# LANGUAGE StandaloneDeriving #-}
 {-# LANGUAGE TypeApplications #-}
 
@@ -11,7 +10,6 @@
 
 import Control.Exception (bracket)
 import Data.Store
-import Data.String.Interpolate (i)
 import Data.Text (Text)
 import GHC.Generics
 
@@ -29,7 +27,7 @@
 openEnvDbi = envOpen "./testdb" [MdbxNosubdir, MdbxCoalesce, MdbxLiforeclaim]
 
 userKey :: User -> Text
-userKey user = [i|user-#{_username user}|]
+userKey user = "user-" <> _username user
 
 main :: IO ()
 main = bracket openEnvDbi envClose $ \env -> do
diff --git a/libmdbx.cabal b/libmdbx.cabal
--- a/libmdbx.cabal
+++ b/libmdbx.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           libmdbx
-version:        0.1.0.3
+version:        0.1.0.4
 synopsis:       Bindings for libmdbx, an embedded key/value store
 description:    Haskell bindings for [libmdbx](https://github.com/erthink/libmdbx).
                 .
@@ -49,7 +49,7 @@
   build-tools:
       c2hs
   build-depends:
-      base >=4.11 && <5
+      base >=4.12 && <5
     , mtl >=2.1 && <2.3
     , text ==1.2.*
   default-language: Haskell2010
@@ -63,12 +63,11 @@
       app
   ghc-options: -threaded -rtsopts -with-rtsopts=-N
   build-depends:
-      base >=4.11 && <5
+      base >=4.12 && <5
     , bytestring >=0.10 && <0.12
     , libmdbx
     , mtl >=2.1 && <2.3
-    , store ==0.7.*
-    , string-interpolate >=0.2 && <0.4
+    , store >=0.5 && <0.8
     , text ==1.2.*
   default-language: Haskell2010
 
@@ -81,7 +80,7 @@
       test
   ghc-options: -threaded -rtsopts -with-rtsopts=-N
   build-depends:
-      base >=4.11 && <5
+      base >=4.12 && <5
     , libmdbx
     , mtl >=2.1 && <2.3
     , text ==1.2.*
diff --git a/src/Mdbx/API.hs b/src/Mdbx/API.hs
--- a/src/Mdbx/API.hs
+++ b/src/Mdbx/API.hs
@@ -43,6 +43,7 @@
 ) where
 
 import Control.Monad.IO.Class (MonadIO, liftIO)
+import Control.Monad.Fail (MonadFail)
 
 import Mdbx.FFI
 
diff --git a/src/Mdbx/Database.hs b/src/Mdbx/Database.hs
--- a/src/Mdbx/Database.hs
+++ b/src/Mdbx/Database.hs
@@ -23,6 +23,7 @@
 ) where
 
 import Control.Monad (forM, forM_, void)
+import Control.Monad.Fail (MonadFail)
 import Control.Monad.IO.Class (MonadIO, liftIO)
 import Data.Function (fix)
 import Data.Maybe (catMaybes, fromJust)
diff --git a/src/Mdbx/FFI.chs b/src/Mdbx/FFI.chs
--- a/src/Mdbx/FFI.chs
+++ b/src/Mdbx/FFI.chs
@@ -9,7 +9,7 @@
 Low level bindings to libmdbx functions.
 -}
 {-# LANGUAGE DerivingStrategies #-}
-{-# LANGUAGE GeneralisedNewtypeDeriving #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE StandaloneDeriving #-}
 
 module Mdbx.FFI (
diff --git a/src/Mdbx/Types.hs b/src/Mdbx/Types.hs
--- a/src/Mdbx/Types.hs
+++ b/src/Mdbx/Types.hs
@@ -43,7 +43,8 @@
 <https://hackage.haskell.org/package/cereal cereal>, etc, and apply the newtype
 deriving via trick.
 
-The 'Data.Store.Store' instance can be defined as:
+The <https://hackage.haskell.org/package/store/docs/Data-Store.html#t:Store Store>
+instance can be defined as:
 
 @
 newtype MdbxItemStore a = MdbxItemStore {
@@ -68,10 +69,10 @@
     bsV = encode val
 @
 
-This code can be adaptad to other serialization libraries. It is not provided as
-part of libmdbx-hs itself to avoid forcing dependencies.
+This example can be adapted to other serialization libraries. It is not provided
+as part of libmdbx-hs itself to avoid forcing dependencies.
 
-Then, to derive the instance for your owwn type:
+Then, to derive the instance for your own type:
 
 @
 data User = User {
