diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,15 @@
 CHANGELOG
 =========
 
+Version 0.2.2.1
+---------------
+
+*October 17, 2018*
+
+<https://github.com/mstksg/backprop/releases/tag/v0.2.2.1>
+
+*   Compatibility with *dhall-1.18*.
+
 Version 0.2.2.0
 ---------------
 
diff --git a/hakyll-dhall.cabal b/hakyll-dhall.cabal
--- a/hakyll-dhall.cabal
+++ b/hakyll-dhall.cabal
@@ -2,12 +2,18 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 9602c81ff221ad25d8ecbf5a3b51eee5ebb1c79e801098acf6333c50faa1e506
+-- hash: ef89e371678d3b82ba96ce7054952afca83963bc844c2bc90f079dd541da998d
 
 name:           hakyll-dhall
-version:        0.2.2.0
+version:        0.2.2.1
 synopsis:       Dhall compiler for Hakyll
-description:    Please see the README on GitHub at <https://github.com/mstksg/hakyll-dhall#readme>
+description:    Hakyll compiler and loader for Dhall files.  Functions are intended to track
+                all local dependencies within the project directory, so rebuilds are
+                properly triggered on up-stream imports.  Provides options for customizing
+                rebuilding behavior for network, environment variable, and non-project local
+                files.
+                .
+                See README.md for more information.
 category:       Web
 homepage:       https://github.com/mstksg/hakyll-dhall#readme
 bug-reports:    https://github.com/mstksg/hakyll-dhall/issues
@@ -46,7 +52,7 @@
     , cborg
     , containers
     , data-default-class
-    , dhall >1.17
+    , dhall >=1.17
     , filepath
     , hakyll >=4.10
     , lens-family-core
@@ -65,7 +71,7 @@
   ghc-options: -Wall -Wcompat -Wredundant-constraints -threaded -rtsopts -with-rtsopts=-N
   build-depends:
       base >=4.7 && <5
-    , dhall >1.17
+    , dhall >=1.17
     , hakyll >=4.10
     , hakyll-dhall
   default-language: Haskell2010
diff --git a/src/Hakyll/Web/Dhall.hs b/src/Hakyll/Web/Dhall.hs
--- a/src/Hakyll/Web/Dhall.hs
+++ b/src/Hakyll/Web/Dhall.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE AllowAmbiguousTypes #-}
+{-# LANGUAGE CPP                 #-}
 {-# LANGUAGE ConstraintKinds     #-}
 {-# LANGUAGE DeriveDataTypeable  #-}
 {-# LANGUAGE DeriveGeneric       #-}
@@ -116,7 +117,11 @@
     put = Bi.putBuilder
         . CBOR.toBuilder
         . CBOR.encodeTerm
+#if MIN_VERSION_dhall(1,18,0)
+        . encodeWithVersion V_3_0_0
+#else
         . encode V_1_0
+#endif
         . fmap toImport
         . getDExpr
       where
@@ -128,7 +133,11 @@
         (_, t) <- either (fail . show) pure $
                     CBOR.deserialiseFromBytes CBOR.decodeTerm bs
         e      <- either (fail . show) pure $
+#if MIN_VERSION_dhall(1,18,0)
+                    decodeWithVersion t
+#else
                     decode t
+#endif
         DExpr <$> traverse fromImport e
       where
         fromImport i = case defaultDhallResolver @a of
