diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.0.20250303
+
+* Support GHC 9.12
+
 ## 0.0.20240424
 
 * Add `dialog_` element. <https://github.com/chrisdone/lucid/issues/147>
diff --git a/lucid2.cabal b/lucid2.cabal
--- a/lucid2.cabal
+++ b/lucid2.cabal
@@ -1,5 +1,5 @@
 name:                lucid2
-version:             0.0.20240424
+version:             0.0.20250303
 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.20
+  build-depends:     base          >= 4.8 && < 4.22
                    , 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
@@ -4,7 +4,9 @@
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE MultiParamTypeClasses #-}
 {-# LANGUAGE GADTs #-}
-{-# LANGUAGE DeriveDataTypeable, GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE TypeOperators #-}
+
 
 -- Search for UndecidableInstances to see why this is needed
 {-# LANGUAGE UndecidableInstances #-}
