diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4db639b305f5444bce8d2bb611ea9b09daf930f0..eb996556cc275c7c673c0a96891bbd3858846d8e 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -41,7 +41,17 @@ release:
     # only for official releases
     - if: $CI_COMMIT_TAG =~ /\A\d+\.\d+\.\d+\z/
   script:
+    # extract changes from changelog
+    # get line of version header + 1
+    - START=$(awk 'match($1,"##") && match($2,v){print NR+1; exit}' v="0.10.7.1-$CI_COMMIT_TAG" CHANGELOG.md)
+    # drop everything above the release including the release header
+    - tail -n +$START CHANGELOG.md > tmp
+    # get line of next version header - 1
+    - END=$(awk 'match($1,"##") && match($2,v){print NR-1; exit}' v="0.10.7.1" tmp)
+    # drop everything after current release
+    - DESCRIPTION=$(head -n $END tmp)
+    # create release
     - |
-      release-cli create --name $CI_COMMIT_TAG --description "Download ${FC_PREGMOD_HTML} to play the game." \
-        --tag-name $CI_COMMIT_TAG \
+      release-cli create --name "$CI_COMMIT_TAG" --description "$DESCRIPTION" \
+        --tag-name "$CI_COMMIT_TAG" \
         --assets-link "{\"name\":\"${FC_PREGMOD_HTML}\",\"url\":\"${MEGA_URL}\"}"