diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Revision history for serialise
 
+## 0.2.6.1  -- 2023-11-13
+
+* Support GHC 9.8
+
 ## 0.2.6.0  -- 2022-09-24
 
 * Support GHC 9.4
diff --git a/serialise.cabal b/serialise.cabal
--- a/serialise.cabal
+++ b/serialise.cabal
@@ -1,5 +1,5 @@
 name:                serialise
-version:             0.2.6.0
+version:             0.2.6.1
 synopsis:            A binary serialisation library for Haskell values.
 description:
   This package (formerly @binary-serialise-cbor@) provides pure, efficient
@@ -69,20 +69,20 @@
     Codec.Serialise.Internal.GeneralisedUTF8
 
   build-depends:
-    base                    >= 4.11    && < 4.18,
+    base                    >= 4.11    && < 4.20,
     array                   >= 0.4     && < 0.6,
-    bytestring              >= 0.10.4  && < 0.12,
+    bytestring              >= 0.10.4  && < 0.13,
     cborg                   == 0.2.*,
-    containers              >= 0.5     && < 0.7,
-    ghc-prim                >= 0.3.1.0 && < 0.10,
+    containers              >= 0.5     && < 0.8,
+    ghc-prim                >= 0.3.1.0 && < 0.12,
     half                    >= 0.2.2.3 && < 0.4,
     hashable                >= 1.2     && < 2.0,
-    primitive               >= 0.5     && < 0.8,
-    strict                  >= 0.4     && < 0.5,
-    text                    >= 1.1     && < 2.1,
-    these                   >= 1.1     && < 1.2,
+    primitive               >= 0.5     && < 0.10,
+    strict                  >= 0.4     && < 0.6,
+    text                    >= 1.1     && < 2.2,
+    these                   >= 1.1     && < 2.2,
     unordered-containers    >= 0.2     && < 0.3,
-    vector                  >= 0.10    && < 0.13
+    vector                  >= 0.10    && < 0.14
 
   if flag(newtime15)
     build-depends:
@@ -124,23 +124,23 @@
     Tests.GeneralisedUTF8
 
   build-depends:
-    base                    >= 4.11    && < 4.18,
-    bytestring              >= 0.10.4  && < 0.12,
+    base                    >= 4.11    && < 4.20,
+    bytestring              >= 0.10.4  && < 0.13,
     directory               >= 1.0     && < 1.4,
     filepath                >= 1.0     && < 1.5,
-    text                    >= 1.1     && < 2.1,
+    text                    >= 1.1     && < 2.2,
     time                    >= 1.4     && < 1.14,
-    containers              >= 0.5     && < 0.7,
+    containers              >= 0.5     && < 0.8,
     unordered-containers    >= 0.2     && < 0.3,
-    primitive               >= 0.5     && < 0.8,
+    primitive               >= 0.5     && < 0.10,
     cborg,
     serialise,
     QuickCheck              >= 2.9     && < 2.15,
-    tasty                   >= 0.11    && < 1.5,
+    tasty                   >= 0.11    && < 1.6,
     tasty-hunit             >= 0.9     && < 0.11,
     tasty-quickcheck        >= 0.8     && < 0.11,
     quickcheck-instances    >= 0.3.12  && < 0.4,
-    vector                  >= 0.10    && < 0.13
+    vector                  >= 0.10    && < 0.14
 
 --------------------------------------------------------------------------------
 -- Benchmarks
@@ -161,15 +161,15 @@
     Instances.Time
 
   build-depends:
-    base                    >= 4.11    && < 4.18,
+    base                    >= 4.11    && < 4.20,
     binary                  >= 0.7     && < 0.11,
-    bytestring              >= 0.10.4  && < 0.12,
-    vector                  >= 0.10    && < 0.13,
+    bytestring              >= 0.10.4  && < 0.13,
+    vector                  >= 0.10    && < 0.14,
     cborg,
     serialise,
 
