diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,10 @@
 # doctemplates
 
+## 0.10.0.1
+
+  * Don't rely on aeson Object being implemented as a HashMap.
+    This change is needed for doctemplates to compile against aeson 2.0.0.0.
+
 ## 0.10
 
   * Change rendering and conditional behavior with booleans.
diff --git a/doctemplates.cabal b/doctemplates.cabal
--- a/doctemplates.cabal
+++ b/doctemplates.cabal
@@ -1,5 +1,5 @@
 name:                doctemplates
-version:             0.10
+version:             0.10.0.1
 synopsis:            Pandoc-style document templates
 description:         This is the text templating system used by pandoc.
                      It supports variable interpolation, iteration,
@@ -40,7 +40,6 @@
                        filepath,
                        parsec,
                        mtl,
-                       unordered-containers,
                        scientific
   if !impl(ghc >= 8.0)
     build-depends:     semigroups == 0.18.*
diff --git a/src/Text/DocTemplates/Internal.hs b/src/Text/DocTemplates/Internal.hs
--- a/src/Text/DocTemplates/Internal.hs
+++ b/src/Text/DocTemplates/Internal.hs
@@ -53,7 +53,6 @@
 import GHC.Generics (Generic)
 import Data.Text (Text)
 import qualified Data.Map as M
-import qualified Data.HashMap.Strict as H
 import qualified Data.Vector as V
 import Data.Scientific (floatingOrInteger)
 import Data.List (intersperse)
@@ -225,8 +224,7 @@
                                   Left (r :: Double)   -> show r
                                   Right (i :: Integer) -> show i
       Bool b      -> return $ BoolVal b
-      Object o    -> MapVal . Context . M.fromList . H.toList <$>
-                       mapM parseJSON o
+      Object _    -> MapVal . Context <$> parseJSON v
       _           -> return NullVal
 
 instance TemplateTarget a => FromJSON (Context a) where
diff --git a/test/keyval.txt b/test/keyval.txt
deleted file mode 100644
--- a/test/keyval.txt
+++ /dev/null
@@ -1,1 +0,0 @@
-
