Skip to content

chore(deps): update ⬆️ mise-packages - #1022

Merged
renovate[bot] merged 2 commits into
mainfrom
renovate/mise-packages
Aug 17, 2026
Merged

chore(deps): update ⬆️ mise-packages#1022
renovate[bot] merged 2 commits into
mainfrom
renovate/mise-packages

Conversation

@renovate

@renovate renovate Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Type Update Change Pending
aqua:jesseduffield/lazygit tools patch 0.64.00.64.1
aqua:sst/opencode tools patch 1.18.161.18.18
github:anthropics/claude-code tools patch v2.1.228v2.1.231 v2.1.233 (+1)
github:backnotprop/plannotator tools minor v0.26.8v0.27.1 v0.27.3 (+1)
github:janosmiko/lfk tools minor v0.16.1v0.17.0 v0.17.3 (+2)
github:max-sixty/worktrunk tools minor v0.72.0v0.73.0 v0.74.0

Release notes are maintained in a PR comment by the renovate-release-notes-comment workflow.


Configuration

📅 Schedule: (in timezone America/Los_Angeles)

  • Branch creation
    • Between 03:00 AM and 05:59 AM (* 3-5 * * *)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate
renovate Bot requested a review from scottames as a code owner August 17, 2026 10:07
@renovate
renovate Bot enabled auto-merge (squash) August 17, 2026 10:07
@scottames-github-bot

Copy link
Copy Markdown
Contributor

Renovate Release Notes

Generated from Renovate's update table by the renovate-release-notes-comment workflow.

Packages that cannot be summarized from GitHub releases are listed explicitly below.

jesseduffield/lazygit (aqua:jesseduffield/lazygit)

v0.64.1: v0.64.1

Compare Source

What's Changed

This fixes a few regressions that were introduced in the last release, and some long-standing bugs that I didn't see any reason to hold back until the next big one.

Fixes 🔧

Maintenance ⚙️

Full Changelog: jesseduffield/lazygit@v0.64.0...v0.64.1

sst/opencode (aqua:sst/opencode)

v1.18.18: v1.18.18

Compare Source

Core

Bugfixes

  • Select the Kimi system prompt correctly for official Moonshot and Kimi providers
  • Fix xhigh reasoning effort for xai models

v1.18.17: v1.18.17

Compare Source

Core

Bugfixes

  • Made session compaction keep complete recent turns and produce clearer summaries for smaller models.
  • Added MERGE Gateway reasoning variants so those model options work correctly. (@​MatthewFeroz)
  • Capped automatic session retries and added jitter to reduce repeated retry storms.
  • Enabled PDF attachments for GitHub Copilot models that advertise PDF vision support. (@​stevenao)
  • Applied the correct sampling defaults to DeepSeek V4 Flash on supported providers.
  • Routed all Muse family models to the correct Meta system prompt. (@​mreso)

Desktop

Bugfixes

  • Updated Chinese developer terminology to use more widely recognized translations.
  • Used the server's current default model instead of stale local config when choosing the default model.

