diff --git a/templates/monthlymerge.yml b/templates/monthlymerge.yml
index 07ea3011713c6f22b8eefc143db4e657389af19e..dfd2ddd1eba929a72918b7a96dc7739fdefb2112 100644
--- a/templates/monthlymerge.yml
+++ b/templates/monthlymerge.yml
@@ -1,5 +1,5 @@
 include:
-  - local: '/templates/shared/stages.yml'
+  - local: '/templates/shared/all.yml'
   - local: '/templates/release/calver.yml'
 
 release_merge_and_tag:on-schedule:
diff --git a/templates/release-mr.yml b/templates/release-mr.yml
new file mode 100644
index 0000000000000000000000000000000000000000..ef1af751da6cd706b01d44b7849cc68159e289c1
--- /dev/null
+++ b/templates/release-mr.yml
@@ -0,0 +1,28 @@
+include:
+  - local: '/templates/shared/all.yml'
+
+release_mr:
+  stage: pre
+  image: ${CI_AWE_IMAGE_BASE}/ci-tools:${CI_AWE_IMAGE_TAG}
+  variables:
+    RELEASE_MR_SOURCE_BRANCH: $CI_DEFAULT_BRANCH
+    RELEASE_MR_TARGET_BRANCH: master
+    GIT_DEPTH: 0
+  rules:
+    - if: $CI_AWE_SKIP_RELEASE_MR
+      when: never
+    - if: $CI_AWE_SKIP_ALL
+      when: never
+    - if: $CI_MERGE_REQUEST_ID &&
+            $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $RELEASE_MR_TARGET_BRANCH &&
+            $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME == $RELEASE_MR_SOURCE_BRANCH
+    - if: $CI_AWE_RUN_RELEASE_MR
+    - if: $CI_AWE_RUN_ALL
+  script:
+    - python-gitlab-set-private-token ${RELEASE_MR_TOKEN}
+    - DESCRIPTION=$(git log-mr --output markdown --target ${RELEASE_MR_SOURCE_BRANCH} origin/${RELEASE_MR_TARGET_BRANCH}..origin/${RELEASE_MR_SOURCE_BRANCH})
+    - |
+      gitlab project-merge-request update \
+        --project-id ${CI_PROJECT_ID} \
+        --mr-iid ${CI_MERGE_REQUEST_IID} \
+        --description ${DESCRIPTION}