diff --git a/deepseq-bounded.cabal b/deepseq-bounded.cabal
--- a/deepseq-bounded.cabal
+++ b/deepseq-bounded.cabal
@@ -1,6 +1,6 @@
 
 name:		deepseq-bounded
-version:        0.5.3
+version:        0.5.4
 synopsis:       Bounded deepseq, including support for generic deriving
 homepage:       http://fremissant.net/deepseq-bounded
 license:	BSD3
@@ -157,12 +157,12 @@
 
   build-depends:
 
-      base >= 4 && < 5
---- , base-4.7.0.1
+      base == 4.*
+--- , base == 4.7.0.1
 
-    , array <= 0.5.0.0
+    , array == 0.5.*
 
-    , random <= 1.1
+    , random == 1.1
 
   if ! flag(HASKELL98_FRAGMENT)
      build-depends:
@@ -172,16 +172,16 @@
   -- but it's used in some debugging and testing code (although probably
   -- shouldn't be), so the dep stays for now:
   build-depends:
-      deepseq <= 1.3.0.2
+      deepseq == 1.3.*
 --    deepseq >= 1.2.0.1 && < 1.4
 
   if flag(USE_WW_DEEPSEQ)
      build-depends:
-         deepseq <= 1.3.0.2
+         deepseq == 1.3.*
 --       deepseq >= 1.2.0.1 && < 1.4
      if ! flag(HASKELL98_FRAGMENT)
         build-depends:
-            deepseq-generics <= 0.1.1.2
+            deepseq-generics == 0.1.*
      cpp-options: -DUSE_WW_DEEPSEQ=1
   else
      cpp-options: -DUSE_WW_DEEPSEQ=0
@@ -194,7 +194,7 @@
   if ! flag(HASKELL98_FRAGMENT)
       if flag(USE_SOP)
          build-depends:
-             generics-sop <= 0.1.0.4
+             generics-sop == 0.1.*
          cpp-options: -DUSE_SOP=1
       else
          cpp-options: -DUSE_SOP=0
@@ -213,12 +213,12 @@
 
   if flag(PARALLELISM_EXPERIMENT)
      build-depends:
-         parallel <= 3.2.0.5
+         parallel == 3.2.*
 
 --if flag(SEQUENTIALISM_EXPERIMENT)
 --   build-depends:
 --       -- yes, really
---       parallel <= 3.2.0.5
+--       parallel == 3.2.*
 
   if flag(PARALLELISM_EXPERIMENT)
      cpp-options: -DPARALLELISM_EXPERIMENT=1
@@ -262,13 +262,11 @@
   ghc-options:         -fenable-rewrite-rules -O2
 
   build-depends:
-      base > 4 && <= 5
-    , deepseq-bounded == 0.5.3
-    , HUnit <= 1.2.5.2
-    , random <= 1.1
+      base == 4.*
+    , HUnit == 1.2.*
+    , random == 1.1
 
---  , template-haskell
-    , template-haskell <= 2.9.0.0
+    , template-haskell == 2.9.*
 
   if ! flag(HASKELL98_FRAGMENT)
      build-depends:
@@ -283,16 +281,16 @@
   -- but it's used in some debugging and testing code (although probably
   -- shouldn't be), so the dep stays for now:
   build-depends:
-      deepseq <= 1.3.0.2
+      deepseq == 1.3.*
 --    deepseq >= 1.2.0.1 && < 1.4
 
   if flag(USE_WW_DEEPSEQ)
      build-depends:
-         deepseq <= 1.3.0.2
+         deepseq == 1.3.*
 --       deepseq >= 1.2.0.1 && < 1.4
      if ! flag(HASKELL98_FRAGMENT)
          build-depends:
-             deepseq-generics <= 0.1.1.2
+             deepseq-generics == 0.1.*
      cpp-options: -DUSE_WW_DEEPSEQ=1
   else
      cpp-options: -DUSE_WW_DEEPSEQ=0
@@ -300,7 +298,7 @@
   if ! flag(HASKELL98_FRAGMENT)
       if flag(USE_SOP)
          build-depends:
-             generics-sop <= 0.1.0.4
+             generics-sop == 0.1.*
          cpp-options: -DUSE_SOP=1
       else
          cpp-options: -DUSE_SOP=0
@@ -314,12 +312,12 @@
 
   if flag(PARALLELISM_EXPERIMENT)
      build-depends:
-         parallel <= 3.2.0.5
+         parallel == 3.2.*
 
 --if flag(SEQUENTIALISM_EXPERIMENT)
 --   build-depends:
 --       -- yes, really
---       parallel <= 3.2.0.5
+--       parallel == 3.2.*
 
   if flag(PARALLELISM_EXPERIMENT)
      cpp-options: -DPARALLELISM_EXPERIMENT=1
@@ -337,5 +335,4 @@
      cpp-options: -DJUST_ALIAS_GSEQABLE=0
 
 }
-
 
