diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 0000000000000000000000000000000000000000..42731f2b7ed7cfd3cb87b237faa4ade8d17c5d28_Q0hBTkdFTE9HLm1k
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,28 @@
+## Version 0.4.0 (2022-04-05)
+### 🎉 New features
+
+- cube-doctor: add add-set-cubicweb-max-version
+- setup.py: increase cubicweb max version to 3.32.x
+- setup.py: increase cubicweb max version to 3.33.x
+- setup.py: increase cubicweb max version to 3.33.x
+- setup.py: increase cubicweb max version to 3.34.x
+- setup.py: increase cubicweb max version to 3.35.x
+
+### 👷 Bug fixes
+
+- class cubicweb.view.EntityAdapter is now available as cubicweb.entity.EntityAdapter
+
+### 📝 Documentation
+
+- licence: update licence dates
+
+### 🤖 Continuous integration
+
+- gitlab-ci: image: is not longer a global keyword
+- gitlab-ci: use templates from a common repository
+- integrate pytest-deprecated-warnings
+
+### 🤷 Various changes
+
+- .gitlab-ci: remove py2 target
+- Add missing Breaks/Replaces against cubicweb-geocoding
diff --git a/MANIFEST.in b/MANIFEST.in
index 08f74717495e40767b5c56e0c8b05f4cd8324043_TUFOSUZFU1QuaW4=..42731f2b7ed7cfd3cb87b237faa4ade8d17c5d28_TUFOSUZFU1QuaW4= 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -6,3 +6,4 @@
 exclude .yamllint
 exclude .cube-doctor.yml
 exclude .gitlab-ci-extended.yml
+exclude CHANGELOG.md
diff --git a/cubicweb_geocoding/__pkginfo__.py b/cubicweb_geocoding/__pkginfo__.py
index 08f74717495e40767b5c56e0c8b05f4cd8324043_Y3ViaWN3ZWJfZ2VvY29kaW5nL19fcGtnaW5mb19fLnB5..42731f2b7ed7cfd3cb87b237faa4ade8d17c5d28_Y3ViaWN3ZWJfZ2VvY29kaW5nL19fcGtnaW5mb19fLnB5 100644
--- a/cubicweb_geocoding/__pkginfo__.py
+++ b/cubicweb_geocoding/__pkginfo__.py
@@ -4,7 +4,7 @@
 modname = 'geocoding'
 distname = 'cubicweb-geocoding'
 
-numversion = (0, 3, 0)
+numversion = (0, 4, 0)
 version = '.'.join(str(num) for num in numversion)
 
 license = 'LGPL'