Skip to content

fix(deps): update rust crate worktrunk to 0.60.0 - #1950

Merged
shunkakinoki merged 1 commit into
mainfrom
renovate/cargo
Jun 26, 2026
Merged

fix(deps): update rust crate worktrunk to 0.60.0#1950
shunkakinoki merged 1 commit into
mainfrom
renovate/cargo

Conversation

@shunkakinoki

@shunkakinoki shunkakinoki commented Jun 24, 2026

Copy link
Copy Markdown
Owner

This PR contains the following updates:

Package Type Update Change Pending
worktrunk (source) dependencies minor 0.58.00.60.0 0.61.0

Release Notes

max-sixty/worktrunk (worktrunk)

v0.60.0

Compare Source

Improved
  • Package installs complete branch and worktree names: A plain brew install worktrunk (or other package install) now tab-completes branch and worktree names, not just subcommands and flags. wt config shell completions <shell> emits a dynamic registration that calls the binary at completion time (the maintained clap_complete::env path), matching what gh, rustup, and kubectl ship. (#​3105, thanks @​bendrucker)

  • wt step relocate moves dirty linked worktrees: Relocating a linked worktree with uncommitted or untracked changes no longer skips it. git worktree move carries those files along, so the dirty-skip was a worktrunk policy rather than a git limitation. The main worktree still skips when dirty (without --commit), since its relocation falls back to git checkout, which refuses to switch over a dirty tree. (#​3104, thanks @​lunaynx for reporting)

  • --dry-run previews print to stdout: wt hook <type>, wt step relocate, wt step prune, wt step copy-ignored, and wt config shell install/uninstall now send their --dry-run preview to stdout (the command's answer) while narration stays on stderr. This matches wt list, git clean -n, and terraform plan, and keeps previews pageable and pipeable. (Breaking: scripts reading these previews from stderr should now read stdout) (#​3085)

  • Picker gutter distinguishes local and remote branches: With --branches and --remotes, the wt switch picker marks each row's kind in the gutter: / for a local branch without a worktree and | for a remote branch, alongside the existing @/^/+ worktree glyphs. (#​3115)

  • wt list --format=json gains structured repo metadata: JSON output adds repo (the local checkout's primary remote) and ci.repo (the repository ci.url targets, which differs for fork PRs) objects carrying host/owner/name/provider; the existing repo_url and ci.repo_url strings remain. The provider honors the configured [forge].platform on hosts that can't be auto-detected. (#​3021, thanks @​jeremy0dell)

  • wt step eval --format=json: wt step eval gains a structured {name, template, result} JSON lane on stdout, the machine-readable analog of its -v view. Text mode is unchanged. (#​3106)

  • --format=claude-code rejected where it never applied: wt list and wt config state get accepted --format=claude-code silently and treated it as table; the value only ever meant anything on wt list statusline. Both now fail fast with invalid value 'claude-code'. (Breaking: wt list --format=claude-code and wt config state get --format=claude-code now error) (#​3116)

Fixed
  • cargo install worktrunk builds from crates.io: Installing from crates.io failed to compile with environment variable VERGEN_GIT_DESCRIBE not defined at compile time, because the package archive has no .git for the build script to read. The version lookup now falls back to the cargo package version when git-describe is unavailable. (#​3124, fixes #​3123, thanks @​kerrickstaley for reporting)

  • Tab-completion works in repos with no commits: wt switch <TAB> and wt remove <TAB> returned nothing on a fresh git init repo, because the unborn default branch has no entry under refs/heads/. Completion now also draws on worktree branches, so the unborn main (and any wt switch --create branch on an empty repo) completes. (#​3097, closes #​3094)

  • wt config state get ci-status --format=json honors [forge].platform: On a self-hosted host the parser can't recognize (Gitea, Azure DevOps, GitHub Enterprise on a generic domain), this path reported provider: "unknown" while wt list --format=json reported the configured provider. All structured-output paths now route the [forge].platform override through one accessor, so they stay consistent. (#​3120)

Documentation
  • wt list --help example tables fit the terminal: The captured wt list example tables in --help chop to terminal width with a dimmed ellipsis (matching real wt list) instead of word-wrapping and shearing their columns; hand-authored command examples still wrap. (#​3125)

  • /wt-switch-create cross-repo handling reworked: The Claude Code plugin command's skill reworks how it creates and enters a worktree in another repo, built around what the harness actually does (EnterWorktree re-roots within the current repo; a cd reaches another repo when it's in additionalDirectories). The procedure dropped from five steps to three. (#​3118)

  • Help-text and docs refinements: --format help renders its values inline ([possible values: table, json]) instead of an expanded block; wt switch and wt step push help got smaller clarifications; and web-doc terminal blocks no longer wrap command-only lines. (#​3096, #​3108, #​3110, #​3112, #​3126)

v0.59.0

Compare Source

Improved
  • Picker frees digit keys for filtering; preview tabs move to Alt: In the wt switch picker, plain digits now go to the filter, so a branch name with a number in it can be typed directly. Preview tabs jump with Alt-1Alt-5 or cycle with Tab/Shift-Tab. (Breaking: 15 no longer switch preview tabs) (#​3079)

  • Squash templates use commit_details instead of commits: The squash commit-message template's {{ commits }} variable (commit subjects) is deprecated in favor of {{ commit_details }}, which renders as the bare subject when printed directly and also exposes .subject and .body. wt config update migrates commits to commit_details as a plain rename. (#​2985)

  • wt step eval -v lists template variables: wt step eval -v now prints the available template variables on stderr in the gutter style, above the template-expansion view. That expansion (also shown by wt switch -v, hooks, aliases, and wt -v list) renders the template and its result as separate labeled source / result blocks rather than a shared gutter. The result still goes to stdout, so $(wt step eval …) is unchanged. Since eval mutates nothing and is experimental, its --dry-run flag (which dumped the raw variable context) is removed rather than deprecated. (#​3078, #​3099)

Fixed
  • Picker no longer freezes on the first keystroke: With many worktrees, typing the first character in the wt switch picker locked the UI for several seconds. The fuzzy matcher shares rayon's global thread pool with worktrunk's git collection, which floods it with blocking subprocess calls, so the matcher queued behind them. Collection and preview work now run on a dedicated pool, keeping the matcher responsive. (#​3087, thanks @​bendrucker; fixes #​2926, thanks @​mahume for reporting)

  • Tab-completion covers all hook types: wt hook <type> <Tab> completed configured command names for only seven of the ten hook types; pre-switch, post-switch, and post-remove returned nothing. Completion now derives the type from the canonical hook list, so every type completes its command names. (#​3070)

  • Ctrl-C on a concurrent alias reports the right exit code: Interrupting wt step <concurrent-alias> could report exit 143 (SIGTERM) instead of 130 (SIGINT), because a per-child SIGINT → SIGTERM → SIGKILL escalation could land a SIGTERM on a child during the grace window; the escalation also serialized across process groups, so repeated Ctrl-C could wait. wt now forwards the user's signal once per process group, so a cooperative child dies from the signal actually sent (130 on Ctrl-C); a second signal kills any survivor immediately. (#​3075)

Documentation
  • Per-worktree env vars: A Tips & Patterns section shows how to give each worktree its own environment variables with direnv or mise. (#​3074)
Internal
  • The commit-generation command is not rewritten to disk when its value is unchanged. (#​3084)

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) June 24, 2026 04:27
@indent-zero

indent-zero Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor
PR Summary

Renovate force-pushed to advance the worktrunk bump from 0.59.0 to 0.60.0 (now 0.58.00.60.0 vs main). PR scope is still just Cargo.toml + Cargo.lock, and since lib.rs is empty, this repo has no source-level coupling to the bumped crates. worktrunk 0.60.0 is published on crates.io and reportedly drops ratatui/ansi-to-tui from its CLI feature deps, but no consumer code here depends on those.

  • Bumped worktrunk from 0.58.0 to 0.60.0 in Cargo.toml.
  • Regenerated Cargo.lock: vergen/vergen-gitcl/vergen-lib 9.1.0 → 10.0.1 (swap derive_builder for bon, adds bon, bon-macros, prettyplease), plus time 0.3.49 → 0.3.51 and time-macros 0.2.29 → 0.2.30 patch bumps.

Issues

No issues found.

CI Checks

Only one failing check remains and it is unrelated to this PR — the same pre-existing ruler.toml validation error seen on prior runs. All other checks are passing.

Failing upgrade-check
  • The upgrade job fails in make dotagents-sync -> ruler-apply-global with [ruler] Invalid configuration file format (Context: File: /home/runner/.ruler/ruler.toml, Errors: global). This is the same pre-existing tooling failure observed on previous pushes and is unrelated to the Cargo.toml/Cargo.lock changes in this PR.

@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

Warning

Review limit reached

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

More reviews will be available in 59 minutes and 53 seconds. Learn how PR review limits work.

Your organization has used up its prepaid credits, and credit purchases are no longer available. Enable the review add-on in the billing tab to keep reviews running — you're only billed for reviews past your plan's rate limits ($0.25/file).

⌛ How to resolve this issue?

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

🚦 How do rate 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 see our Fair Usage Limits Policy for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c31e8a0f-f7d5-447b-865b-ed50629b187f

📥 Commits

Reviewing files that changed from the base of the PR and between 89eef89 and 935d268.

⛔ 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 several dependencies in Cargo.toml and Cargo.lock. Specifically, it upgrades worktrunk from 0.58.0 to 0.59.0, and updates vergen, vergen-gitcl, and vergen-lib to version 10.0.0, which replaces the derive_builder dependency with bon. 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 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Performed full review of 6be97b6...28359f5

Analysis

• Major version jump in vergen ecosystem (9.x → 10.x) introduces build-time metadata generation changes that could affect version strings, git information formats, and build script compatibility—requires validation that generated metadata keys/format remain compatible with downstream consumers

• Significant builder pattern refactoring across transitive dependencies (derive_builder → bon) may alter code generation behavior and macro expansion—verify clean builds across all targets and feature combinations before merge

• Introduction of new procedural macro dependencies (bon, bon-macros, prettyplease) expands the macro expansion surface—run full test suite to catch behavioral changes and confirm MSRV hasn't increased unexpectedly

• Build pipeline stability risk due to underlying infrastructure modernization masked as a routine dependency update—conduct security audit (cargo audit) and validate integration tests pass completely before enabling automerge

Tip

Help

Slash Commands:

  • /review - Request a full code review
  • /review latest - Review only changes since the last review
  • /describe - Generate PR description. This will update the PR body or issue comment depending on your configuration
  • /help - Get help with Mesa commands and configuration options

0 files reviewed | 0 comments | Edit Agent SettingsRead Docs

@mesa-dot-dev

mesa-dot-dev Bot commented Jun 24, 2026

Copy link
Copy Markdown

Mesa Description

TL;DR

Updated worktrunk Rust dependency to 0.59.0.

What changed?

  • Cargo.toml: Bumped worktrunk version from 0.58.0 to 0.59.0.
  • Cargo.lock: Regenerated to update and lock the worktrunk dependency version and any corresponding sub-dependencies.

Description generated by Mesa. Update settings

@shunkakinoki shunkakinoki changed the title fix(deps): update rust crate worktrunk to 0.59.0 fix(deps): update rust crate worktrunk to 0.60.0 Jun 26, 2026
@shunkakinoki
shunkakinoki merged commit 8b1922a into main Jun 26, 2026
37 of 39 checks passed
@shunkakinoki
shunkakinoki deleted the renovate/cargo branch June 26, 2026 05:45
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