Skip to content

ci: use GitHub native release notes generator (fixes #225) - #233

Merged
Olen merged 1 commit into
mainfrom
ci/native-release-notes
May 14, 2026
Merged

ci: use GitHub native release notes generator (fixes #225)#233
Olen merged 1 commit into
mainfrom
ci/native-release-notes

Conversation

@Olen

@Olen Olen commented May 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • Replace abandoned heinrichreimer/github-changelog-generator-action@v2.4 (last release 2022) with softprops/action-gh-release's built-in generate_release_notes: true, which calls GitHub's /releases/generate-notes API server-side.
  • Also drops the now-unused InsonusK/get-latest-release@v1.1.0 step (another abandoned action; only existed to feed sinceTag to the changelog generator).
  • Fixes CI: release workflow's automated changelog has format issues #225: the %0A line-break encoding in v1.2.0 and v1.2.1 release bodies. Root cause is that the changelog action still used the deprecated ::set-output:: URL-encoded format; GitHub Actions stopped auto-decoding %0A to newlines, so the encoded form leaked into the body: string. Switching to generate_release_notes bypasses ${{ }} interpolation of the changelog text entirely, which structurally eliminates that class of bug.

Test plan

  • Local pytest passes (21 tests)
  • Local ruff check clean
  • Local ruff format --check clean (with ruff 0.15.12 matching >=0.15.0 pin)
  • CI: Python package matrix all green
  • Verified at next release: notes render with real newlines instead of %0A

Optional follow-up: add .github/release.yml to group PRs by label (Features / Bug Fixes / Other) — left out of this PR to keep the diff minimal.

🤖 Generated with Claude Code

Replace the abandoned heinrichreimer/github-changelog-generator-action
(last release 2022) and InsonusK/get-latest-release with
softprops/action-gh-release's built-in generate_release_notes option,
which calls GitHub's /releases/generate-notes API server-side.

This also fixes the %0A line-break encoding in release bodies (#225):
the previous flow interpolated the changelog action's output through
${{ }} into a body string, which exposed legacy ::set-output:: URL
encoding now that GitHub Actions has stopped auto-decoding it.
generate_release_notes bypasses string interpolation entirely.

Categorization (Features / Bug Fixes / Other) can be tuned later by
adding an optional .github/release.yml config.
@Olen
Olen requested a review from Copilot May 14, 2026 12:42
@Olen Olen added the updateme Automatically update PR from main label May 14, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR simplifies the release workflow by switching from a third-party changelog generator to GitHub’s native release notes generation via softprops/action-gh-release, addressing the %0A newline encoding issue described in #225.

Changes:

  • Removed the previous-release lookup step that only fed the old changelog action.
  • Removed the abandoned changelog generator action.
  • Enabled generate_release_notes: true when creating GitHub Releases.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Olen
Olen merged commit 7dc0379 into main May 14, 2026
12 checks passed
@Olen
Olen deleted the ci/native-release-notes branch May 14, 2026 13:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

updateme Automatically update PR from main

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CI: release workflow's automated changelog has format issues

2 participants