diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+### 3.11.1 [2024.12.28]
+* Make the test suite pass with `base-4.21.*` (GHC 9.12).
+
 ## 3.11 [2024.10.23]
 * Support building with GHC 9.12.
 * Add a `TextShow` instance for `IoManagerFlag` in `TextShow.GHC.RTS.Flags`
diff --git a/src/TextShow/Control/Exception.hs b/src/TextShow/Control/Exception.hs
--- a/src/TextShow/Control/Exception.hs
+++ b/src/TextShow/Control/Exception.hs
@@ -22,7 +22,10 @@
 
 import Control.Exception.Base
 
-import Data.Text.Lazy.Builder (fromString, singleton)
+import Data.Text.Lazy.Builder (fromString)
+#if !MIN_VERSION_base(4,21,0)
+import Data.Text.Lazy.Builder (singleton)
+#endif
 
 import Prelude ()
 import Prelude.Compat
@@ -166,9 +169,13 @@
 
 -- | /Since: 2/
 instance TextShow ErrorCall where
+#if MIN_VERSION_base(4,21,0)
+    showb (ErrorCall err) = fromString err
+#else
     showb (ErrorCallWithLocation err "")  = fromString err
     showb (ErrorCallWithLocation err loc) =
       fromString err <> singleton '\n' <> fromString loc
+#endif
 
 -- | /Since: 2/
 $(deriveTextShow ''MaskingState)
diff --git a/text-show.cabal b/text-show.cabal
--- a/text-show.cabal
+++ b/text-show.cabal
@@ -1,5 +1,5 @@
 name:                text-show
-version:             3.11
+version:             3.11.1
 synopsis:            Efficient conversion of values into Text
 description:         @text-show@ offers a replacement for the @Show@ typeclass intended
                      for use with @Text@ instead of @String@s. This package was created
@@ -157,7 +157,7 @@
                      , containers            >= 0.1      && < 0.8
                      , ghc-boot-th           >= 8.0      && < 9.13
                      , ghc-prim
-                     , template-haskell      >= 2.11     && < 2.23
+                     , template-haskell      >= 2.11     && < 2.24
                      , text                  >= 1.1      && < 2.2
                      , th-abstraction        >= 0.5      && < 0.8
                      , transformers          >= 0.5      && < 0.7
@@ -312,7 +312,7 @@
                      , hspec                 >= 2        && < 3
                      , QuickCheck            >= 2.14.3   && < 2.16
                      , quickcheck-instances  >= 0.3.28   && < 0.4
-                     , template-haskell      >= 2.11     && < 2.23
+                     , template-haskell      >= 2.11     && < 2.24
                      , text                  >= 1.1      && < 2.2
                      , text-show
                      , transformers          >= 0.5      && < 0.7