-    deepseq                 >= 1.0     && < 1.5,
-    criterion               >= 1.0     && < 1.6
+    deepseq                 >= 1.0     && < 1.6,
+    criterion               >= 1.0     && < 1.7
 
   if flag(newtime15)
     build-depends:
@@ -205,17 +205,17 @@
     SimpleVersus
 
   build-depends:
-    base                    >= 4.11    && < 4.18,
+    base                    >= 4.11    && < 4.20,
     binary                  >= 0.7     && < 0.11,
-    bytestring              >= 0.10.4  && < 0.12,
-    ghc-prim                >= 0.3.1.0 && < 0.10,
-    vector                  >= 0.10    && < 0.13,
+    bytestring              >= 0.10.4  && < 0.13,
+    ghc-prim                >= 0.3.1.0 && < 0.12,
+    vector                  >= 0.10    && < 0.14,
     cborg,
     serialise,
 
-    aeson                   >= 0.7     && < 2.2,
-    deepseq                 >= 1.0     && < 1.5,
-    criterion               >= 1.0     && < 1.6,
+    aeson                   >= 0.7     && < 2.3,
+    deepseq                 >= 1.0     && < 1.6,
+    criterion               >= 1.0     && < 1.7,
     cereal                  >= 0.5.2.0 && < 0.6,
     cereal-vector           >= 0.2     && < 0.3,
     semigroups              >= 0.18    && < 0.21,
@@ -251,28 +251,28 @@
     Macro.CBOR
 
   build-depends:
-    base                    >= 4.11    && < 4.18,
+    base                    >= 4.11    && < 4.20,
     array                   >= 0.4     && < 0.6,
     binary                  >= 0.7     && < 0.11,
-    bytestring              >= 0.10.4  && < 0.12,
+    bytestring              >= 0.10.4  && < 0.13,
     directory               >= 1.0     && < 1.4,
-    ghc-prim                >= 0.3.1.0 && < 0.10,
+    ghc-prim                >= 0.3.1.0 && < 0.12,
     fail                    >= 4.9.0.0 && < 4.10,
-    text                    >= 1.1     && < 2.1,
-    vector                  >= 0.10    && < 0.13,
+    text                    >= 1.1     && < 2.2,
+    vector                  >= 0.10    && < 0.14,
     cborg,
     serialise,
 
     filepath                >= 1.0     && < 1.5,
-    containers              >= 0.5     && < 0.7,
-    deepseq                 >= 1.0     && < 1.5,
-    aeson                   >= 0.7     && < 2.2,
+    containers              >= 0.5     && < 0.8,
+    deepseq                 >= 1.0     && < 1.6,
+    aeson                   >= 0.7     && < 2.3,
     cereal                  >= 0.5.2.0 && < 0.6,
     half                    >= 0.2.2.3 && < 0.4,
     tar                     >= 0.4     && < 0.6,
     zlib                    >= 0.5     && < 0.7,
     pretty                  >= 1.0     && < 1.2,
-    criterion               >= 1.0     && < 1.6,
+    criterion               >= 1.0     && < 1.7,
     store                   >= 0.7.1   && < 0.8,
     semigroups
 
diff --git a/tests/Tests/Serialise.hs b/tests/Tests/Serialise.hs
--- a/tests/Tests/Serialise.hs
+++ b/tests/Tests/Serialise.hs
@@ -434,5 +434,6 @@
 
 instance Arbitrary Utf8ByteArray where
     arbitrary = do
-        BSS.SBS ba <- BSS.toShort . Text.encodeUtf8 <$> arbitrary
-        return $ Utf8BA $ CBOR.BA.BA $ Prim.ByteArray ba
+        bss <- BSS.toShort . Text.encodeUtf8 <$> arbitrary
+        case bss of
+          BSS.SBS ba -> return $ Utf8BA $ CBOR.BA.BA $ Prim.ByteArray ba
