diff --git a/aeson.cabal b/aeson.cabal
--- a/aeson.cabal
+++ b/aeson.cabal
@@ -1,6 +1,6 @@
 cabal-version:      2.2
 name:               aeson
-version:            2.2.4.1
+version:            2.2.5.0
 license:            BSD-3-Clause
 license-file:       LICENSE
 category:           Text, Web, JSON
@@ -20,7 +20,7 @@
    || ==9.4.8
    || ==9.6.6
    || ==9.8.4
-   || ==9.10.1
+   || ==9.10.3
    || ==9.12.4
    || ==9.14.1
 
@@ -127,7 +127,7 @@
     , primitive             ^>=0.8.0.0  || ^>=0.9.0.0
     , QuickCheck            ^>=2.14.3   || ^>=2.15    || ^>=2.16.0.0 || ^>=2.17.1.0 || ^>=2.18.0.0
     , scientific            ^>=0.3.7.0
-    , semialign             ^>=1.3
+    , semialign             ^>=1.3      || ^>=1.4
     , strict                ^>=0.5
     , tagged                ^>=0.8.7
     , text-iso8601          ^>=0.1.1
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,9 @@
 For the latest version of this document, please see [https://github.com/haskell/aeson/blob/master/changelog.md](https://github.com/haskell/aeson/blob/master/changelog.md).
 
+### 2.2.5.0
+
+* Support `semialign-1.4`
+
 ### 2.2.4.0
 
 * Check for control characters in text literals everywhere
diff --git a/src/Data/Aeson/KeyMap.hs b/src/Data/Aeson/KeyMap.hs
--- a/src/Data/Aeson/KeyMap.hs
+++ b/src/Data/Aeson/KeyMap.hs
@@ -690,6 +690,12 @@
 -- semialign
 -------------------------------------------------------------------------------
 
+-- |
+--
+-- @since 2.2.5.0
+instance SA.Unzip KeyMap where
+    unzip = SA.unzipDefault
+
 instance SA.Zip KeyMap where
     zipWith = intersectionWith
 
