diff --git a/pure-zlib.cabal b/pure-zlib.cabal
--- a/pure-zlib.cabal
+++ b/pure-zlib.cabal
@@ -1,5 +1,5 @@
 name:                pure-zlib
-version:             0.6.1
+version:             0.6.2
 synopsis:            A Haskell-only implementation of zlib / DEFLATE
 homepage:            http://github.com/GaloisInc/pure-zlib
 license:             BSD3
@@ -8,7 +8,7 @@
 maintainer:          awick@galois.com
 category:            Codec
 build-type:          Simple
-cabal-version:       >=1.10
+cabal-version:       >=1.18
 description:         A Haskell-only implementation of the zlib / DEFLATE
                      protocol. Currently only implements the decompression
                      algorithm.
@@ -27,6 +27,8 @@
                       bytestring-builder >= 0.10  && < 0.11,
                       containers         >= 0.5   && < 0.7,
                       fingertree         >= 0.1   && < 0.3
+  if !impl(ghc >= 8.0)
+    build-depends: semigroups == 0.18.*
   exposed-modules:
                       Codec.Compression.Zlib,
                       Codec.Compression.Zlib.Adler32,
@@ -63,10 +65,10 @@
                       base-compat      >= 0.9.1    && < 0.11,
                       bytestring       >= 0.10     && < 0.11,
                       filepath         >= 1.4.1    && < 1.6,
-                      HUnit            >= 1.2      && < 1.4,
-                      QuickCheck       >= 2.7      && < 2.9,
+                      HUnit            >= 1.2      && < 1.7,
+                      QuickCheck       >= 2.7      && < 2.12,
                       pure-zlib,
-                      tasty            >= 0.11.0.4 && < 0.13,
+                      tasty            >= 0.11.0.4 && < 1.2,
                       tasty-hunit      >= 0.9.2    && < 0.11,
                       tasty-quickcheck >= 0.8.4    && < 0.11
 
@@ -80,7 +82,7 @@
                       base-compat >= 0.9.1 && < 0.11,
                       bytestring  >= 0.10  && < 0.11,
                       pure-zlib,
-                      time        >= 1.4.2 && < 1.9
+                      time        >= 1.4.2 && < 1.11
 
 source-repository head
   type: git
diff --git a/src/Codec/Compression/Zlib/OutputWindow.hs b/src/Codec/Compression/Zlib/OutputWindow.hs
--- a/src/Codec/Compression/Zlib/OutputWindow.hs
+++ b/src/Codec/Compression/Zlib/OutputWindow.hs
@@ -20,12 +20,15 @@
                                  empty, (|>), split, measure, viewl)
 import           Data.Foldable.Compat(foldMap)
 import           Data.Int(Int64)
-import           Data.Monoid.Compat((<>))
+import           Data.Semigroup as Sem
 import           Data.Word(Word8)
 import           Prelude()
 import           Prelude.Compat
 
 type WindowType = FingerTree Int S.ByteString
+
+instance Sem.Semigroup Int where
+  (<>) = (+)
 
 instance Monoid Int where
   mempty  = 0
