diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -2,11 +2,15 @@
 
 _Note: below all `FilePath` values are unquoted, so `\\` really means two backslashes._
 
-## 1.4.300.0. *Jan 2024*
+## 1.4.300.2 *Apr 2024*
 
+* Fix compabitiliby with GHC 9.10
+
+## 1.4.300.1 *Jan 2024*
+
 * Backport bugfix for [`splitFileName`](https://github.com/haskell/filepath/issues/219) on windows
 
-## 1.4.200.1. *Dec 2023*
+## 1.4.200.1 *Dec 2023*
 
 * Improve deprecation warnings wrt [#209](https://github.com/haskell/filepath/issues/209)
 
diff --git a/filepath.cabal b/filepath.cabal
--- a/filepath.cabal
+++ b/filepath.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.2
 name:               filepath
-version:            1.4.300.1
+version:            1.4.300.2
 
 -- NOTE: Don't forget to update ./changelog.md
 license:            BSD-3-Clause
@@ -113,7 +113,7 @@
 
   default-language: Haskell2010
   build-depends:
-    , base              >=4.9      && <4.20
+    , base              >=4.9      && <4.21
     , bytestring        >=0.11.3.0
     , deepseq
     , exceptions
diff --git a/tests/abstract-filepath/EncodingSpec.hs b/tests/abstract-filepath/EncodingSpec.hs
--- a/tests/abstract-filepath/EncodingSpec.hs
+++ b/tests/abstract-filepath/EncodingSpec.hs
@@ -39,7 +39,9 @@
       let str = [toEnum 55296, toEnum 55297]
           encoded = encodeWithTE utf16le str
           decoded = decodeWithTE utf16le =<< encoded
-#if __GLASGOW_HASKELL__ >= 904
+#if __GLASGOW_HASKELL__ >= 910
+      in decoded === Left (EncodingError ("recoverEncode: invalid argument (cannot encode character " <> show (head str) <> ")\n") Nothing))
+#elif __GLASGOW_HASKELL__ >= 904
       in decoded === Left (EncodingError ("recoverEncode: invalid argument (cannot encode character " <> show (head str) <> ")") Nothing))
 #else
       in decoded === Left (EncodingError "recoverEncode: invalid argument (invalid character)" Nothing))
@@ -69,7 +71,9 @@
       let str = [toEnum 0xDFF0, toEnum 0xDFF2]
           encoded = encodeWithTE (mkUTF8 RoundtripFailure) str
           decoded = decodeWithTE (mkUTF8 RoundtripFailure) =<< encoded
-#if __GLASGOW_HASKELL__ >= 904
+#if __GLASGOW_HASKELL__ >= 910
+      in decoded === Left (EncodingError ("recoverEncode: invalid argument (cannot encode character " <> show (head str) <> ")\n") Nothing))
+#elif __GLASGOW_HASKELL__ >= 904
       in decoded === Left (EncodingError ("recoverEncode: invalid argument (cannot encode character " <> show (head str) <> ")") Nothing))
 #else
       in decoded === Left (EncodingError "recoverEncode: invalid argument (invalid character)" Nothing))
diff --git a/tests/bytestring-tests/Properties/Common.hs b/tests/bytestring-tests/Properties/Common.hs
--- a/tests/bytestring-tests/Properties/Common.hs
+++ b/tests/bytestring-tests/Properties/Common.hs
@@ -33,7 +33,7 @@
 
 import Control.Arrow
 import Data.Foldable
-import Data.List as L
+import Data.List as L hiding (unsnoc)
 import Data.Semigroup
 import Data.Tuple
 import Test.QuickCheck
