diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Revision history for tree-diff
 
+## 0.0.2.1
+
+- Support semigroups-0.19, hashable-1.3 and generics-sop-0.5
+
 ## 0.0.2
 
 - Print compact diffs
diff --git a/src/Data/TreeDiff/Class.hs b/src/Data/TreeDiff/Class.hs
--- a/src/Data/TreeDiff/Class.hs
+++ b/src/Data/TreeDiff/Class.hs
@@ -152,8 +152,8 @@
     xss
   where
     isNewtype = case di of
-        Newtype _ _ _ -> True
-        ADT _ _ _     -> False
+        Newtype {} -> True
+        ADT {}     -> False
 
 sopNPToExpr :: All ToExpr xs => Bool -> ConstructorInfo xs -> NP I xs -> Expr
 sopNPToExpr _ (Infix cn _ _) xs = App ("_" ++ cn ++ "_") $ hcollapse $
diff --git a/tree-diff.cabal b/tree-diff.cabal
--- a/tree-diff.cabal
+++ b/tree-diff.cabal
@@ -1,6 +1,6 @@
 cabal-version:       >=1.10
 name:                tree-diff
-version:             0.0.2
+version:             0.0.2.1
 
 synopsis:            Diffing of (expression) trees.
 category:            Data, Testing
@@ -46,7 +46,7 @@
   GHC==8.0.2,
   GHC==8.2.2,
   GHC==8.4.4,
-  GHc==8.6.2
+  GHc==8.6.4
 
 extra-source-files:
   fixtures/exfoo.expr
@@ -70,17 +70,17 @@
     base                 >=4.7      && <4.13,
     aeson                >=1.2.1.0  && <1.5,
     ansi-wl-pprint       >=0.6.8.1  && <0.7,
-    ansi-terminal        >=0.6.3.1  && <0.9,
+    ansi-terminal        >=0.6.3.1  && <0.10,
     base-compat          >=0.9.3    && <0.11,
     bytestring           >=0.10.4.0 && <0.11,
     containers           >=0.5.5.1  && <0.7,
-    generics-sop         >=0.3.1.0  && <0.5,
-    hashable             >=1.2.6.1  && <1.3,
+    generics-sop         >=0.3.1.0  && <0.6,
+    hashable             >=1.2.6.1  && <1.4,
     MemoTrie             >=0.6.8    && <0.7,
     parsec               >=3.1.11   && <3.2,
     parsers              >=0.12.7   && <0.13,
     pretty               >=1.1.1.1  && <1.2,
-    QuickCheck           >=2.10.0.1 && <2.13,
+    QuickCheck           >=2.10.0.1 && <2.14,
     scientific           >=0.3.5.2  && <0.4,
     tagged               >=0.8.5    && <0.9,
     text                 >=1.2.2.2  && <1.3,
@@ -91,7 +91,7 @@
 
   if !impl(ghc >= 8.0)
     build-depends:
-      semigroups         >=0.18.3   && <0.19
+      semigroups         >=0.18.3   && <0.20
 
   if !impl(ghc >= 7.10)
     build-depends:
@@ -124,6 +124,6 @@
     ansi-wl-pprint,
     parsec,
     trifecta             >=1.7.1.1  && <2.1,
-    tasty                >=0.11.2.5 && <1.2,
+    tasty                >=0.11.2.5 && <1.3,
     tasty-golden         >=2.3.1.1  && <2.4,
     tasty-quickcheck     >=0.9.1    && <0.11
