Skip to content

fix(deps): update rust crate worktrunk to 0.67.0 - #2103

Closed
shunkakinoki wants to merge 1 commit into
mainfrom
renovate/cargo
Closed

fix(deps): update rust crate worktrunk to 0.67.0#2103
shunkakinoki wants to merge 1 commit into
mainfrom
renovate/cargo

Conversation

@shunkakinoki

@shunkakinoki shunkakinoki commented Jul 18, 2026

Copy link
Copy Markdown
Owner

This PR contains the following updates:

Package Type Update Change Pending
worktrunk (source) dependencies minor 0.65.00.67.0 0.68.0

Release Notes

max-sixty/worktrunk (worktrunk)

v0.67.0

Compare Source

Improved
  • Experimental --reap flag for wt remove: wt remove --reap terminates processes still running in the worktree (a post-start dev server, a file watcher, a language server) before removing it, freeing the ports and file handles they hold. Processes are discovered by working directory and terminated with SIGTERM, then SIGKILL for survivors; the list prints before any signal is sent. A process holding a controlling terminal (an interactive shell, a terminal editor with unsaved buffers) is never touched. Unix only. Docs (#​3396)

  • wt switch -x without a branch opens the picker: --execute no longer requires a branch argument — wt switch -x claude opens the interactive picker and runs the command against the selected worktree. It composes with every picker mode (--branches, --remotes, --prs), and the picker path shares the same pipeline as the argument path, so hooks, approval, and template expansion behave identically. (#​3394, closes #​3370, thanks @​gbcreation for the request)

  • wt config state logs profile groups subprocess time by worktree: The report gained a BY CONTEXT table (and a by_context array in --format=json) — subprocess time per context, typically the worktree name — so a slow parallel phase can be attributed to the worktree causing it without exporting the trace to an external tool. (#​3403)

  • -vv diagnostics surface pager and terminal environment: The diagnostic report (.git/wt/logs/diagnostic.md, written on every -vv run) gained an "Environment variables" section listing a curated, non-secret allowlist of the pager / terminal / locale knobs (PAGER, GIT_PAGER, TERM, COLUMNS, NO_COLOR, LANG, …) plus git's resolved core.pager. These are the inputs that most often explain a rendering bug — like a pager interaction suspending wt config show (#​3322) — and they were previously invisible in the report. The list is a strict allowlist, never a blanket env dump, so no credential-bearing variable can leak into an uploaded report.

  • wt config update pins [list] json-schema while unset: The schema hint from 0.66.0 now comes with the standard one-command fix — wt config update pins json-schema = 1 (the behavior-preserving choice) when the key is unset, and the hint offers the command only when running it would actually write the pin. (#​3411)

Fixed
  • Claude plugin hooks load again: The Claude activity (🤖/💬) and WorktreeCreate/WorktreeRemove hooks stopped loading after the hooks file was renamed to claude-hooks.json in #​3382. Claude Code discovers plugin hooks by convention at hooks/hooks.json and does not honor plugin.json's string-path hooks override for plugin loads, so the renamed file was never read — /hooks showed no worktrunk handlers and the markers silently stopped updating. The file is restored to the conventional hooks/hooks.json; the #​3362 Codex collision the rename guarded against stays closed because the Codex manifest defines its hooks inline, which overrides Codex's convention discovery independently of the filename. (#​3417, thanks @​avdi for reporting)

  • wt switch no longer crashes on ragged tables in PR comments: A PR/MR comment table with more cells in a data row than in its header could panic termimad's column fitter at narrow widths, and because the comments preview renders on a background worker, the panic aborted the whole picker. The table render is now contained; the preview falls back to the table's plain text. (#​3408, closes #​3407, thanks @​ortonomy for reporting)

  • wt config show no longer suspends on the zsh completion probe: The interactive zsh probe that detects a missing compinit claims the terminal foreground when job control is on; a slow or prompting zsh startup could hit the probe's kill-on-timeout before the foreground was restored, leaving wt in a background process group and its pager suspended with suspended (tty output). Both interactive probes now run with job control disabled (zsh +m), so a timed-out probe can't strand the terminal. (#​3327, closes #​3322, thanks @​karmeleon for reporting)

  • wt step for-each and the --execute fallback no longer inherit wt's GIT_* discovery vars: The command that for-each runs in each worktree — and the --execute payload, when wt executes it directly because shell integration isn't active — now discovers its repository from the worktree wt placed it in, rather than an inherited GIT_DIR/GIT_WORK_TREE. Previously such a command's git calls resolved against the one inherited repo (e.g. the invoking worktree, when wt runs as a !wt git alias from a linked worktree) while the per-worktree headers claimed otherwise. This extends the hook-spawn scrub from #​3374 to the remaining spawn sites that relocate a user command into a wt-chosen worktree; aliases and commit.generation commands run in the user's own context and keep the inherited environment. (#​3400, #​3373)

  • wt list holds steady when the shell prompt returns: The progressive table reserves two blank rows beneath its footer, so the multi-line prompt printed at exit renders into pre-scrolled rows instead of scrolling the settled table up. (#​3409)

  • JSON schema 2: no self-relation on a remote-only default-branch row: wt list --format=json with schema 2 gave a remote-only row of the default branch (origin/main) a self-referential relation; the default-branch check now compares the remote-stripped branch name. (#​3383)

Documentation
  • Codex commit-generation model bumped to gpt-5.6-luna: The recommended [commit.generation] command for Codex — shown by wt config create and in the LLM-commits docs — now uses gpt-5.6-luna (was gpt-5.4-mini). OpenAI's models page moved gpt-5.4-mini into the previous-generation "Other models" tier; gpt-5.6-luna is the fast/low-cost variant of the current recommended (5.6) family. (#​3430)

  • Code Signing Policy page: A new page documents Worktrunk's code-signing policy for the Windows binaries under the SignPath Foundation open-source program: certificate provenance, the signing pipeline, and per-release approval. Signing addresses Microsoft Defender's false positives on unsigned native binaries. Docs (#​3366, thanks @​bemnlam for reporting #​3355)

Internal
  • skim 5.0: The picker's fuzzy-finder library moves from 4.10 to 5.0, dropping roughly 1,000 lines of transitive dependencies from the lockfile. (#​3378)

  • Prune benchmarks: A rust-repo-scale prune fixture, Criterion benches, and trace spans over the removal path. (#​3401)

  • Nix flake test sandbox provides lsof, and flake changes now trigger the nix-flake CI job. (#​3410)

v0.66.0

Compare Source

Improved
  • Opt-in JSON schema 2 for wt list: wt list --format=json and wt list statusline --format=json can now emit a v2 schema, selected via the [list] json-schema config key. Schema 2 wraps the rows in an envelope (schema, repo.default_branch, repo.forge, collected) and separates "nothing to report" (field absent) from "requested but undetermined" (field null — a probe still pending, timed out, or failed). Schema 1 — the existing bare array — remains the default, byte-for-byte; with the key unset, a once-per-process stderr hint shows both values (= 1 to pin, = 2 to opt in; suppressed on the statusline surface). Docs (#​3357)

  • wt config approvals list and clear --stale: list shows every command the project config declares — hooks in lifecycle order, aliases, commit-message guidance — grouped into approved and unapproved, with approvals recorded for commands no longer in the config flagged as stale. clear --stale removes only those left-behind approvals, echoing each one; valid approvals survive, and a full wipe remains plain clear. Docs (#​3380)

  • Codex sessions show activity markers: The Codex plugin now ships Codex-native activity hooks, so wt list shows 🤖 (working) / 💬 (waiting) for Codex sessions as it does for Claude Code, OpenCode, and Gemini — and Claude-branded events no longer surface inside Codex sessions. Codex has no session-exit event, so the marker rests at 💬 after a session ends until the next session or wt config state marker clear. (#​3364, closes #​3362, thanks @​ofek for reporting)

Fixed
  • User hooks no longer inherit wt's GIT_* discovery vars: A user hook that shells out to git now discovers its repository from the worktree wt sets as its cwd, rather than an inherited GIT_DIR/GIT_WORK_TREE (e.g. from wt run as a !wt git alias, or nested under another tool's git hook). wt now scrubs the GIT_* discovery vars at every hook spawn site — foreground, background, and concurrent. Previously the inherited context leaked into hooks: with both GIT_DIR and GIT_WORK_TREE present, a hook that ran git init would write core.worktree into the inherited repo's config, silently redirecting later plain git commands there. wt's own internal git plumbing keeps the inherited context (the absolutize-and-forward behavior from #​1914); aliases keep it too, since a top-level wt <alias> is the user's own command. (#​3374, closes #​3373, thanks @​silvanshade for reporting)

  • SCP-style SSH remotes with custom usernames: Remote URLs like org-12345678@&#8203;github.com:owner/repo.git (GitHub account/org aliases) now parse canonically, so wt switch pr:<n> matches the local remote instead of failing with No remote found. Malformed and local-path forms that merely resemble SCP syntax are still rejected. (#​3371, thanks @​fcoury-oai)

Documentation
  • Windows app-alias guidance matches current Settings: The instructions for disabling Windows Terminal's wt app-execution alias now point at the current Settings path (Apps → Advanced app settings → App execution aliases). (#​3372, thanks @​ofek)

  • /wt-switch-create always creates a worktree: The plugin skill's wording let a session judge that a research or read-only task didn't need isolation and skip the worktree; invoking the command now counts as the explicit request, so the worktree is created unconditionally. (#​3356)


Configuration

📅 Schedule: (in timezone UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


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

This PR has been generated by Mend Renovate.

@shunkakinoki
shunkakinoki enabled auto-merge (squash) July 18, 2026 04:02
@indent-zero

indent-zero Bot commented Jul 18, 2026

Copy link
Copy Markdown
Contributor
PR Summary

Renovate-driven minor bump of the worktrunk crate from 0.65.0 to 0.67.0 in the workspace Cargo.toml, with a regenerated Cargo.lock. The repo's Rust crate is a stub (lib.rs is empty) so no first-party code is impacted, and the runtime worktrunk binary users invoke is provisioned via nix independently of this manifest.

  • Cargo.toml: worktrunk = "0.65.0""0.67.0".
  • Cargo.lock: worktrunk checksum/version updated; 99 transitive crates removed, 0 added — reflects worktrunk dropping its image/AVIF/rav1e/ratatui-image/sixel/color-eyre stack upstream.
  • No changes to config/worktrunk/config.toml; keys used there remain stable in 0.67.0 (release notes only add features: wt remove --reap, wt switch -x picker, JSON schema v2).

Issues

No issues found.

CI Checks

CI failures are infrastructure-related and unrelated to this PR. nix-linux fails with error: write of 65536 bytes: No space left on device at Makefile:526 while running nix-build — the GitHub-hosted runner ran out of disk space during the nix build. nix-check is just the aggregator that fails because nix-linux failed. cubic is neutral, not a failure. Neither issue has any connection to the worktrunk 0.65.0 → 0.67.0 bump; retrying the workflow will likely clear it.

Failing nix-linux
  • Runner ran out of disk space during nix-build: error: write of 65536 bytes: No space left on device followed by make: *** [Makefile:526: nix-build] Error 1. Environmental/CI infrastructure failure, not caused by the Cargo.toml/Cargo.lock changes in this PR. A retry should clear it.
Failing nix-check
  • Aggregator job that fails only because nix-linux failed on the disk-space error above. No independent failure.

@cursor

cursor Bot commented Jul 18, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@mesa-dot-dev

mesa-dot-dev Bot commented Jul 18, 2026

Copy link
Copy Markdown

You do not have enough credits to review this pull request. Please purchase more credits to continue.

@coderabbitai

coderabbitai Bot commented Jul 18, 2026

Copy link
Copy Markdown

Warning

Review limit reached

@shunkakinoki, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 58 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a0dcc2d4-d0b4-4dd3-a96b-548fb7cb9de5

📥 Commits

Reviewing files that changed from the base of the PR and between a6314f2 and 6e4d2a0.

⛔ Files ignored due to path filters (1)
  • Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • Cargo.toml
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch renovate/cargo

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.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Code Review

This pull request updates the worktrunk dependency from version 0.65.0 to 0.67.0 in Cargo.toml. This update results in a major cleanup of transitive dependencies in Cargo.lock, including the removal of various unused crates (such as image, rav1e, and tiff), updating frizbee to 0.11.0, and changing skim from 4.10.0 to 5.2.0. There are no review comments, and I have no feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

No issues found across 2 files

Re-trigger cubic

@mesa-dot-dev

mesa-dot-dev Bot commented Jul 18, 2026

Copy link
Copy Markdown

Mesa Description

TL;DR

Upgraded the worktrunk Rust crate from version 0.65.0 to 0.67.0.

What changed?

  • Cargo.toml: Updated the worktrunk dependency version to 0.67.0.
  • Cargo.lock: Updated locked versions of worktrunk and its transitive dependencies.

Description generated by Mesa. Update settings

@shunkakinoki
shunkakinoki enabled auto-merge (squash) July 20, 2026 04:15
@shunkakinoki
shunkakinoki disabled auto-merge July 20, 2026 11:01
@shunkakinoki

Copy link
Copy Markdown
Owner Author

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update (0.67.0). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@shunkakinoki
shunkakinoki deleted the renovate/cargo branch July 21, 2026 04:02
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.

2 participants