chore(deps): update ⬆️ mise-packages - #1057
Conversation
Renovate Release NotesGenerated from Renovate's update table by the Packages that cannot be summarized from GitHub releases are listed explicitly below. astral-sh/uv (aqua:astral-sh/uv)0.12.9: 0.12.9Release NotesReleased on 2026-09-01. PythonEnhancements
Performance
Bug fixes
Install uv 0.12.9Install prebuilt binaries via shell scriptcurl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/uv/releases/download/0.12.9/uv-installer.sh | shInstall prebuilt binaries via powershell scriptpowershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/uv/releases/download/0.12.9/uv-installer.ps1 | iex"Download uv 0.12.9Verifying GitHub Artifact AttestationsThe artifacts in this release have attestations generated with GitHub Artifact Attestations. These can be verified by using the GitHub CLI: gh attestation verify <file-path of downloaded artifact> --repo astral-sh/uvYou can also download the attestation from GitHub and verify against that directly: gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>cli/cli (aqua:cli/cli)v2.99.0: GitHub CLI 2.99.0Attach images and videos to issues and pull requestsThe repeatable # Attach files when creating or editing an issue
gh issue create --attach './repro.png#The error state'
gh issue edit 123 --attach ./walkthrough.mp4
# Attach files when creating or editing a pull request
gh pr create --attach ./before.png
gh pr edit 456 --attach ./after.png
# Attach files to comments
gh issue comment 123 --attach ./repro.png
gh pr comment 456 --attach ./result.mp4Repeat the flag to attach multiple files in a single invocation. Attachments are available on GitHub.com and GitHub Enterprise Cloud. For more information see https://gh.io/gh-attach and https://github.blog/changelog/2026-09-01-github-cli-media-in-issues-pull-requests-and-comments/ Worktree support extended to
|
| Release | Highlights |
|---|---|
| v0.27.10 | Auto-viewed files on scroll, annotation undo/redo, OpenCode 2 slash commands restored, npm 12 agent terminal fix |
| v0.27.9 | WebMCP browser-agent tools, HTML refresh from disk, host seams, lazy renderers, Windows uninstall fix |
| v0.27.8 | Pi keeps its prompt cache across plan transitions, thumbs-up returns to HTML annotation, embed picker seam |
| v0.27.7 | Pi host crash fix on Windows, Call Flow tree cap, jj fork-point base, plannotator knowledge skill + llms.txt |
| v0.27.6 | Live app annotation lands on Pi, one interaction model for HTML pages (same-day patch on v0.27.5) |
| v0.27.5 | Annotate your running app, Agent TUI placement, collapsed lockfiles, VS Code theme fix, Pi fixes |
| v0.27.4 | Portable Guided Review exports, guides.show share links, guide CLI, favicon switcher, jj Call Flow |
| v0.27.3 | Folder watcher freeze fix on large repos, first SBOM-attested release pipeline |
| v0.27.2 | Mobile plan and code review, Codex CLI 0.147 fix, folder annotate cold-start, configurable markdown extensions |
| v0.27.1 | Open-in-editor launch fix, file headers respect Viewed/Git-add visibility toggles |
| v0.27.0 | Call Flow analysis, --tailscale remote reviews, review panel remembers your view, Pi rebuild (breaking command rename), focus-mode shortcut |
| v0.26.8 | Placed comment markers on HTML pages, shift-click multi-select, live app annotation |
What's New in v0.27.11
A patch release with one important resource fix, one new safety net, and a CLI fix from a first-time contributor. Every change went through independent adversarial review and a six-agent QA sweep before tagging.
OpenCode servers no longer pile up in the background
If you had the opencode CLI installed, every Plannotator session quietly started an opencode serve process at launch, just to list OpenCode's models in the Ask AI dropdown. Ending a session with Ctrl-C never cleaned that process up, and every later session found the leftover server and loaded more state into it. Over a day of normal use this grew into a multi-gigabyte orphan process nobody started on purpose.
Three things changed. Nothing starts anymore until you actually select OpenCode in Ask AI; most users never do, and now never spawn it. When it does start, each session runs its own private server on its own port instead of sharing one, so sessions can never pile into each other. And the server is now closed when the session ends, including on Ctrl-C.
Two visible differences for OpenCode users of Ask AI: the model list fills in when you first select the provider instead of being preloaded, and you will see one opencode serve process per active Plannotator session rather than a shared one. Both are the intended shape of the fix.
Your submitted feedback is now archived locally
Every plan decision, code review submission, and annotate submission is now recorded on your machine, under ~/.plannotator/feedback/, organized by project. Each record is one line in an append-only index plus a readable markdown file holding your review text, the excerpts it quoted, and annotation metadata, with lightweight provenance such as file paths and the git ref under review.
The reason it exists: feedback used to be gone the moment it was sent. An agent times out, a terminal closes, and the review you wrote is unrecoverable. Now there is a durable record of everything you submitted, and a growing personal archive you can analyze or learn from over time. Herdr Annotate, the terminal-side annotator, writes to the same archive with its own client label, so both tools build one history.
The archive stays on your machine and is never transmitted. It is on by default; set PLANNOTATOR_FEEDBACK_HISTORY=0 (or "feedbackHistory": false in ~/.plannotator/config.json) to turn it off, and delete ~/.plannotator/feedback/ to forget what is there. The privacy page documents it. The write path is deliberately fail-safe: if the archive cannot be written for any reason, your feedback still submits exactly as before.
A typo'd command now tells you instead of hanging forever
plannotator annotatte README.md used to print nothing and hang until killed, because an unrecognized subcommand fell through to the plan-review hook path, which waits for hook data on stdin that never arrives from a terminal. An unknown subcommand now exits immediately with the misspelled word, a "Did you mean" suggestion, and a pointer to --help. A registry test scrapes the real dispatcher so the known-command list can never drift and reject a valid command.
Contributed by @SumeraMartin in #1444, whose diagnosis of the stdin fallthrough was exact, in their first contribution to the project.
Additional Changes
@​plannotator/ui0.35.2 (with@​plannotator/core0.25.1): hosts embedding the annotation UI can hide the Quick Label tool via the newhideQuickLabelprop onAnnotationToolstrip(forwarded byStickyHeaderLane). Default off; Plannotator's own surfaces are unchanged. #1442. Two broken publishes were caught and corrected the same day: 0.35.0 shipped an unresolvableworkspace:*dependency, and 0.35.1 imported a core export the published core 0.25.0 did not contain. The source manifest now pins the exact core version, core 0.25.1 ships the missing exports, and CI installs the packed tarballs outside the monorepo and verifies real imports, TypeScript compilation, and a Vite build, so both failure classes are structurally closed. Use 0.35.2; 0.35.0 and 0.35.1 are deprecated. #1446, #1447- Privacy page: plannotator.ai/privacy now documents the local feedback archive, what a record contains, and how to disable or delete it.
Install / Update
macOS / Linux:
curl -fsSL https://plannotator.ai/install.sh | bashWindows:
irm https://plannotator.ai/install.ps1 | iexClaude Code Plugin: Run /plugin in Claude Code, find plannotator, and click "Update now".
Pi: Update @​plannotator/pi-extension to 0.27.11 and restart Pi.
OpenCode: Clear cache and restart:
rm -rf ~/.bun/install/cache/@​plannotatorWhat's Changed
- fix(ai): stop leaking opencode serve processes in #1445
- feat(server): durable feedback archive for every submitted review in #1438
- fix(cli): exit on an unknown subcommand instead of blocking on stdin by @SumeraMartin in #1444
- feat(ui): allow hosts to hide Quick Label in #1442
- fix(ui): publish exact core dependency in #1446
- fix(packages): publish annotation thread exports in #1447
New Contributors
- @SumeraMartin made their first contribution in #1444
Community
@SumeraMartin found the unknown-subcommand hang, diagnosed the exact stdin fallthrough that caused it, and shipped the fix with a drift-proof test suite in a first contribution that merged as written. The opencode leak was caught during our own multi-agent operations when a monitoring session flagged a multi-gigabyte orphan process, and the feedback archive grew out of repeated user reports of reviews lost to agent timeouts.
Thank you. Plannotator gets better because you tell us where it falls short.
Full Changelog: backnotprop/plannotator@v0.27.10...v0.27.11
max-sixty/worktrunk (github:max-sixty/worktrunk)
v0.76.0: 0.76.0
Release Notes
Improved
-
wt switch --executetakes a program, not a shell string:-xnames one program, with everything after--passed as literal argv. Worktrunk spawns it as a child rather than running it in your interactive shell, so shell functions and itscdno longer reach you.-x sh -- -c '…'recovers shell syntax, not functions. (Breaking: existing-xstrings, plusWORKTRUNK_DIRECTIVE_EXEC_FILEandWORKTRUNK_SHELL.) (#3977, closes #2860, fixes #3944, thanks @omgreenfield for testing the migration path) -
Worktrunk decides tracking for the branches it creates: a new branch gets an upstream only when its name matches the remote branch it starts from, whatever
branch.autoSetupMergesays:--create release --base origin/releasetracks,--create feature --base origin/releasedoes not. UnderautoSetupMerge = falsethis previously exited 128 after creating the worktree. (#3913, #3950, fixes #3937, thanks @mjakl for reporting and diagnosing) -
Retired config keys are no longer read:
commit.generation.template-fileandsquash-template-fileare gone — put the file's contents intemplateorsquash-template. There is no migration: the key stays, warns as unknown on every load, and the prompt reverts to the built-in default. Setting bothtemplateandtemplate-fileused to fail the load; it now loadstemplate.switch.picker.timeout-mslikewise warns rather than being stripped. (Breaking.) (#3949) -
Project aliases and hooks can use
wt switch --execute: their bodies previously refused it. Worktrunk now starts the program itself instead of handing shell text to your shell, and the command-approval gate remains the control on project-defined commands. (#3977) -
Established automation and LLM customization interfaces are now stable:
wt step eval,wt step for-each,wt step prune, LLM branch summaries,wt config state vars, andcommit.generation.template-appendare no longer marked experimental. (#3949) -
wt step prunestages removals concurrently again: only thegit worktree removeteardowns serialize, so dirty checks, fsmonitor shutdown, and the trash rename overlap. Theprune_e2e/livebenchmark median went from 377 ms to 222 ms. (#3954) -
wt config approvals addreads as a review rather than a warning: it opens with a cyanReview 1 command for repo:instead of a yellow▲ … needs approval to execute. The execution-time gate is unchanged. (#3953)
Fixed
-
The
wt switchpicker survives a preview longer than 65,535 lines: skim keeps the pane's line count in au16, so a larger diff abortedwtwith exit 101 seconds after it painted — on screen the picker looked like it closed by itself. Panes now cap at 60,000 lines and say so. (#3959, fixes #3958, thanks @sandertammesoo for reporting and diagnosing) -
The nushell wrapper propagates exit codes without a POSIX shell: it reported a failing
wtby spawningsh, so on Windows every failing command printed aCommand `sh` not foundtrace and exit 1 whatever the real code was. Nushell's wrapper is a static file, so rerunwt config shell installto pick this up. (#3945) -
The picker no longer shows one detached worktree's diff for another: previews were keyed by branch name, so every detached row shared the key
(detached). Rows now key by canonical identity, which also letswt remove feature ~/repo.featureplan that worktree once instead of failing on the second. (#3926) -
wt switch pr:<n>givespre-switchhooks the real branch:branchandtargetheld the literalpr:3933, andtarget_worktree_pathwas unset even when that branch had a worktree.pr_numberandpr_urlare now set for same-repo PRs, not only forks. (#3941, fixes #3934, thanks @robsonpeixoto for reporting) -
wt config shell installno longer replaces an rc file created while it was checking: the missing-file path refuses to clobber and fails with a rerun hint. A dangling rc symlink is preserved and rejected rather than overwritten. (#3929) -
wt switch --create X --base pr:<n>works when the PR branch has no local branch: the fetch writes only the remote-tracking ref, and git won't expand a bare name to one, so the command failed withNo branch, tag, or commit named …. The base is now named under its remote. (#3951) -
wt switch --createstreamsgit worktree addinstead of stalling: where a sandbox denied the timed wait's pipe orsigaction, the command waited out git's entire run and then reportedFailed to wait for commandfor work that had already succeeded. (#3881) -
Claude Code activity markers stay on the session's launch worktree: the plugin's marker hooks pass
-C "$CLAUDE_PROJECT_DIR", so acdmid-session no longer marks another repository. A session launched outside a repository gets no marker. (#3956)
Documentation
-
--executedocuments how to get a variable into a shell body: each position is substituted verbatim, so a variable spliced intosh -ctext is re-parsed by that shell and splits on spaces. The help now shows passing it as a separate argument and referencing it positionally. (#3977) -
The clone-local default-branch override is documented:
wt config state default-branch setwritesworktrunk.default-branchto the clone's local git config — machine-local, never committed, and shared by every linked worktree.setwarns when the branch isn't checked out locally, andwt listskips its comparisons until it is. (#3947, #3948, fixes #3946, thanks @danielo515 for the request) -
The docs site renders code with the CLI's own colors: terminal examples reproduce each snapshot's exact ANSI roles, while command references and the homepage command comparison get clap and shell syntax color from paired light/dark themes. File excerpts gain a path tab, and code wraps instead of scrolling on mobile. (#3936, #3938, #3939, #3942)
-
The
pre-startupstream example uses--base: it showedwt switch --create feature origin/feature, whichwt switchrejects. (#3955)
Internal
-
Library API rework (Breaking library API):
cargo-semver-checksfails ten lints —RemoteRefProviderand its provider structs give way toForgeKinddispatch, the--executerework retires the fish and PowerShellShellEscapeModeescapes andWORKTRUNK_SHELL_ENV_VAR,BranchRefswapsfull_ref/worktree_pathforid, and accessors includingBranch::unset_upstreamandProjectConfig::ci_platformare gone. (#3913, #3926, #3949, #3963, #3977) -
Hook pipelines and
wt listcollection lost two indirection layers: the background pipeline carriesPreparedStepdirectly, and 15 marker task types collapse into one exhaustive dispatch. The synthesized---forcesubmodule path keeps its dirty re-check and destructive command under one lock, so prune's narrower locking doesn't widen that window. (#3964, #3954)
Install worktrunk 0.76.0
Install prebuilt binaries via shell script
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.76.0/worktrunk-installer.sh | sh && wt config shell installInstall prebuilt binaries via powershell script
powershell -ExecutionPolicy Bypass -c "irm https://github.com/max-sixty/worktrunk/releases/download/v0.76.0/worktrunk-installer.ps1 | iex"; git-wt config shell installInstall prebuilt binaries via Homebrew
brew install worktrunk && wt config shell installDownload worktrunk 0.76.0
| File | Platform | Checksum |
|---|---|---|
| worktrunk-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| worktrunk-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| worktrunk-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| worktrunk-aarch64-unknown-linux-musl.tar.xz | ARM64 MUSL Linux | checksum |
| worktrunk-x86_64-unknown-linux-musl.tar.xz | x64 MUSL Linux | checksum |
Install via Cargo
cargo install worktrunk && wt config shell installInstall via Winget (Windows)
winget install max-sixty.worktrunk && git-wt config shell installInstall via AUR (Arch Linux)
paru worktrunk-bin && wt config shell install
nolabs-ai/nono (github:nolabs-ai/nono)v0.75.0: v0.75.0What's Changed
New Contributors
Full Changelog: nolabs-ai/nono@v0.74.0...v0.75.0 SocketDev/socket-cli (npm:socket)v1.1.166: v1.1.166What's Changed
Full Changelog: SocketDev/socket-cli@v1.1.165...v1.1.166 v1.1.165: v1.1.165What's Changed
Full Changelog: SocketDev/socket-cli@v1.1.164...v1.1.165 v1.1.164: v1.1.164What's Changed
Full Changelog: SocketDev/socket-cli@v1.1.163...v1.1.164 semgrep/semgrep (pipx:semgrep)v1.176.0: Release v1.176.01.176.0 - 2026-09-01### Changed
jdx/usage (usage)v6.6.1: v6.6.1: Cleaner plain help and smarter flag completionA small bugfix release focused on help rendering and shell completion. Plain help output no longer leaks embedded ANSI escapes, root-only help metadata stays on the root page, and completion now handles attached Fixed
New Contributors
Full Changelog: jdx/usage@v6.6.0...v6.6.1 💚 Sponsor usageusage is built and maintained by @jdx, an open source developer at entire.io, the title sponsor of his open source work. If Skipped PackagesGitHub Release Notes Unavailable
|
This PR contains the following updates:
0.12.8→0.12.90.12.102.98.0→2.99.02.100.01.50.0→1.50.1rust-v0.152.0→rust-v0.152.1rust-v0.153.4(+4)1.18.25→1.18.261.18.29(+2)0.210.0→0.211.00.213.0(+2)v2.1.252→v2.1.258v2.1.263(+3)v0.27.10→v0.27.11v0.27.12v0.18.5→v0.18.6v0.18.8(+1)v0.75.0→v0.76.0v0.74.0→v0.75.01.27.0→1.27.11.1.163→1.1.1661.1.1671.175.0→1.176.01.176.16.6.0→6.6.16.7.1(+1)Release notes are maintained in a PR comment by the
renovate-release-notes-commentworkflow.Configuration
📅 Schedule: (in timezone America/Los_Angeles)
* 3-5 * * *)🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.