Repository navigation
[0.0.25] chore(release): bump workspace to 0.0.25 and finalize changelog - #2401
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
0f0af95 to
1f8ef39
Compare
Xuepoo
left a comment
There was a problem hiding this comment.
Independent review: NEEDS-FIX
Verified against PR head 0f0af956 (1 commit ahead of origin/main 2e0077a1) in a throwaway worktree.
Blocker 1 — release version gate fails; packaging metadata was not bumped
The PR body says nfpm.yaml, packaging/PKGBUILD, packaging/PKGBUILD.bin, the flake.nix fallback, and the README release line were synchronized to 0.0.25. None of them are in the diff (git diff --name-status origin/main...HEAD = CHANGELOG, Cargo.lock, root Cargo.toml, 9 crate manifests).
$ bash scripts/check-release-version.sh
check-release-version: workspace version = 0.0.25
check-release-version: FAIL: packaging/PKGBUILD version 0.0.24 != workspace version 0.0.25
exit=1
The same script runs in the Release workflow's validate job (on tag push and workflow_dispatch), so tag v0.0.25 would fail before any build. Still stale: nfpm.yaml:7 (version: 0.0.24), packaging/PKGBUILD:3, packaging/PKGBUILD.bin:30, README.md:5 (v0.0.24), flake.nix:46 (fallback "0.0.24"). The 0.0.24 release commit 6f2faaae bumped exactly these files.
Blocker 2 — CHANGELOG overstates #1999
- **Core dependency resolver (#1999):** ... the plugin manager owns them.
bitty-terminal/bitty-plugin-manager is described as "Planning scaffold ... implementation deferred pending accepted contracts and security review", and a code search returns 0 hits for resolution. Nothing owns distribution resolution yet. Please say the semantics were retired from Core with the replacement deferred to bitty-plugin-manager.
Nits
Cargo.lockalso re-resolveswindows-sysforerrno,os_pipe,rustix,tempfile,winapi-util(0.52.0 -> 0.61.2). Valid per>=0.52,<0.62andcargo metadata --lockedis clean, but it is unrelated to the bump; keep only if intentional.- Root
Cargo.toml:67comment still says "0.0.24 path crates". ### Removedsits after### Fixed(Keep a Changelog lists Removed before Fixed); #2117 / #2358 / #2359 cite issues where the delivering PRs are #2357 / #2365.- All PR-head runs (CI, CodeQL, VM tier) are
cancelled, so no green CI on the candidate;mergeStateStatus=blocked.
Verified good
- 17 workspace members all at
0.0.25; 40/40 path-dependency version requirements bumped; no0.0.24left in any manifest or lock entry. cargo metadata --locked --offline-> exit 0;cargo check --locked --offline -p bitty-config-> exit 0 (build log showsbitty-*0.0.25).- Date
2026-10-21; docs gitlink2d3ca14cb5d3b5d6a6786ab8d5a67e8c86379ee9is an ancestor ofbitty-terminal-docsorigin/main(cffcc765) and unchanged from base. - No duplicated entries;
just markdownlint CHANGELOG.md-> 0 issues. - Spot-checked claims match merged work: #2386 (5 shells + OSC 133/7 in
shell_init.rs), #2344/#2382 (profiles/default.lua,--migrate,BITTY_PROFILE), #2346 (catalog digest refusal incomponent_seed.rs), #2351 (named pipe inipc_serve.rs), #2339 (3 fix commits), #2361 (MAX_PENDING_ANNOUNCEMENTS= 8), #2341, #2338, #2353, #2358/#2359 (files deleted). #2363/#2369 are correctly labelled candidate surfaces with no production consumer (only their own tests reference them); #2117 stays open and the entry says so. - No other open PR is in milestone 0.0.25.
Base note: origin/main CI at 2e0077a1 is still in progress; the only completed failure is the scheduled "Snapshot source matches main" (snapshot 75ec169f behind main), which is informational for PRs and resolved by the closeout publish.
1f8ef39 to
ef08930
Compare
|
Review dispositions for head
Please re-review |
Xuepoo
left a comment
There was a problem hiding this comment.
Guard verification: review blockers resolved at head ef089305
The NEEDS-FIX verdict above was recorded against 0f0af956, which is one commit behind the current PR head ef089305. Both blockers were fixed in that commit; verified from the cmd-release-025 worktree at ef089305:
$ bash scripts/check-release-version.sh
check-release-version: workspace version = 0.0.25
check-release-version: packaging/PKGBUILD = 0.0.25 (ok)
check-release-version: packaging/PKGBUILD.bin = 0.0.25 (ok)
check-release-version: nfpm.yaml = 0.0.25 (ok)
check-release-version: PASS # exit=0
- Blocker 1 (packaging metadata):
nfpm.yaml:7,packaging/PKGBUILD:3,packaging/PKGBUILD.bin:30,flake.nix:46fallback,README.md:5all read0.0.25atef089305; all five files are in the PR diff (17 files changed). - Blocker 2 (#1999 wording):
CHANGELOG.md:98-100now reads "package-distribution resolution semantics are retired from Core; their replacement inbitty-plugin-manageris deferred, so no component currently owns them." - Nit (root
Cargo.tomlcomment): now says "0.0.25 path crates".
Gate status is tracked from CI on ef089305; merge is gated on all required checks green (fail=0, pending=0, Quality gates present).
Xuepoo
left a comment
There was a problem hiding this comment.
Independent re-review at head ef089305: APPROVE
Reviewer: separate delegated agent (not the author lane). Scope: verify the earlier NEEDS-FIX blockers against the current PR head, no repository modifications.
$ git log --oneline -2 origin/cmd/release-025
ef089305 [0.0.25] chore(release): bump workspace to 0.0.25 and finalize changelog
2e0077a1 fix(test): stop escaped char literals from hiding fence violations (#2400)
$ git diff --name-status origin/main...origin/cmd/release-025
M CHANGELOG.md M Cargo.lock M Cargo.toml M README.md M flake.nix M nfpm.yaml
M packaging/PKGBUILD M packaging/PKGBUILD.bin M crates/*/Cargo.toml (10 manifests)
Evidence:
bash scripts/check-release-version.shon a clean detached worktree ofef089305->workspace version = 0.0.25/packaging/PKGBUILD = 0.0.25 (ok)/packaging/PKGBUILD.bin = 0.0.25 (ok)/nfpm.yaml = 0.0.25 (ok)/PASS, exit 0 (earlier Blocker 1 no longer reproduces).- Packaging metadata all at 0.0.25:
nfpm.yaml:7,packaging/PKGBUILD:3,packaging/PKGBUILD.bin:30; flake fallbackflake.nix:46 ... or "0.0.25"; README release linev0.0.25. - Blocker 2 corrected in
CHANGELOG.md: "package-distribution resolution semantics are retired from Core; their replacement inbitty-plugin-manageris deferred, so no component currently owns them." — no claim that the plugin manager already owns resolution. - Diff scope is version bump + CHANGELOG/README + lockfile + crate manifest bumps; no production source touched.
- Detached review worktree removed afterwards; repo left unmodified (no commit, no push, no merge by the reviewer).
Merge gate: this verdict plus green required checks on ef089305.
ef08930 to
6dc4f82
Compare
Xuepoo
left a comment
There was a problem hiding this comment.
Head moved to 6dc4f827 while this review was being recorded (CHANGELOG.md only, +6/-5, rewriting the #2344/#2382 bitty init entry to drop the non-existent --from flag wording). The APPROVE above still applies to 6dc4f827: the only delta since the reviewed ef089305 is that CHANGELOG paragraph, and scripts/check-release-version.sh plus all packaging metadata are unchanged. Merge remains gated on green required checks at the merged head.
Xuepoo
left a comment
There was a problem hiding this comment.
Re-review: APPROVE
Recorded as a comment review because GitHub rejects --approve on a PR authored by the same account (Review Can not approve your own pull request); the formal approving review must come from a different account.
Reviewed the delta 0f0af956..6dc4f827 (single amended commit) against origin/main 2e0077a1.
Prior blockers
- Release version gate — fixed.
nfpm.yaml,packaging/PKGBUILD,packaging/PKGBUILD.bin,flake.nixfallback, andREADME.mdnow all say0.0.25;scripts/check-release-version.sh --tag v0.0.25printsPASSand exits 0. - #1999 wording — fixed. The
Removedentry now says resolution semantics are retired from Core and that thebitty-plugin-managerreplacement is deferred, so no component currently owns them.
Delta checks
Cargo.lock:git diff origin/main...HEAD -- Cargo.lockis exactly the 17 workspace-member version lines (0.0.24 -> 0.0.25); the unrelatedwindows-sysre-resolution is gone.cargo metadata --locked --offlineexits 0 and reports 17 packages at0.0.25.- CHANGELOG: section order is now
Added,Changed,Removed,Fixed; the profile bullet claims only--profile NAME,--migrate, andBITTY_PROFILE(no--fromanywhere in the file), and theminimal/dark/lightpreset names plus custom names matchInitProfilePreset::parseandvalidate_profile_name. #2358/#2359 now cite#2365, #2117 cites#2357.just markdownlint CHANGELOG.md-> 0 issues. - Root
Cargo.tomlcomment updated to "0.0.25 path crates"; no0.0.24remains in any manifest, release file, or lock entry. - Scope unchanged: 17 files, no source changes.
CI on 6dc4f827: all required checks green — Quality gates (1)/(2), Wayland, Windows, macOS, MSRV, Supply chain, CodeQL, VM tier, and both Tier 1 aggregates. Linux X11 (xvfb) passed on attempt 2 after the startup_terminal_submit_lands_byte_exact_on_tick timing flake (tracked as #2409); no product regression from this PR (no Rust files in the diff).
No new factual overstatement found in the corrected bullets.
Verdict: APPROVE.
Base moved after this reviewThis verdict covers head
The PR now reports Content of the reviewed delta is still APPROVE. |
6dc4f82 to
bcc2127
Compare
Xuepoo
left a comment
There was a problem hiding this comment.
Delta re-review: APPROVE
Approval recorded as a comment because GitHub blocks --approve on a PR authored by the same account. Reviewed 6dc4f827..bcc2127a (rebase onto origin/main 6a864db0).
Rebase correctness
- One commit ahead of
6a864db0; merge-base is6a864db0(up to date,mergeable=true). git diff --name-status origin/main...HEADis still the same 17 release files; no.rschanges. The only tree delta versus6dc4f827is the two commits already on main (#2404, #2403) plus their CHANGELOG entries, which were pulled in correctly.Cargo.toml,Cargo.lock,README.md,flake.nix,nfpm.yaml, andpackaging/*are byte-identical to the reviewed6dc4f827.scripts/check-release-version.sh --tag v0.0.25->PASS, exit 0.
CHANGELOG
### Removedis before### Fixed; order isAdded,Changed,Removed,Fixed.- Both tag-relevant commits are now documented: #2349 profile-init polish under
Fixed(from main) and the new #2389/#2404 close-teardown entry. Each citation appears exactly once; no duplicate bullets. - Claims check out against merged code:
paints_primary_gridgates the three close branches inchrome_keys.rs(WS-INV-8 precedence, matches the #2404 commit), and the #2349 entry matchessymlink_metadatalegacy bounds /--migratevalue-flag refusal. just markdownlint CHANGELOG.md-> 0 issues.
Lockfile / scope
git diff origin/main...HEAD -- Cargo.lockis only the 17 workspace-member version lines (34 +/- lines); no dependency re-resolution.cargo metadata --locked --offlineexits 0; 17 packages at0.0.25.
CI on bcc2127a
All required checks pass: Quality gates (1)/(2), Linux Wayland, Linux X11 (xvfb), Windows, macOS, MSRV, Supply chain, CodeQL, VM tier, Compat/M1 Tier 1 aggregates. gh pr checks --watch exit 0.
mergeStateStatus=blocked only because the PR still needs an approving review from an account other than the author; mergeable=true and the content is unchanged from the approved revision.
Verdict: APPROVE for bcc2127a.
Release preparation for 0.0.25.
0.0.24 -> 0.0.25; all 40 internal path-dependency version requirements bumped to match across 9 crate manifests;Cargo.lockregenerated.0.0.25:nfpm.yaml,packaging/PKGBUILD,packaging/PKGBUILD.bin,flake.nixfallback, and the README release line.2026-10-21and completed with the merged user-facing work that was missing: shell integration for all five shells ([0.0.25] feat(cli): complete shell integration for bash/zsh/fish/powershell/nushell #2386), profile-backed init ([CTX-1404] feat(config): make bitty init profile-backed with default.lua (#2187) #2344/[CTX-1420] feat(config): seed named init profiles and fail closed on conflicts (#2371) #2382), bounded extension catalog install ([CTX-1406] feat(plugins): bounded extension catalog install path (Refs #2111) #2346), Windows named-pipe IPC ([CTX-1405] feat(ipc): Windows named-pipe transport for terminal IPC and devtools inspection #2351), band hit regions/anchors/drag preview ([CTX-1402] feat(ui): per-item band hit regions for click and scroll (#2248) #2347/[0.0.25] feat(ui,runtime): expose target anchors and present annotations (#2253) #2350/[CTX-1399] feat(ui): Hyprland-style Mod+LMB drag preview and reflow (#2337) #2343), Lua UI parity and scene primitives ([CTX-1419] feat(ui): reconcile Lua UI composition parity (#2191) #2385/[CTX-1419] fix(ui): keep overlay pill chrome and inherit root declaration (#2191) #2392/[CTX-1414] feat(ui): add candidate scene style primitives (#2112) #2363/[CTX-1416] feat(plugins): add candidate extension component catalog (#2114) #2369), plus the fixed items ([0.0.25] plugin enable hint: do not advertise scaffold for settings-less plugins #2384, [CTX-1425] fix(cli): point plugin next steps at canonical Lua settings (#2374) #2377, [CTX-1401] fix(render): block shaped coverage, cursor ligature un-shaping, block atlas key (#2315 #2316 #2317) #2339, [CTX-1410] fix(a11y): drain UiSnapshotHost notices after one ingest (#2352) #2361, [0.0.25] fix(plugins): keep routine plugin use out of OS notifications (#2336) #2341, [CTX-1393] fix(runtime): activation projection follow-ups #2328, [CTX-1400] fix(runtime): keep suspended policy-host generations suspended (#2325) #2338, fix(packaging): version the AUR cached binary filename #2353) and retired surfaces ([core-split] Retire legacy bitty-rich kitty placeholder stub #2358/[core-split] Decide bitty-rich wallpaper_theme: retire or wire (untouched by #2163) #2359, [0.0.25] Small-Core slimming umbrella: remaining retire-out candidates #2117, [core-split] Retire bitty-package distribution semantics into bitty-plugin-manager #1999).2d3ca14cverified reachable frombitty-terminal-docsorigin/main; docs [CTX-0176] fix(ux): per-pane shell sessions for split panes #280 and manual feat(runtime): wire plugin-host event pipeline into runtime cold path (CTX-0027) #49 (dashboard withdrawal cleanup) merged separately.After merge this commit is the frozen 0.0.25 candidate; tag/R2 publication waits for explicit owner approval.
Summary by CodeRabbit
New Features
Bug Fixes
Release
Changes