Add CHANGELOG.md — one section per version, newest first. The top section always reflects the current plugin header version; release status is purely a matter of whether a tag exists (no Unreleased section, no dates).
Release workflow now extracts the tagged version's changelog section and publishes it as the Gitea release body (POST on create; PATCH when the release was pre-created via the UI).
New bump-version job runs after a stable release: bumps the plugin to the next patch version (header + USC_VERSION), inserts a fresh empty changelog section, and opens a PR. Skipped for pre-release tags (those containing a hyphen).
Tests
No PHP changed (only CHANGELOG.md and .gitea/workflows/release.yml), so composer test/lint/cs were not run locally; CI lint/static-analysis/test still run on this PR.
Follow-up
First release after merge will exercise the release-notes extraction and the auto-bump PR — worth confirming the GITHUB_TOKEN has branch-push + pulls rights on that run.
## What
- Add `CHANGELOG.md` — one section per version, newest first. The top section always reflects the current plugin header version; release status is purely a matter of whether a tag exists (no `Unreleased` section, no dates).
- Release workflow now extracts the tagged version's changelog section and publishes it as the Gitea release body (POST on create; PATCH when the release was pre-created via the UI).
- New `bump-version` job runs after a stable release: bumps the plugin to the next patch version (header + `USC_VERSION`), inserts a fresh empty changelog section, and opens a PR. Skipped for pre-release tags (those containing a hyphen).
## Tests
No PHP changed (only `CHANGELOG.md` and `.gitea/workflows/release.yml`), so `composer test`/`lint`/`cs` were not run locally; CI lint/static-analysis/test still run on this PR.
## Follow-up
First release after merge will exercise the release-notes extraction and the auto-bump PR — worth confirming the `GITHUB_TOKEN` has branch-push + pulls rights on that run.
Add CHANGELOG.md (one section per version, newest first; the top section
always reflects the current plugin header version — release status is
purely a matter of tagging).
The Release workflow now extracts the tagged version's changelog section
and publishes it as the Gitea release body (POST on create, PATCH when the
release was pre-created via the UI). After a stable release, a new
bump-version job bumps the plugin to the next patch version, opens a fresh
changelog section, and opens a PR. Pre-release tags are skipped.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
What
CHANGELOG.md— one section per version, newest first. The top section always reflects the current plugin header version; release status is purely a matter of whether a tag exists (noUnreleasedsection, no dates).bump-versionjob runs after a stable release: bumps the plugin to the next patch version (header +USC_VERSION), inserts a fresh empty changelog section, and opens a PR. Skipped for pre-release tags (those containing a hyphen).Tests
No PHP changed (only
CHANGELOG.mdand.gitea/workflows/release.yml), socomposer test/lint/cswere not run locally; CI lint/static-analysis/test still run on this PR.Follow-up
First release after merge will exercise the release-notes extraction and the auto-bump PR — worth confirming the
GITHUB_TOKENhas branch-push + pulls rights on that run.