diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+0.1.0.2
+-------
+* Library compatibility with ghc 8.4.1
+
 0.1.0.1
 -------
 * Improved language for hiding nodes
diff --git a/src/Debug/Trace/Tree/Assoc.hs b/src/Debug/Trace/Tree/Assoc.hs
--- a/src/Debug/Trace/Tree/Assoc.hs
+++ b/src/Debug/Trace/Tree/Assoc.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+
 -- | Association lists
 --
 -- Intended to be double imported:
@@ -37,6 +39,11 @@
 
 instance Traversable (Assoc k) where
   traverse f = fmap (Assoc . getCompose) . traverse f . Compose . assocList
+
+#if MIN_VERSION_base(4,9,0)
+instance Semigroup (Assoc k v) where
+  (Assoc xs) <> (Assoc ys) = Assoc (xs `mappend` ys)  
+#endif
 
 instance Monoid (Assoc k v) where
   mempty = Assoc mempty
diff --git a/tracetree.cabal b/tracetree.cabal
--- a/tracetree.cabal
+++ b/tracetree.cabal
@@ -1,5 +1,5 @@
 name:                tracetree
-version:             0.1.0.1
+version:             0.1.0.2
 synopsis:            Visualize Haskell data structures as edge-labeled trees
 description:         The tracetree library can be used to conveniently write
                      Haskell data structures as trees represented as JSON
@@ -50,11 +50,11 @@
   -- We need ghc 7.10 (using bidrectional pattern synonyms),
   -- but I don't know how to specify that other through the version of base
   build-depends:       base         >= 4.8 && < 5,
-                       bifunctors   >= 4.2 && < 5.3,
+                       bifunctors   >= 4.2 && < 5.6,
                        containers   >= 0.5 && < 0.6,
                        json         >= 0.9 && < 0.10,
                        mtl          >= 2.2 && < 2.3,
-                       transformers >= 0.4 && < 0.5
+                       transformers >= 0.4 && < 0.6
   hs-source-dirs:      src
   default-language:    Haskell2010
   ghc-options:         -Wall
@@ -72,7 +72,7 @@
                        TupleSections
                        TypeOperators
                        ViewPatterns
-  -- other-extensions:
+  other-extensions:    CPP
 
 executable ttrender
   main-is:             Main.hs
@@ -85,13 +85,13 @@
     build-depends:     base                 >= 4.8  && < 5,
                        colour               >= 2.3  && < 2.4,
                        json                 >= 0.9  && < 0.10,
-                       optparse-applicative >= 0.11 && < 0.13,
+                       optparse-applicative >= 0.11 && < 0.15,
                        regex-posix          >= 0.95 && < 0.96,
                        parsec               >= 3.1  && < 3.2,
-                       diagrams-cairo       >= 1.3  && < 1.4,
-                       diagrams-lib         >= 1.3  && < 1.4,
-                       diagrams-contrib     >= 1.3  && < 1.4,
-                       SVGFonts             >= 1.5  && < 1.6,
+                       diagrams-cairo       >= 1.3  && < 1.5,
+                       diagrams-lib         >= 1.3  && < 1.5,
+                       diagrams-contrib     >= 1.3  && < 1.5,
+                       SVGFonts             >= 1.5  && < 1.7,
                        -- whatever version we use above
                        tracetree
   else
