diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,10 @@
 # ChangeLog for `bech32-th`
 
+## 1.1.1 -- 2021-06-11
+
++ Upgraded CI to build with Cabal 3.4.0.0 and GHC 8.10.4.
++ Update version constraints for GHC 9.0.1.
+
 ## 1.0.2 -- 2020-02-19
 
 + Initial release adapted from https://github.com/input-output-hk/cardano-wallet
diff --git a/bech32-th.cabal b/bech32-th.cabal
--- a/bech32-th.cabal
+++ b/bech32-th.cabal
@@ -1,5 +1,5 @@
 name:               bech32-th
-version:            1.0.2
+version:            1.1.1
 synopsis:           Template Haskell extensions to the Bech32 library.
 description:        Template Haskell extensions to the Bech32 library, including
                     quasi-quoters for compile-time checking of Bech32 string
@@ -20,10 +20,10 @@
   type:     git
   location: https://github.com/input-output-hk/bech32.git
 
-flag werror
-    description: Enable `-Werror`
-    default: False
-    manual: True
+flag release
+  description: Strict compiler warning checks.
+  default: False
+  manual: True
 
 library
   default-language:
@@ -32,15 +32,12 @@
       NoImplicitPrelude
       OverloadedStrings
   ghc-options:
-      -Wall
-      -Wcompat
-      -fwarn-redundant-constraints
-  if (flag(werror))
-    ghc-options:
-      -Werror
+      -Wall -Wcompat -fwarn-redundant-constraints
+  if flag(release)
+    ghc-options: -Werror
   build-depends:
-      base
-    , bech32 >= 1.0.2
+      base >= 4.11.1.0 && < 5
+    , bech32 >= 1.1.1
     , template-haskell
     , text
   hs-source-dirs:
@@ -59,13 +56,12 @@
   hs-source-dirs:
       test
   ghc-options:
-      -threaded -rtsopts -with-rtsopts=-N
       -Wall
-  if (flag(werror))
-    ghc-options:
-      -Werror
+      -threaded -rtsopts -with-rtsopts=-N
+  if flag(release)
+    ghc-options: -Werror
   build-depends:
-      base < 4.14
+      base
     , bech32
     , bech32-th
     , hspec
diff --git a/test/Codec/Binary/Bech32/THSpec.hs b/test/Codec/Binary/Bech32/THSpec.hs
--- a/test/Codec/Binary/Bech32/THSpec.hs
+++ b/test/Codec/Binary/Bech32/THSpec.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE BangPatterns #-}
+
 module Codec.Binary.Bech32.THSpec
     ( spec
     ) where
@@ -39,8 +41,14 @@
             describe "Parsing invalid human-readable prefixes should fail." $
                 forM_ invalidHumanReadableParts $ \(hrp, expectedError) ->
                     it (show hrp) $
-                        mkHumanReadablePartExp hrp
+                        forceViaShowM (mkHumanReadablePartExp hrp)
                             `shouldThrow` (== expectedError)
+
+forceViaShowM :: (Monad m, Show a) => m a -> m a
+forceViaShowM f = do
+    a <- f
+    let !_ = length (show a)
+    return a
 
 -- | Matches only function application expressions.
 --
