diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,8 @@
+0.7.2
+-----
+* GHC 8.4 compatibility
+
+-----
 0.7.1
 -----
 * improved compatibility with Excel in pivot cache serialization
diff --git a/src/Codec/Xlsx/Parser/Internal/Fast.hs b/src/Codec/Xlsx/Parser/Internal/Fast.hs
--- a/src/Codec/Xlsx/Parser/Internal/Fast.hs
+++ b/src/Codec/Xlsx/Parser/Internal/Fast.hs
@@ -41,7 +41,7 @@
 import qualified Data.ByteString.Unsafe as SU
 import Data.Char (chr)
 import Data.Maybe
-import Data.Monoid
+import Data.Monoid ((<>))
 import Data.Text (Text)
 import qualified Data.Text as T
 import qualified Data.Text.Encoding as T
diff --git a/src/Codec/Xlsx/Types/RichText.hs b/src/Codec/Xlsx/Types/RichText.hs
--- a/src/Codec/Xlsx/Types/RichText.hs
+++ b/src/Codec/Xlsx/Types/RichText.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE OverloadedStrings  #-}
 {-# LANGUAGE RecordWildCards    #-}
 {-# LANGUAGE TemplateHaskell    #-}
@@ -310,6 +311,31 @@
 {-------------------------------------------------------------------------------
   Applying formatting
 -------------------------------------------------------------------------------}
+
+#if (MIN_VERSION_base(4,11,0))
+instance Semigroup RunProperties where
+  a <> b = RunProperties {
+      _runPropertiesBold          = override _runPropertiesBold
+    , _runPropertiesCharset       = override _runPropertiesCharset
+    , _runPropertiesColor         = override _runPropertiesColor
+    , _runPropertiesCondense      = override _runPropertiesCondense
+    , _runPropertiesExtend        = override _runPropertiesExtend
+    , _runPropertiesFontFamily    = override _runPropertiesFontFamily
+    , _runPropertiesItalic        = override _runPropertiesItalic
+    , _runPropertiesOutline       = override _runPropertiesOutline
+    , _runPropertiesFont          = override _runPropertiesFont
+    , _runPropertiesScheme        = override _runPropertiesScheme
+    , _runPropertiesShadow        = override _runPropertiesShadow
+    , _runPropertiesStrikeThrough = override _runPropertiesStrikeThrough
+    , _runPropertiesSize          = override _runPropertiesSize
+    , _runPropertiesUnderline     = override _runPropertiesUnderline
+    , _runPropertiesVertAlign     = override _runPropertiesVertAlign
+    }
+    where
+      override :: (RunProperties -> Maybe x) -> Maybe x
+      override f = f b `mplus` f a
+
+#endif
 
 -- | The 'Monoid' instance for 'RunProperties' is biased: later properties
 -- override earlier ones.
diff --git a/src/Codec/Xlsx/Types/StyleSheet.hs b/src/Codec/Xlsx/Types/StyleSheet.hs
--- a/src/Codec/Xlsx/Types/StyleSheet.hs
+++ b/src/Codec/Xlsx/Types/StyleSheet.hs
@@ -134,7 +134,7 @@
 import Data.Map.Strict (Map)
 import qualified Data.Map.Strict as M
 import Data.Maybe (catMaybes)
-import Data.Monoid
+import Data.Monoid ((<>))
 import Data.Text (Text)
 import qualified Data.Text as T
 import GHC.Generics (Generic)
diff --git a/xlsx.cabal b/xlsx.cabal
--- a/xlsx.cabal
+++ b/xlsx.cabal
@@ -1,6 +1,6 @@
 Name:                xlsx
 
-Version:             0.7.1
+Version:             0.7.2
 
 Synopsis:            Simple and incomplete Excel file parser/writer
 Description:
