diff --git a/Data/Aeson/Types/Internal.hs b/Data/Aeson/Types/Internal.hs
--- a/Data/Aeson/Types/Internal.hs
+++ b/Data/Aeson/Types/Internal.hs
@@ -425,6 +425,9 @@
       where a' = V.toList a
     lift (Object o) = [| Object (H.fromList . map (first pack) $ o') |]
       where o' = map (first unpack) . H.toList $ o
+#if MIN_VERSION_template_haskell(2,16,0)
+    liftTyped = TH.unsafeTExpCoerce . TH.lift
+#endif
 
 -- | The empty array.
 emptyArray :: Value
diff --git a/aeson.cabal b/aeson.cabal
--- a/aeson.cabal
+++ b/aeson.cabal
@@ -1,5 +1,5 @@
 name:            aeson
-version:         1.4.7.0
+version:         1.4.7.1
 license:         BSD3
 license-file:    LICENSE
 category:        Text, Web, JSON
@@ -106,8 +106,8 @@
     bytestring       >= 0.10.4.0 && < 0.11,
     containers       >= 0.5.5.1 && < 0.7,
     deepseq          >= 1.3.0.0 && < 1.5,
-    ghc-prim         >= 0.2     && < 0.6,
-    template-haskell >= 2.9.0.0 && < 2.16,
+    ghc-prim         >= 0.2     && < 0.7,
+    template-haskell >= 2.9.0.0 && < 2.17,
     text             >= 1.2.3.0 && < 1.3,
     time             >= 1.4     && < 1.10
 
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/bos/aeson/blob/master/changelog.md](https://github.com/bos/aeson/blob/master/changelog.md).
 
+#### 1.4.7.1
+
+* GHC 8.10 compatibility, thanks to Ryan Scott.
+
 ### 1.4.7.0
 
 Long overdue release (once again), so there's quite a bit of stuff
