diff --git a/hakyll.cabal b/hakyll.cabal
--- a/hakyll.cabal
+++ b/hakyll.cabal
@@ -1,5 +1,5 @@
 Name:    hakyll
-Version: 4.8.3.1
+Version: 4.8.3.2
 
 Synopsis: A static website compiler library
 Description:
@@ -143,14 +143,14 @@
 
   Build-Depends:
     base                 >= 4.8    && < 5,
-    binary               >= 0.5    && < 0.8,
+    binary               >= 0.5    && < 0.9,
     blaze-html           >= 0.5    && < 0.9,
     blaze-markup         >= 0.5.1  && < 0.8,
     bytestring           >= 0.9    && < 0.11,
     cmdargs              >= 0.10   && < 0.11,
     containers           >= 0.3    && < 0.6,
     cryptohash           >= 0.7    && < 0.12,
-    data-default         >= 0.4    && < 0.7,
+    data-default         >= 0.4    && < 0.8,
     deepseq              >= 1.3    && < 1.5,
     directory            >= 1.0    && < 1.3,
     filepath             >= 1.0    && < 1.5,
@@ -159,17 +159,17 @@
     network              >= 2.6    && < 2.7,
     network-uri          >= 2.6    && < 2.7,
     pandoc               >= 1.14   && < 1.18,
-    pandoc-citeproc      >= 0.4    && < 0.10,
+    pandoc-citeproc      >= 0.4    && < 0.11,
     parsec               >= 3.0    && < 3.2,
-    process              >= 1.0    && < 1.3,
+    process              >= 1.0    && < 1.5,
     random               >= 1.0    && < 1.2,
     regex-base           >= 0.93   && < 0.94,
     regex-tdfa           >= 1.1    && < 1.3,
     resourcet            >= 1.1    && < 1.2,
     scientific           >= 0.3.4  && < 0.4,
-    tagsoup              >= 0.13.1 && < 0.14,
+    tagsoup              >= 0.13.1 && < 0.15,
     text                 >= 0.11   && < 1.3,
-    time                 >= 1.4    && < 1.6,
+    time                 >= 1.4    && < 1.7,
     time-locale-compat   >= 0.1    && < 0.2,
     unordered-containers >= 0.2    && < 0.3,
     vector               >= 0.11   && < 0.12,
@@ -234,14 +234,14 @@
     test-framework-quickcheck2 >= 0.3 && < 0.4,
     -- Copy pasted from hakyll dependencies:
     base                 >= 4.8    && < 5,
-    binary               >= 0.5    && < 0.8,
+    binary               >= 0.5    && < 0.9,
     blaze-html           >= 0.5    && < 0.9,
     blaze-markup         >= 0.5.1  && < 0.8,
     bytestring           >= 0.9    && < 0.11,
     cmdargs              >= 0.10   && < 0.11,
     containers           >= 0.3    && < 0.6,
     cryptohash           >= 0.7    && < 0.12,
-    data-default         >= 0.4    && < 0.7,
+    data-default         >= 0.4    && < 0.8,
     deepseq              >= 1.3    && < 1.5,
     directory            >= 1.0    && < 1.3,
     filepath             >= 1.0    && < 1.5,
@@ -250,17 +250,17 @@
     network              >= 2.6    && < 2.7,
     network-uri          >= 2.6    && < 2.7,
     pandoc               >= 1.14   && < 1.18,
-    pandoc-citeproc      >= 0.4    && < 0.10,
+    pandoc-citeproc      >= 0.4    && < 0.11,
     parsec               >= 3.0    && < 3.2,
-    process              >= 1.0    && < 1.3,
+    process              >= 1.0    && < 1.5,
     random               >= 1.0    && < 1.2,
     regex-base           >= 0.93   && < 0.94,
     regex-tdfa           >= 1.1    && < 1.3,
     resourcet            >= 1.1    && < 1.2,
     scientific           >= 0.3.4  && < 0.4,
-    tagsoup              >= 0.13.1 && < 0.14,
+    tagsoup              >= 0.13.1 && < 0.15,
     text                 >= 0.11   && < 1.3,
-    time                 >= 1.4    && < 1.6,
+    time                 >= 1.4    && < 1.7,
     time-locale-compat   >= 0.1    && < 0.2,
     unordered-containers >= 0.2    && < 0.3,
     vector               >= 0.11   && < 0.12,
diff --git a/src/Hakyll/Core/Provider/Metadata.hs b/src/Hakyll/Core/Provider/Metadata.hs
--- a/src/Hakyll/Core/Provider/Metadata.hs
+++ b/src/Hakyll/Core/Provider/Metadata.hs
@@ -14,6 +14,7 @@
 import           Control.Arrow                 (second)
 import           Control.Exception             (Exception, throwIO)
 import           Control.Monad                 (guard)
+import qualified Data.ByteString               as B
 import qualified Data.ByteString.Char8         as BC
 import           Data.List.Extended            (breakWhen)
 import qualified Data.Map                      as M
@@ -59,7 +60,8 @@
 --------------------------------------------------------------------------------
 loadMetadataFile :: FilePath -> IO Metadata
 loadMetadataFile fp = do
-    errOrMeta <- Yaml.decodeFileEither fp
+    fileContent <- B.readFile fp
+    let errOrMeta = Yaml.decodeEither' fileContent
     either (fail . show) return errOrMeta
 
 
