diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1f1780e4a0487d42b1470206e1871c2d3c98f46f..7148863438e1252d4deef81bd85d35cb4f422394 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
 
 ## [Unreleased]
 
+### New Features
+
+### Bugfixes
+
+### Other changes
+
+## [4.0.0]
+
 ### New Features
 * Block module loading after iocInit has been invoked.
 * Arguments have been added to `iocsh.bash` to enable user to pass any debugger options to GDB and Valgrind.
@@ -152,7 +160,8 @@ of course pin a specific module version. If they do not, then the highest numeri
   startup script
 
 
-[Unreleased]: https://gitlab.esss.lu.se/e3/e3-require/-/compare/3.4.1...master
+[Unreleased]: https://gitlab.esss.lu.se/e3/e3-require/-/compare/4.0.0...master
+[4.0.0]: https://gitlab.esss.lu.se/e3/e3-require/-/compare/3.4.1...4.0.0
 [3.4.1]: https://gitlab.esss.lu.se/e3/e3-require/-/compare/3.4.0...3.4.1
 [3.4.0]: https://gitlab.esss.lu.se/e3/e3-require/-/compare/3.3.0...3.4.0
 [3.3.0]: https://gitlab.esss.lu.se/e3/e3-require/-/compare/3.2.0...3.3.0