diff --git a/Yst/Render.hs b/Yst/Render.hs
--- a/Yst/Render.hs
+++ b/Yst/Render.hs
@@ -23,7 +23,7 @@
 import Yst.Util
 import Yst.Data
 import System.Directory
-import Text.Pandoc hiding (Format)
+import Text.Pandoc hiding (Format, getTemplate)
 import Lucid
 import Data.Char
 import Data.List (intercalate)
@@ -42,7 +42,6 @@
 #endif
 import Data.Time
 import Control.Monad
-import Text.Pandoc.Error (handleError)
 import Data.Monoid
 
 -- | @relUrl a b@ returns a URL for @b@ relative to @a@.  So, for
diff --git a/Yst/Types.hs b/Yst/Types.hs
--- a/Yst/Types.hs
+++ b/Yst/Types.hs
@@ -30,7 +30,6 @@
 import Data.Scientific (coefficient, base10Exponent)
 import Control.Monad
 #if MIN_VERSION_time(1,5,0)
-import Data.Time.Format ( defaultTimeLocale )
 #else
 import System.Locale ( defaultTimeLocale )
 #endif
diff --git a/Yst/Yaml.hs b/Yst/Yaml.hs
--- a/Yst/Yaml.hs
+++ b/Yst/Yaml.hs
@@ -24,5 +24,7 @@
 
 readYamlFile :: FilePath -> IO Node
 readYamlFile f =
-  (maybe (error $ "Could not parse " ++ f) id) `fmap` decodeFile f
+  either (\e -> error ("Could not parse " ++ f ++ ": "
+                         ++ prettyPrintParseException e)) id
+    <$> decodeFileEither f
 
diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,8 @@
+yst 0.7.1.1 (released 12 Aug 2021)
+
+  * Fixes to work with pandoc 2.14.1.
+  * Give informative error messages on YAML parse failure.
+
 yst 0.7.1 (released 25 Nov 2019)
 
   * Fixes to work with pandoc 2.8.
diff --git a/yst.cabal b/yst.cabal
--- a/yst.cabal
+++ b/yst.cabal
@@ -1,7 +1,6 @@
+cabal-version:       2.2
 name:                yst
-version:             0.7.1
-Tested-With:         GHC == 7.8.3
-Cabal-version:       >= 1.8
+version:             0.7.1.1
 build-type:          Simple
 synopsis:            Builds a static website from templates and data in YAML or
                      CSV files.
@@ -15,7 +14,7 @@
                      that separates presentation and data.
 
 category:            Text
-license:             GPL
+license:             GPL-2.0-or-later
 license-file:        LICENSE
 author:              John MacFarlane
 maintainer:          jgm@berkeley.edu
@@ -46,18 +45,39 @@
 Executable           yst
   hs-source-dirs:    .
   main-is:           yst.hs
-  other-modules:     Yst.Types, Yst.Yaml, Yst.Util, Yst.Data, Yst.Config,
-                     Yst.Render, Yst.Build, Yst.CSV, Yst.Sqlite3, Paths_yst
-  build-depends:     base >=3 && < 5, unordered-containers,
+  other-modules:     Yst.Types,
+                     Yst.Yaml,
+                     Yst.Util,
+                     Yst.Data,
+                     Yst.Config,
+                     Yst.Render,
+                     Yst.Build,
+                     Yst.CSV,
+                     Yst.Sqlite3,
+                     Paths_yst
+  autogen-modules:   Paths_yst
+  build-depends:     base >=3 && < 4.15,
+                     unordered-containers,
                      HStringTemplate >= 0.6.1 && < 0.6.9 || > 0.6.11 && < 0.9,
-                     yaml, csv, aeson >= 0.7 && < 1.5, text,
-                     scientific >= 0.2 && < 0.4,
-                     filepath, containers, directory, time,
-                     old-locale, old-time, parsec,
-                     lucid >= 2.9 && < 2.10,
-                     pandoc >= 2.8 && < 2.9,
-                     split, HDBC, HDBC-sqlite3
-  extensions:        CPP
+                     csv,
+                     aeson >= 1.0,
+                     yaml,
+                     text,
+                     scientific >= 0.2,
+                     filepath,
+                     containers,
+                     directory,
+                     time,
+                     old-locale,
+                     old-time,
+                     parsec,
+                     lucid >= 2.9,
+                     pandoc >= 2.14,
+                     split,
+                     HDBC,
+                     HDBC-sqlite3
+  default-language:   Haskell2010
+  default-extensions:  CPP
   if impl(ghc >= 6.12)
     ghc-options:     -Wall -threaded -fno-warn-orphans -fno-warn-unused-do-bind
   else
