diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.0.20260427
+
+* Support GHC 9.14
+
 ## 0.0.20250303
 
 * Support GHC 9.12
diff --git a/lucid2.cabal b/lucid2.cabal
--- a/lucid2.cabal
+++ b/lucid2.cabal
@@ -1,5 +1,5 @@
 name:                lucid2
-version:             0.0.20250303
+version:             0.0.20260427
 synopsis:            Clear to write, read and edit DSL for HTML
 description:
   Clear to write, read and edit DSL for HTML.
@@ -39,7 +39,7 @@
                  Blaze.ByteString.Builder.Html.Word
 
   -- GHC boot libraries
-  build-depends:     base          >= 4.8 && < 4.22
+  build-depends:     base          >= 4.8 && < 5
                    , bytestring    >= 0.10.12.0
                    , containers    >= 0.6.5.1
                    , transformers  >= 0.5.6.2
diff --git a/src/Lucid/Base.hs b/src/Lucid/Base.hs
--- a/src/Lucid/Base.hs
+++ b/src/Lucid/Base.hs
@@ -125,7 +125,9 @@
 -- | Monoid is right-associative, a la the 'Builder' in it.
 instance (a ~ (),Monad m) => Monoid (HtmlT m a) where
   mempty  = pure mempty
+#if !MIN_VERSION_base(4,11,0)
   mappend = liftA2 mappend
+#endif
 
 -- | If you want to use IO in your HTML generation.
 instance MonadIO m => MonadIO (HtmlT m) where
