• v0.40.2 41fea23c99

    v0.40.2
    All checks were successful
    changelog-body-check / changelog body Cold-Read linter (pull_request) Successful in 6s
    changelog-body-check / check (pull_request) Successful in 0s
    check-self-bootstrap / check (pull_request) Has been skipped
    fragment-check / toolkit-self gate (PR's own rt) (pull_request) Successful in 5s
    fragment-check / changelog fragment-kind (pull_request) Successful in 6s
    fragment-check / check (pull_request) Successful in 0s
    go-ci / lint + build + test (pull_request) Successful in 24s
    manifest-check / manifest-vs-tag consistency (pull_request) Successful in 7s
    manifest-check / check (pull_request) Successful in 0s
    register-check / register-drift check (pull_request) Successful in 7s
    register-check / check (pull_request) Successful in 0s
    tests / bats (pull_request) Successful in 23s
    tests / shellcheck (pull_request) Successful in 7s
    check-self-bootstrap / check (push) Successful in 3s
    go-ci / lint + build + test (push) Successful in 22s
    release / decide + act (push) Successful in 9s
    release / release (push) Successful in 0s
    tests / bats (push) Successful in 23s
    tests / shellcheck (push) Successful in 7s
    goreleaser / build + publish rt asset (push) Successful in 1m29s
    mirror-on-cut / mirror-1 (release) Successful in 2s
    mirror-on-cut / mirror (release) Successful in 0s
    goreleaser / adopters can fetch the published asset (push) Successful in 3m5s
    Stable

    release-bot released this 2026-08-19 12:21:11 +02:00 | 817 commits to main since this release

    Added

    None.

    Changed

    None.

    Fixed

    The FETCH arm adopters use is now exercised by this repo's CI. A tag-triggered job runs the composite bootstrap against the tag just published, executes the fetched binary, and measures the cache-hit path.

    The toolkit's own wrappers pin @main, so the #456 override sent every reusable down the BUILD arm. The FETCH arm was therefore unexercised here by construction, and it broke for every adopter at v0.34.0 with CI green throughout.

    Sentence splitting now decides where sentences end instead of pattern-matching punctuation. The old splitter broke on any ., ! or ? followed by whitespace, wherever it sat.

    That was wrong in two directions. Punctuation inside a code span or after an abbreviation split one over-long sentence into two short ones, so the density check passed prose it should have refused. Punctuation followed by a closing marker, as in the house **Lead.** Prose shape, suppressed the split and made the check refuse prose that was fine.

    The new predicate asks whether each occurrence is sentence-final. It splits at indices rather than rewriting text, so a sentence's words are never lost or double-counted by the fix itself.

    • gates: skip closers when deciding an abbreviation, and correct the policy (#738)
    • gates: abbreviations need a per-occurrence decision too (#738)

    Removed

    None.

    Deprecated

    None.

    Upgrade

    None.

    Downloads