Skip to content

Release notes show what changed; release only when the app changes - #29

Merged
asulwer merged 1 commit into
masterfrom
release-changelogs
Nov 14, 2026
Merged

asulwer merged 1 commit into
masterfrom
release-changelogs

Conversation

@asulwer

@asulwer asulwer commented Nov 14, 2026 •

Copy link
Copy Markdown
Owner

Closes #28

Every release used to start with the same install text, and GitHub's generated list mixed in PRs that don't change the app. Now the notes look like this (dry run for the current release):

## What's new
- Publish to Google Play on every merge (#25)

## Install
**[Get it on Google Play](https://play.google.com/store/apps/details?id=com.acclscompany.callguard)**, or download the `.apk` below and open it (Android 10 or later).
To update, install the new `.apk` over the old one: your patterns and call log are kept. The Play version
and the `.apk` are signed with the same key, so either can update the other.

Build 3612911 · [All changes since v1.0.261021](https://github.com/asulwer/CallGuard/compare/v1.0.261021...v1.0.261113)

How

  • .github/scripts/changelog.ps1 lists the PRs merged between two refs whose files include app files, oldest first, as Title (#n).
    • App files means the same list as build-test's Needs a build?, minus that workflow.
    • It reads both merge commits and squash merges.
    • Dependabot updates become one "Updated libraries" line.
  • release.yml:
    • Checks out full history and tags.
    • A new Write release notes step finds the previous release (any version other than this one, so a same-day rebuild still lists everything since the day before) and runs the script.
    • The first release says "First release of Call Guard." A release with no app PRs says "Build and maintenance updates."
    • GitHub's --generate-notes is dropped.
    • Play's "What's new" is the same list without the PR numbers, cut to Play's 500-character limit.

Checked

Release only when the app changes. The release workflow now uses a paths: filter: CallGuard/, CallGuard.Core/, Directory.Packages.props, Directory.Build.props/.targets and global.json. Before, it released on every push except docs. Changes to tests, workflows or repository settings no longer release. The changelog script uses the same list, and a comment in each file says to keep them in step. To release after changing only the workflow, use Run workflow.

Merging this PR therefore does not build a release. The new notes appear on the next release that changes the app.

🤖 Generated with Claude Code

Each release now starts with "What's new": the pull requests merged since
the previous release that changed the app, from the new
.github/scripts/changelog.ps1. Docs, workflow and repository-setting PRs
are left out, and Dependabot updates fold into one line. The install text
is shorter, links to Google Play and comes after the list. Play's "What's
new" uses the same list.

Closes #28

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@asulwer
asulwer merged commit 28519b6 into master Nov 14, 2026
3 checks passed
@asulwer
asulwer deleted the release-changelogs branch November 14, 2026 00:42
@asulwer asulwer changed the title Release notes show what changed in the app Release notes show what changed; release only when the app changes Nov 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Release notes should show what changed

1 participant