• v0.30.3 ff7a7f7b27

    Release v0.30.3
    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
    Stable

    release-bot released this 2026-07-07 19:57:37 +02:00 | 1054 commits to main since this release

    Added

    None.

    Changed

    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

    Removed

    None.

    Deprecated

    None.

    Upgrade

    None.

    Downloads