diff --git a/.github/badges/version.svg b/.github/badges/version.svg
new file mode 100644
index 00000000..a1eaa7cd
--- /dev/null
+++ b/.github/badges/version.svg
@@ -0,0 +1 @@
+
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 3296bf8b..26efbb7b 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -795,6 +795,29 @@ jobs:
TAG="${RELEASE_TAG}"
gh release edit "${TAG}" --repo "${GITHUB_REPOSITORY}" --draft=false --latest
+ - name: Update README version badge
+ if: ${{ inputs.publish_release }}
+ run: |
+ set -euo pipefail
+ BADGE_LABEL_WIDTH=51
+ BADGE_VALUE="${RELEASE_TAG}"
+ BADGE_VALUE_WIDTH=$(( ${#BADGE_VALUE} * 7 + 10 ))
+ BADGE_WIDTH=$(( BADGE_LABEL_WIDTH + BADGE_VALUE_WIDTH ))
+ BADGE_LABEL_X=$(( BADGE_LABEL_WIDTH / 2 ))
+ BADGE_VALUE_X=$(( BADGE_LABEL_WIDTH + BADGE_VALUE_WIDTH / 2 ))
+ mkdir -p .github/badges
+ cat > .github/badges/version.svg <