Thank you to 6 community contributors:

  • @​mreso:
    • fix(session): route all Muse family models to the Meta system prompt (#41581)
  • @​OpeOginni:
    • fix(ui): correct OC-2 weak icon color (#41504)
  • @​peculiarnewbie:
    • feat(console): add go usage endpoint (#16513)
  • @​stevenao:
    • fix(opencode): detect Copilot PDF input support (#41522)
  • @​MatthewFeroz:
    • fix(provider): add Merge Gateway reasoning variants (#41867)
  • @​skyzhao1223:
    • docs: fix broken DigitalOcean and Daytona links (#42048)
    • docs: fix provider display name and PAT typos (#42034)
anthropics/claude-code (github:anthropics/claude-code)

v2.1.231: v2.1.231

Compare Source

What's changed

  • Fixed MCP OAuth sign-in failing with a redirect URI mismatch for servers that use a pre-registered OAuth client, such as Slack

v2.1.229: v2.1.229

Compare Source

What's changed

  • Documented claude remote-control --continue for resuming the most recent Remote Control session
  • Added server-supplied Claude Code hook support for self-hosted runner sessions, matching managed-environment behavior
  • Added SSE keepalive pings to gateway streaming responses during long thinking pauses, preventing idle-timeout disconnects on Vertex and Bedrock upstreams
  • Added plugin marketplace command sources: a local command (e.g. an IDE) prints the plugin directory, which is re-resolved each session and applied without a restart; mode: "link" uses it in place
  • ListAgents now marks disconnected Remote Control sessions as offline and labels your cloud sessions as cloud
  • Fixed long responses partly disappearing while streaming and being printed twice in the terminal
  • Fixed a crash to the error screen (including on --resume of the affected session) when a tool call had a non-string glob, file_path, or command value
  • Fixed a RangeError crash when a progress bar or markdown table rendered in a very narrow terminal window (could also crash claude --continue/--resume at startup)
  • Fixed a crash on Windows when a tool call or message referenced a file by an extended-length (\\?\) or UNC path
  • Fixed auto mode failing on every tool call for users who disable the attribution header via CLAUDE_CODE_ATTRIBUTION_HEADER (direct Anthropic API connections)
  • Fixed /model rejecting Sonnet/Opus 1M for claude.ai subscribers using a custom ANTHROPIC_BASE_URL gateway
  • Fixed MCP OAuth with strict authorization servers by using 127.0.0.1 instead of localhost in the redirect URI
  • Fixed Remote Control clients showing a stuck working spinner after a slash command typed in the laptop terminal
  • Fixed the Claude Code Review workflow generated by /install-github-app completing without posting its review on the pull request
  • Fixed multi-second UI stalls after editing a file with thousands of IDE diagnostics while the IDE extension is connected
  • Fixed one-shot claude plugin commands leaving a stray liveness file that could prevent cleanup of outdated plugin versions
  • Fixed dynamic workflows inside CPU-limited containers using the host machine's core count instead of the container's CPU limit
  • Fixed a file-watcher handle leak after atomic file replacements, and an uncaught error on Windows when the scheduled-tasks watcher failed on a network or virtual filesystem
  • Fixed SDK and --input-format stream-json sessions getting a 400 API error when a whitespace-only message was submitted
  • Fixed conversations whose messages alone exceed the API's 32 MB request limit retrying compaction when no images or documents can be stripped; they now fail once with a clear message
  • Fixed OpenTelemetry export from Claude Desktop sessions being rejected by the Desktop-managed gateway when that gateway is also the telemetry endpoint
  • Fixed self-hosted runner and other remote sessions exiting at startup when managed-mcp.json is deployed and the server delivers MCP servers; those servers are now skipped with a warning
  • Fixed self-hosted runner repository preparation hanging on a Git Credential Manager prompt; git now fails fast when credentials are missing
  • Improved workflow fan-outs to stagger same-prefix sibling agents so subsequent agents read the cached prompt prefix instead of re-paying it (CLAUDE_CODE_WORKFLOW_PREFIX_STAGGER_MS=0 disables)
  • Improved "prompt is too long" errors to explain why automatic compaction could not recover instead of only suggesting /compact
  • Improved sandbox: IPv6 literals in network domain lists are now bracketed ([::1]:443), and ambiguous spellings are enforced fail-closed and flagged by /doctor
  • Updated /login to repeat the CLAUDE_CODE_OAUTH_TOKEN override warning after a successful login
  • Changed /commit-push-pr so git/gh commands with dangerous flags (--force, --amend, --no-verify, etc.) are no longer auto-approved
  • Changed self-hosted runner Windows startup to require an explicit --base-dir; there is no default checkout directory on Windows
  • [VSCode] "Report a problem" and /bug now open the built-in feedback dialog instead of a retired survey link
  • [VSCode] Made the /btw side-question panel resizable by dragging its boundary, in both side-docked and stacked layouts
  • [VSCode] Added session groups in the sidebar — right-click to create, rename, or delete; Cmd/Ctrl- or Shift-click to move several sessions at once
backnotprop/plannotator (github:backnotprop/plannotator)

v0.27.1: v0.27.1

Compare Source

Follow @​plannotator on X for updates

Missed recent releases?
Release Highlights
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
v0.26.7 Pinpoint targets any element on HTML pages, smarter hover labels, zero-scan hit testing
v0.26.6 Fixed empty environment variables in sandboxed sessions (Bun 1.3.14 builds)
v0.26.5 HTML pinpoint element annotations, durable annotate submissions, installer fallback for old git, vim HUD cursor fix
v0.26.4 Skill-menu hover jitter fix (same-day patch on v0.26.3)
v0.26.3 Skill references in comments with / or $, reachable remote session URLs, worktree switcher tooltips
v0.26.2 Single-file diff tabs render fully, no more silently dropped review files, light/dark theme pairs, palette-matched code blocks
v0.26.1 GitButler 0.22.0 compatibility via capability-probed JSON flags
v0.26.0 Edit Mode (suggest by editing the diff), Guided Review virtualization, colorblind theme, safe uninstall, installer opt-outs, OpenCode 2 support
v0.25.1 Codex no longer launches on review open, annotate-last follows the live conversation, pi-todos mirror, Claude Opus 5, abandoned-gate dismissal
v0.25.0 Vim keyboard controls, Approve with Notes, scriptable annotate gates, persistent Guided Reviews, memory and file-watching hardening

What's New in v0.27.1

Two fixes on top of v0.27.0. If you are coming from an earlier version, the full v0.27.0 notes follow below; v0.27.1 is that release plus:

Open in editor no longer breaks after repeated sessions

Community-reported: the open-in-editor button in code review could stop working after a few review cycles. Two defects were behind it. The launch call waited on the editor command with no time limit, so a lingering editor CLI left the button as a dead spinner. And the launched editor shared the review session's process group, so an editor cold-started from the button could be killed along with the session, which can strand the editor's own single-instance state and make every later open a silent no-op. Editor launches are now fully detached into their own process group and the wait is bounded: instant failures still show the friendly error, and a healthy launch can never hang the button or die with the session.

File headers respect the Viewed and Git-add visibility toggles

v0.27.0 added toggles to hide the Viewed and stage controls in the file tree, but the same controls still appeared in every file header in the diff. Toggling a control off now hides it everywhere: tree, sections, file headers, and guide file cards. Viewed state and the V/A keyboard shortcuts are unaffected.


What's New in v0.27.0

This is the largest release since v0.25.0: Call Flow analysis for code review, a first-class Tailscale story for reviewing from another device, a rework of the review panel around how people actually switch views, and a rebuilt Pi integration. Fourteen PRs landed. Every feature went through independent review, and the release as a whole passed two full QA sweeps (a 28-item verification workflow plus live journey, seam, and free-roam testing) before tagging.

[!IMPORTANT]
Breaking change for Pi users: the Pi plan-mode command is renamed /plannotator/plannotator-plan-mode. The old command no longer does anything. Update any saved workflows or muscle memory. See the Pi section below for why.

Call Flow: see the call paths your diff changes

Code review gets a third analysis layer alongside semantic diff: Call Flow, powered by CallDiff (AST-based, built with Tree-sitter, 22 languages supported). Enable it and the review computes, for the changeset on screen, every call path that gained or lost a call: trees rooted at your entry points, walking down to the exact functions the diff touched. A tax calculation moving from before a discount to after it shows up as a removed call and an added call in the same tree, rendered across every route that reaches it. A text diff cannot show you that.

Enabling Call flow is consent for a small managed runtime install (about 5 MB: a pruned CallDiff core plus only the language packs your changed files need). The install runs in the background while you review; missing languages install themselves later under the same consent, and a Languages list supports installing ahead. Nothing is downloaded unless you opt in, the app works fully without it, and a failed install degrades to a clear retry, never a broken review.

The path view organizes into collapsible entry sections with changed-path defaults and file boundaries. Every Call Flow row is commentable: click a row to start a comment, shift-click to collect multiple steps into one annotation. Comments on rows inside the visible diff anchor inline; rows outside it become file- or review-scoped feedback with the full call context preserved for your agent. A searchable raw view with a color-classified rendering is there when you want the unprocessed output, and Cmd+F inside the panel searches the analysis rather than the file tree.

Review from your iPad: --tailscale mode, tailnet auto-detection, and a QR code

Two community threads asked the same question from different directions: can I run the agent on my Mac and do the review from an iPad, and can I get a diff out of a VPS without SSH port-mapping gymnastics. @​nikuscs went as far as building a proof-of-concept wrapper script. As of this release the answer is built in:

plannotator review --tailscale

The server stays bound to localhost. Plannotator runs tailscale serve in front of it, prints an HTTPS URL that works on every device in your tailnet, and renders a QR code in the terminal so a phone or tablet joins by pointing a camera at it. The serve mapping is cleaned up when the session ends, an existing mapping on the port is never stolen, and if Tailscale is not installed the command fails fast with an actionable message. annotate and annotate-last support the same flag.

For classic remote mode, PLANNOTATOR_URL_HOST=auto now resolves your machine's MagicDNS name (or tailnet IP) automatically, so multi-VPS setups no longer configure a hostname per machine. Remote-ready output includes the same QR code.

Security posture, spelled out: nothing binds beyond localhost under --tailscale, the URL is reachable only inside your own tailnet, public exposure (funnel, ngrok-style tunnels) is deliberately not supported, and the annotate agent terminal stays off for tailnet-published sessions unless you set the existing PLANNOTATOR_AGENT_TERMINAL_REMOTE=1 opt-in. The feature went through an independent security review plus an external reviewer's pass, and the follow-up hardening from both is included: startup failures exit immediately instead of hanging, serve mappings are retried on teardown and never leak silently, foreground serve configs are detected as conflicts, and nohup sessions survive terminal close exactly as they did before.

The review panel remembers how you work

If you review in the Tree view, every new session used to open on Git status anyway, and getting back meant one more click every single time. The panel now records the view you last used (Tree or Git status) and opens there. The toggle itself gets the full top row with Tree first, the search and collapse controls moved down next to the file tree, and the footer's copy button gave way to a copy-all control in the sidebar. An explicit choice in Settings still wins over the memo.

The Commits rail also stops trapping you: clicking a commit used to permanently replace your working diff, with no way back short of restarting the session. Commits is now a self-contained detour. Entering it remembers what you were reviewing; returning to Tree restores that exact diff, and reloading mid-detour lands you back on your session default instead of stuck on a historical commit.

Two smaller traps closed with the same work: the first-run setup dialog no longer re-runs its one-time reset if you closed the tab without dismissing it, and the fallback view toggle now reflects what is actually on screen.

Pi integration rebuilt: no more prompt-cache busting

The Pi extension no longer touches Pi's system prompt at all. Previously it injected planning instructions there, which busted Pi's prompt cache on every phase change and dropped AGENTS.md content, as @​paullegranddc reported in #922. Phase framing now travels as ordinary conversation messages, so caching works the way Pi expects and your project instructions survive.

This rebuild is why the plan-mode command is renamed: /plannotator/plannotator-plan-mode describes what the command actually does now, and there is no alias for the old name. If you type /plannotator today, nothing happens; use /plannotator-plan-mode.

Focus mode from the keyboard

@​omardoescode asked for a keybind that clears both sidebars at once for keyboard-first annotation work, and it shipped the same day: Mod+. toggles focus mode in plan review and annotate. First press closes the Contents sidebar and the annotation panel, second press restores exactly what was open before. The binding was chosen after a full conflict audit across every surface and layout (it is also the same key code review already uses to collapse its sidebar), it never fires while you type, and the shortcuts help modal documents it in a new View section.

Standing instructions for Guided Review

Guided Review now accepts reviewer-supplied instructions, two ways: per-launch text appended to that guide's brief, and standing instructions stored once and applied to every guide whose launch carries none. Tell it "always lead with data-model changes" once and every future guide complies. Stored globally under your Plannotator data directory, editable from the guide launch surface.

When a guide fails validation because it referenced files outside the changeset under review (for example, when instructions steer it toward a commit that is not on screen), the error now says exactly that, names the files, and tells you the fix: open that commit in the Commits panel first, then relaunch.

Hardened release pipeline and security scanning

The release and deployment pipeline was rebuilt around supply-chain hygiene: every CI action is pinned to a commit SHA, releases validate that the tag sits on main and matches all seven release-coupled version manifests before anything publishes, npm publishing moved to trusted publishing (OIDC) with no long-lived token in the workflow, package construction is separated from the privileged publish step, and deploys wait for the exact commit to pass the full test suite. Gitleaks and zizmor scanning now run on every push and PR with SARIF output into GitHub code scanning, and Dependabot keeps dependencies under watch.

None of this changes the product, but if you consume Plannotator's binaries or npm packages, the artifacts you install are now attested end to end under a stricter pipeline.

Additional Changes

  • Last-used view, Commits restore, and panel fixes are covered above; the same PRs also added a tooltip to the per-row stage button and equal-width panel toggle segments. #1273
  • Pi crash containment: a hard VCS failure during Call Flow analysis now returns a structured error instead of killing the Pi server process. #1272
  • Worktree diff-type guard: degenerate worktree: diff types with an empty path no longer fall back to the server's own directory. #1273
  • @​plannotator/ui 0.30.0 for host applications: unanchored-annotation reporting via onUnanchoredChange, and readOnly mode keeps the host footer slot. #1263

Install / Update

macOS / Linux:

curl -fsSL https://plannotator.ai/install.sh | bash

Windows:

irm https://plannotator.ai/install.ps1 | iex

Claude Code Plugin: Run /plugin in Claude Code, find plannotator, and click "Update now".

OpenCode: Clear cache and restart:

rm -rf ~/.bun/install/cache/@​plannotator

What's Changed

  • feat: reviewer-supplied extra instructions for Guided Review by @​backnotprop in #1267
  • feat: add optional CallDiff call-flow analysis by @​backnotprop in #1268
  • fix: never touch Pi's system prompt; phase framing as conversation messages by @​backnotprop in #1269
  • feat: make the CallDiff runtime a strictly opt-in, in-UI install by @​backnotprop in #1270
  • feat: install Call Flow automatically in the background on opt-in by @​backnotprop in #1271
  • fix: contain /api/call-flow analysis throws as JSON error responses by @​backnotprop in #1272
  • fix: remember the last-used panel view; full-width toggle and cleaner panel chrome by @​backnotprop in #1273
  • ci: harden releases and add security scanning by @​backnotprop in #1274
  • feat: refine Call Flow navigation and annotations by @​backnotprop in #1277
  • fix: restore the prior diff when leaving the Commits view by @​backnotprop in #1278
  • feat: focus-mode shortcut to toggle both sidebars by @​backnotprop in #1279
  • feat: tailnet auto-advertise, ready QR code, and a first-class --tailscale mode by @​backnotprop in #1280
  • fix: tailscale gate exit codes and lease gating, conditional SIGHUP, informative guide validation error by @​backnotprop in #1286
  • feat(ui): onUnanchoredChange report + readOnly keeps the host footer slot by @​backnotprop in #1263
  • fix: hide viewed and stage controls in file headers when toggled off by @​backnotprop in #1288
  • fix: detach open-in-editor launches and bound the wait by @​backnotprop in #1289

Community

This release was shaped by the community more than any recent one:

  • @​nikuscs proposed Tailscale support and built a working proof-of-concept wrapper, then described the multi-VPS workflow that guided the design. --tailscale mode is that idea, productized.
  • @​freak4pc and the iPad-review thread on X articulated the "review without touching the machine" use case that the QR code and auto-advertised URLs serve.
  • @​omardoescode requested the focus-mode keybind (#1276), shipped in this release, and filed the font customization request (#1275) now on the roadmap.
  • @​paullegranddc reported the Pi prompt-cache busting and AGENTS.md loss (#922) that drove the Pi rebuild.
  • An external reviewer's pass on the Tailscale PR caught three correctness issues before release; the fixes shipped in #1286.

Full Changelog: backnotprop/plannotator@v0.26.8...v0.27.1

v0.27.0: v0.27.0

Compare Source

Follow @​plannotator on X for updates

Missed recent releases?
Release Highlights
v0.26.8 Placed comment markers on HTML pages, shift-click multi-select, live app annotation
v0.26.7 Pinpoint targets any element on HTML pages, smarter hover labels, zero-scan hit testing
v0.26.6 Fixed empty environment variables in sandboxed sessions (Bun 1.3.14 builds)
v0.26.5 HTML pinpoint element annotations, durable annotate submissions, installer fallback for old git, vim HUD cursor fix
v0.26.4 Skill-menu hover jitter fix (same-day patch on v0.26.3)
v0.26.3 Skill references in comments with / or $, reachable remote session URLs, worktree switcher tooltips
v0.26.2 Single-file diff tabs render fully, no more silently dropped review files, light/dark theme pairs, palette-matched code blocks
v0.26.1 GitButler 0.22.0 compatibility via capability-probed JSON flags
v0.26.0 Edit Mode (suggest by editing the diff), Guided Review virtualization, colorblind theme, safe uninstall, installer opt-outs, OpenCode 2 support
v0.25.1 Codex no longer launches on review open, annotate-last follows the live conversation, pi-todos mirror, Claude Opus 5, abandoned-gate dismissal
v0.25.0 Vim keyboard controls, Approve with Notes, scriptable annotate gates, persistent Guided Reviews, memory and file-watching hardening
v0.24.2 Annotate YAML/JSON/TOML config files, XDG data directory support, Codex model catalog update, Cursor sandbox escape hatch

What's New in v0.27.0

This is the largest release since v0.25.0: Call Flow analysis for code review, a first-class Tailscale story for reviewing from another device, a rework of the review panel around how people actually switch views, and a rebuilt Pi integration. Fourteen PRs landed. Every feature went through independent review, and the release as a whole passed two full QA sweeps (a 28-item verification workflow plus live journey, seam, and free-roam testing) before tagging.

[!IMPORTANT]
Breaking change for Pi users: the Pi plan-mode command is renamed /plannotator/plannotator-plan-mode. The old command no longer does anything. Update any saved workflows or muscle memory. See the Pi section below for why.

Call Flow: see the call paths your diff changes

Code review gets a third analysis layer alongside semantic diff: Call Flow, powered by CallDiff (AST-based, built with Tree-sitter, 22 languages supported). Enable it and the review computes, for the changeset on screen, every call path that gained or lost a call: trees rooted at your entry points, walking down to the exact functions the diff touched. A tax calculation moving from before a discount to after it shows up as a removed call and an added call in the same tree, rendered across every route that reaches it. A text diff cannot show you that.

Enabling Call flow is consent for a small managed runtime install (about 5 MB: a pruned CallDiff core plus only the language packs your changed files need). The install runs in the background while you review; missing languages install themselves later under the same consent, and a Languages list supports installing ahead. Nothing is downloaded unless you opt in, the app works fully without it, and a failed install degrades to a clear retry, never a broken review.

The path view organizes into collapsible entry sections with changed-path defaults and file boundaries. Every Call Flow row is commentable: click a row to start a comment, shift-click to collect multiple steps into one annotation. Comments on rows inside the visible diff anchor inline; rows outside it become file- or review-scoped feedback with the full call context preserved for your agent. A searchable raw view with a color-classified rendering is there when you want the unprocessed output, and Cmd+F inside the panel searches the analysis rather than the file tree.

Review from your iPad: --tailscale mode, tailnet auto-detection, and a QR code

Two community threads asked the same question from different directions: can I run the agent on my Mac and do the review from an iPad, and can I get a diff out of a VPS without SSH port-mapping gymnastics. @​nikuscs went as far as building a proof-of-concept wrapper script. As of this release the answer is built in:

plannotator review --tailscale

The server stays bound to localhost. Plannotator runs tailscale serve in front of it, prints an HTTPS URL that works on every device in your tailnet, and renders a QR code in the terminal so a phone or tablet joins by pointing a camera at it. The serve mapping is cleaned up when the session ends, an existing mapping on the port is never stolen, and if Tailscale is not installed the command fails fast with an actionable message. annotate and annotate-last support the same flag.

For classic remote mode, PLANNOTATOR_URL_HOST=auto now resolves your machine's MagicDNS name (or tailnet IP) automatically, so multi-VPS setups no longer configure a hostname per machine. Remote-ready output includes the same QR code.

Security posture, spelled out: nothing binds beyond localhost under --tailscale, the URL is reachable only inside your own tailnet, public exposure (funnel, ngrok-style tunnels) is deliberately not supported, and the annotate agent terminal stays off for tailnet-published sessions unless you set the existing PLANNOTATOR_AGENT_TERMINAL_REMOTE=1 opt-in. The feature went through an independent security review plus an external reviewer's pass, and the follow-up hardening from both is included: startup failures exit immediately instead of hanging, serve mappings are retried on teardown and never leak silently, foreground serve configs are detected as conflicts, and nohup sessions survive terminal close exactly as they did before.

The review panel remembers how you work

If you review in the Tree view, every new session used to open on Git status anyway, and getting back meant one more click every single time. The panel now records the view you last used (Tree or Git status) and opens there. The toggle itself gets the full top row with Tree first, the search and collapse controls moved down next to the file tree, and the footer's copy button gave way to a copy-all control in the sidebar. An explicit choice in Settings still wins over the memo.

The Commits rail also stops trapping you: clicking a commit used to permanently replace your working diff, with no way back short of restarting the session. Commits is now a self-contained detour. Entering it remembers what you were reviewing; returning to Tree restores that exact diff, and reloading mid-detour lands you back on your session default instead of stuck on a historical commit.

Two smaller traps closed with the same work: the first-run setup dialog no longer re-runs its one-time reset if you closed the tab without dismissing it, and the fallback view toggle now reflects what is actually on screen.

Pi integration rebuilt: no more prompt-cache busting

The Pi extension no longer touches Pi's system prompt at all. Previously it injected planning instructions there, which busted Pi's prompt cache on every phase change and dropped AGENTS.md content, as @​paullegranddc reported in #922. Phase framing now travels as ordinary conversation messages, so caching works the way Pi expects and your project instructions survive.

This rebuild is why the plan-mode command is renamed: /plannotator/plannotator-plan-mode describes what the command actually does now, and there is no alias for the old name. If you type /plannotator today, nothing happens; use /plannotator-plan-mode.

Focus mode from the keyboard

@​omardoescode asked for a keybind that clears both sidebars at once for keyboard-first annotation work, and it shipped the same day: Mod+. toggles focus mode in plan review and annotate. First press closes the Contents sidebar and the annotation panel, second press restores exactly what was open before. The binding was chosen after a full conflict audit across every surface and layout (it is also the same key code review already uses to collapse its sidebar), it never fires while you type, and the shortcuts help modal documents it in a new View section.

Standing instructions for Guided Review

Guided Review now accepts reviewer-supplied instructions, two ways: per-launch text appended to that guide's brief, and standing instructions stored once and applied to every guide whose launch carries none. Tell it "always lead with data-model changes" once and every future guide complies. Stored globally under your Plannotator data directory, editable from the guide launch surface.

When a guide fails validation because it referenced files outside the changeset under review (for example, when instructions steer it toward a commit that is not on screen), the error now says exactly that, names the files, and tells you the fix: open that commit in the Commits panel first, then relaunch.

Hardened release pipeline and security scanning

The release and deployment pipeline was rebuilt around supply-chain hygiene: every CI action is pinned to a commit SHA, releases validate that the tag sits on main and matches all seven release-coupled version manifests before anything publishes, npm publishing moved to trusted publishing (OIDC) with no long-lived token in the workflow, package construction is separated from the privileged publish step, and deploys wait for the exact commit to pass the full test suite. Gitleaks and zizmor scanning now run on every push and PR with SARIF output into GitHub code scanning, and Dependabot keeps dependencies under watch.

None of this changes the product, but if you consume Plannotator's binaries or npm packages, the artifacts you install are now attested end to end under a stricter pipeline.

Additional Changes

  • Last-used view, Commits restore, and panel fixes are covered above; the same PRs also added a tooltip to the per-row stage button and equal-width panel toggle segments. #1273
  • Pi crash containment: a hard VCS failure during Call Flow analysis now returns a structured error instead of killing the Pi server process. #1272
  • Worktree diff-type guard: degenerate worktree: diff types with an empty path no longer fall back to the server's own directory. #1273
  • @​plannotator/ui 0.30.0 for host applications: unanchored-annotation reporting via onUnanchoredChange, and readOnly mode keeps the host footer slot. #1263

Install / Update

macOS / Linux:

curl -fsSL https://plannotator.ai/install.sh | bash

Windows:

irm https://plannotator.ai/install.ps1 | iex

Claude Code Plugin: Run /plugin in Claude Code, find plannotator, and click "Update now".

OpenCode: Clear cache and restart:

rm -rf ~/.bun/install/cache/@​plannotator

What's Changed

  • feat: reviewer-supplied extra instructions for Guided Review by @​backnotprop in #1267
  • feat: add optional CallDiff call-flow analysis by @​backnotprop in #1268
  • fix: never touch Pi's system prompt; phase framing as conversation messages by @​backnotprop in #1269
  • feat: make the CallDiff runtime a strictly opt-in, in-UI install by @​backnotprop in #1270
  • feat: install Call Flow automatically in the background on opt-in by @​backnotprop in #1271
  • fix: contain /api/call-flow analysis throws as JSON error responses by @​backnotprop in #1272
  • fix: remember the last-used panel view; full-width toggle and cleaner panel chrome by @​backnotprop in #1273
  • ci: harden releases and add security scanning by @​backnotprop in #1274
  • feat: refine Call Flow navigation and annotations by @​backnotprop in #1277
  • fix: restore the prior diff when leaving the Commits view by @​backnotprop in #1278
  • feat: focus-mode shortcut to toggle both sidebars by @​backnotprop in #1279
  • feat: tailnet auto-advertise, ready QR code, and a first-class --tailscale mode by @​backnotprop in #1280
  • fix: tailscale gate exit codes and lease gating, conditional SIGHUP, informative guide validation error by @​backnotprop in #1286
  • feat(ui): onUnanchoredChange report + readOnly keeps the host footer slot by @​backnotprop in #1263

Community

This release was shaped by the community more than any recent one:

  • @​nikuscs proposed Tailscale support and built a working proof-of-concept wrapper, then described the multi-VPS workflow that guided the design. --tailscale mode is that idea, productized.
  • @​freak4pc and the iPad-review thread on X articulated the "review without touching the machine" use case that the QR code and auto-advertised URLs serve.
  • @​omardoescode requested the focus-mode keybind (#1276), shipped in this release, and filed the font customization request (#1275) now on the roadmap.
  • @​paullegranddc reported the Pi prompt-cache busting and AGENTS.md loss (#922) that drove the Pi rebuild.
  • An external reviewer's pass on the Tailscale PR caught three correctness issues before release; the fixes shipped in #1286.

Full Changelog: backnotprop/plannotator@v0.26.8...v0.27.0

janosmiko/lfk (github:janosmiko/lfk)

v0.17.0: v0.17.0

Compare Source

0.17.0 (2026-08-12)

⚠ BREAKING CHANGES

  • action-menu keys changed. Export Template is "T"; Log Top, Terminate Sync and Terminate Workflow move from "T" to "t". Log Top is no longer offered on Jobs or CronJobs.

Features

  • add a built-in demo cluster behind --demo (TASK-865) (#594) (63793e5)
  • add a tainted-string type for cluster-sourced fields (TASK-874) (#610) (4598a69)
  • add an Undeliverable view for resources stuck waiting (TASK-855) (#609) (6688498)
  • delete saved user templates from the template picker (#619) (6333f47)
  • export a live resource as a reusable template (TASK-866) (#618) (3bae421)
  • hide actions the current user is not allowed to run (TASK-872) (#600) (347e39e)
  • name the person on every lfk write (#586) (5230859)
  • show field-manager blame in the YAML viewer (#584) (8fffe94)
  • show the blast radius in destructive confirm dialogs (#589) (2e2a875)
  • show the cluster schema description of the field under the cursor (#588) (b0fbbbf)
  • state the cost of a destructive action as Scope, Availability and Risk (TASK-862, TASK-877) (#599) (8349246)

Bug Fixes

  • bound and redact the kubectl explain subprocesses (TASK-869) (#596) (f57406e)
  • correct orphan overview keybinding from Shift+O to Shift+Z in docs (#611) (d2d0b4e)
  • drop API Explorer replies from an older session (TASK-876) (#601) (098c1b8)
  • fail loudly on a marshalled tainted.String, drop dead event fields (TASK-887) (#615) (efbba3e)
  • key saved templates by namespace, not just name (#621) (fa80fcd)
  • measure emoji icons the way the terminal does (#604) (#605) (6b9a83b)
  • measure wrapCrashText by display width (TASK-882) (#607) (3f4d614)
  • open a restored session on its saved view (#593) (9554cf7)
  • report a status message when every multi-log stream fails to start (#622) (34c562a)
  • resolve CronJob logs through its newest Job's pods (#620) (de31d3a)
  • resume the API Explorer schema load on tab restore (TASK-878) (#602) (5d55a3f)
  • resume the API Explorer's pending fetch, not its last level (TASK-879) (#608) (537a844)
  • route port-forward and apply argv through the demo helper (TASK-875) (#603) (59d9ca1)
  • sanitize every status-bar message at its shared sink (TASK-884) (#612) (e44c5cd)
  • sanitize terminal escapes in describe, YAML, event and editor sinks (TASK-873) (#595) (a390fd2)
  • sanitize the render sinks TASK-873 did not reach (TASK-880) (#606) (2f79f42)
  • stop the orphan scanner reporting a kind whose referencing lists failed (TASK-886) (#614) (aa19af3)

@scottames-github-bot

Copy link
Copy Markdown
Contributor
max-sixty/worktrunk (github:max-sixty/worktrunk)

v0.73.0: 0.73.0

Compare Source

Release Notes

Fixed

  • wt remove refuses a registered path that now holds a different repository: A clone made at a stale registration's path was removed whole, uncommitted work included — and wt routed the user there, since the dirty gate read the occupant's files as this worktree's and offered --force as the cure. Removal now compares the directory's git dir against this repository's; --force waives uncommitted changes, not the check for whose directory it is. (#3785)

  • The Nix flake names three systems, dropping Intel macOS: nixpkgs drops x86_64-darwin in 26.11, so the flake would stop evaluating there once flake.lock advances past it. (Breaking: nix build, nix run, and the home-manager module no longer resolve on Intel macOS. Release binaries are unaffected and still ship for it.) (#3776)

  • NO_COLOR and a redirected stream reach every surface: Escapes still landed in progressive wt list, -v diagnostics, clap's error tips, and parts of stderr — the deprecation warning, the wt config update preview, the [y/N] prompt — so a redirected log carried escapes on one line and not the next. Color now resolves in one place. (#3777, #3771)

  • A trailing separator no longer hides the branch: Git's ref format forbids a name ending in /, and shell completion produces exactly that spelling whenever a docs directory sits beside the branch, so wt switch docs/ never had a candidate. Selectors are normalized before resolution now — wt remove, merge targets, --base, and the pre-switch hook's target alike. (#3785)

  • A path holding no worktree is reported as a path: wt remove ../repo.ghost answered No branch named … and pointed at a listing it could never appear in; wt switch and wt merge offered --create <path>, which git rejects; and wt config state marker set --branch <path> silently stored state keyed by a path. (#3773, thanks @​judewang for reporting)

  • A failed GitLab project lookup carries glab's own verdict: wt switch mr:<n> on a fork MR answered a 401, a 404, and a network failure with the same Failed to fetch project 456, swallowing the output every other remote_ref failure path forwards. A non-project response body now says so too. (#3799)

  • A deleted-and-recreated worktree directory is reported, not leaked as git's exit 128: An rm -rf followed by a mkdir passes the Path::exists() probe, so wt switch, wt merge, wt step push, and wt remove walked into a raw git failure. All four now name the missing worktree and the git worktree prune that clears it. (#3785)

Internal

  • Library API rework (Breaking library API): cargo-semver-checks fails four lints — GitError gained WorktreeNotFoundAtPath and WorktreePathNotOurs, shifting seven later discriminants, its DetachedHead variant gained a worktree field, ResolvedWorktree gained NoWorktreeAtPath, and Repository::resolve_worktree_name was removed. (#3785, #3773)

  • Tests and benches spawn a pinned wt binary: a concurrent cargo removes and recreates target/debug/wt as it uplifts, so spawns hit a one-off NotFound; every spawn now routes through a hardlinked pin. (#3784, #3792)

  • The nix devShell and task setup-web install what the test suite drives: both were missing nushell, pwsh, and jq, which --features shell-integration-tests shells out to. (#3768, #3776)

  • Benchmark fixtures reduced to two provenance-based bases: Generated builds a repository locally and Imported copies the pinned rust-lang/rust corpus, with worktree, branch, and remote-ref populations as parameters. (#3761)

Install worktrunk 0.73.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/max-sixty/worktrunk/releases/download/v0.73.0/worktrunk-installer.sh | sh && wt config shell install

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/max-sixty/worktrunk/releases/download/v0.73.0/worktrunk-installer.ps1 | iex"; git-wt config shell install

Install prebuilt binaries via Homebrew

brew install worktrunk && wt config shell install

Download worktrunk 0.73.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 install

Install via Winget (Windows)

winget install max-sixty.worktrunk && git-wt config shell install

Install via AUR (Arch Linux)

paru worktrunk-bin && wt config shell install

@renovate
renovate Bot merged commit 99a86d6 into main Aug 17, 2026
6 checks passed
@renovate
renovate Bot deleted the renovate/mise-packages branch August 17, 2026 10:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants