Skip to content

fix(updater): Support prefixed release tags - #184

Merged
vaind merged 7 commits into
getsentry:mainfrom
tustanivsky:fix/updater-prefixed-tags
Nov 10, 2026
Merged

vaind merged 7 commits into
getsentry:mainfrom
tustanivsky:fix/updater-prefixed-tags

Conversation

@tustanivsky

@tustanivsky tustanivsky commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

Release tags with a product prefix such as cli@0.47.0 (Craft workspaces with tagPrefix, e.g. getsentry/toolkit) are now supported. Callers mark the version part of the tag with a version named group in pattern, e.g. pattern: '^cli@(?<version>[0-9.]+)$'.

The group's value is used for version comparison, the changelog anchor and the displayed version, so PR titles and changelog entries read v0.47.0 as for unprefixed tags. The full tag is still used for the dependency version and the compare link, so cli@0.46.0...cli@0.47.0 resolves on GitHub. update-dependency.ps1 outputs the extracted versions as originalVersion and latestVersion, and the action passes them to update-changelog.ps1.

The current tag is read with the latest tag's prefix, so a tag of another product, e.g. one returned by git describe for a submodule, is never compared as a version. In that case the changelog entry shows the full old tag, e.g. from logger@0.46.0 to v0.47.0. At-mentions are still removed from the changelog in the PR body, but @ after a word character is kept, so prefixed tags and email addresses stay intact.

The default pattern becomes '^v?(?<version>[0-9.]+)$'. Patterns without the group fall back to removing a leading v, as before, so existing callers are unaffected.

Fixes #181

@vaind vaind 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.

The parsing fix works, and the default pattern keeps existing callers unaffected. Two comments inline: taking the version from a named group in pattern instead of stripping up to the last @, and the changelog links for monorepos like getsentry/toolkit.

Nit: the new changelog test only covers adding an entry, not updating an existing one, which also uses the anchor and display version.

Comment thread updater/scripts/common.ps1 Resolved

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 61a5bfa. Configure here.

Comment thread updater/scripts/update-dependency.ps1 Resolved
@tustanivsky
tustanivsky requested a review from vaind November 9, 2026 14:47

@vaind vaind 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.

Thanks, this addresses everything from the first round. Three small nits inline, none of them blocking.

Comment thread updater/scripts/update-dependency.ps1 Resolved
Comment thread updater/scripts/common.ps1 Resolved
Comment thread updater/tests/get-changelog.Tests.ps1 Resolved
@vaind
vaind merged commit 62f1836 into getsentry:main Nov 10, 2026
4 checks passed
@tustanivsky
tustanivsky deleted the fix/updater-prefixed-tags branch November 10, 2026 09:35
vaind added a commit to tustanivsky/github-workflows that referenced this pull request Nov 10, 2026
The changelog step now takes both the extracted versions from getsentry#184 and the changelog path.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

updater: prefixed release tags (e.g. cli@0.47.0) can't be tracked

2 participants