diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,10 @@
 # Revision history for construct
 
+## 0.3.1.2 -- 2023-12-19
+
+* Fixed Cabal warnings
+* Increment the `bytestring`, `text`, `monoid-sublasses`, and `rank2classes` dependencies' upper bounds
+
 ## 0.3.1.1 -- 2022-10-03
 
 * Increment the `monoid-sublasses` and `input-parsers` dependencies' upper bounds
diff --git a/construct.cabal b/construct.cabal
--- a/construct.cabal
+++ b/construct.cabal
@@ -1,6 +1,6 @@
 cabal-version:       >=1.10
 name:                construct
-version:             0.3.1.1
+version:             0.3.1.2
 synopsis:            Haskell version of the Construct library for easy specification of file formats
 description:
    A Haskell version of the <https://construct.readthedocs.io/en/latest/intro.html Construct> library for Python. A
@@ -16,10 +16,13 @@
 extra-source-files:  CHANGELOG.md, README.md, test/README.lhs
 data-dir:            test/examples/
 data-files:          wmf1.wmf
+source-repository head
+  type:              git
+  location:          https://github.com/blamario/construct
 custom-setup
  setup-depends:
    base >= 4 && <5,
-   Cabal,
+   Cabal < 4,
    cabal-doctest >= 1 && <1.1
  
 
@@ -29,15 +32,15 @@
   exposed-modules:     Construct, Construct.Bits, Construct.Classes
   other-modules:       Construct.Internal
   build-depends:       base >=4.11 && <5,
-                       bytestring >= 0.10 && < 0.12,
-                       text >= 0.10 && < 2.1,
+                       bytestring >= 0.10 && < 0.13,
+                       text >= 0.10 && < 2.2,
                        monoid-subclasses >= 1.0 && < 1.3,
                        incremental-parser >= 0.5 && < 0.6,
                        parsers >= 0.11 && < 0.13,
                        input-parsers < 0.4,
                        attoparsec >= 0.12 && < 0.15,
                        cereal >= 0.5 && < 0.6,
-                       rank2classes >= 1 && < 1.5
+                       rank2classes >= 1 && < 1.6
   default-language:    Haskell2010
   ghc-options:         -Wall
 
@@ -49,7 +52,7 @@
   other-modules:       README
   ghc-options:         -threaded -pgmL markdown-unlit
   build-depends:       base, construct,
-                       bytestring >= 0.10 && < 0.12, incremental-parser >= 0.5 && < 0.6, rank2classes >= 1.0.2 && < 1.5,
+                       bytestring, incremental-parser >= 0.5 && < 0.6, rank2classes >= 1.0.2 && < 1.6,
                        doctest >= 0.8
   build-tool-depends:  markdown-unlit:markdown-unlit >= 0.5 && < 0.6
   x-doctest-options:   -XTypeApplications
@@ -58,9 +61,9 @@
   type:                exitcode-stdio-1.0
   hs-source-dirs:      test
   build-depends:       base >=4.9 && < 5, construct,
-                       bytestring < 0.12, text, cereal, rank2classes >= 1.0.2 && < 1.5,
-                       monoid-subclasses >= 1.0 && < 1.2, incremental-parser < 0.6, attoparsec >= 0.12 && < 0.15,
-                       directory < 2, filepath < 1.5,
+                       bytestring < 0.13, text, cereal, rank2classes,
+                       monoid-subclasses, incremental-parser < 0.6, attoparsec >= 0.12 && < 0.15,
+                       directory < 2, filepath < 1.6,
                        tasty >= 0.7, tasty-hunit
   main-is:             Test.hs
   other-modules:       MBR, TAR, URI, WMF, OrphanInstances
