diff --git a/alarmclock.cabal b/alarmclock.cabal
--- a/alarmclock.cabal
+++ b/alarmclock.cabal
@@ -1,11 +1,13 @@
--- This file has been generated from package.yaml by hpack version 0.28.2.
+cabal-version: 1.12
+
+-- This file has been generated from package.yaml by hpack version 0.31.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 7b2d7c02d569ad2e2cce4539033748bd59636fba88b706a40dddc7003bea0d5a
+-- hash: 262592408a8b2b2d6bd14693f6928c4c41d404a856d80eff859e5f0f51ee9c27
 
 name:           alarmclock
-version:        0.7.0.2
+version:        0.7.0.4
 synopsis:       Wake up and perform an action at a certain time.
 description:    Please see the README at <https://github.com/DaveCTurner/alarmclock/blob/master/README.md>
 category:       Concurrency
@@ -16,7 +18,6 @@
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
-cabal-version:  >= 1.10
 
 library
   exposed-modules:
@@ -28,12 +29,12 @@
       src
   ghc-options: -Wall
   build-depends:
-      async
-    , base >=4.8 && <4.13
-    , clock
-    , stm
-    , time
-    , unbounded-delays
+      async >=2.1.1 && <2.3
+    , base >=4.8.0 && <4.14
+    , clock >=0.7.0 && <0.9
+    , stm >=2.4.4 && <2.6
+    , time >=1.5.0 && <1.10
+    , unbounded-delays >=0.1.1 && <0.2
   default-language: Haskell2010
 
 test-suite alarmclock-test
@@ -46,11 +47,11 @@
   ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
   build-depends:
       alarmclock
-    , async
-    , base >=4.8 && <4.13
-    , clock
+    , async >=2.1.1 && <2.3
+    , base >=4.8.0 && <4.14
+    , clock >=0.7.0 && <0.9
     , hspec
-    , stm
-    , time
-    , unbounded-delays
+    , stm >=2.4.4 && <2.6
+    , time >=1.5.0 && <1.10
+    , unbounded-delays >=0.1.1 && <0.2
   default-language: Haskell2010
