diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -30,3 +30,7 @@
 ## 0.4.0 -- 2022-03-15
 
 * Wrap `rrset_ttl` with Maybe to correctly allow deleting records
+
+## 0.4.1 -- 2022-04-22
+
+* Relax various constraints
diff --git a/powerdns.cabal b/powerdns.cabal
--- a/powerdns.cabal
+++ b/powerdns.cabal
@@ -1,7 +1,7 @@
-cabal-version:      >=1.10
+cabal-version:      3.0
 name:               powerdns
-version:            0.4.0
-license:            BSD3
+version:            0.4.1
+license:            BSD-3-Clause
 license-file:       LICENSE
 copyright:          (c) 2021 Victor Nawothnig
 maintainer:         Victor Nawothnig (dminuoso@icloud.com)
@@ -35,7 +35,14 @@
 build-type:         Simple
 extra-source-files: CHANGELOG.md
 
+common all
+    build-depends:
+        base ^>= { 4.12, 4.13, 4.14, 4.15, 4.16 },
+        servant ^>= { 0.18.2, 0.19 },
+        servant-client ^>= { 0.18.2, 0.19 },
+        servant-client-core ^>= { 0.18.2, 0.19 }
 library
+    import:           all
     exposed-modules:
         PowerDNS.API
         PowerDNS.API.Version
@@ -50,30 +57,24 @@
     default-language: Haskell2010
     ghc-options:      -Wall -Wcompat
     build-depends:
-        base >=4.12 && <4.15,
-        aeson >=1.5.6 && <1.6,
-        bytestring >=0.10.10 && <0.11,
-        deepseq >=1.4.4 && <1.5,
-        containers >=0.6.2 && <0.7,
-        hashable >= 1.3.5.0 && <1.4,
-        text >=1.2.4 && <1.3,
-        time >=1.9.3 && <1.10,
-        base64-bytestring >=1.1.0 && <1.2,
-        case-insensitive >=1.2.1 && <1.3,
-        servant >=0.18.2 && <0.19,
-        servant-client >=0.18.2 && <0.19,
-        servant-client-core >=0.18.2 && <0.19
+        aeson ^>= { 1.5.6, 2.0.3.0 },
+        bytestring ^>= { 0.10.10 },
+        deepseq ^>= { 1.4.4 },
+        containers ^>= { 0.6.2 },
+        hashable ^>= { 1.3.0.0 },
+        text ^>= { 1.2.4 },
+        time ^>= { 1.9.3 },
+        base64-bytestring ^>= { 1.1.0, 1.2.1.0 },
+        case-insensitive ^>= { 1.2.1 }
 
 test-suite powerdns-test
+    import:           all
     type:             exitcode-stdio-1.0
     main-is:          Spec.hs
     hs-source-dirs:   spec
     default-language: Haskell2010
     build-depends:
-        base >=4.12 && <4.15,
         powerdns -any,
-        tasty >=1.4.1 && <1.5,
-        tasty-hunit >=0.10.0.3 && <0.11,
-        servant-client >=0.18.2 && <0.19,
-        servant-client-core >=0.18.2 && <0.19,
-        http-client >=0.6.4.1 && <0.7
+        tasty ^>= { 1.4.1 },
+        tasty-hunit ^>= { 0.10.0.3 },
+        http-client ^>= { 0.6.4.1, 0.7.11 }
