Skip to content

chore: release v0.11.0 — the stability candidate - #348

Merged
vyncint merged 1 commit into
mainfrom
chore/release-v0.11.0
Sep 10, 2026
Merged

vyncint merged 1 commit into
mainfrom
chore/release-v0.11.0

Conversation

@vyncint

@vyncint vyncint commented Sep 10, 2026

Copy link
Copy Markdown
Owner

The release commit for 0.11.0, the stability candidate, cut per docs/RELEASING.md steps 1–3 (step 2b included):

  • workspace.package.version0.11.0; termlens-cli's termlens = { version = "0.11.0", … }; Cargo.lock refreshed — the diff is nine member version lines and nothing else.
  • [Unreleased][0.11.0] - 2026-09-11, a fresh empty [Unreleased] above. The section opens with the one breaking change (Screen::unsupported() exposes its Arc<str> storage and keeps the overflow count in a second accessor #330) and its migration table; .github/scripts/extract-changelog.sh v0.11.0 extracts 179 lines of notes.
  • crates/termlens/tests/compat/0.11.0/ frozen from this tree with the write_corpus writer: six text files byte-identical to 0.10.1's, JSON with "format": 1. The compat README says how later directories come to be.
  • The report action tag in the README and the skill → @v0.11.0 (exists once the tag is pushed).

The gate on this PR: tree 0.11.0 against published 0.10.3; check-semver.sh reads the - **Breaking:** bullet under [0.11.0] (ahead of the baseline) and runs with --release-type major — measured locally: PASS in all three views. The same holds for the tag's re-run of ci.yml. After publish, a follow-up PR moves the baseline to 0.11.0 (RELEASING step 5).

Local matrix on this exact tree (all green): fmt; clippy all-features / default / minimal / decode / Windows target; rustdoc both ways; cargo test --workspace --all-features 529 passed, 0 failed, 5 ignored (each ignore platform-reasoned or the corpus writer); default set; the four isolated -p termlens sets; feature isolation; CLI contract; README links; skill snippets; gates-listed (19); candidate statement; semver self-test; cargo-deny; MSRV 1.85.1 over three configurations; cargo package -p termlens --locked verified (305 KB, contents listed and reviewed — corpus and snapshots ship as tests, nothing private). cargo package -p termlens-cli cannot resolve termlens 0.11.0 until the library is published, as in every prior release; release.yml publishes the library first.

Performance (release builds, same input, interleaved, new first): JSON serialize 228 vs 235 µs, deserialize 432 vs 432 µs, with_styles 29.5 vs 30.3 µs (0.11 vs 0.10.3); 40k-line flood through 80x24 within noise. No regression; the JSON gains 11 bytes for the format field.

Stress: run 34527017048 on the candidate tree is in flight; per RELEASING step 0 the stress workflow also runs on the merged release commit before the tag is pushed.

After merge: wait for stress on the exact commit → tag v0.11.0release.yml → verify crates.io, the GitHub Release, install.yml, a fresh consumer → baseline PR → consumer migrations (separate repositories, against crates.io).

Version 0.11.0 in the workspace manifest and in termlens-cli's dependency
on the library; Cargo.lock refreshed (nine member versions, nothing else).
The [Unreleased] section becomes [0.11.0] - 2026-09-11, headed by the one
breaking change and its migration table, with a fresh empty [Unreleased]
above. The 0.11.0 corpus directory is frozen from this tree (six text
files byte-identical to 0.10.1's; JSON with "format": 1). The report
action tag in the README and the skill moves to v0.11.0.

Signed-off-by: Vyncint Ng <115854244+vyncint@users.noreply.github.com>
@vyncint
vyncint force-pushed the chore/release-v0.11.0 branch from 0cda79a to 9126a7a Compare September 10, 2026 21:02
@vyncint
vyncint merged commit b8af0fa into main Sep 10, 2026
16 checks passed
@vyncint
vyncint deleted the chore/release-v0.11.0 branch September 10, 2026 21:06
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