diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7c60b9b66e013506d7240a4442e01940b6231f5d..ed5804c4f8c4e88d7f76581fd31440df8a1100b5 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,23 @@ All notable changes to this project will be documented in this file.
 Each new release typically also includes the latest modulesync defaults.
 These should not affect the functionality of the module.
 
+## [v4.0.0](https://github.com/voxpupuli/puppet-postfix/tree/v4.0.0) (2023-05-30)
+
+[Full Changelog](https://github.com/voxpupuli/puppet-postfix/compare/v3.1.0...v4.0.0)
+
+**Breaking changes:**
+
+- Drop Puppet 6 support [\#351](https://github.com/voxpupuli/puppet-postfix/pull/351) ([bastelfreak](https://github.com/bastelfreak))
+- Switch to upstream default for `mydestination` [\#256](https://github.com/voxpupuli/puppet-postfix/pull/256) ([kenyon](https://github.com/kenyon))
+
+**Implemented enhancements:**
+
+- document mode param & puppet-lint: enable parameter\_documentation check [\#355](https://github.com/voxpupuli/puppet-postfix/pull/355) ([bastelfreak](https://github.com/bastelfreak))
+
+**Merged pull requests:**
+
+- Drop old augeas lenses [\#350](https://github.com/voxpupuli/puppet-postfix/pull/350) ([ekohl](https://github.com/ekohl))
+
 ## [v3.1.0](https://github.com/voxpupuli/puppet-postfix/tree/v3.1.0) (2023-03-01)
 
 [Full Changelog](https://github.com/voxpupuli/puppet-postfix/compare/v3.0.0...v3.1.0)
diff --git a/metadata.json b/metadata.json
index ef8df905d4523550ef8bfc96720527a429e5ccb0..472ad81c36c8c44c9dc320cc3d49b6b4bb871635 100644
--- a/metadata.json
+++ b/metadata.json
@@ -1,6 +1,6 @@
 {
   "name": "puppet-postfix",
-  "version": "3.1.1-rc0",
+  "version": "4.0.0",
   "author": "Vox Pupuli",
   "summary": "Postfix Module",
   "license": "Apache-2.0",