diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,8 @@
+* 0.2.2.1: 19 October 2019
+
+- Allow semigroups-0.19
+- Allow base-4.13 and test with GHC 8.8
+
 * 0.2.2: 16 May 2018
 
 - allow monoid-extras-0.5
diff --git a/dual-tree.cabal b/dual-tree.cabal
--- a/dual-tree.cabal
+++ b/dual-tree.cabal
@@ -1,5 +1,5 @@
 name:                dual-tree
-version:             0.2.2
+version:             0.2.2.1
 synopsis:            Rose trees with cached and accumulating monoidal annotations
 description:         Rose (n-ary) trees with both upwards- (/i.e./
                      cached) and downwards-traveling (/i.e./
@@ -31,7 +31,7 @@
 build-type:          Simple
 cabal-version:       >=1.10
 bug-reports:         https://github.com/diagrams/dual-tree/issues
-tested-with:         GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.2
+tested-with:         GHC == 7.10.3, GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.2, GHC == 8.6.1, GHC == 8.8.1
 source-repository head
   type: git
   location: https://github.com/diagrams/dual-tree.git
@@ -40,9 +40,9 @@
   default-language:  Haskell2010
   exposed-modules:   Data.Tree.DUAL
                      Data.Tree.DUAL.Internal
-  build-depends:     base >= 4.3 && < 4.12,
-                     semigroups >= 0.8 && < 0.19,
-                     newtype-generics >= 0.5 && < 0.6,
+  build-depends:     base >= 4.3 && < 4.14,
+                     semigroups >= 0.8 && < 0.20,
+                     newtype-generics >= 0.5.3 && < 0.6,
                      monoid-extras >= 0.2 && < 0.6
   hs-source-dirs:    src
   other-extensions:  GeneralizedNewtypeDeriving,
