| name | xpra-package-changelog |
| description | Sync Xpra Markdown release notes from docs/CHANGELOG.md into packaging/rpm/xpra.spec and packaging/debian/xpra/changelog. Use when asked to copy a release entry into RPM or Debian package changelog formats, strip Markdown URLs while preserving descriptions, update release dates and package changelog datetimes, or replace TODO placeholders for an Xpra release. |
Xpra Package Changelog
Use this skill to mirror one Xpra release entry from docs/CHANGELOG.md into the RPM spec %changelog and Debian debian/changelog format, while also refreshing the release date or datetime in all affected files.
Workflow
- Read the latest or requested release section from
docs/CHANGELOG.md.
- Update the Markdown release header date in
docs/CHANGELOG.md to the current local date in YYYY-MM-DD format.
- Strip Markdown links by replacing
[description](url) with description.
- Preserve release-note descriptions and inline punctuation. Do not include commit URLs.
- Convert Markdown category bullets to package changelog headings:
- RPM:
- Category: and continuation lines indented with three spaces.
- Debian:
* Category: and continuation lines indented with four spaces.
- Update the release datetime in every packaging file you touch:
- Markdown header uses ISO local date like
## [6.5.1] 2026-06-28.
- RPM header uses local date format like
* Sun Jun 28 2026 Antoine Martin <antoine@xpra.org> 6.5.1-10.
- Debian trailer uses RFC 2822 format like
-- Antoine Martin <antoine@xpra.org> Sun, 28 Jun 2026 15:44:43 +0700.
- Replace only the matching top release block or TODO placeholder. Leave older releases and unrelated worktree changes untouched.
- Validate with:
dpkg-parsechangelog -l packaging/debian/xpra/changelog
rpmspec --parse packaging/rpm/xpra.spec when available. A missing local source archive warning is acceptable if the command exits 0.
git diff --check -- docs/CHANGELOG.md packaging/rpm/xpra.spec packaging/debian/xpra/changelog
Helper Script
Use scripts/format_release_notes.py to convert a Markdown release entry into package-ready text:
python3 ~/.codex/skills/xpra-package-changelog/scripts/format_release_notes.py docs/CHANGELOG.md --version 5.1.6 --format rpm
python3 ~/.codex/skills/xpra-package-changelog/scripts/format_release_notes.py docs/CHANGELOG.md --version 5.1.6 --format debian
If --version is omitted, the script uses the first release section in docs/CHANGELOG.md.