Skip to content

chore: v0.10.0 release prep — second review round, README, CI manifest check - #183

Merged
mortenaslo merged 1 commit into
mainfrom
chore/v0.10.0-release-prep
Nov 6, 2026
Merged

mortenaslo merged 1 commit into
mainfrom
chore/v0.10.0-release-prep

Conversation

@mortenaslo

Copy link
Copy Markdown
Contributor

Summary

Last changes before tagging v0.10.0: fixes from a second review round, the README brought up to date with this release, and a CI guard on the shipped exe.

Why

Second review round, with fresh eyes on #182's fixes. Worktree remove's nested-repo guard had two gaps:

  • It failed open. ListWorktreesAsync returns empty on any git error, which read as "nothing nested". It now refuses unless the freshly read list contains the target.
  • It only saw this repo's own worktrees. An independent clone, or another repo's worktree, sitting in an ignored folder was still deleted. GitWorktrees.NestedRepositories now scans the folder for any .git of its own. It doesn't follow junctions, never walks into .git, and refuses if it hits its folder cap.

Release-facing review:

  • Packaging, upgrade from 0.9.0 and state.json compatibility: all fine.
  • README: it didn't mention this release's features.
  • CI: nothing checked that the shipped exe carries the DPI manifest.

Implementation notes

  • README: added the git chip and menu, the Worktrees menu, Open in VS Code / Explorer / PowerShell, drag-and-drop ordering, and the full bulk-action list.
  • Worktree rating: README and docs/comparison.md now say "one click, not automatic".
  • CI: build.yml fails the tag build if the published exe lacks the PerMonitorV2 manifest. I checked by hand that a local single-file publish keeps it, runs per-monitor aware, and works with a live session.
  • Stale comment fixed: restart is no longer the only removeOnFailure: false caller.

Test plan

  • New tests: an independent clone and a submodule are found; a plain worktree and a junction to a repo are not; hitting the cap returns null.
  • 765/765.
  • End-to-end Remove worktree re-run in the app: the folder, the merged branch and the session are all gone.
  • Release single-file publish run by hand: version 0.10.0, per-monitor DPI, the terminal starts, the chip and { } are present.

🤖 Generated with Claude Code

https://claude.ai/code/session_01NsYm9iLc2aRnRDfV2uZRQX

…check

Second-round review (fresh eyes on the #182 fixes) and a release-facing review:

- Worktree remove's nested check failed OPEN: ListWorktreesAsync returns empty on
  any git error, which read as "nothing nested". It now refuses unless the
  freshly read list contains the target.
- It only saw worktrees registered with the same repo. An independent clone or
  another repo's worktree in an ignored folder was still deleted silently.
  GitWorktrees.NestedRepositories scans the folder for any .git of its own (no
  junction following, never into .git, capped — over the cap it refuses).
- Stale comment: restart is no longer the only removeOnFailure: false caller.

Docs: README feature list gains the git chip/menu, Worktrees menu, Open in VS
Code / Explorer / PowerShell, drag-and-drop ordering and the full bulk-action
list; worktrees re-rated "one click, not automatic" in README and comparison.

CI: after Publish, fail if the SHIPPED exe lacks the PerMonitorV2 manifest — the
unit test only pins it into the build output (verified by hand that the
single-file publish keeps it).

Tests: independent clone + submodule found, plain worktree and a junction to a
repo not, cap returns null. 765/765. End-to-end remove re-run in the app.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NsYm9iLc2aRnRDfV2uZRQX
@mortenaslo
mortenaslo merged commit f378290 into main Nov 6, 2026
1 check passed
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