diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,13 @@
 
 `pandoc-lua-marshal` uses [PVP Versioning][].
 
+## 0.2.3
+
+Released 2024-01-19.
+
+-   Relaxed upper bound for text, containers, and bytestring,
+    allowing text-2.1, containers-0.7, and bytestring-0.12.
+
 ## 0.2.2
 
 Released 2023-03-15.
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
 MIT License
 
-Copyright (c) 2021 Albert Krewinkel
+Copyright (c) 2021-2024 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff --git a/pandoc-lua-marshal.cabal b/pandoc-lua-marshal.cabal
--- a/pandoc-lua-marshal.cabal
+++ b/pandoc-lua-marshal.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.4
 name:                pandoc-lua-marshal
-version:             0.2.2
+version:             0.2.3
 synopsis:            Use pandoc types in Lua
 description:         This package provides functions to marshal and unmarshal
                      pandoc document types to and from Lua.
@@ -19,7 +19,7 @@
 license-file:        LICENSE
 author:              Albert Krewinkel, John MacFarlane
 maintainer:          Albert Krewinkel <albert@zeitkraut.de>
-copyright:           © 2017-2023 Albert Krewinkel, John MacFarlane
+copyright:           © 2017-2024 Albert Krewinkel, John MacFarlane
 category:            Foreign
 build-type:          Simple
 extra-doc-files:     README.md
@@ -47,17 +47,17 @@
 common common-options
   build-depends:       base                  >= 4.12     && < 5
                      , aeson                 >= 1.5      && < 2.2
-                     , bytestring            >= 0.10     && < 0.12
-                     , containers            >= 0.6      && < 0.7
+                     , bytestring            >= 0.10     && < 0.13
+                     , containers            >= 0.6      && < 0.8
                      , exceptions            >= 0.8      && < 0.11
-                     , lua                   >= 2.2      && < 2.4
                      , hslua                 >= 2.2      && < 2.4
                      , hslua-list            >= 1.1      && < 1.2
                      , hslua-marshalling     >= 2.2      && < 2.4
                      , pandoc-types          >= 1.23     && < 1.24
                      , safe                  >= 0.3      && < 0.4
-                     , text                  >= 1.1.1.0  && < 1.3   || >= 2.0 && < 2.1
-  
+                     , text                  >= 1.1.1.0  && < 1.3
+                                          || >= 2.0      && < 2.2
+
   ghc-options:         -Wall
                        -Wcompat
                        -Widentities
