Skip to content

[0.0.25] chore(release): bump workspace to 0.0.25 and finalize changelog - #2401

Merged
Xuepoo merged 1 commit into
mainfrom
cmd/release-025
Oct 21, 2026
Merged

Xuepoo merged 1 commit into
mainfrom
cmd/release-025

Conversation

@Xuepoo

@Xuepoo Xuepoo commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

Release preparation for 0.0.25.

After merge this commit is the frozen 0.0.25 candidate; tag/R2 publication waits for explicit owner approval.

Summary by CodeRabbit

  • New Features

    • Added shell integration, profile-backed startup, interactive surfaces, and Lua-based UI composition.
    • Added Windows named-pipe communication and bounded extension installation.
    • Improved plugin execution, layout handling, and blur-radius validation.
  • Bug Fixes

    • Fixed pane teardown and issues affecting plugins, rendering, accessibility, notifications, activation, policy hosts, and AUR behavior.
  • Release

    • Updated the application and packaging metadata to version 0.0.25.
  • Changes

    • Removed unwired rich-text surfaces and Core dependency resolution.

@Xuepoo Xuepoo added this to the 0.0.25 milestone Oct 21, 2026
@Xuepoo Xuepoo added chore Chore / maintenance P0 Priority: highest area:release Area: release preparation labels Oct 21, 2026
@coderabbitai

coderabbitai Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: Repository UI (base), Organization UI (inherited)
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 997ef75b-da6b-4b26-af9f-0ece835b115f
📥 Commits

Reviewing files that changed from the base of the PR and between 6a864db and bcc2127.

⛔ Files ignored due to path filters: 2
  • Cargo.lock is excluded by !**/*.lock
  • packaging/PKGBUILD.bin is excluded by !**/*.bin
📒 Files selected for processing: 15
  • CHANGELOG.md
  • Cargo.toml
  • README.md
  • crates/bitty-config/Cargo.toml
  • crates/bitty-plugin-host/Cargo.toml
  • crates/bitty-pty/Cargo.toml
  • crates/bitty-render/Cargo.toml
  • crates/bitty-rich/Cargo.toml
  • crates/bitty-runtime/Cargo.toml
  • crates/bitty-term-state/Cargo.toml
  • crates/bitty-terminal/Cargo.toml
  • crates/bitty-ui/Cargo.toml
  • flake.nix
  • nfpm.yaml
  • packaging/PKGBUILD

Included review availability: This review used your included allowance. Your plan provides up to 1 included review per hour; 0 remain after this review.

📝 Walkthrough

This release update sets workspace, crate, and packaging versions to 0.0.25. It also adds changelog entries that describe release additions, removals, and fixes.

Changes: 0.0.25 Release

