diff --git a/hakyll-diagrams.cabal b/hakyll-diagrams.cabal
--- a/hakyll-diagrams.cabal
+++ b/hakyll-diagrams.cabal
@@ -1,6 +1,6 @@
 cabal-version:      3.0
 name:               hakyll-diagrams
-version:            0.1.0.2
+version:            0.1.0.3
 
 synopsis: A Hakyll plugin for rendering diagrams figures from embedded Haskell code.
 
@@ -84,7 +84,7 @@
 common common-deps
   build-depends:
       base >=4.17.2 && <4.22,
-      hakyll ^>=4.16.2,
+      hakyll >=4.16.2 && <4.18,
       text >=2.0.2 && <2.2,
       pandoc-types ^>=1.23
 
@@ -110,6 +110,7 @@
 test-suite hakyll-diagrams-test
   import:           warnings, common-deps
   default-language: Haskell2010
+  default-extensions: CPP
   other-modules:
       Util
     , HTMLSVGCompare
diff --git a/test/Util.hs b/test/Util.hs
--- a/test/Util.hs
+++ b/test/Util.hs
@@ -33,8 +33,11 @@
 --------------------------------------------------------------------------------
 newTestProvider :: Store -> IO Provider
 newTestProvider store =
-  newProvider store (const $ return False) $
-    providerDirectory testConfiguration
+#if MIN_VERSION_hakyll(4,17,0)
+  fst <$>
+#endif
+    (newProvider store (const $ return False) $
+      providerDirectory testConfiguration)
 
 
 --------------------------------------------------------------------------------
