diff --git a/arbor-datadog.cabal b/arbor-datadog.cabal
--- a/arbor-datadog.cabal
+++ b/arbor-datadog.cabal
@@ -1,68 +1,90 @@
-cabal-version:  2.2
-name:           arbor-datadog
-version:        0.1.0.0
-synopsis:       Datadog client for Haskell.
-description:    Datadog client for Haskell. Supports both the HTTP API and StatsD.
-category:       Network
-homepage:       https://github.com/arbor/arbor-datadog
-author:         Arbor Networks
-maintainer:     mayhem@arbor.net
-license:        MIT
-license-file:   LICENSE
-build-type:     Simple
+cabal-version: 2.2
 
+name:                   arbor-datadog
+version:                0.1.0.1
+synopsis:               Datadog client for Haskell.
+description:            Datadog client for Haskell. Supports both the HTTP API and StatsD.
+category:               Network
+homepage:               https://github.com/arbor/arbor-datadog
+author:                 Arbor Networks
+maintainer:             mayhem@arbor.net
+license:                MIT
+license-file:           LICENSE
+tested-with:            GHC == 8.8.1, GHC == 8.6.5, GHC == 8.4.4, GHC == 8.2.2
+build-type:             Simple
+
 source-repository head
   type: git
   location: git://github.com/arbor/arbor-datadog.git
 
+common base                   { build-depends: base                   >= 4      && < 5    }
+
+common aeson                  { build-depends: aeson                                      }
+common arbor-datadog          { build-depends: arbor-datadog                              }
+common auto-update            { build-depends: auto-update                                }
+common buffer-builder         { build-depends: buffer-builder                             }
+common bytestring             { build-depends: bytestring                                 }
+common Cabal                  { build-depends: Cabal                                      }
+common dlist                  { build-depends: dlist                                      }
+common generic-lens           { build-depends: generic-lens                               }
+common hspec                  { build-depends: hspec                                      }
+common lens                   { build-depends: lens                                       }
+common mtl                    { build-depends: mtl                                        }
+common network                { build-depends: network                                    }
+common optparse-applicative   { build-depends: optparse-applicative                       }
+common random                 { build-depends: random                                     }
+common resourcet              { build-depends: resourcet                                  }
+common text                   { build-depends: text                                       }
+common time                   { build-depends: time                                       }
+common transformers           { build-depends: transformers                               }
+common unordered-containers   { build-depends: unordered-containers                       }
+common vector                 { build-depends: vector                                     }
+
+common config
+  default-language:     Haskell2010
+  ghc-options:          -Wall
+  other-extensions:     OverloadedStrings GeneralizedNewtypeDeriving TemplateHaskell FunctionalDependencies MultiParamTypeClasses FlexibleInstances
+
 library
-  exposed-modules:
-      Arbor.Network.StatsD
-      Arbor.Network.StatsD.Datadog
-      Arbor.Network.StatsD.Internal.Lens
-      Arbor.Network.StatsD.Monad
-      Arbor.Network.StatsD.Type
-      Arbor.Network.StatsD.Options
-  other-modules:
-  hs-source-dirs: src
-  other-extensions: OverloadedStrings GeneralizedNewtypeDeriving TemplateHaskell FunctionalDependencies MultiParamTypeClasses FlexibleInstances
-  ghc-options: -Wall
-  build-depends:
-      aeson
-    , auto-update
-    , base >=4.7 && <5
-    , buffer-builder
-    , bytestring
-    , dlist
-    , generic-lens
-    , lens
-    , mtl
-    , network <3
-    , optparse-applicative
-    , random
-    , resourcet
-    , text
-    , time
-    , transformers
-    , unordered-containers
-    , vector
-  default-language: Haskell2010
+  import:               base, config
+                      , aeson
+                      , auto-update
+                      , buffer-builder
+                      , bytestring
+                      , dlist
+                      , generic-lens
+                      , lens
+                      , mtl
+                      , network
+                      , optparse-applicative
+                      , random
+                      , resourcet
+                      , text
+                      , time
+                      , transformers
+                      , unordered-containers
+                      , vector
+  exposed-modules:      Arbor.Network.StatsD
+                        Arbor.Network.StatsD.Datadog
+                        Arbor.Network.StatsD.Internal.Lens
+                        Arbor.Network.StatsD.Monad
+                        Arbor.Network.StatsD.Type
+                        Arbor.Network.StatsD.Options
+  hs-source-dirs:       src
 
 test-suite datadog-api-test
-  type: exitcode-stdio-1.0
-  main-is: Spec.hs
-  other-modules:
-  hs-source-dirs: test
-  ghc-options: -Wall -O3 -threaded -rtsopts -with-rtsopts=-N
-  build-depends:
-      Cabal
-    , arbor-datadog
-    , base
-    , generic-lens
-    , hspec
-    , lens
-    , network
-    , resourcet
-    , time
-    , transformers
-  default-language: Haskell2010
+  import:               base, config
+                      , Cabal
+                      , arbor-datadog
+                      , generic-lens
+                      , hspec
+                      , lens
+                      , network
+                      , resourcet
+                      , time
+                      , transformers
+  type:                 exitcode-stdio-1.0
+  main-is:              Spec.hs
+  hs-source-dirs:       test
+  ghc-options:          -threaded -rtsopts -with-rtsopts=-N
+  build-tool-depends:   hspec-discover:hspec-discover
