diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,7 @@
+### Version 0.6.5.1 (2023-07-09)
+
+  * Support `aeson-2.2.0.0`
+
 ### Version 0.6.5 (2022-10-30)
 
   * Add `withConnect`
diff --git a/postgresql-simple.cabal b/postgresql-simple.cabal
--- a/postgresql-simple.cabal
+++ b/postgresql-simple.cabal
@@ -1,6 +1,6 @@
 cabal-version:      1.12
 name:               postgresql-simple
-version:            0.6.5
+version:            0.6.5.1
 synopsis:           Mid-Level PostgreSQL client library
 description:
   Mid-Level PostgreSQL client library, forked from mysql-simple.
@@ -33,8 +33,9 @@
    || ==8.8.4
    || ==8.10.7
    || ==9.0.2
-   || ==9.2.4
-   || ==9.4.2
+   || ==9.2.8
+   || ==9.4.5
+   || ==9.6.2
 
 library
   default-language:   Haskell2010
@@ -80,17 +81,17 @@
 
   -- GHC bundled libs
   build-depends:
-      base              >=4.6.0.0  && <4.18
+      base              >=4.6.0.0  && <4.19
     , bytestring        >=0.10.0.0 && <0.12
     , containers        >=0.5.0.0  && <0.7
-    , template-haskell  >=2.8.0.0  && <2.20
+    , template-haskell  >=2.8.0.0  && <2.21
     , text              >=1.2.3.0  && <1.3 || >=2.0 && <2.1
     , time-compat       >=1.9.5    && <1.12
     , transformers      >=0.3.0.0  && <0.7
 
   -- Other dependencies
   build-depends:
-      aeson               >=1.4.1.0    && <1.6 || >=2.0.0.0 && <2.2
+      aeson               >=1.4.1.0    && <1.6 || >=2.0.0.0 && <2.3
     , attoparsec          >=0.13.2.2   && <0.15
     , bytestring-builder  >=0.10.8.1.0 && <0.11
     , case-insensitive    >=1.2.0.11   && <1.3
diff --git a/src/Database/PostgreSQL/Simple/FromField.hs b/src/Database/PostgreSQL/Simple/FromField.hs
--- a/src/Database/PostgreSQL/Simple/FromField.hs
+++ b/src/Database/PostgreSQL/Simple/FromField.hs
@@ -120,8 +120,6 @@
 import           Control.Concurrent.MVar (MVar, newMVar)
 import           Control.Exception (Exception)
 import qualified Data.Aeson as JSON
-import qualified Data.Aeson.Internal as JSON
-import qualified Data.Aeson.Parser as JSON (value')
 import           Data.Attoparsec.ByteString.Char8 hiding (Result)
 import           Data.ByteString (ByteString)
 import qualified Data.ByteString.Char8 as B
@@ -156,6 +154,12 @@
 import           Data.Scientific (Scientific)
 import           GHC.Real (infinity, notANumber)
 
+#if MIN_VERSION_aeson(2,1,2)
+import qualified Data.Aeson.Types as JSON
+#else
+import qualified Data.Aeson.Internal as JSON
+#endif
+
 -- | Exception thrown if conversion from a SQL value to a Haskell
 -- value fails.
 data ResultError = Incompatible { errSQLType :: String
@@ -574,7 +578,7 @@
 -- | json, jsonb
 instance FromField JSON.Value where
     fromField f mbs = parseBS =<< fromFieldJSONByteString f mbs
-      where parseBS bs = case parseOnly (JSON.value' <* endOfInput) bs of
+      where parseBS bs = case JSON.eitherDecodeStrict' bs of
                    Left  err -> returnError ConversionFailed f err
                    Right val -> pure val
 
