diff --git a/package.yaml b/package.yaml
--- a/package.yaml
+++ b/package.yaml
@@ -1,5 +1,5 @@
 name: simple-logger
-version: 0.0.4
+version: 0.1.0
 synopsis: A very simple but efficient logging framework
 description: A very simple but efficient logging framework
 category: Logging
@@ -14,7 +14,7 @@
 ghc-options: -Wall
 
 dependencies:
-  - base >= 4.8 && < 5
+  - base >= 4.9 && < 5
 
 library:
   source-dirs: src
diff --git a/simple-logger.cabal b/simple-logger.cabal
--- a/simple-logger.cabal
+++ b/simple-logger.cabal
@@ -1,9 +1,13 @@
--- This file has been generated from package.yaml by hpack version 0.14.0.
+cabal-version: 1.12
+
+-- This file has been generated from package.yaml by hpack version 0.33.0.
 --
 -- see: https://github.com/sol/hpack
+--
+-- hash: b5edd8600dd9e617fd590c0555243903dbd58f9f67496b265b3947d5e0616faf
 
 name:           simple-logger
-version:        0.0.4
+version:        0.1.0
 synopsis:       A very simple but efficient logging framework
 description:    A very simple but efficient logging framework
 category:       Logging
@@ -13,11 +17,9 @@
 license:        MIT
 license-file:   LICENSE
 build-type:     Simple
-cabal-version:  >= 1.10
-
 extra-source-files:
-    package.yaml
     README.md
+    package.yaml
     stack.yaml
 
 source-repository head
@@ -29,10 +31,10 @@
       src
   ghc-options: -Wall
   build-depends:
-      base >= 4.8 && < 5
+      base >=4.9 && <5
     , fast-logger
-    , text
     , mtl
+    , text
   exposed-modules:
       Control.Logger.Simple
   other-modules:
diff --git a/src/Control/Logger/Simple.hs b/src/Control/Logger/Simple.hs
--- a/src/Control/Logger/Simple.hs
+++ b/src/Control/Logger/Simple.hs
@@ -15,7 +15,6 @@
 import Control.Monad
 import Control.Monad.Trans
 import Data.IORef
-import Data.Monoid
 import System.IO.Unsafe
 import System.Log.FastLogger
 import qualified Data.Text as T
@@ -76,7 +75,7 @@
 logError = doLog LogError ?callStack
 
 -- | Log on error level and call 'fail'
-logFail :: (?callStack :: GHC.CallStack) => MonadIO m => T.Text -> m a
+logFail :: (?callStack :: GHC.CallStack, MonadFail m) => MonadIO m => T.Text -> m a
 logFail t =
     do doLog LogError ?callStack t
        fail (T.unpack t)
@@ -173,8 +172,8 @@
     bracket initLogger flushLogger (const f)
     where
       flushLogger (Loggers a b _) =
-          do forM_ a $ \(_, flush) -> flush
-             forM_ b $ \(_, flush) -> flush
+          do forM_ a snd
+             forM_ b snd
       initLogger =
           do fileLogger <-
                  flip T.mapM (lc_file lc) $ \fp ->
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,1 +1,1 @@
-resolver: lts-7.5
+resolver: lts-15.13
