diff --git a/postgresql-simple-opts.cabal b/postgresql-simple-opts.cabal
--- a/postgresql-simple-opts.cabal
+++ b/postgresql-simple-opts.cabal
@@ -1,5 +1,5 @@
 name:                postgresql-simple-opts
-version:             0.3.0.0
+version:             0.3.0.1
 synopsis:            An optparse-applicative parser for postgresql-simple's connection options
 description:         This package exports a optparse-applicative parser and type for postgresql-simple's Options and connection string.
 homepage:            https://github.com/jfischoff/postgresql-simple-opts#readme
@@ -18,10 +18,10 @@
   exposed-modules:     Database.PostgreSQL.Simple.Options
   build-depends: base >= 4.6 && < 5
                , postgresql-simple
-               , optparse-applicative >=0.11.0 && <0.14
+               , optparse-applicative
                , bytestring
                , either
-               , optparse-generic >= 1.0.1 && <1.3
+               , optparse-generic
                , data-default
                , split
                , uri-bytestring
diff --git a/src/Database/PostgreSQL/Simple/Options.hs b/src/Database/PostgreSQL/Simple/Options.hs
--- a/src/Database/PostgreSQL/Simple/Options.hs
+++ b/src/Database/PostgreSQL/Simple/Options.hs
@@ -14,7 +14,6 @@
 import GHC.Generics
 import Options.Generic
 import Data.Typeable
-import Data.Monoid
 import Data.Either.Validation
 import Data.Default
 import URI.ByteString as URI
@@ -82,9 +81,12 @@
   parseRecord = (option (eitherReader parseConnectionString) (long "connectString"))
     <|> parseRecordWithModifiers defaultModifiers
 
+instance Semigroup PartialOptions where
+  (<>) = gmappenddefault
+
 instance Monoid PartialOptions where
   mempty = gmemptydefault
-  mappend = gmappenddefault
+  mappend = (<>)
 
 -- Copied from Options.Generic source code
 underscoreModifiers :: Modifiers
