diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,14 @@
 
 `hslua-classes` uses [PVP Versioning][].
 
+
+## hslua-classes-2.3.1
+
+Released 2024-01-18.
+
+-   Relaxed upper bound for text, containers, and bytestring,
+    allowing text-2.1, containers-0.7, and bytestring-0.12.
+
 ## hslua-classes-2.3.0
 
 Released 2023-03-13.
diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -1,7 +1,7 @@
 Copyright © 1994-2022 Lua.org, PUC-Rio.
 Copyright © 2007-2012 Gracjan Polak
 Copyright © 2012-2015 Ömer Sinan Ağacan
-Copyright © 2016-2023 Albert Krewinkel
+Copyright © 2016-2024 Albert Krewinkel
 
 Permission is hereby granted, free of charge, to any person obtaining a
 copy of this software and associated documentation files (the
diff --git a/hslua-classes.cabal b/hslua-classes.cabal
--- a/hslua-classes.cabal
+++ b/hslua-classes.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.2
 name:                hslua-classes
-version:             2.3.0
+version:             2.3.1
 synopsis:            Type classes for HsLua
 description:         Type classes for convenient marshalling and calling of
                      Lua functions.
@@ -12,7 +12,7 @@
 maintainer:          tarleb@hslua.org
 copyright:           © 2007–2012 Gracjan Polak;
                      © 2012–2016 Ömer Sinan Ağacan;
-                     © 2017-2023 Albert Krewinkel
+                     © 2017-2024 Albert Krewinkel
 category:            Foreign
 build-type:          Simple
 extra-source-files:  README.md
@@ -22,8 +22,10 @@
                    , GHC == 8.8.4
                    , GHC == 8.10.7
                    , GHC == 9.0.2
-                   , GHC == 9.2.5
-                   , GHC == 9.4.4
+                   , GHC == 9.2.8
+                   , GHC == 9.4.8
+                   , GHC == 9.6.3
+                   , GHC == 9.8.1
 
 source-repository head
   type:                git
@@ -33,12 +35,12 @@
 common common-options
   default-language:    Haskell2010
   build-depends:       base              >= 4.11   && < 5
-                     , bytestring        >= 0.10.2 && < 0.12
-                     , containers        >= 0.5.9  && < 0.7
+                     , bytestring        >= 0.10.2 && < 0.13
+                     , containers        >= 0.5.9  && < 0.8
                      , exceptions        >= 0.8    && < 0.11
                      , hslua-core        >= 2.1    && < 2.4
                      , hslua-marshalling >= 2.1    && < 2.4
-                     , text              >= 1.2    && < 2.1
+                     , text              >= 1.2    && < 2.2
   ghc-options:         -Wall
                        -Wincomplete-record-updates
                        -Wnoncanonical-monad-instances
diff --git a/src/HsLua/Class/Exposable.hs b/src/HsLua/Class/Exposable.hs
--- a/src/HsLua/Class/Exposable.hs
+++ b/src/HsLua/Class/Exposable.hs
@@ -6,7 +6,7 @@
 Module      : HsLua.Class.Exposable
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2023 Albert Krewinkel
+                2017-2024 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb@hslua.org>
 
diff --git a/src/HsLua/Class/Invokable.hs b/src/HsLua/Class/Invokable.hs
--- a/src/HsLua/Class/Invokable.hs
+++ b/src/HsLua/Class/Invokable.hs
@@ -4,7 +4,7 @@
 Module      : HsLua.Class.Invokable
 Copyright   : © 2007–2012 Gracjan Polak,
                 2012–2016 Ömer Sinan Ağacan,
-                2017-2023 Albert Krewinkel
+                2017-2024 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb@hslua.org>
 Stability   : beta
diff --git a/src/HsLua/Class/Peekable.hs b/src/HsLua/Class/Peekable.hs
--- a/src/HsLua/Class/Peekable.hs
+++ b/src/HsLua/Class/Peekable.hs
@@ -5,7 +5,7 @@
 Module      : HsLua.Class.Peekable
 Copyright   : © 2007–2012 Gracjan Polak;
               © 2012–2016 Ömer Sinan Ağacan;
-              © 2017-2023 Albert Krewinkel
+              © 2017-2024 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb@hslua.org>
 Stability   : beta
diff --git a/src/HsLua/Class/Pushable.hs b/src/HsLua/Class/Pushable.hs
--- a/src/HsLua/Class/Pushable.hs
+++ b/src/HsLua/Class/Pushable.hs
@@ -4,7 +4,7 @@
 Module      : HsLua.Class.Pushable
 Copyright   : © 2007–2012 Gracjan Polak;
               © 2012–2016 Ömer Sinan Ağacan;
-              © 2017-2023 Albert Krewinkel
+              © 2017-2024 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb@hslua.org>
 Stability   : beta
diff --git a/src/HsLua/Class/Util.hs b/src/HsLua/Class/Util.hs
--- a/src/HsLua/Class/Util.hs
+++ b/src/HsLua/Class/Util.hs
@@ -3,7 +3,7 @@
 Module      : HsLua.Class.Util
 Copyright   : © 2007–2012 Gracjan Polak;
               © 2012–2016 Ömer Sinan Ağacan;
-              © 2017-2023 Albert Krewinkel
+              © 2017-2024 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb@hslua.org>
 Stability   : beta
diff --git a/src/HsLua/Classes.hs b/src/HsLua/Classes.hs
--- a/src/HsLua/Classes.hs
+++ b/src/HsLua/Classes.hs
@@ -2,7 +2,7 @@
 Module      : HsLua.Classes
 Copyright   : © 2007–2012 Gracjan Polak;
               © 2012–2016 Ömer Sinan Ağacan;
-              © 2017-2023 Albert Krewinkel
+              © 2017-2024 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb@hslua.org>
 Stability   : beta
diff --git a/test/HsLua/Class/ExposableTests.hs b/test/HsLua/Class/ExposableTests.hs
--- a/test/HsLua/Class/ExposableTests.hs
+++ b/test/HsLua/Class/ExposableTests.hs
@@ -2,7 +2,7 @@
 {-# LANGUAGE TypeApplications #-}
 {-|
 Module      : HsLua.Class.ExposableTests
-Copyright   : © 2017-2023 Albert Krewinkel
+Copyright   : © 2017-2024 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb@hslua.org>
 
diff --git a/test/HsLua/Class/InvokableTests.hs b/test/HsLua/Class/InvokableTests.hs
--- a/test/HsLua/Class/InvokableTests.hs
+++ b/test/HsLua/Class/InvokableTests.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-|
 Module      : HsLua.Class.InvokableTests
-Copyright   : © 2017-2023 Albert Krewinkel
+Copyright   : © 2017-2024 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb@hslua.org>
 
diff --git a/test/HsLua/Class/PeekableTests.hs b/test/HsLua/Class/PeekableTests.hs
--- a/test/HsLua/Class/PeekableTests.hs
+++ b/test/HsLua/Class/PeekableTests.hs
@@ -2,7 +2,7 @@
 {-# LANGUAGE TypeApplications #-}
 {-|
 Module      :  HsLua.Class.PeekableTests
-Copyright   :  © 2017-2023 Albert Krewinkel
+Copyright   :  © 2017-2024 Albert Krewinkel
 License     :  MIT
 
 Maintainer  :  Albert Krewinkel <tarleb@hslua.org>
diff --git a/test/HsLua/Class/PushableTests.hs b/test/HsLua/Class/PushableTests.hs
--- a/test/HsLua/Class/PushableTests.hs
+++ b/test/HsLua/Class/PushableTests.hs
@@ -2,7 +2,7 @@
 {-# LANGUAGE TypeApplications  #-}
 {-|
 Module      :  HsLua.Class.PushableTests
-Copyright   :  © 2017-2023 Albert Krewinkel
+Copyright   :  © 2017-2024 Albert Krewinkel
 License     :  MIT
 
 Maintainer  :  Albert Krewinkel <tarleb@hslua.org>
diff --git a/test/HsLua/Class/UtilTests.hs b/test/HsLua/Class/UtilTests.hs
--- a/test/HsLua/Class/UtilTests.hs
+++ b/test/HsLua/Class/UtilTests.hs
@@ -1,7 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-|
 Module      :  HsLua.Class.UtilTests
-Copyright   :  © 2017-2023 Albert Krewinkel
+Copyright   :  © 2017-2024 Albert Krewinkel
 License     :  MIT
 
 Maintainer  :  Albert Krewinkel <tarleb@hslua.org>
diff --git a/test/HsLua/ClassesTests.hs b/test/HsLua/ClassesTests.hs
--- a/test/HsLua/ClassesTests.hs
+++ b/test/HsLua/ClassesTests.hs
@@ -3,7 +3,7 @@
 Module      : HsLua.ClassesTests
 Copyright   : © 2007–2012 Gracjan Polak;
               © 2012–2016 Ömer Sinan Ağacan;
-              © 2017-2023 Albert Krewinkel
+              © 2017-2024 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb@hslua.org>
 Stability   : beta
diff --git a/test/test-hslua-classes.hs b/test/test-hslua-classes.hs
--- a/test/test-hslua-classes.hs
+++ b/test/test-hslua-classes.hs
@@ -2,7 +2,7 @@
 Module      : Main
 Copyright   : © 2007–2012 Gracjan Polak;
               © 2012–2016 Ömer Sinan Ağacan;
-              © 2017-2023 Albert Krewinkel
+              © 2017-2024 Albert Krewinkel
 License     : MIT
 Maintainer  : Albert Krewinkel <tarleb@hslua.org>
 Stability   : beta
