diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,7 @@
+2024-11-07
+        * Version bump (4.1). (#561)
+        * Standardize changelog format. (#550)
+
 2024-09-07
         * Version bump (4.0). (#532)
         * Add support for array updates. (#36)
@@ -18,7 +22,7 @@
 2024-01-07
         * Version bump (3.18). (#487)
         * Change return type of main generated for tests. (#468)
-        * Print constants in tests using portable suffixes. (#471).
+        * Print constants in tests using portable suffixes. (#471)
         * Pass output arrays as arguments to trigger argument functions. (#431)
         * Compliance with MISRA C 2023 / MISRA C 2012. (#472)
 
@@ -111,31 +115,31 @@
         * Completed the documentation. (#171)
 
 2020-12-06
-        * Version bump (3.2).
-        * Implemented arrays in test driver (#176).
-        * Fixed nested array initialisation bug (#173).
-        * Fixed length of buffer allocation for n-dimensional arrays (#174).
-        * Fixed printing of long ints in test suite (#177).
-        * Fixed printing of unsigned ints in test suite (#177).
-        * Fixed '-Wsequence-point' warnings from GCC (#179).
-        * Split Property.hs (#180).
-        * Removed 'Test' from module paths (#181).
-        * Made compiletest take compiler options as an argument (#182).
-        * Fixed problem with property and empty string in driver CSV (#183).
-        * Added comma to output of driver to match the interpreter (#184).
-        * Implemented basic quickcheck based testing (#185).
+        * Version bump (3.2). (#65)
+        * Implemented arrays in test driver. (#176)
+        * Fixed nested array initialisation bug. (#173)
+        * Fixed length of buffer allocation for n-dimensional arrays. (#174)
+        * Fixed printing of long ints in test suite. (#177)
+        * Fixed printing of unsigned ints in test suite. (#177)
+        * Fixed '-Wsequence-point' warnings from GCC. (#179)
+        * Split Property.hs. (#180)
+        * Removed 'Test' from module paths. (#181)
+        * Made compiletest take compiler options as an argument. (#182)
+        * Fixed problem with property and empty string in driver CSV. (#183)
+        * Added comma to output of driver to match the interpreter. (#184)
+        * Implemented basic quickcheck based testing. (#185)
 
 2020-03-30
-        * Version bump (3.1.2)
+        * Version bump (3.1.2). (#187)
         * Fixed bug where stream buffers are updated too soon. (#188)
         * Updated description of cabal package. (#192)
 
 2019-12-23
-        * Version bump (3.1.1).
-        * Fixed bug with constant structs and arrays.(#200).
+        * Version bump (3.1.1). (#191)
+        * Fixed bug with constant structs and arrays. (#200)
 
 2019-11-22
-        * Version bump (3.1).
-        * Remove ExternFun (#207).
-        * Fix bug in code generation for local expression (#198).
-        * Implement code generation for labels (trivially) (#199).
+        * Version bump (3.1). (#46)
+        * Remove ExternFun. (#207)
+        * Fix bug in code generation for local expression. (#198)
+        * Implement code generation for labels (trivially). (#199)
diff --git a/copilot-c99.cabal b/copilot-c99.cabal
--- a/copilot-c99.cabal
+++ b/copilot-c99.cabal
@@ -1,6 +1,6 @@
 cabal-version             : >= 1.10
 name                      : copilot-c99
-version                   : 4.0
+version                   : 4.1
 synopsis                  : A compiler for Copilot targeting C99.
 description               :
   This package is a back-end from Copilot to C.
@@ -45,7 +45,7 @@
                           , mtl                 >= 2.2 && < 2.4
                           , pretty              >= 1.1 && < 1.2
 
-                          , copilot-core        >= 4.0   && < 4.1
+                          , copilot-core        >= 4.1   && < 4.2
                           , language-c99        >= 0.2.0 && < 0.3
                           , language-c99-simple >= 0.3   && < 0.4
 
