diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+### 0.2.4 [2026.01.10]
+* Allow building with `template-haskell-2.24.*` (GHC 9.14).
+* Remove unused `ghc-prim` dependency.
+
 ### 0.2.3 [2024.10.22]
 * Drop support for pre-8.0 versions of GHC.
 
diff --git a/keycode.cabal b/keycode.cabal
--- a/keycode.cabal
+++ b/keycode.cabal
@@ -1,5 +1,5 @@
 name:                keycode
-version:             0.2.3
+version:             0.2.4
 synopsis:            Maps web browser keycodes to their corresponding keyboard keys
 description:         Keyboard events in web browsers are often represented as keycodes,
                      which (1) are difficult to remember, and (2) sometimes vary from
@@ -26,9 +26,11 @@
                    , GHC == 9.0.2
                    , GHC == 9.2.8
                    , GHC == 9.4.8
-                   , GHC == 9.6.6
-                   , GHC == 9.8.2
-                   , GHC == 9.10.1
+                   , GHC == 9.6.7
+                   , GHC == 9.8.4
+                   , GHC == 9.10.3
+                   , GHC == 9.12.2
+                   , GHC == 9.14.1
 cabal-version:       >=1.10
 
 source-repository head
@@ -39,8 +41,7 @@
   exposed-modules:     Web.KeyCode
   build-depends:       base             >= 4.9  && < 5
                      , containers
-                     , ghc-prim
-                     , template-haskell >= 2.11 && < 2.23
+                     , template-haskell >= 2.11 && < 2.25
   hs-source-dirs:      src
   default-language:    Haskell2010
   ghc-options:         -Wall
