diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,11 @@
 # Changelog
 
+## [0.1.6.1] - 2021-04-14
+
+### Changed
+
+- GHC 8.10.x and 8.8.x support
+
 ## [0.1.6] - 2019-02-17
 
 ### Changed
@@ -26,6 +32,7 @@
 
 ## [0.1] - 2012-02-15
 
+[0.1.6.1]: https://github.com/dzhus/snaplet-redis/compare/0.1.6...0.1.6.1
 [0.1.6]: https://github.com/dzhus/snaplet-redis/compare/0.1.5...0.1.6
 [0.1.5]: https://github.com/dzhus/snaplet-redis/compare/0.1.4...0.1.5
 [0.1.4]: https://github.com/dzhus/snaplet-redis/compare/0.1...0.1.4
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,9 @@
+# snaplet-redis
+
+[![Github CI build status](https://github.com/dzhus/snaplet-redis/actions/workflows/ci.yaml/badge.svg)](https://github.com/dzhus/snaplet-redis/actions/workflows/ci.yaml)
+[![Hackage](https://img.shields.io/hackage/v/snaplet-redis.svg)](https://hackage.haskell.org/package/snaplet-redis)
+[![Hackage deps](https://img.shields.io/hackage-deps/v/snaplet-redis.svg)](http://packdeps.haskellers.com/feed?needle=snaplet-redis)
+
+Redis support for [Snap Framework][snap].
+
+[snap]: http://snapframework.com/
diff --git a/snaplet-redis.cabal b/snaplet-redis.cabal
--- a/snaplet-redis.cabal
+++ b/snaplet-redis.cabal
@@ -1,78 +1,71 @@
-cabal-version: 1.12
-name: snaplet-redis
-version: 0.1.6
-license: BSD3
-license-file: LICENSE
-maintainer: dima@dzhus.org
-author: Dmitry Dzhus
-homepage: https://github.com/dzhus/snaplet-redis#readme
-bug-reports: https://github.com/dzhus/snaplet-redis/issues
-synopsis: Redis support for Snap Framework
+cabal-version:      1.12
+name:               snaplet-redis
+version:            0.1.6.1
+license:            BSD3
+license-file:       LICENSE
+maintainer:         dima@dzhus.org
+author:             Dmitry Dzhus
+homepage:           https://github.com/dzhus/snaplet-redis#readme
+bug-reports:        https://github.com/dzhus/snaplet-redis/issues
+synopsis:           Redis support for Snap Framework
 description:
     This package provides a snaplet which exposes interface to Redis in-memory key-value storage as implemented by Hedis library. Inline documentation contains usage examples.
-category: Web, Snap
-build-type: Simple
+
+category:           Web, Snap
+build-type:         Simple
 extra-source-files:
     CHANGELOG.md
+    README.md
 
 source-repository head
-    type: git
+    type:     git
     location: https://github.com/dzhus/snaplet-redis
 
 flag example
-    description:
-        Build example
-    default: False
+    description: Build example
+    default:     False
 
 library
     exposed-modules:
         Snap.Snaplet.Auth.Backends.Redis
         Snap.Snaplet.RedisDB
         Snap.Snaplet.Session.Backends.RedisSession
-    hs-source-dirs: src
-    other-modules:
-        Paths_snaplet_redis
+
+    hs-source-dirs:   src
+    other-modules:    Paths_snaplet_redis
     default-language: Haskell2010
-    ghc-options: -Wall
+    ghc-options:      -Wall -Wcompat
     build-depends:
         base <5,
         bytestring <0.11,
         cereal <0.6,
         clientsession <0.10,
         configurator <0.4,
-        hedis <0.13,
-        lens <4.18,
+        hedis <0.15,
+        lens <5,
         mtl <2.3,
-        network <2.9,
         snap <1.2,
         snap-core <1.1,
         text <1.3,
-        time <1.9,
-        transformers <0.6,
+        time <1.10,
         unordered-containers <0.3
 
 executable Example
-    main-is: Site.hs
-    hs-source-dirs: example
-    other-modules:
-        Paths_snaplet_redis
+    main-is:          Site.hs
+    hs-source-dirs:   example
+    other-modules:    Paths_snaplet_redis
     default-language: Haskell2010
     build-depends:
-        aeson <1.5,
-        base <4.13,
+        base <4.15,
         bytestring <0.11,
-        hedis <0.13,
-        heist <1.2,
-        lens <4.18,
-        monad-control <1.1,
+        hedis <0.15,
+        lens <5,
         mtl <2.3,
         snap <1.2,
         snap-core <1.1,
         snap-server <1.2,
         snaplet-redis -any,
-        text <1.3,
-        time <1.9,
-        xmlhtml <0.3
-    
+        text <1.3
+
     if !flag(example)
         buildable: False
diff --git a/src/Snap/Snaplet/Auth/Backends/Redis.hs b/src/Snap/Snaplet/Auth/Backends/Redis.hs
--- a/src/Snap/Snaplet/Auth/Backends/Redis.hs
+++ b/src/Snap/Snaplet/Auth/Backends/Redis.hs
@@ -1,5 +1,4 @@
 {-# LANGUAGE CPP #-}
-{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE FlexibleInstances #-}
 
diff --git a/src/Snap/Snaplet/RedisDB.hs b/src/Snap/Snaplet/RedisDB.hs
--- a/src/Snap/Snaplet/RedisDB.hs
+++ b/src/Snap/Snaplet/RedisDB.hs
@@ -48,7 +48,7 @@
 
 -- | A lens to retrieve the connection to Redis from the 'RedisDB'
 -- wrapper.
-redisConnection :: Simple Lens RedisDB Connection
+redisConnection :: Lens' RedisDB Connection
 redisConnection = connection
 
 -- | Perform action using Redis connection from RedisDB snaplet pool
@@ -57,7 +57,7 @@
 -- > runRedisDB database $ do
 -- >   set "hello" "world"
 runRedisDB :: (MonadIO m, MonadState app m) =>
-               Simple Lens app (Snaplet RedisDB) -> Redis a -> m a
+               Lens' app (Snaplet RedisDB) -> Redis a -> m a
 runRedisDB snaplet action = do
   c <- gets $ view (snaplet . snapletValue . connection)
   liftIO $ runRedis c action
diff --git a/src/Snap/Snaplet/Session/Backends/RedisSession.hs b/src/Snap/Snaplet/Session/Backends/RedisSession.hs
--- a/src/Snap/Snaplet/Session/Backends/RedisSession.hs
+++ b/src/Snap/Snaplet/Session/Backends/RedisSession.hs
@@ -219,9 +219,7 @@
         Nothing -> mgr
 
     --------------------------------------------------------------------------
-    csrf (RedisSessionManager r _ _ _ _ _ _) = case r of
-        Just r' -> rsCSRFToken r'
-        Nothing -> ""
+    csrf (RedisSessionManager r _ _ _ _ _ _) = maybe "" rsCSRFToken r
 
     --------------------------------------------------------------------------
     toList (RedisSessionManager r _ _ _ _ _ _) = case r of
