diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,6 @@
+# 0.6.5
+Bump bounds on `base` and `semigroups`.
+
 # 0.6.4
 GHC-9.0 compatibility
 
diff --git a/hpp.cabal b/hpp.cabal
--- a/hpp.cabal
+++ b/hpp.cabal
@@ -1,5 +1,5 @@
 name:                hpp
-version:             0.6.4
+version:             0.6.5
 synopsis:            A Haskell pre-processor
 description:         See the README for usage examples
 license:             BSD3
@@ -12,7 +12,7 @@
 extra-source-files:  tests/mcpp-validation.sh, CHANGELOG.md, README.md
 cabal-version:       >=1.10
 homepage:            https://github.com/acowley/hpp
-tested-with:         GHC == 8.4.4 || == 8.6.5 || == 8.8.3 || == 8.10.4 || == 9.0.1
+tested-with:         GHC == 8.4.4 || == 8.6.5 || == 8.8.4 || == 8.10.7 || == 9.0.2 || == 9.2.2
 
 source-repository head
   type:     git
@@ -35,12 +35,9 @@
                        Hpp.StringSig,
                        Hpp.Tokens,
                        Hpp.Types
-  build-depends:       base >=4.8 && < 4.16, directory, time >=1.5, filepath,
+  build-depends:       base >=4.8 && < 5, directory, time >=1.5, filepath,
                        transformers >=0.4, bytestring, unordered-containers,
                        ghc-prim
-
-  if impl(ghc < 8)
-    build-depends: semigroups >= 0.18 && < 0.20
 
   hs-source-dirs:      src
   default-language:    Haskell2010
