diff --git a/CHANGELOG.markdown b/CHANGELOG.markdown
new file mode 100644
--- /dev/null
+++ b/CHANGELOG.markdown
@@ -0,0 +1,4 @@
+# aeson-pretty changelog
+
+## 0.8.9
+ * Added support for Aeson 2.0
diff --git a/Data/Aeson/Encode/Pretty.hs b/Data/Aeson/Encode/Pretty.hs
--- a/Data/Aeson/Encode/Pretty.hs
+++ b/Data/Aeson/Encode/Pretty.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE OverloadedStrings, RecordWildCards #-}
+{-# LANGUAGE OverloadedStrings, RecordWildCards, CPP #-}
 
 -- |Aeson-compatible pretty-printing of JSON 'Value's.
 module Data.Aeson.Encode.Pretty (
@@ -54,11 +54,15 @@
     keyOrder
 ) where
 
+#if MIN_VERSION_aeson(2,0,0)
+import qualified Data.Aeson.Key as AK
+import qualified Data.Aeson.KeyMap as AKM
+#endif
 import Data.Aeson (Value(..), ToJSON(..))
-import qualified Data.Aeson.Encode as Aeson
+import qualified Data.Aeson.Text as Aeson
 import Data.ByteString.Lazy (ByteString)
 import Data.Function (on)
-import qualified Data.HashMap.Strict as H (toList)
+import qualified Data.HashMap.Strict as H (toList, mapKeys)
 import Data.List (intersperse, sortBy, elemIndex)
 import Data.Maybe (fromMaybe)
 import Data.Semigroup ((<>))
@@ -170,9 +174,15 @@
 fromValue st@PState{..} val = go val
   where
     go (Array v)  = fromCompound st ("[","]") fromValue (V.toList v)
-    go (Object m) = fromCompound st ("{","}") fromPair (pSort (H.toList m))
+    go (Object m) = fromCompound st ("{","}") fromPair (pSort (toList' m))
     go (Number x) = fromNumber st x
     go v          = Aeson.encodeToTextBuilder v
+
+#if MIN_VERSION_aeson(2,0,0)
+    toList' = fmap (\(k, v) -> (AK.toText k, v)) . AKM.toList
+#else
+    toList' = H.toList
+#endif
 
 fromCompound :: PState
              -> (Builder, Builder)
diff --git a/aeson-pretty.cabal b/aeson-pretty.cabal
--- a/aeson-pretty.cabal
+++ b/aeson-pretty.cabal
@@ -1,13 +1,13 @@
+cabal-version:  2.0
 name:           aeson-pretty
-version:        0.8.8
+version:        0.8.9
 license:        BSD3
 license-file:   LICENSE
 category:       Text, Web, JSON, Pretty Printer
 copyright:      Copyright 2011 Falko Peters
 author:         Falko Peters <falko.peters@gmail.com>
-maintainer:     Falko Peters <falko.peters@gmail.com>
+maintainer:     Martijn Bastiaan <martijn@hmbastiaan.nl>
 stability:      experimental
-cabal-version:  >= 1.8
 homepage:       http://github.com/informatikr/aeson-pretty
 bug-reports:    http://github.com/informatikr/aeson-pretty/issues
 build-type:     Simple
@@ -30,6 +30,7 @@
 
 extra-source-files:
     README.markdown
+    CHANGELOG.markdown
 
 flag lib-only
     description: Only build/install the library, NOT the command-line tool.
@@ -40,7 +41,7 @@
         Data.Aeson.Encode.Pretty
 
     build-depends:
-        aeson >= 0.7,
+        aeson ^>= 1.0 || ^>=1.1 || ^>=1.2 || ^>=1.3 || ^>=1.4 || ^>=1.5 || ^>=2.0,
         base >= 4.5,
         base-compat >= 0.9,
         bytestring >= 0.9,
@@ -54,11 +55,13 @@
         semigroups >= 0.18.2
 
     ghc-options: -Wall
+    default-language: Haskell2010
 
 executable aeson-pretty
     hs-source-dirs: cli-tool
     main-is: Main.hs
     other-modules: Paths_aeson_pretty
+    autogen-modules: Paths_aeson_pretty
 
     if flag(lib-only)
         buildable: False
@@ -72,7 +75,7 @@
             cmdargs >= 0.7
 
     ghc-options: -Wall
-    ghc-prof-options: -auto-all
+    default-language: Haskell2010
 
 source-repository head
     type:     git
