chore(release): v0.30.3 #466

Merged
alex merged 1 commit from release-prep/rolling into main 2026-07-07 19:57:26 +02:00
Member

Added

None.

Changed

None.

Deprecated

None.

Removed

None.

Fixed

semver_compare now implements SemVer 2.0.0 §11 prerelease precedence in full. The previous implementation compared only major/minor/patch and ignored prerelease + build metadata.

Under the new rules: a version WITHOUT prerelease is HIGHER than one WITH. When both carry prerelease, dot-separated identifiers are compared left-to-right per §11.4. Numeric identifiers are lower than alphanumeric. Numeric identifiers are compared numerically; alphanumeric identifiers are compared lexically ASCII. When all common identifiers are equal, the shorter set is lower.

Build metadata (+...) is still IGNORED per §10, so 1.0.0+build.1 and 1.0.0+build.2 remain equal. Adopter behavior is unchanged for release-vs-release comparisons (no prerelease in the manifest state during normal cuts). Tooling that touches rc-tags or prerelease pins now sees correct ordering. Closes #347.

  • semver: pin LC_ALL=C in semver_compare for §11.4.2 ASCII collation
  • semver: genericize reviewer attribution in semver_compare header
### Added None. ### Changed None. ### Deprecated None. ### Removed None. ### Fixed **`semver_compare` now implements SemVer 2.0.0 §11 prerelease precedence in full**. The previous implementation compared only major/minor/patch and ignored prerelease + build metadata. Under the new rules: a version WITHOUT prerelease is HIGHER than one WITH. When both carry prerelease, dot-separated identifiers are compared left-to-right per §11.4. Numeric identifiers are lower than alphanumeric. Numeric identifiers are compared numerically; alphanumeric identifiers are compared lexically ASCII. When all common identifiers are equal, the shorter set is lower. Build metadata (`+...`) is still IGNORED per §10, so `1.0.0+build.1` and `1.0.0+build.2` remain equal. Adopter behavior is unchanged for release-vs-release comparisons (no prerelease in the manifest state during normal cuts). Tooling that touches rc-tags or prerelease pins now sees correct ordering. Closes [#347](https://git.frankenbit.de/frankenbit/release-toolkit/issues/347). - **semver**: pin LC_ALL=C in semver_compare for §11.4.2 ASCII collation - **semver**: genericize reviewer attribution in semver_compare header
release-bot force-pushed release-prep/rolling from ef22f93c6e
Some checks failed
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 4s
changelog-body-check / check (pull_request) Successful in 0s
check-self-bootstrap / check (pull_request) Has been skipped
fragment-check / changelog fragment-kind (pull_request) Successful in 3s
fragment-check / check (pull_request) Successful in 0s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 5s
manifest-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Successful in 4s
register-check / check (pull_request) Successful in 0s
tests / bats (pull_request) Failing after 1m57s
tests / shellcheck (pull_request) Successful in 8s
to ff7a7f7b27
All checks were successful
changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 3s
check-self-bootstrap / check (pull_request) Has been skipped
changelog-body-check / check (pull_request) Successful in 0s
fragment-check / changelog fragment-kind (pull_request) Successful in 3s
fragment-check / check (pull_request) Successful in 0s
manifest-check / manifest-vs-tag consistency (pull_request) Successful in 5s
manifest-check / check (pull_request) Successful in 0s
register-check / register-drift check (pull_request) Successful in 4s
register-check / check (pull_request) Successful in 0s
tests / bats (pull_request) Successful in 1m56s
tests / shellcheck (pull_request) Successful in 7s
check-self-bootstrap / check (push) Successful in 3s
release / decide + act (push) Successful in 8s
release / release (push) Successful in 0s
tests / bats (push) Successful in 1m56s
tests / shellcheck (push) Successful in 7s
mirror-on-cut / mirror-1 (release) Successful in 1s
mirror-on-cut / mirror (release) Successful in 0s
2026-07-07 19:50:07 +02:00
Compare
alex merged commit ff7a7f7b27 into main 2026-07-07 19:57:26 +02:00
alex deleted branch release-prep/rolling 2026-07-07 19:57:26 +02:00
Sign in to join this conversation.
No description provided.