diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,11 @@
 PLACEHOLDER
 -----
 
+0.1.7.0
+-------
+
+* PR #2. Add GHC 8.4 support
+
 0.1.6.4
 -----
 
diff --git a/src/Data/String/Class.hs b/src/Data/String/Class.hs
--- a/src/Data/String/Class.hs
+++ b/src/Data/String/Class.hs
@@ -23,7 +23,8 @@
 import qualified Data.ByteString.Lazy.Char8 as LC
 import Data.Int
 import qualified Data.List as List
-import Data.Monoid
+import Data.Semigroup
+import Data.Monoid hiding ((<>))
 import Data.String (IsString)
 import qualified Data.String
 import Data.Tagged
@@ -969,10 +970,13 @@
 instance IsString GenString where
     fromString = GenString
 
+instance Semigroup GenString where
+    (<>) a b = case (a, b) of
+        (GenString _a, GenString _b) -> GenString $ append (toGenDefaultString _a) (toGenDefaultString _b)
+
 instance Monoid GenString where
     mempty  = GenString $ (empty :: GenStringDefault)
-    mappend a b = case (a, b) of
-        (GenString _a, GenString _b) -> GenString $ append (toGenDefaultString _a) (toGenDefaultString _b)
+    mappend = (<>)
     mconcat ss = GenString $ concat . map toGenDefaultString $ ss
 
 instance StringCells GenString where
diff --git a/string-class.cabal b/string-class.cabal
--- a/string-class.cabal
+++ b/string-class.cabal
@@ -1,16 +1,16 @@
 name:               string-class
 -- Don't forget to bump the tag and CHANGELOG placeholder too.
-version:            0.1.6.5
+version:            0.1.7.0
 cabal-version:      >= 1.18
 build-type:         Simple
 license:            BSD3
 license-file:       LICENSE
 copyright:          Copyright (C) 2010 Byron James Johnson
 author:             Byron James Johnson
-maintainer:         ByronJohnsonFP@gmail.com
+maintainer:         ByronJohnsonFP@gmail.com, Kostiantyn Rybnikov <k-bx@k-bx.com>
 category:           Data, Text
-homepage:           https://github.com/bairyn/string-class
-bug-reports:        https://github.com/bairyn/string-class/issues
+homepage:           https://github.com/string-class/string-class
+bug-reports:        https://github.com/string-class/string-class/issues
 tested-with:        GHC == 7.8.3
 extra-source-files:
 -- The extra-doc-files property requires cabal-version >= 1.18.
@@ -47,6 +47,9 @@
    ,bytestring >= 0.10.0.0 && < 0.11
    ,text       >= 0.11.0.1 && < 1.3
    ,tagged     >= 0.1.1    && < 0.9
+  if !impl(ghc >= 8.0)
+    build-depends:
+      semigroups >= 0.11 && < 0.19
   exposed-modules:
     Data.String.Class
 
