diff --git a/changelog b/changelog
--- a/changelog
+++ b/changelog
@@ -1,3 +1,10 @@
+pandoc-citeproc (0.17.0.1)
+
+  * Allow aeson 1.5 (#452, Felix Yan).
+  * Fix infinite loop when compiled with `embed_data_files` flag (#450).
+    This arose when locale specified an unknown locale.
+  * Allow pandoc-types 1.21.
+
 pandoc-citeproc (0.17)
 
   * Only print labels if selected variable is non-empty (#437).
diff --git a/pandoc-citeproc.cabal b/pandoc-citeproc.cabal
--- a/pandoc-citeproc.cabal
+++ b/pandoc-citeproc.cabal
@@ -1,6 +1,6 @@
-name:               pandoc-citeproc
-version:            0.17
 cabal-version:      1.12
+name:               pandoc-citeproc
+version:            0.17.0.1
 synopsis:           Supports using pandoc with citeproc
 
 description:        The pandoc-citeproc library supports automatic
@@ -110,10 +110,10 @@
                       mtl,
                       bytestring, filepath,
                       network < 3.2,
-                      pandoc-types >= 1.20 && < 1.21,
-                      pandoc >= 2.8 && < 2.10,
+                      pandoc-types >= 1.20 && < 1.22,
+                      pandoc >= 2.8 && < 2.11,
                       tagsoup,
-                      aeson >= 0.7 && < 1.5,
+                      aeson >= 0.7 && < 1.6,
                       text,
                       vector,
                       xml-conduit >= 1.2 && < 1.10,
@@ -160,8 +160,8 @@
     ghc-prof-options: -fprof-auto-exported -rtsopts
     build-depends:    base >= 4 && < 5,
                       pandoc-citeproc,
-                      pandoc-types >= 1.20 && < 1.21,
-                      pandoc >= 2.8 && < 2.10,
+                      pandoc-types >= 1.20 && < 1.22,
+                      pandoc >= 2.8 && < 2.11,
                       aeson,
                       aeson-pretty >= 0.8,
                       yaml >= 0.11,
@@ -201,8 +201,8 @@
                   directory,
                   text,
                   mtl,
-                  pandoc-types >= 1.20 && < 1.21,
-                  pandoc >= 2.8 && < 2.10,
+                  pandoc-types >= 1.20 && < 1.22,
+                  pandoc >= 2.8 && < 2.11,
                   filepath,
                   bytestring,
                   process,
@@ -231,9 +231,9 @@
                   aeson,
                   directory,
                   text,
-                  pandoc-types >= 1.20 && < 1.21,
+                  pandoc-types >= 1.20 && < 1.22,
                   mtl,
-                  pandoc >= 2.8 && < 2.10,
+                  pandoc >= 2.8 && < 2.11,
                   filepath,
                   containers,
                   bytestring,
diff --git a/src/Text/CSL/Data.hs b/src/Text/CSL/Data.hs
--- a/src/Text/CSL/Data.hs
+++ b/src/Text/CSL/Data.hs
@@ -84,8 +84,12 @@
              _ -> "locales/locales-" <> T.take 5 s <> ".xml"
   exists <- doesFileExist f
   if not exists && T.compareLength baseLocale 2 == GT
-     then getLocale $ T.dropWhile (/='-') baseLocale
-          -- try again with lang only
+     then do
+       -- try again with lang only
+       let (langOnly, rest) = T.break (=='-') baseLocale
+       if T.null rest || T.null langOnly -- no '-' or '-' at start
+          then E.throwIO $ CSLLocaleNotFound baseLocale
+          else getLocale langOnly
      else E.handle (E.throwIO . CSLLocaleReadError) $ L.readFile f
 #endif
 
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -9,20 +9,22 @@
 packages:
 - '.'
 extra-deps:
-- HsYAML-0.2.0.0
-- HsYAML-aeson-0.2.0.0
-- haddock-library-1.8.0
-- skylighting-0.8.3.2
-- skylighting-core-0.8.3.2
-- regex-pcre-builtin-0.95.0.8.8.35
-- doctemplates-0.8.1
+- texmath-0.12.0.2
+- haddock-library-1.9.0
+- skylighting-0.8.5
+- skylighting-core-0.8.5
+- regex-pcre-builtin-0.95.1.2.8.43
+- regex-base-0.94.0.0
 - doclayout-0.3
 - emojis-0.1
-- texmath-0.12
-- pandoc-types-1.20
-- jira-wiki-markup-1.0.0
+- hslua-1.1.0
+- jira-wiki-markup-1.3.2
+- HsYAML-0.2.1.0
+- HsYAML-aeson-0.2.0.0
+- doctemplates-0.8.2
+- pandoc-types-1.21
 - git: 'https://github.com/jgm/pandoc'
-  commit: 05a217091f47b11d31eac687c6f62caeada4fb14
+  commit: 9672ff827194ddf5565351b2fdde942c03942b2d
 
 ghc-options:
    "$locals": -fhide-source-paths
