diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
 # hw-bits
 [![CircleCI](https://circleci.com/gh/haskell-works/hw-bits/tree/0-branch.svg?style=svg)](https://circleci.com/gh/haskell-works/hw-bits/tree/0-branch)
+[![Travis](https://travis-ci.org/haskell-works/hw-bits.svg?branch=master)](https://travis-ci.org/haskell-works/hw-bits)
 
 Facilities for manipulating bits.
diff --git a/hw-bits.cabal b/hw-bits.cabal
--- a/hw-bits.cabal
+++ b/hw-bits.cabal
@@ -1,95 +1,112 @@
-name:                   hw-bits
-version:                0.7.0.2
-synopsis:               Bit manipulation
-description:            Please see README.md
-homepage:               http://github.com/haskell-works/hw-bits#readme
-license:                BSD3
-license-file:           LICENSE
-author:                 John Ky
-maintainer:             newhoggy@gmail.com
-copyright:              2016 John Ky
-category:               Data, Bit
-stability:              Experimental
-build-type:             Simple
-extra-source-files:     README.md
-cabal-version:          >= 1.22
+-- This file has been generated from package.yaml by hpack version 0.18.1.
+--
+-- see: https://github.com/sol/hpack
 
-Flag sse42
-    Description:        Enable SSE 4.2 optimisations.
-    Default:            True
+name:           hw-bits
+version:        0.7.0.3
+synopsis:       Bit manipulation
+description:    Please see README.md
+category:       Data, Bit
+stability:      Experimental
+homepage:       http://github.com/haskell-works/hw-bits#readme
+bug-reports:    https://github.com/haskell-works/hw-bits/issues
+author:         John Ky
+maintainer:     newhoggy@gmail.com
+copyright:      2016 John Ky
+license:        BSD3
+license-file:   LICENSE
+tested-with:    GHC == 8.4.2, GHC == 8.2.2, GHC == 8.0.2, GHC == 7.10.3
+build-type:     Simple
+cabal-version:  >= 1.10
 
-library
-  hs-source-dirs:       src
-  exposed-modules:      HaskellWorks.Data.Bits
-                      , HaskellWorks.Data.Bits.AllExcess
-                      , HaskellWorks.Data.Bits.AllExcess.AllExcess0
-                      , HaskellWorks.Data.Bits.AllExcess.AllExcess1
-                      , HaskellWorks.Data.Bits.BitLength
-                      , HaskellWorks.Data.Bits.BitParse
-                      , HaskellWorks.Data.Bits.BitRead
-                      , HaskellWorks.Data.Bits.BitShow
-                      , HaskellWorks.Data.Bits.BitShown
-                      , HaskellWorks.Data.Bits.BitWise
-                      , HaskellWorks.Data.Bits.Broadword
-                      , HaskellWorks.Data.Bits.ElemFixedBitSize
-                      , HaskellWorks.Data.Bits.FixedBitSize
-                      , HaskellWorks.Data.Bits.FromBitTextByteString
-                      , HaskellWorks.Data.Bits.LoBitsSized
-                      , HaskellWorks.Data.Bits.Log2
-                      , HaskellWorks.Data.Bits.PopCount
-                      , HaskellWorks.Data.Bits.PopCount.PopCount0
-                      , HaskellWorks.Data.Bits.PopCount.PopCount1
-                      , HaskellWorks.Data.Bits.Types.Broadword
-                      , HaskellWorks.Data.Bits.Types.Builtin
-                      , HaskellWorks.Data.Bits.Word
-  build-depends:        base                          >= 4          && < 5
-                      , bytestring
-                      , hw-int                        >= 0.0.0.1
-                      , hw-prim                       >= 0.4.0.3
-                      , hw-string-parse               >= 0.0.0.1
-                      , safe
-                      , vector
+extra-source-files:
+    README.md
 
-  default-language:     Haskell2010
+source-repository head
+  type: git
+  location: https://github.com/haskell-works/hw-bits
 
+flag sse42
+  description: Enable SSE 4.2 optimisations.
+  manual: False
+  default: True
+
+library
+  hs-source-dirs:
+      src
+  build-depends:
+      base        >= 4.8        && < 5
+    , vector      >= 0.12       && < 0.13
+    , bytestring        >= 0.9        && < 0.11
+    , hw-int            >= 0.0.0.1    && < 0.1
+    , hw-prim           >= 0.4.0.3    && < 0.7
+    , hw-string-parse   >= 0.0.0.1    && < 0.1
+    , safe
   if flag(sse42)
-    ghc-options:          -Wall -O2 -msse4.2
+    ghc-options: -Wall -O2 -msse4.2
   else
-    ghc-options:          -Wall -O2
+    ghc-options: -Wall -O2
+  exposed-modules:
+      HaskellWorks.Data.Bits
+      HaskellWorks.Data.Bits.AllExcess
+      HaskellWorks.Data.Bits.AllExcess.AllExcess0
+      HaskellWorks.Data.Bits.AllExcess.AllExcess1
+      HaskellWorks.Data.Bits.BitLength
+      HaskellWorks.Data.Bits.BitParse
+      HaskellWorks.Data.Bits.BitRead
+      HaskellWorks.Data.Bits.BitShow
+      HaskellWorks.Data.Bits.BitShown
+      HaskellWorks.Data.Bits.BitWise
+      HaskellWorks.Data.Bits.Broadword
+      HaskellWorks.Data.Bits.ElemFixedBitSize
+      HaskellWorks.Data.Bits.FixedBitSize
+      HaskellWorks.Data.Bits.FromBitTextByteString
+      HaskellWorks.Data.Bits.LoBitsSized
+      HaskellWorks.Data.Bits.Log2
+      HaskellWorks.Data.Bits.PopCount
+      HaskellWorks.Data.Bits.PopCount.PopCount0
+      HaskellWorks.Data.Bits.PopCount.PopCount1
+      HaskellWorks.Data.Bits.Types.Broadword
+      HaskellWorks.Data.Bits.Types.Builtin
+      HaskellWorks.Data.Bits.Word
+  other-modules:
+      Paths_hw_bits
+  default-language: Haskell2010
 
 test-suite hw-bits-test
-  type:                 exitcode-stdio-1.0
-  hs-source-dirs:       test
-  main-is:              Spec.hs
-  other-modules:        HaskellWorks.Data.Bits.BitReadSpec
-                      , HaskellWorks.Data.Bits.BitWiseSpec
-                      , HaskellWorks.Data.Bits.FromBitTextByteStringSpec
-                      , HaskellWorks.Data.Bits.Log2Spec
-  build-depends:        base                          >= 4          && < 5
-                      , bytestring
-                      , hspec
-                      , hw-bits
-                      , hw-prim                       >= 0.4.0.3
-                      , QuickCheck
-                      , vector
-  ghc-options:          -threaded -rtsopts -with-rtsopts=-N -Wall
-  default-language:     Haskell2010
-
-source-repository head
-  type:     git
-  location: https://github.com/haskell-works/hw-bits
+  type: exitcode-stdio-1.0
+  main-is: Spec.hs
+  hs-source-dirs:
+      test
+  ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall
+  build-depends:
+      base        >= 4.8        && < 5
+    , vector      >= 0.12       && < 0.13
+    , bytestring    >= 0.9        && < 0.11
+    , hspec         >= 2.4        && < 2.6
+    , hw-bits
+    , hw-prim       >= 0.4.0.3    && < 0.7
+    , QuickCheck    >= 2.10       && < 2.12
+  other-modules:
+      HaskellWorks.Data.Bits.BitReadSpec
+      HaskellWorks.Data.Bits.BitWiseSpec
+      HaskellWorks.Data.Bits.FromBitTextByteStringSpec
+      HaskellWorks.Data.Bits.Log2Spec
+  default-language: Haskell2010
 
 benchmark bench
-    Type: exitcode-stdio-1.0
-    HS-Source-Dirs: bench
-    Main-Is: Main.hs
-    if flag(sse42)
-      GHC-Options: -Wall -O2 -msse4.2
-    else
-      GHC-Options: -Wall -O2
-    Default-Language: Haskell2010
-    Build-Depends:      base                          >= 4          && < 5
-                      , criterion
-                      , hw-bits
-                      , hw-prim                       >= 0.4.0.0
-                      , vector
+  type: exitcode-stdio-1.0
+  main-is: Main.hs
+  hs-source-dirs:
+      bench
+  build-depends:
+      base        >= 4.8        && < 5
+    , vector      >= 0.12       && < 0.13
+    , criterion >= 1.2        && < 1.6
+    , hw-bits
+    , hw-prim   >= 0.4.0.0    && < 0.7
+  if flag(sse42)
+    ghc-options: -Wall -O2 -msse4.2
+  else
+    ghc-options: -Wall -O2
+  default-language: Haskell2010
