diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # ChangeLog for yaml
 
+## 0.11.11.2
+
+* Compat with aeson 2.2
+
 ## 0.11.11.1
 
 * For optparse-applicative-0.18: use `pretty` instead of `text` [#216](https://github.com/snoyberg/yaml/pull/216)
diff --git a/src/Data/Yaml/Internal.hs b/src/Data/Yaml/Internal.hs
--- a/src/Data/Yaml/Internal.hs
+++ b/src/Data/Yaml/Internal.hs
@@ -46,8 +46,12 @@
 #else
 import qualified Data.HashMap.Strict as M
 #endif
-import Data.Aeson.Internal (JSONPath, JSONPathElement(..), formatError)
+#if MIN_VERSION_aeson(2,2,0)
+import Data.Aeson.Types hiding (AesonException, parse)
+#else
 import Data.Aeson.Types hiding (parse)
+import Data.Aeson.Internal (JSONPath, JSONPathElement(..), formatError)
+#endif
 import qualified Data.Attoparsec.Text as Atto
 import Data.Bits (shiftL, (.|.))
 import Data.ByteString (ByteString)
diff --git a/test/Data/Yaml/IncludeSpec.hs b/test/Data/Yaml/IncludeSpec.hs
--- a/test/Data/Yaml/IncludeSpec.hs
+++ b/test/Data/Yaml/IncludeSpec.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE QuasiQuotes #-}
 {-# LANGUAGE OverloadedStrings #-}
 module Data.Yaml.IncludeSpec (main, spec) where
@@ -6,7 +7,11 @@
 import           Data.List (isPrefixOf)
 import qualified Data.ByteString.Lazy as LB
 import           Data.Aeson
+#if MIN_VERSION_aeson(2,2,0)
+import           Data.Aeson.Types (JSONPathElement(..))
+#else
 import           Data.Aeson.Internal (JSONPathElement(..))
+#endif
 import           Data.Yaml (ParseException(InvalidYaml))
 import           Data.Yaml.Include
 import           Data.Yaml.Internal
diff --git a/yaml.cabal b/yaml.cabal
--- a/yaml.cabal
+++ b/yaml.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           yaml
-version:        0.11.11.1
+version:        0.11.11.2
 synopsis:       Support for parsing and rendering YAML documents.
 description:    README and API documentation are available at <https://www.stackage.org/package/yaml>
 category:       Data
