diff --git a/nonempty-vector.cabal b/nonempty-vector.cabal
--- a/nonempty-vector.cabal
+++ b/nonempty-vector.cabal
@@ -1,6 +1,6 @@
 cabal-version:   3.0
 name:            nonempty-vector
-version:         0.2.3
+version:         0.2.4
 synopsis:        Non-empty vectors
 description:     Performant, non-empty mutable and immutable vectors
 homepage:        https://github.com/emilypi/nonempty-vector
@@ -9,7 +9,7 @@
 license-file:    LICENSE
 author:          Emily Pillmore
 maintainer:      emilypi@cohomolo.gy
-copyright:       (c) 2019-2023 Emily Pillmore <emilypi@cohomolo.gy>
+copyright:       (c) 2019-2024 Emily Pillmore <emilypi@cohomolo.gy>
 category:        Data
 build-type:      Simple
 extra-doc-files:
@@ -17,12 +17,11 @@
   README.md
 
 tested-with:
-  GHC ==8.10.7
-   || ==9.0.2
-   || ==9.2.6
-   || ==9.4.4
-   || ==9.6.3
-   || ==9.8.1
+  GHC ==9.4.4
+   || ==9.6.6
+   || ==9.8.4
+   || ==9.10.1
+   || ==9.12.1
 
 source-repository head
   type:     git
@@ -35,9 +34,9 @@
     Data.Vector.NonEmpty.Mutable
 
   build-depends:
-      base       >=4.14  && <4.20
+      base       >=4.16  && <4.22
     , deepseq
-    , primitive  >=0.6  && <0.9
+    , primitive  >=0.6  && <0.10
     , vector     >=0.12 && <0.14
 
   hs-source-dirs:   src
@@ -49,7 +48,7 @@
   type:              exitcode-stdio-1.0
   main-is:           Main.hs
   build-depends:
-      base     >=4.14 && <4.20
+      base     >=4.16 && <4.22
     , nonempty-vector
     , QuickCheck
     , tasty
diff --git a/src/Data/Vector/NonEmpty.hs b/src/Data/Vector/NonEmpty.hs
--- a/src/Data/Vector/NonEmpty.hs
+++ b/src/Data/Vector/NonEmpty.hs
@@ -2,7 +2,7 @@
 {-# LANGUAGE RankNTypes #-}
 -- |
 -- Module       : Data.Vector.NonEmpty
--- Copyright 	: (c) 2019-2023 Emily Pillmore
+-- Copyright 	: (c) 2019-2024 Emily Pillmore
 -- License	: BSD-style
 --
 -- Maintainer	: Emily Pillmore <emilypi@cohomolo.gy>
diff --git a/src/Data/Vector/NonEmpty/Internal.hs b/src/Data/Vector/NonEmpty/Internal.hs
--- a/src/Data/Vector/NonEmpty/Internal.hs
+++ b/src/Data/Vector/NonEmpty/Internal.hs
@@ -4,7 +4,7 @@
 {-# LANGUAGE LambdaCase #-}
 -- |
 -- Module      : Data.Vector.NonEmpty.Internal
--- Copyright   : (c) 2019-2023 Emily Pillmore
+-- Copyright   : (c) 2019-2024 Emily Pillmore
 -- License     : BSD-style
 --
 -- Maintainer  : Emily Pillmore <emilypi@cohomolo.gy>
@@ -43,7 +43,9 @@
 #endif
 import Data.Functor.Classes (Eq1, Ord1, Show1, Read1(..))
 import qualified Data.Vector as V
+#if __GLASGOW_HASKELL__ < 912
 import Data.Typeable (Typeable)
+#endif
 import Data.Vector.Mutable (MVector)
 
 import qualified Text.Read as Read
@@ -67,7 +69,10 @@
     } deriving
       ( Eq, Ord
       , Eq1, Ord1, Show1
-      , Data, Typeable, NFData
+      , Data, NFData
+#if __GLASGOW_HASKELL__ < 912
+      , Typeable
+#endif
       , Functor, Applicative, Monad
       , MonadZip
       , Semigroup
@@ -126,7 +131,9 @@
 --
 newtype NonEmptyMVector s a = NonEmptyMVector
     { _nemVec :: MVector s a }
+#if __GLASGOW_HASKELL__ < 912
     deriving (Typeable)
+#endif
 
 -- | 'NonEmptyMVector' parametrized by 'PrimState'
 --
diff --git a/src/Data/Vector/NonEmpty/Mutable.hs b/src/Data/Vector/NonEmpty/Mutable.hs
--- a/src/Data/Vector/NonEmpty/Mutable.hs
+++ b/src/Data/Vector/NonEmpty/Mutable.hs
@@ -3,7 +3,7 @@
 {-# LANGUAGE NoImplicitPrelude #-}
 -- |
 -- Module      : Data.Vector.NonEmpty.Mutable
--- Copyright   : (c) 2019-2023 Emily Pillmore
+-- Copyright   : (c) 2019-2024 Emily Pillmore
 -- License     : BSD-style
 --
 -- Maintainer  : Emily Pillmore <emilypi@cohomolo.gy>