diff --git a/src/Text/Pandoc/Lua/Marshal/AST.hs b/src/Text/Pandoc/Lua/Marshal/AST.hs
--- a/src/Text/Pandoc/Lua/Marshal/AST.hs
+++ b/src/Text/Pandoc/Lua/Marshal/AST.hs
@@ -1,5 +1,5 @@
 {- |
-Copyright  : © 2021-2023 Albert Krewinkel
+Copyright  : © 2021-2024 Albert Krewinkel
 License    : MIT
 Maintainer : Albert Krewinkel <albert@zeitkraut.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/Alignment.hs b/src/Text/Pandoc/Lua/Marshal/Alignment.hs
--- a/src/Text/Pandoc/Lua/Marshal/Alignment.hs
+++ b/src/Text/Pandoc/Lua/Marshal/Alignment.hs
@@ -1,5 +1,5 @@
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/Cell.hs b/src/Text/Pandoc/Lua/Marshal/Cell.hs
--- a/src/Text/Pandoc/Lua/Marshal/Cell.hs
+++ b/src/Text/Pandoc/Lua/Marshal/Cell.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings    #-}
 {-# LANGUAGE LambdaCase           #-}
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/Citation.hs b/src/Text/Pandoc/Lua/Marshal/Citation.hs
--- a/src/Text/Pandoc/Lua/Marshal/Citation.hs
+++ b/src/Text/Pandoc/Lua/Marshal/Citation.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE OverloadedStrings    #-}
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/CitationMode.hs b/src/Text/Pandoc/Lua/Marshal/CitationMode.hs
--- a/src/Text/Pandoc/Lua/Marshal/CitationMode.hs
+++ b/src/Text/Pandoc/Lua/Marshal/CitationMode.hs
@@ -1,5 +1,5 @@
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/Content.hs b/src/Text/Pandoc/Lua/Marshal/Content.hs
--- a/src/Text/Pandoc/Lua/Marshal/Content.hs
+++ b/src/Text/Pandoc/Lua/Marshal/Content.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE LambdaCase        #-}
 {-# LANGUAGE OverloadedStrings #-}
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/Filter.hs b/src/Text/Pandoc/Lua/Marshal/Filter.hs
--- a/src/Text/Pandoc/Lua/Marshal/Filter.hs
+++ b/src/Text/Pandoc/Lua/Marshal/Filter.hs
@@ -3,7 +3,7 @@
 {-# LANGUAGE TypeApplications     #-}
 {-# LANGUAGE ScopedTypeVariables  #-}
 {- |
-Copyright  : © 2021-2023 Albert Krewinkel
+Copyright  : © 2021-2024 Albert Krewinkel
 License    : MIT
 Maintainer : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/Format.hs b/src/Text/Pandoc/Lua/Marshal/Format.hs
--- a/src/Text/Pandoc/Lua/Marshal/Format.hs
+++ b/src/Text/Pandoc/Lua/Marshal/Format.hs
@@ -1,5 +1,5 @@
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/List.hs b/src/Text/Pandoc/Lua/Marshal/List.hs
--- a/src/Text/Pandoc/Lua/Marshal/List.hs
+++ b/src/Text/Pandoc/Lua/Marshal/List.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE LambdaCase        #-}
 {-# LANGUAGE OverloadedStrings #-}
 {- |
-Copyright  : © 2021-2023 Albert Krewinkel
+Copyright  : © 2021-2024 Albert Krewinkel
 License    : MIT
 Maintainer : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/ListAttributes.hs b/src/Text/Pandoc/Lua/Marshal/ListAttributes.hs
--- a/src/Text/Pandoc/Lua/Marshal/ListAttributes.hs
+++ b/src/Text/Pandoc/Lua/Marshal/ListAttributes.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings    #-}
 {-# LANGUAGE TupleSections        #-}
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/MathType.hs b/src/Text/Pandoc/Lua/Marshal/MathType.hs
--- a/src/Text/Pandoc/Lua/Marshal/MathType.hs
+++ b/src/Text/Pandoc/Lua/Marshal/MathType.hs
@@ -1,5 +1,5 @@
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/MetaValue.hs b/src/Text/Pandoc/Lua/Marshal/MetaValue.hs
--- a/src/Text/Pandoc/Lua/Marshal/MetaValue.hs
+++ b/src/Text/Pandoc/Lua/Marshal/MetaValue.hs
@@ -3,7 +3,7 @@
 {-# LANGUAGE ScopedTypeVariables  #-}
 {-# LANGUAGE TypeApplications     #-}
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/Pandoc.hs b/src/Text/Pandoc/Lua/Marshal/Pandoc.hs
--- a/src/Text/Pandoc/Lua/Marshal/Pandoc.hs
+++ b/src/Text/Pandoc/Lua/Marshal/Pandoc.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE OverloadedStrings    #-}
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/QuoteType.hs b/src/Text/Pandoc/Lua/Marshal/QuoteType.hs
--- a/src/Text/Pandoc/Lua/Marshal/QuoteType.hs
+++ b/src/Text/Pandoc/Lua/Marshal/QuoteType.hs
@@ -1,5 +1,5 @@
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/Row.hs b/src/Text/Pandoc/Lua/Marshal/Row.hs
--- a/src/Text/Pandoc/Lua/Marshal/Row.hs
+++ b/src/Text/Pandoc/Lua/Marshal/Row.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings    #-}
 {-# LANGUAGE LambdaCase           #-}
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/Shared.hs b/src/Text/Pandoc/Lua/Marshal/Shared.hs
--- a/src/Text/Pandoc/Lua/Marshal/Shared.hs
+++ b/src/Text/Pandoc/Lua/Marshal/Shared.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE FlexibleContexts     #-}
 {-# LANGUAGE OverloadedStrings    #-}
 {- |
-Copyright   : © 2021-2023 Albert Krewinkel
+Copyright   : © 2021-2024 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/SimpleTable.hs b/src/Text/Pandoc/Lua/Marshal/SimpleTable.hs
--- a/src/Text/Pandoc/Lua/Marshal/SimpleTable.hs
+++ b/src/Text/Pandoc/Lua/Marshal/SimpleTable.hs
@@ -2,7 +2,7 @@
 {-# LANGUAGE OverloadedStrings    #-}
 {-# LANGUAGE ScopedTypeVariables  #-}
 {- |
-Copyright   : © 2021-2023 Albert Krewinkel
+Copyright   : © 2021-2024 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <albert@zeitkraut.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/TableFoot.hs b/src/Text/Pandoc/Lua/Marshal/TableFoot.hs
--- a/src/Text/Pandoc/Lua/Marshal/TableFoot.hs
+++ b/src/Text/Pandoc/Lua/Marshal/TableFoot.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE OverloadedStrings    #-}
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/TableHead.hs b/src/Text/Pandoc/Lua/Marshal/TableHead.hs
--- a/src/Text/Pandoc/Lua/Marshal/TableHead.hs
+++ b/src/Text/Pandoc/Lua/Marshal/TableHead.hs
@@ -1,6 +1,6 @@
 {-# LANGUAGE OverloadedStrings    #-}
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
diff --git a/src/Text/Pandoc/Lua/Marshal/TableParts.hs b/src/Text/Pandoc/Lua/Marshal/TableParts.hs
--- a/src/Text/Pandoc/Lua/Marshal/TableParts.hs
+++ b/src/Text/Pandoc/Lua/Marshal/TableParts.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE LambdaCase           #-}
 {-# LANGUAGE OverloadedStrings    #-}
 {- |
-Copyright               : © 2021-2023 Albert Krewinkel
+Copyright               : © 2021-2024 Albert Krewinkel
 SPDX-License-Identifier : MIT
 Maintainer              : Albert Krewinkel <tarleb+pandoc@moltkeplatz.de>
 