Layer / File(s) Summary
Synchronize release versions
Cargo.toml, crates/*/Cargo.toml, README.md, flake.nix, nfpm.yaml, packaging/PKGBUILD
Workspace and crate dependency versions, the documented release line, and packaging versions change from 0.0.24 to 0.0.25.
Record 0.0.25 release changes
CHANGELOG.md
The changelog records release additions, removals, and fixes, including shell integration, initialization, extension handling, Windows IPC, UI composition, and renderer and plugin fixes.

Priority: ➖ Normal

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Other

Possibly related issues

Merge Risk: ⚪ Minimal · up to bcc21

No actionable merge-blocking risk was identified in the release updates.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly identifies the 0.0.25 release, the workspace version update, and changelog finalization. These match the primary changes in the pull request.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (15 skipped: 15 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Xuepoo Xuepoo left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.lock also re-resolves windows-sys for errno, os_pipe, rustix, tempfile, winapi-util (0.52.0 -> 0.61.2). Valid per >=0.52,<0.62 and cargo metadata --locked is clean, but it is unrelated to the bump; keep only if intentional.
  • Root Cargo.toml:67 comment still says "0.0.24 path crates".
  • ### Removed sits 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; no 0.0.24 left in any manifest or lock entry.
  • cargo metadata --locked --offline -> exit 0; cargo check --locked --offline -p bitty-config -> exit 0 (build log shows bitty-* 0.0.25).
  • Date 2026-10-21; docs gitlink 2d3ca14cb5d3b5d6a6786ab8d5a67e8c86379ee9 is an ancestor of bitty-terminal-docs origin/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 in component_seed.rs), #2351 (named pipe in ipc_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.

@Xuepoo

Xuepoo commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

Review dispositions for head ef089305:

  1. Packaging version gate (blocker): fixed before this re-review landed. nfpm.yaml, packaging/PKGBUILD, packaging/PKGBUILD.bin, the flake.nix fallback, and the README release line are all 0.0.25; scripts/check-release-version.sh exits 0 with PASS. The reviewed head 0f0af956 predates that amend.
  2. [core-split] Retire bitty-package distribution semantics into bitty-plugin-manager #1999 overstatement (blocker): reworded to "retired from Core; their replacement in bitty-plugin-manager is deferred, so no component currently owns them."
  3. Cargo.lock churn (nit): restored the base lock and re-applied only the 17 workspace-member version lines; git diff origin/main -- Cargo.lock is now exactly 17 × 0.0.24 -> 0.0.25, and cargo metadata --locked --offline passes. The windows-sys re-resolution is gone.
  4. Other nits: Cargo.toml comment now says 0.0.25 path crates; ### Removed moved before ### Fixed (Keep a Changelog order); [core-split] Retire legacy bitty-rich kitty placeholder stub #2358/[core-split] Decide bitty-rich wallpaper_theme: retire or wire (untouched by #2163) #2359 now cite delivering PR [CTX-1415] chore(architecture): retire bitty-rich kitty stub and wallpaper_theme (#2358, #2359) #2365 and [0.0.25] Small-Core slimming umbrella: remaining retire-out candidates #2117 cites [CTX-1412] chore(architecture): retire unwired bitty-rich surfaces (#2117) #2357.

Please re-review ef089305.

@Xuepoo Xuepoo left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:46 fallback, README.md:5 all read 0.0.25 at ef089305; all five files are in the PR diff (17 files changed).
  • Blocker 2 (#1999 wording): CHANGELOG.md:98-100 now reads "package-distribution resolution semantics are retired from Core; their replacement in bitty-plugin-manager is deferred, so no component currently owns them."
  • Nit (root Cargo.toml comment): 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 Xuepoo left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.sh on a clean detached worktree of ef089305 -> 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 fallback flake.nix:46 ... or "0.0.25"; README release line v0.0.25.
  • Blocker 2 corrected in CHANGELOG.md: "package-distribution resolution semantics are retired from Core; their replacement in bitty-plugin-manager is 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.

@Xuepoo Xuepoo left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 Xuepoo left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

  1. Release version gate — fixed. nfpm.yaml, packaging/PKGBUILD, packaging/PKGBUILD.bin, flake.nix fallback, and README.md now all say 0.0.25; scripts/check-release-version.sh --tag v0.0.25 prints PASS and exits 0.
  2. #1999 wording — fixed. The Removed entry now says resolution semantics are retired from Core and that the bitty-plugin-manager replacement is deferred, so no component currently owns them.

Delta checks

  • Cargo.lock: git diff origin/main...HEAD -- Cargo.lock is exactly the 17 workspace-member version lines (0.0.24 -> 0.0.25); the unrelated windows-sys re-resolution is gone. cargo metadata --locked --offline exits 0 and reports 17 packages at 0.0.25.
  • CHANGELOG: section order is now Added, Changed, Removed, Fixed; the profile bullet claims only --profile NAME, --migrate, and BITTY_PROFILE (no --from anywhere in the file), and the minimal/dark/light preset names plus custom names match InitProfilePreset::parse and validate_profile_name. #2358/#2359 now cite #2365, #2117 cites #2357. just markdownlint CHANGELOG.md -> 0 issues.
  • Root Cargo.toml comment updated to "0.0.25 path crates"; no 0.0.24 remains 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.

@Xuepoo

Xuepoo commented Oct 21, 2026

Copy link
Copy Markdown
Contributor Author

Base moved after this review

This verdict covers head 6dc4f827 against base 2e0077a1. While CI was finishing, origin/main advanced to 6a864db0:

The PR now reports mergeStateStatus=behind; strict protection requires a rebase and a fresh CI run, and the rebase will change the head (this approval does not carry over). Both new commits carry their own 0.0.25 CHANGELOG entries (e.g. #2349 under Fixed), so check the merged 0.0.25 section for conflicts/duplication, then re-run scripts/check-release-version.sh --tag v0.0.25 and the full check set on the rebased head.

Content of the reviewed delta is still APPROVE.

@Xuepoo Xuepoo left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 is 6a864db0 (up to date, mergeable=true).
  • git diff --name-status origin/main...HEAD is still the same 17 release files; no .rs changes. The only tree delta versus 6dc4f827 is 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, and packaging/* are byte-identical to the reviewed 6dc4f827.
  • scripts/check-release-version.sh --tag v0.0.25 -> PASS, exit 0.

CHANGELOG

  • ### Removed is before ### Fixed; order is Added, 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_grid gates the three close branches in chrome_keys.rs (WS-INV-8 precedence, matches the #2404 commit), and the #2349 entry matches symlink_metadata legacy bounds / --migrate value-flag refusal.
  • just markdownlint CHANGELOG.md -> 0 issues.

Lockfile / scope

  • git diff origin/main...HEAD -- Cargo.lock is only the 17 workspace-member version lines (34 +/- lines); no dependency re-resolution.
  • cargo metadata --locked --offline exits 0; 17 packages at 0.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.

@Xuepoo
Xuepoo merged commit 7e1ac5e into main Oct 21, 2026
18 checks passed
@Xuepoo
Xuepoo deleted the cmd/release-025 branch October 21, 2026 13:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:release Area: release preparation chore Chore / maintenance P0 Priority: highest

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant