diff --git a/changelog.txt b/changelog.txt
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,3 +1,6 @@
+0.0.4.6
+  - Supports base-4.16 and GHC 9.2
+
 0.0.4.5
   - Supports base-4.15 and GHC 9.0
 
diff --git a/either-list-functions.cabal b/either-list-functions.cabal
--- a/either-list-functions.cabal
+++ b/either-list-functions.cabal
@@ -1,7 +1,7 @@
-cabal-version: 2.2
+cabal-version: 3.0
 
 name:     either-list-functions
-version:  0.0.4.5
+version:  0.0.4.6
 category: Data
 synopsis: Functions involving lists of Either
 
@@ -19,28 +19,29 @@
 build-type: Simple
 
 extra-source-files:
-  changelog.txt
-
-tested-with: GHC == 9.0.1, GHC == 8.10.1, GHC == 8.8.1, GHC == 8.6.5
+    changelog.txt
 
 source-repository head
-  type: git
-  location: https://github.com/typeclasses/either-list-functions
+    type: git
+    location: https://github.com/typeclasses/either-list-functions
 
+common base
+    default-language: Haskell2010
+    ghc-options: -Wall
+    build-depends: base ^>= 4.12 || ^>= 4.13 || ^>= 4.14 || ^>= 4.15 || ^>= 4.16
+
 library
-  default-language: Haskell2010
-  hs-source-dirs: src
-  ghc-options: -Wall
-  exposed-modules: Data.List.EitherFunctions
-  build-depends: base ^>=4.12 || ^>=4.13 || ^>=4.14 || ^>=4.15
-  build-depends: containers <0.7
+    import: base
+    hs-source-dirs: src
+    exposed-modules: Data.List.EitherFunctions
+    build-depends: containers ^>= 0.6
 
 test-suite doctest
-  default-language: Haskell2010
-  type: exitcode-stdio-1.0
-  main-is: doctest.hs
-  ghc-options: -Wall -threaded
-  hs-source-dirs: test
-  build-depends: base ^>=4.12 || ^>=4.13 || ^>=4.14 || ^>=4.15
-  build-depends: either-list-functions
-  build-depends: doctest
+    import: base
+    type: exitcode-stdio-1.0
+    main-is: doctest.hs
+    ghc-options: -threaded
+    hs-source-dirs: test
+    build-depends:
+        doctest ^>= 0.16 || ^>= 0.17 || ^>= 0.18 || ^>= 0.19 || ^>= 0.20
+      , either-list-functions
