diff --git a/NanoID.cabal b/NanoID.cabal
--- a/NanoID.cabal
+++ b/NanoID.cabal
@@ -1,5 +1,5 @@
 name:                NanoID
-version:             3.4.1.1
+version:             3.4.1.2
 synopsis:            NanoID generator
 description:         Library and CLI tool for NanoID generation
 license:             BSD3
@@ -22,6 +22,7 @@
    || ==9.8.4
    || ==9.10.2
    || ==9.12.2
+   || ==9.14.1
 
 source-repository head
   type:     git
@@ -31,14 +32,17 @@
   hs-source-dirs:      src
   default-language:    Haskell2010
   exposed-modules:     Data.NanoID
-  build-depends:       aeson      >= 1.5.6 && < 1.6 || >= 2.0 && < 2.3
+  build-depends:       aeson      >=2.2.3 && < 2.4
                      , base       >= 4.7   && < 5
                      , bytestring >= 0.10  && < 0.13
                      , cereal     >= 0.5.8 && < 0.5.9
-                     , extra      >= 1.6   && < 1.9
-                     , mwc-random > 0.15  && < 0.16
+                     , mwc-random >= 0.15  && < 0.16
                      , text       >= 1.2.3 && < 2.2
 
+
+  if !impl(ghc >=9.4.8)
+    build-depends:     extra      >= 1.6   && < 1.9
+
 executable nanoid
   hs-source-dirs:      app
   main-is:             Main.hs
@@ -48,7 +52,7 @@
                        Paths_NanoID
   build-depends:       base                 >= 4.7  && < 5
                      , bytestring           >= 0.10 && < 0.13
-                     , mwc-random           >= 0.13 && < 0.16
+                     , mwc-random           >= 0.15 && < 0.16
                      , NanoID
                      , optparse-applicative >= 0.14 && < 1
                      , bytestring-encodings >= 0.2 && < 1
