diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
--- a/CHANGELOG.markdown
+++ b/CHANGELOG.markdown
@@ -1,3 +1,9 @@
+0.20 [2021.11.15]
+-----------------
+* Support `hashable-1.4`. The `Hashable1` instances added in 0.19.2
+  are removed for all types except `NonEmpty`, in accordance with the
+  corresponding changes from `hashable-1.4`.
+
 0.19.2 [2021.08.30]
 -------------------
 * Backport `Hashable1` instances for `NonEmpty`, `Min`, `Max`, `First`, `Last`,
diff --git a/semigroups.cabal b/semigroups.cabal
--- a/semigroups.cabal
+++ b/semigroups.cabal
@@ -1,6 +1,6 @@
 name:          semigroups
 category:      Algebra, Data, Data Structures, Math
-version:       0.19.2
+version:       0.20
 license:       BSD3
 cabal-version: >= 1.10
 license-file:  LICENSE
@@ -28,7 +28,7 @@
              , GHC == 8.8.4
              , GHC == 8.10.7
              , GHC == 9.0.1
-             , GHC == 9.2.*
+             , GHC == 9.2.1
 
 source-repository head
   type: git
@@ -175,7 +175,7 @@
       build-depends: text >= 0.10 && < 2
 
     if flag(hashable)
-      build-depends: hashable >= 1.2.5.0  && < 1.4
+      build-depends: hashable >= 1.2.5.0  && < 1.5
 
     if flag(hashable) && flag(unordered-containers)
       build-depends: unordered-containers >= 0.2  && < 0.3
diff --git a/src-ghc7/Data/Semigroup.hs b/src-ghc7/Data/Semigroup.hs
--- a/src-ghc7/Data/Semigroup.hs
+++ b/src-ghc7/Data/Semigroup.hs
@@ -472,10 +472,6 @@
 #ifdef MIN_VERSION_hashable
 instance Hashable a => Hashable (Min a) where
   hashWithSalt p (Min a) = hashWithSalt p a
-
--- | @since 0.19.2
-instance Hashable1 Min where
-  liftHashWithSalt h salt (Min a) = h salt a
 #endif
 
 instance Ord a => Semigroup (Min a) where
@@ -579,10 +575,6 @@
 #ifdef MIN_VERSION_hashable
 instance Hashable a => Hashable (Max a) where
   hashWithSalt p (Max a) = hashWithSalt p a
-
--- | @since 0.19.2
-instance Hashable1 Max where
-  liftHashWithSalt h salt (Max a) = h salt a
 #endif
 
 instance Ord a => Semigroup (Max a) where
@@ -770,10 +762,6 @@
 #ifdef MIN_VERSION_hashable
 instance Hashable a => Hashable (First a) where
   hashWithSalt p (First a) = hashWithSalt p a
-
--- | @since 0.19.2
-instance Hashable1 First where
-  liftHashWithSalt h salt (First a) = h salt a
 #endif
 
 instance Semigroup (First a) where
@@ -861,10 +849,6 @@
 #ifdef MIN_VERSION_hashable
 instance Hashable a => Hashable (Last a) where
   hashWithSalt p (Last a) = hashWithSalt p a
-
--- | @since 0.19.2
-instance Hashable1 Last where
-  liftHashWithSalt h salt (Last a) = h salt a
 #endif
 
 instance Semigroup (Last a) where
@@ -990,10 +974,6 @@
 #ifdef MIN_VERSION_hashable
 instance Hashable a => Hashable (WrappedMonoid a) where
   hashWithSalt p (WrapMonoid a) = hashWithSalt p a
-
--- | @since 0.19.2
-instance Hashable1 WrappedMonoid where
-  liftHashWithSalt h salt (WrapMonoid a) = h salt a
 #endif
 
 instance Monoid m => Semigroup (WrappedMonoid m) where
@@ -1083,10 +1063,6 @@
 #ifdef MIN_VERSION_hashable
 instance Hashable a => Hashable (Option a) where
   hashWithSalt p (Option a) = hashWithSalt p a
-
--- | @since 0.19.2
-instance Hashable1 Option where
-  liftHashWithSalt h salt (Option a) = liftHashWithSalt h salt a
 #endif
 
 instance Functor Option where
