Skip to content

feat(release): support X.Y.Z-beta-N pre-release tags#54

Merged
dustenhubbard merged 1 commit into
mainfrom
feat/prerelease-beta-scheme
Jul 7, 2026
Merged

feat(release): support X.Y.Z-beta-N pre-release tags#54
dustenhubbard merged 1 commit into
mainfrom
feat/prerelease-beta-scheme

Conversation

@dustenhubbard

Copy link
Copy Markdown
Owner

Adopt X.Y.Z-beta-N (e.g. v1.21.0-beta-1) as the fork's pre-release naming, beta-only going forward, alongside the existing PEP 440 (rcN/bN) and dashed-dot (-beta.N) forms.

Changes

  • prune_prereleases.py — match a hyphen or dot before the number (-beta-N as well as -beta.N), so a published stable prunes its -beta-N pre-releases. One-char regex change ((?:\.\d+)?(?:[-.]\d+)?).
  • first_launch.py: parse_changelog_section — match a changelog/WHATS_NEW header by parsed PEP 440 version, so a [1.21.0-beta-1] header (setuptools-scm bakes the tag into the app as 1.21.0b1) matches a 1.21.0b1 runtime; string fallback kept for non-version headers ([Unreleased]).

Notes

  • The live What's-new dialog was already correctwhats_new_content already matches by parsed version. This only hardens the currently-unused parse_changelog_section helper so it can't become a footgun.
  • No CI change needed: Classify release already treats non-vX.Y.Z tags as pre-release, and the release-notes step + updater asset parsing already handle the verbose tag string.
  • Tests cover the -beta-N form in both the prune selector and the changelog matcher.

@dustenhubbard dustenhubbard merged commit ea01756 into main Jul 7, 2026
1 check passed
@dustenhubbard dustenhubbard deleted the feat/prerelease-beta-scheme branch July 7, 2026 06:01
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.

1 participant