feat: generate changelog.xml in update stream from release descriptions #655

Closed
opened 2026-06-20 16:03:48 +00:00 by jmiller · 2 comments
Owner

Description\n\nThe Joomla update stream (updates.xml) should include changelog entries derived from Gitea release descriptions. Currently release descriptions are written as markdown in Gitea releases, but the Joomla update server expects a changelog.xml or inline changelog data in the update stream configuration.\n\n## Requirements\n\n- Parse the release description (markdown) from Gitea releases\n- Convert to Joomla-compatible changelog XML format\n- Include in the update stream so Joomla's updater can display changelogs to users\n- Should be generated automatically as part of the auto-release workflow\n\n## Context\n\n- updates.xml is currently generated dynamically by the MokoGitea license server\n- Release descriptions are written as conventional changelog markdown in Gitea\n- The changelog should appear in Joomla's extension update UI\n\n## References\n\n- Joomla changelog XML format: <changelogs> element in update stream\n- Current auto-release workflow: .mokogitea/workflows/auto-release.yml\n- Current update stream checks: .mokogitea/workflows/pr-check.yml

## Description\n\nThe Joomla update stream (`updates.xml`) should include changelog entries derived from Gitea release descriptions. Currently release descriptions are written as markdown in Gitea releases, but the Joomla update server expects a `changelog.xml` or inline changelog data in the update stream configuration.\n\n## Requirements\n\n- Parse the release description (markdown) from Gitea releases\n- Convert to Joomla-compatible changelog XML format\n- Include in the update stream so Joomla's updater can display changelogs to users\n- Should be generated automatically as part of the auto-release workflow\n\n## Context\n\n- `updates.xml` is currently generated dynamically by the MokoGitea license server\n- Release descriptions are written as conventional changelog markdown in Gitea\n- The changelog should appear in Joomla's extension update UI\n\n## References\n\n- Joomla changelog XML format: `<changelogs>` element in update stream\n- Current auto-release workflow: `.mokogitea/workflows/auto-release.yml`\n- Current update stream checks: `.mokogitea/workflows/pr-check.yml`
Author
Owner

Branch created: feature/655-feat-generate-changelog-xml-in-update-st

git fetch origin
git checkout feature/655-feat-generate-changelog-xml-in-update-st
Branch created: [`feature/655-feat-generate-changelog-xml-in-update-st`](https://code.mokoconsulting.tech/MokoConsulting/MokoGitea-Fork/src/branch/feature/655-feat-generate-changelog-xml-in-update-st) ```bash git fetch origin git checkout feature/655-feat-generate-changelog-xml-in-update-st ```
Author
Owner

Resolved. Changes shipped:

  1. changelog.xml endpoint — already implemented at /{owner}/{repo}/changelog.xml, parses release descriptions into Joomla <changelogs> XML format
  2. auto-release workflow — added changelog promotion: [Unreleased][version] in CHANGELOG.md on stable release, plus release notes update for RC releases
  3. pr-check workflow — already enforces [Unreleased] entries on every PR
  4. pre-release workflow — already copies [Unreleased] to release descriptions for dev/fix/rc pushes
  5. mokocli rename — all workflow references updated from moko-platform to mokocli across all 41 org repos
  6. CLI toolsbulk_workflow_push.php and workflow_sync.php updated with branch+PR fallback for protected repos
Resolved. Changes shipped: 1. **changelog.xml endpoint** — already implemented at `/{owner}/{repo}/changelog.xml`, parses release descriptions into Joomla `<changelogs>` XML format 2. **auto-release workflow** — added changelog promotion: `[Unreleased]` → `[version]` in CHANGELOG.md on stable release, plus release notes update for RC releases 3. **pr-check workflow** — already enforces `[Unreleased]` entries on every PR 4. **pre-release workflow** — already copies `[Unreleased]` to release descriptions for dev/fix/rc pushes 5. **mokocli rename** — all workflow references updated from `moko-platform` to `mokocli` across all 41 org repos 6. **CLI tools** — `bulk_workflow_push.php` and `workflow_sync.php` updated with branch+PR fallback for protected repos
Sign in to join this conversation.