diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,3 +1,7 @@
+0.3.3.1
+* Remove >= from cabal version. Thanks to [felixonmars](https://github.com/felixonmars).
+* Conditionally drop dependency on semigroups library. Thanks to [felixonmars](https://github.com/felixonmars).
+
 0.3.3.0
 * Export more granular serializtion functions for things like the query string.
 
diff --git a/uri-bytestring.cabal b/uri-bytestring.cabal
--- a/uri-bytestring.cabal
+++ b/uri-bytestring.cabal
@@ -1,5 +1,5 @@
 name:                uri-bytestring
-version:             0.3.3.0
+version:             0.3.3.1
 synopsis:            Haskell URI parsing as ByteStrings
 description: uri-bytestring aims to be an RFC3986 compliant URI parser that uses efficient ByteStrings for parsing and representing the URI data.
 license:             BSD3
@@ -10,7 +10,7 @@
 copyright:           Soostone Inc.
 category:            Web
 build-type:          Simple
-cabal-version:       >=1.16
+cabal-version:       1.16
 homepage:            https://github.com/Soostone/uri-bytestring
 bug-reports:         https://github.com/Soostone/uri-bytestring/issues
 Tested-With:         GHC == 7.8.4
@@ -85,10 +85,13 @@
     , base-compat >= 0.7.0
     , blaze-builder
     , bytestring
-    , semigroups
     , transformers
     , containers
     , safe
+
+  if !impl(ghc >= 8)
+    build-depends: semigroups
+
   default-language:    Haskell2010
 
   if flag(lib-Werror)
