diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,2 +1,11 @@
+# Change Log
+
+## [1.0.1](https://github.com/EarnestResearch/hlivy/tree/1.0.1)
+Released: **8 February 2019** Compare: [1.0.0](https://github.com/EarnestResearch/hlivy/compare/1.0.0..1.0.1)
+
+### Fixed
+
+- Build against older GHC versions/snapshots. [\#4](https://github.com/EarnestResearch/hlivy/issues/4)
+
 ## [1.0.0](https://github.com/EarnestResearch/hlivy/tree/1.0.0)
 Released: **4 February 2019**
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,8 @@
 # hlivy
+
+[![Build Status](https://travis-ci.com/EarnestResearch/hlivy.svg?branch=master)](https://travis-ci.org/EarnestResearch/hlivy)
+[![Hackage Version](https://img.shields.io/hackage/v/hlivy.svg)](https://hackage.haskell.org/package/hlivy)
+
 ## Description
 `hlivy` is a Haskell library that provides bindings to the [Apache Livy](https://livy.incubator.apache.org/) REST API, which enables one to easily launch Spark applications -- either in an interactive or batch fashion -- via HTTP requests to the Livy server running on the master node of a Spark cluster.
 
@@ -54,4 +58,4 @@
 λ => req = createBatch "/user/hadoop/my-app.jar"
 λ => resp <- runLivy env (send req & cbClassName ?~ "com.company.my_app" ?~ cbExecutorCores ?~ 4)
 ```
-See [examples](examples/) for more example use.
+See [examples](https://github.com/EarnestResearch/hlivy/tree/1.0.0/examples/) for more example use.
diff --git a/hlivy.cabal b/hlivy.cabal
--- a/hlivy.cabal
+++ b/hlivy.cabal
@@ -1,7 +1,7 @@
 name:               hlivy
-version:            1.0.0
-synopsis:           Client library for the Apache Livy REST API.
-description:        See README.md
+version:            1.0.1
+synopsis:           Client library for the Apache Livy REST API
+description:        Client library for the Apache Livy REST API -- see README.md
 category:           Distributed Computing
 homepage:           https://github.com/EarnestResearch/hlivy
 author:             Daniel Donohue <ddonohue@earnestresearch.com>
@@ -57,16 +57,16 @@
   default-extensions: OverloadedStrings
   ghc-options: -Wall
   build-depends:
-      aeson                >= 1.4.2    && < 1.5
-    , base                 >= 4.5      && < 5
-    , bytestring           >= 0.10.8.2 && < 0.11
-    , exceptions           >= 0.10     && < 0.11
-    , http-client          >= 0.5.14   && < 0.6
-    , http-types           >= 0.12.2   && < 0.13
-    , lens                 >= 4.17     && < 5.0
-    , mtl                  >= 2.2.2    && < 2.3
-    , resourcet            >= 1.2.2    && < 1.3
-    , text                 >= 1.2.3.1  && < 1.3
-    , transformers         >= 0.5.5    && < 0.6
-    , unordered-containers >= 0.2.9    && < 0.3
+      aeson                >= 1.1.2    && < 1.5
+    , base                 >= 4.7      && < 5
+    , bytestring           >= 0.9      && < 0.11
+    , exceptions           >= 0.6      && < 0.11
+    , http-client          >= 0.4      && < 0.6
+    , http-types           >= 0.9.1    && < 0.13
+    , lens                 >= 4.4      && < 5.0
+    , mtl                  >= 2.2.1    && < 2.3
+    , resourcet            >= 1.1      && < 1.3
+    , text                 >= 1.1      && < 1.3
+    , transformers         >= 0.5.2    && < 0.6
+    , unordered-containers >= 0.2.7    && < 0.3
   default-language: Haskell2010
diff --git a/src/Network/Livy/Client/Internal/JSON.hs b/src/Network/Livy/Client/Internal/JSON.hs
--- a/src/Network/Livy/Client/Internal/JSON.hs
+++ b/src/Network/Livy/Client/Internal/JSON.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 {-|
 Module      :  Network.Livy.Client.Internal.JSON
 Copyright   :  (C) 2019 Earnest Research
@@ -12,6 +14,9 @@
   ) where
 
 import           Data.Aeson
+#if ! MIN_VERSION_base(4,12,0)
+import           Data.Monoid ((<>))
+#endif
 import qualified Data.Text as T
 
 
diff --git a/src/Network/Livy/Client/Types/Batch.hs b/src/Network/Livy/Client/Types/Batch.hs
--- a/src/Network/Livy/Client/Types/Batch.hs
+++ b/src/Network/Livy/Client/Types/Batch.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                        #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE TemplateHaskell            #-}
 
@@ -28,6 +29,9 @@
 import           Data.Aeson
 import           Data.Aeson.TH
 import qualified Data.HashMap.Strict as Map
+#if ! MIN_VERSION_base(4,12,0)
+import           Data.Monoid ((<>))
+#endif
 import           Data.Text (Text)
 import qualified Data.Text as T
 import           Data.Typeable
diff --git a/src/Network/Livy/Client/Types/Session.hs b/src/Network/Livy/Client/Types/Session.hs
--- a/src/Network/Livy/Client/Types/Session.hs
+++ b/src/Network/Livy/Client/Types/Session.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                        #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE TemplateHaskell            #-}
 
@@ -32,6 +33,9 @@
 import           Data.Aeson
 import           Data.Aeson.TH
 import qualified Data.HashMap.Strict as Map
+#if ! MIN_VERSION_base(4,12,0)
+import           Data.Monoid ((<>))
+#endif
 import           Data.Text (Text)
 import qualified Data.Text as T
 import           Data.Typeable
diff --git a/src/Network/Livy/Client/Types/Statement.hs b/src/Network/Livy/Client/Types/Statement.hs
--- a/src/Network/Livy/Client/Types/Statement.hs
+++ b/src/Network/Livy/Client/Types/Statement.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                        #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE TemplateHaskell            #-}
 
@@ -31,6 +32,9 @@
 import           Data.Aeson
 import           Data.Aeson.TH
 import qualified Data.HashMap.Strict as Map
+#if ! MIN_VERSION_base(4,12,0)
+import           Data.Monoid ((<>))
+#endif
 import           Data.Text (Text)
 import qualified Data.Text as T
 import           Data.Typeable
