diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,11 @@
+## 1.0.4
+
+* Increased the upper-bound of base to allow < 4.9. Now builds on
+  GHC 7.10.1.
+* Increased the upper-bound of aeson to allow < 0.10.
+* Increased the upper-bound of time to allow < 1.6.
+* Increased the upper-bound of wreq to allow < 0.5.
+
 ## 1.0.3
 
 * Increase upper-bound of `wreq` to < 0.4. Thanks to @bflyblue for this change.
diff --git a/ekg-bosun.cabal b/ekg-bosun.cabal
--- a/ekg-bosun.cabal
+++ b/ekg-bosun.cabal
@@ -1,5 +1,5 @@
 name: ekg-bosun
-version: 1.0.3
+version: 1.0.4
 synopsis: Send ekg metrics to a Bosun instance
 homepage: http://github.com/ocharles/ekg-bosun
 license: BSD3
@@ -19,16 +19,16 @@
   exposed-modules: System.Remote.Monitoring.Bosun
   other-extensions: OverloadedStrings
   build-depends:
-    aeson >= 0.7 && < 0.9,
-    base >=4.7 && <4.8,
+    aeson >= 0.7 && < 0.10,
+    base >=4.7 && <4.9,
     ekg-core >=0.1 && <0.2,
     http-client >= 0.3.7 && < 0.5,
     lens,
     text >=0.11 && <1.3,
-    time >=1.4 && <1.5,
+    time >=1.4 && <1.6,
     unordered-containers >=0.2 && <0.3,
     vector >=0.10 && <0.11,
-    wreq >= 0.2 && < 0.4,
+    wreq >= 0.2 && < 0.5,
     old-locale
   hs-source-dirs: src
   default-language: Haskell2010
diff --git a/src/System/Remote/Monitoring/Bosun.hs b/src/System/Remote/Monitoring/Bosun.hs
--- a/src/System/Remote/Monitoring/Bosun.hs
+++ b/src/System/Remote/Monitoring/Bosun.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE OverloadedStrings #-}
 
 -- | This module lets you periodically flush metrics to a Bosun
@@ -25,7 +26,12 @@
 import Data.Int (Int64)
 import Data.Monoid ((<>))
 import System.IO.Unsafe (unsafePerformIO)
+
+#if MIN_VERSION_time(1,5,0)
+import Data.Time.Format (defaultTimeLocale)
+#else
 import System.Locale (defaultTimeLocale)
+#endif
 
 import qualified Data.Aeson as Aeson
 import qualified Data.HashMap.Strict as HashMap
