mirror of
https://github.com/max-sixty/worktrunk.git
synced 2026-09-14 20:00:38 +08:00
v0.70.0
346 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
946e360447 |
Release v0.70.0 (#3640)
Cuts 0.70.0 — version bump plus the changelog for the 45 commits since
v0.69.2.
**Minor bump, not patch.** `cargo semver-checks` reports 6 breaking
library changes (`set_command_timeout` and `ListConfig::task_timeout_ms`
removed, `WorkingTree::stage` arity changed, three enum variants added
to exhaustive enums). Worktrunk ships breaking library changes freely,
but semver still puts a break at minor while pre-1.0.
## Release validation
- Local gate green on the release commit: 4631 tests, lints, doctests.
- `nightly` dispatched on the cut-from tip (`a27cbd42`) for the full
cross-platform suite — `full-tests` green on linux, macOS, and Windows,
plus minimal-versions, nix-flake, crate-build, and the release targets.
## Data-loss surface review
The cumulative diff was audited against the deletion surface. One
deliberate widening, signed off for this release with follow-ups to
file:
- **#3602** removes the content check from `wt config shell install`'s
legacy cleanup, so `conf.d/{cmd}.fish` and the stranded nushell
`{cmd}.nu` are now deleted by path, unread. Only that exact filename is
touched and each removal is reported, but the deletion is absent from
both `--dry-run` and the confirmation prompt, and the already-configured
path skips the prompt entirely.
Also noted, none blocking:
- The `!path.exists()` check precedes the lock guard on the
`Path`/`Current` removal arm, so a locked worktree whose directory is
absent loses its branch. This already governed the branch-targeted route
in v0.69.2; #3533 unified the other arms onto it. The FAQ's "Neither
`git worktree remove` nor `wt remove` (even with `--force`) will delete
them" is absolute where the behavior isn't.
- On the default background removal path, `ensure_clean` and
`stop_fsmonitor_daemon` swapped order, so the safety gate is now
answered by the live fsmonitor daemon rather than a full re-stat.
Bounded by trash staging with 24-hour retention, and the foreground and
picker paths were already daemon-served.
Net *improvements* to the same surface: shared-branch retention across
remove/prune/merge (#3533), outcome-accurate removal reporting (#3633,
#3637), and the removal of the thread-local command timeout that could
kill in-flight git commands on worker threads (#3615).
## Changelog accuracy
Entries were verified against the actual diffs rather than commit
messages, which corrected several drafts: the prune figures were one PR
stale (~2.9 s → the real ~0.6 s), `wt merge` takes no worktree argument
so it only gained the retention half of #3533, the Azure DevOps report
is behind `--full`, #3608 never touched `nightly.yaml`, and #3601
inverted what the FAQ change actually said. Two omissions were added —
the `install-statusline` foreign-statusline fix (#3595) and the shipped
`/wt-switch-create` skill change (#3636).
> _This was written by Claude Code on behalf of Maximilian_
|
||
|
|
21ea6d6f1a | chore: bump skim from 5.1.0 to 5.5.0 (#3626) | ||
|
|
6b29c2802b |
Release v0.69.2 (#3590)
Cuts v0.69.2, and fixes the Windows code-signing path it depends on. ## The signing fix v0.69.1 shipped an unsigned `wt.exe` under a green run and a **Completed** SignPath signing request. `archive: false` (#3566) had already made the GitHub artifact name `worktrunk-x86_64-pc-windows-msvc.zip`, and SignPath names its download after the artifact — so with `output-artifact-directory: target/distrib` the signed zip landed at `worktrunk-x86_64-pc-windows-msvc.zip.zip`, beside the untouched unsigned build. The checksum step and the release upload both kept reading the original. Confirmed by parsing the published asset's PE certificate table: `size=0`. The download now goes to a scratch directory and whatever single file lands there replaces the built zip, so SignPath's naming isn't load-bearing. ## Verification, because this failure is invisible Signing is `continue-on-error` by design (self-signed test certificate pending SignPath's OSS review), so nothing in the logs distinguishes "signed" from "silently unsigned" — which is how it slipped through twice, two different ways. `.github/verify-windows-signature.py` reads the zip's PE certificate tables directly, and runs at two points with distinct jobs: - **before the overwrite** — an unsigned release is tolerable while the certificate is a test one; a corrupt one never is, so the replacement has to verify before it can clobber a good build. - **after** — reports what the release actually ships, which is the question the logs never answered. ## Rehearsed before landing The signing path only runs on a tag, so each question about it used to cost a release. This chain was instead run on a Windows runner against the already-published v0.69.1 zip (identical bytes, no build): ``` saved to …\target\signpath\worktrunk-x86_64-pc-windows-msvc.zip.zip git-wt.exe: certificate table 8480 bytes wt.exe: certificate table 8472 bytes → mv → target/distrib/worktrunk-x86_64-pc-windows-msvc.zip target/distrib/worktrunk-x86_64-pc-windows-msvc.zip: all 2 executables signed worktrunk-x86_64-pc-windows-msvc.zip: OK (checksum matches) ``` That also settled the open question behind #3556: SignPath returns the signed zip itself, not a wrapper, so `skip-decompress: true` is correct — the extract mode does explode it into loose files. ## Release contents `wt remove`'s fsmonitor sweep (#3581), the troubleshooting doc trim, and this fix. The two refactors in range (#3582, #3584) are behavior-preserving and omitted per convention. Local gate green (4547 passed). Changelog entries verified against the diffs by subagent; two claims corrected (the doc entry's rationale, and an overclaim attributing v0.69.0's unsigned binary to this bug rather than the separate upload failure #3566 fixed). Data-loss surface reviewed across the cumulative diff. > _This was written by Claude Code on behalf of max_ |
||
|
|
bd3ebaffde |
Release v0.69.1 (#3577)
Release v0.69.1. A patch release: the Windows code-signing upload fix (`archive: false`, so SignPath receives the real zip rather than a zip-of-a-zip), crates.io publishing via trusted publishing (OIDC), a `wt switch` picker correctness fix after a deleted-CWD recovery, and a statusline dev-server URL dim. See CHANGELOG.md for the full list. > _This was written by Claude Code on behalf of max_ |
||
|
|
7b2e0705a1 |
Release v0.69.0 (#3559)
Highlights: clickable CI and dev-server-URL statusline segments in Claude Code (#3550), `wt merge --no-rebase` accepting merge-shaped fast-forward histories (#3509), a faster and lower-CPU `wt switch` picker (#3544, #3534), and SignPath code signing for the Windows release binary (#3553). Full details in CHANGELOG.md. > _This was written by Claude Code on behalf of max_ |
||
|
|
a7c4a7a120 |
refactor(wt-perf): place fixtures under target/wt-perf, not the cache dir (#3547)
## What Move every `wt-perf` on-disk fixture out of the per-user cache dir and under the cargo target dir at `<target>/wt-perf/`, resolved by a renamed `wt_perf_fixture_dir()`: - `setup <config>` fixtures → `<target>/wt-perf/<config>` (was `~/.cache/wt-perf/<config>`). - The rust-lang/rust clone and `prune-real` fixtures → `<target>/wt-perf/bench-repos/` (was `~/.cache/wt-perf/bench-repos/`). - `wt_perf_cache_dir()` → `wt_perf_fixture_dir()`. The target dir is derived from the **running executable's own path** (it lives inside whichever dir cargo built into — `<target>/debug/wt-perf`, `<target>/release/deps/<bench>`), so it honors `CARGO_TARGET_DIR`, a config-file `build.target-dir`, and cargo-llvm-cov's `target/llvm-cov-target/` — none of which a bare `CARGO_TARGET_DIR` env read covers. Falls back to `<workspace>/target` if the binary isn't under a recognizable profile dir. The `etcetera` dependency is dropped. - The `WT_PERF_CACHE_DIR` env override (and the empty-value guard it required) is removed; the benchmarks workflow now caches the deterministic `target/wt-perf/bench-repos` path directly. - In-process throwaway fixtures (`create_repo`) are unchanged — they keep using `tempfile::TempDir`. This reverses the location decision from #3542, which had moved these into `~/.cache/wt-perf`. ## Why `target/` is the conventional home for build/test-generated artifacts — gitignored, reaped by `cargo clean`, and already where criterion writes (`target/criterion`). Keeping every wt-perf fixture there gives one predictable location under the repo that `cargo clean` fully resets. Deriving the target dir from the running binary (rather than assuming `<workspace>/target`) keeps that property intact even when the target dir is relocated. ## Tradeoff (accepted) `target/` is **not** shared across git worktrees (worktrees don't share it) and is wiped by `cargo clean`. So the ~15 GiB `prune-real` rust clone re-clones per worktree and after every `cargo clean` — the cost #3542 avoided by using the cache dir. This is deliberate and documented on `wt_perf_fixture_dir`; it's cheap for the synthetic `setup` fixtures, which rebuild in seconds. ## Testing - `cargo build -p wt-perf --all-targets`, `cargo test -p wt-perf` — clean. - New unit test `target_dir_from_exe_finds_cargo_target` covers the resolution logic (relocated `CARGO_TARGET_DIR`, bench binary under `release/deps/`, cargo-llvm-cov's nested target, closest-profile-wins, and the outside-any-target fallback). - `pre-commit run --all-files` (fmt, clippy, yaml, typos, cargo-lock, custom hooks) — clean. - Smoke-tested end-to-end: `setup branches-2` lands at `<worktree>/target/wt-perf/branches-2` and writes nothing to `~/.cache/`; a copy of the binary run from a fake `<dir>/debug/wt-perf` correctly resolves fixtures to `<dir>/wt-perf/`, proving a relocated target dir is honored. > _This was written by Claude Code on behalf of Maximilian_ --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> |
||
|
|
4121dc979c |
refactor(wt-perf): cache fixtures in the platform cache dir, not /tmp or target/ (#3542)
## What Move `wt-perf`'s benchmark/debug fixture repos out of `std::env::temp_dir()` and `target/bench-repos/` into the per-user cache dir, resolved by a new `wt_perf_cache_dir()`: - `$WT_PERF_CACHE_DIR` if set, else `<cache>/wt-perf` via `etcetera::choose_base_strategy().cache_dir()` — `~/.cache/wt-perf` (or `$XDG_CACHE_HOME/wt-perf`) on Linux **and** macOS. This matches worktrunk's own base-dir convention (`src/config/user/path.rs` resolves user config through the same XDG-on-macOS strategy). - `setup <config>` fixtures → `<cache>/<config>` (was `temp_dir()/wt-perf-<config>`). `--path` still overrides. - Real cloned fixtures (`prune-real`, the rust-lang/rust clone) → `<cache>/bench-repos/` (was `target/bench-repos/`). - In-process throwaway fixtures (`create_repo`) are unchanged — they keep using `tempfile::TempDir`. ## Why Both old homes were wrong for a *reused* fixture (these are given stable names, persist between runs, and are referenced from docs and `-C <path>` — that's a cache, not a temp file): - **A fixed name in a shared `/tmp` (Linux)** collides across users: `/tmp` is sticky (`1777`), so a second user's `setup` hits `remove_dir_all().unwrap()` on a dir they don't own → `EPERM` → panic. It's also a predictable-path/TOCTOU hazard, and `systemd-tmpfiles` reaps `/tmp` per-file at 10 days by `max(atime,mtime,ctime)` — on a `noatime` mount an actively-*read* fixture still loses cold `.git/objects/pack/*.pack` mid-use → silent git corruption. - **On macOS**, `temp_dir()` is already `/var/folders/.../T` (per-user, `0700`), so the docs' `/tmp/wt-perf-*` paths were simply wrong there. - **`target/`** is per-worktree (git worktrees don't share it) and wiped by `cargo clean`, so the ~15 GiB rust clone was re-cloned per worktree — worst for the most expensive fixture, in a worktree-heavy workflow. The cache dir is per-user (no collision, no TOCTOU), stable and discoverable (docs/`-C` references still work), shared across worktrees (clone once per machine), and survives `cargo clean` — matching sccache, cargo, rustup, Go, Bazel, and Hugging Face, which all place large reusable caches there rather than in `/tmp`. ## Migration notes - First bench/setup run after this rebuilds the cache under the new location (the old `target/bench-repos/` is no longer read). Existing fixtures can be dropped with `rm -rf target/bench-repos`. - `.github/workflows/benchmarks.yaml` sets `WT_PERF_CACHE_DIR` and caches `$WT_PERF_CACHE_DIR/bench-repos`, so the cached path and the path wt-perf writes stay pinned together (no drift if a runner sets `$XDG_CACHE_HOME`); key unchanged. - Docs (`benches/CLAUDE.md`, `src/commands/CLAUDE.md`) updated to the new paths, noting that `wt-perf setup` prints the exact path. ## Testing - `cargo build --workspace --all-targets`, `cargo clippy --workspace --all-targets --features shell-integration-tests -- -D warnings` — clean. - `cargo test -p wt-perf` — passes. - Smoke-tested default resolution (`~/.cache/wt-perf/…` on macOS), `$WT_PERF_CACHE_DIR` override, and the `prune-real --path` rejection (now names the resolved cache path). > _This was written by Claude Code on behalf of Maximilian_ --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> |
||
|
|
bf9e603ccd |
build(deps): hold skim at 5.1.0 — 5.3.1 breaks the picker on legacy Windows (#3538)
## Problem skim 5.3.1 breaks the picker on the legacy Windows console. Every picker PTY test on `test (windows)` fails with: ``` ✗ interactive picker failed: Keyboard progressive enhancement not implemented for the legacy Windows API. ``` That is a crossterm keyboard-enhancement error: the picker (via skim 5.3.1) drives keyboard-enhancement handling that the legacy Windows console API doesn't support, crashing the picker at runtime. ~40 `switch_picker` tests fail as a result. ## Evidence it's skim 5.3.1 - **#3526 (bump skim 5.1.0 → 5.3.1) merged with its own `full-tests (windows)` already red** — the regression landed on main unnoticed. - **main at skim 5.1.0 (`0958a365b`) was green on `test (windows)` the same day.** The only relevant change between that green run and the failures is the skim bump. - The failure is a picker runtime crash, unrelated to any picker source change — no `switch_picker` code moved. Since it's on main, it reddens Windows CI for every open PR (e.g. #3346), not just one branch. ## Fix Pin `skim = "=5.1.0"` in `Cargo.toml` — the last Windows-green release — with a comment naming the regression. `Cargo.toml` specified `skim = "5.0"` (a caret range that `5.3.1` satisfies), so #3526 changed **only** the lockfile. A lock-only revert would silently drift back to 5.3.1 on the next `cargo update`, so the hold has to live in the manifest. The lockfile downgrade (skim 5.3.1 → 5.1.0, frizbee 0.11.0 → 0.10.0 and the deps that pulls) follows from the pin. Unpin once skim's keyboard-enhancement path is guarded for the legacy Windows console (upstream fix, or a worktrunk-side guard before enabling enhancement). ## Testing - `cargo run -- hook pre-merge --yes` — full suite green locally (4475 passed, 1 skipped), including the `switch_picker` tests that fail on Windows at 5.3.1. - CI will confirm `test (windows)` returns to green. > _This was written by Claude Code on behalf of Maximilian Roos_ Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
87715c305b |
chore: bump skim from 5.1.0 to 5.3.1 (#3526)
Bumps [skim](https://github.com/skim-rs/skim) from 5.1.0 to 5.3.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/skim-rs/skim/releases">skim's releases</a>.</em></p> <blockquote> <h2>5.3.1 - 2026-07-19</h2> <h2>Release Notes</h2> <h3>🐛 Bug Fixes</h3> <ul> <li>Ignore KeyEventState (<a href="https://redirect.github.com/skim-rs/skim/issues/1127">#1127</a>)</li> </ul> <h2>Install skim 5.3.1</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-installer.sh | sh </code></pre> <h3>Install prebuilt binaries via powershell script</h3> <pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c "irm https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-installer.ps1 | iex" </code></pre> <h2>Download skim 5.3.1</h2> <table> <thead> <tr> <th>File</th> <th>Platform</th> <th>Checksum</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-aarch64-apple-darwin.tar.xz">skim-aarch64-apple-darwin.tar.xz</a></td> <td>Apple Silicon macOS</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-aarch64-apple-darwin.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-x86_64-apple-darwin.tar.xz">skim-x86_64-apple-darwin.tar.xz</a></td> <td>Intel macOS</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-x86_64-apple-darwin.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-x86_64-pc-windows-msvc.zip">skim-x86_64-pc-windows-msvc.zip</a></td> <td>x64 Windows</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-x86_64-pc-windows-msvc.msi">skim-x86_64-pc-windows-msvc.msi</a></td> <td>x64 Windows</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-x86_64-pc-windows-msvc.msi.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-aarch64-unknown-linux-gnu.tar.xz">skim-aarch64-unknown-linux-gnu.tar.xz</a></td> <td>ARM64 Linux</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-aarch64-unknown-linux-gnu.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-x86_64-unknown-linux-gnu.tar.xz">skim-x86_64-unknown-linux-gnu.tar.xz</a></td> <td>x64 Linux</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-x86_64-unknown-linux-gnu.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-aarch64-unknown-linux-musl.tar.xz">skim-aarch64-unknown-linux-musl.tar.xz</a></td> <td>ARM64 MUSL Linux</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-aarch64-unknown-linux-musl.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-x86_64-unknown-linux-musl.tar.xz">skim-x86_64-unknown-linux-musl.tar.xz</a></td> <td>x64 MUSL Linux</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.3.1/skim-x86_64-unknown-linux-musl.tar.xz.sha256">checksum</a></td> </tr> </tbody> </table> <h2>5.3.0 - 2026-07-19</h2> <h2>Release Notes</h2> <h3>🚀 Features</h3> <ul> <li>Add 'left' and <code>right</code> info display modes (<a href="https://redirect.github.com/skim-rs/skim/issues/1120">#1120</a>)</li> <li>Add <code>--hide-nth</code> to hide fields from display but keep them searchable (<a href="https://redirect.github.com/skim-rs/skim/issues/1122">#1122</a>)</li> <li>Add bind and unbind actions (<a href="https://redirect.github.com/skim-rs/skim/issues/1121">#1121</a>)</li> </ul> <h3>🐛 Bug Fixes</h3> <ul> <li>Kitty keyboard protocol</li> </ul> <h3>🤖 CI</h3> <ul> <li>Add public-api check (<a href="https://redirect.github.com/skim-rs/skim/issues/1124">#1124</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/skim-rs/skim/blob/master/CHANGELOG.md">skim's changelog</a>.</em></p> <blockquote> <h2>[5.3.1] - 2026-07-19</h2> <h3>🐛 Bug Fixes</h3> <ul> <li>Ignore KeyEventState (<a href="https://redirect.github.com/skim-rs/skim/issues/1127">#1127</a>)</li> </ul> <h2>[5.3.0] - 2026-07-19</h2> <h3>🚀 Features</h3> <ul> <li>Add 'left' and <code>right</code> info display modes (<a href="https://redirect.github.com/skim-rs/skim/issues/1120">#1120</a>)</li> <li>Add <code>--hide-nth</code> to hide fields from display but keep them searchable (<a href="https://redirect.github.com/skim-rs/skim/issues/1122">#1122</a>)</li> <li>Add bind and unbind actions (<a href="https://redirect.github.com/skim-rs/skim/issues/1121">#1121</a>)</li> </ul> <h3>🐛 Bug Fixes</h3> <ul> <li>Kitty keyboard protocol</li> </ul> <h3>🤖 CI</h3> <ul> <li>Add public-api check (<a href="https://redirect.github.com/skim-rs/skim/issues/1124">#1124</a>)</li> </ul> <h2>[5.2.0] - 2026-07-17</h2> <h3>🚀 Features</h3> <ul> <li>Collapsed borders by default and <code>--border-no-collapse</code> flag (<a href="https://redirect.github.com/skim-rs/skim/issues/1117">#1117</a>)</li> <li>Reduce binary size by removing uncommon image formats and color_eyre (<a href="https://redirect.github.com/skim-rs/skim/issues/1118">#1118</a>)</li> </ul> <h2>[5.1.4] - 2026-07-17</h2> <h3>🐛 Bug Fixes</h3> <ul> <li>Preserve input order with --no-sort (<a href="https://redirect.github.com/skim-rs/skim/issues/1115">#1115</a>)</li> </ul> <h3>New Contributors</h3> <ul> <li><a href="https://github.com/juneboku"><code>@juneboku</code></a> made their first contribution in <a href="https://redirect.github.com/skim-rs/skim/pull/1115">#1115</a></li> </ul> <h2>[5.1.3] - 2026-07-16</h2> <h3>🐛 Bug Fixes</h3> <ul> <li>Manually resize the Tui when not in fullscreen mode</li> </ul> <h3>🤖 CI</h3> <ul> <li>Fix fixed viewport resize test in non-interactive env (<a href="https://redirect.github.com/skim-rs/skim/issues/1114">#1114</a>)</li> </ul> <h3>⚙️ Miscellaneous Tasks</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/skim-rs/skim/commit/6dbe37a7fa43f69d906f42b647a5b0221f721bd8"><code>6dbe37a</code></a> release: v5.3.1 (<a href="https://redirect.github.com/skim-rs/skim/issues/1128">#1128</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/6f94d80973063e3464ef169afbf27034642cde35"><code>6f94d80</code></a> fix: ignore KeyEventState (<a href="https://redirect.github.com/skim-rs/skim/issues/1127">#1127</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/4d093a42e1ebf94c64d7950e2d4817b30089ae05"><code>4d093a4</code></a> release: v5.3.0 (<a href="https://redirect.github.com/skim-rs/skim/issues/1123">#1123</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/3c3f26ebc923491031f2728928fd3c18efe46163"><code>3c3f26e</code></a> fix: kitty keyboard protocol</li> <li><a href="https://github.com/skim-rs/skim/commit/ad97bfa7deeee352d743f41ec7cb8bd4b26b4bf6"><code>ad97bfa</code></a> feat: add bind and unbind actions (<a href="https://redirect.github.com/skim-rs/skim/issues/1121">#1121</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/ff98133bbd4502633a5b01fcadcadccccef437e0"><code>ff98133</code></a> ci: add public-api check (<a href="https://redirect.github.com/skim-rs/skim/issues/1124">#1124</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/dce26d622a7caec4649b2d379c029a64e4fad66e"><code>dce26d6</code></a> feat: add <code>--hide-nth</code> to hide fields from display but keep them searchable (...</li> <li><a href="https://github.com/skim-rs/skim/commit/55aa7dacd573ccea22f1c3fb655e0a4f91f297a7"><code>55aa7da</code></a> feat: add 'left' and <code>right</code> info display modes (<a href="https://redirect.github.com/skim-rs/skim/issues/1120">#1120</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/57a7487323b7f63f28a0e142ba38136b79dca11b"><code>57a7487</code></a> release: v5.2.0 (<a href="https://redirect.github.com/skim-rs/skim/issues/1119">#1119</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/bb6c03f3771766a1830e7c48c3abc26af02de97f"><code>bb6c03f</code></a> feat: reduce binary size by removing uncommon image formats and color_eyre (#...</li> <li>Additional commits viewable in <a href="https://github.com/skim-rs/skim/compare/v5.1.0...v5.3.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
076e09a2e4 |
chore: bump tokio from 1.52.3 to 1.53.0 (#3525)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.52.3 to 1.53.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tokio-rs/tokio/releases">tokio's releases</a>.</em></p> <blockquote> <h2>Tokio v1.53.0</h2> <h1>1.53.0 (July 17th, 2026)</h1> <h3>Added</h3> <ul> <li>fs: implement <code>From<OwnedFd></code> and <code>From<OwnedHandle></code> for <code>File</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8266">#8266</a>)</li> <li>metrics: add task schedule latency metric (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7986">#7986</a>)</li> <li>net: add <code>SocketAddr</code> methods to Unix sockets (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8144">#8144</a>)</li> </ul> <h3>Changed</h3> <ul> <li>io: add <code>#[inline]</code> to IO trait impls for in-memory types (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8242">#8242</a>)</li> <li>net: implement UCred::pid on FreeBSD (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8086">#8086</a>)</li> <li>net: support Nuttx target os (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8259">#8259</a>)</li> <li>signal: refactor global variables on Windows (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8231">#8231</a>)</li> <li>sync: <code>mpsc::{Receiver,UnboundedReceiver}</code> now drops waker on drop, even if there are still senders (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8095">#8095</a>)</li> <li>taskdump: support taskdumps on s390x (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8192">#8192</a>)</li> <li>time: add <code>#[track_caller]</code> to <code>timeout_at()</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8077">#8077</a>)</li> <li>time: consolidate mutex locks on spurious poll (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8124">#8124</a>)</li> <li>time: defer waker clone on spurious poll (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8107">#8107</a>)</li> <li>time: move lazy-registration state into <code>Sleep</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8132">#8132</a>)</li> <li>tracing: remove unnecessary span clone (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8126">#8126</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>io: do not treat zero-length reads as EOF in <code>Chain</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8251">#8251</a>)</li> <li>net: use getpeereid for QNX peer credentials (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8270">#8270</a>)</li> <li>runtime: avoid illegal state in <code>FastRand</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8078">#8078</a>)</li> <li>sync: wake mpsc receiver when a queued <code>reserve[_many]</code> returns permits (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8260">#8260</a>)</li> <li>taskdump: skip double wake on <code>Trace::capture</code>/<code>Trace::trace_with</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8043">#8043</a>)</li> <li>time: avoid stack overflow in runtime constructor (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8093">#8093</a>)</li> <li>time (alt timer): ensure timers stay in the same runtime after <code>.reset()</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8169">#8169</a>)</li> </ul> <h3>IO uring (unstable)</h3> <ul> <li>fs: use io-uring for <code>fs::try_exists</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8080">#8080</a>)</li> <li>fs: use io-uring for renaming files (<a href="https://redirect.github.com/tokio-rs/tokio/issues/7800">#7800</a>)</li> <li>rt: flush io-uring CQE in case of CQE overflow (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8277">#8277</a>)</li> </ul> <h3>Documented</h3> <ul> <li>docs: clarify cancel safety wording (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8181">#8181</a>)</li> <li>fs: clarify <code>create_dir_all</code> succeeds if path exists (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8149">#8149</a>)</li> <li>io: add warning about stdout reordering with multiple handles (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8276">#8276</a>)</li> <li>net: document pipe <code>try_read*</code>/<code>try_write*</code> readiness behavior (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8032">#8032</a>)</li> <li>runtime: document interaction with fork() (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8202">#8202</a>)</li> <li>sync: clarify broadcast lagging semantics (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8239">#8239</a>)</li> <li>sync: document memory ordering guarantees for Semaphore (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8119">#8119</a>)</li> <li>task: explain why <code>yield_now</code> defers its waker (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8254">#8254</a>)</li> <li>time: add panic docs to <code>timeout_at()</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8077">#8077</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tokio-rs/tokio/commit/be689a35f5ade5a39e507f79d3ec85cdab27806f"><code>be689a3</code></a> chore: prepare Tokio v1.53.0 (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8294">#8294</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/50f76c71ec7203013f7f0cda59deaa9016e93939"><code>50f76c7</code></a> chore: prepare tokio-macros v2.7.1 (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8295">#8295</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/f61fccad3cd598cce743fc511a983364b77af92a"><code>f61fcca</code></a> Merge 'tokio-1.52.4' into 'master' (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8290">#8290</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/efdba5fcf02c4b93d379114df136b994c3b21445"><code>efdba5f</code></a> chore: prepare Tokio v1.52.4 (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8289">#8289</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/b0ba02e75507518baed6718b0c37105e430f3a93"><code>b0ba02e</code></a> Merge 'tokio-1.51.4' into 'tokio-1.52.x' (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8288">#8288</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/7bcd2d343d997a658be5bc165520070c997fefbc"><code>7bcd2d3</code></a> taskdump: remove crate disambiguators from output (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8288">#8288</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/f84b209126a9b0f66dae1025e30e44d217205513"><code>f84b209</code></a> chore: prepare Tokio v1.51.4 (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8286">#8286</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/eacb98e18901fcbe011bfceddbc31853f1bf0c27"><code>eacb98e</code></a> runtime: don't skip the driver when <code>before_park</code> schedules work (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8222">#8222</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/5e16ee00faae5b81a58f70b734577b800e0b203b"><code>5e16ee0</code></a> task: avoid replacing the JoinQueue waker in <code>try_join_next</code> (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8279">#8279</a>)</li> <li><a href="https://github.com/tokio-rs/tokio/commit/88212ab64afd2b2f87deeb073f9eef6aaaad3701"><code>88212ab</code></a> sync: document memory ordering guarantees for Semaphore (<a href="https://redirect.github.com/tokio-rs/tokio/issues/8119">#8119</a>)</li> <li>Additional commits viewable in <a href="https://github.com/tokio-rs/tokio/compare/tokio-1.52.3...tokio-1.53.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
0958a365bb |
chore: bump the patch group with 6 updates (#3524)
Bumps the patch group with 6 updates: | Package | From | To | | --- | --- | --- | | [anyhow](https://github.com/dtolnay/anyhow) | `1.0.103` | `1.0.104` | | [clap](https://github.com/clap-rs/clap) | `4.6.1` | `4.6.2` | | [serde](https://github.com/serde-rs/serde) | `1.0.228` | `1.0.229` | | [which](https://github.com/harryfei/which-rs) | `8.0.4` | `8.0.5` | | [regex](https://github.com/rust-lang/regex) | `1.13.0` | `1.13.1` | | [ignore](https://github.com/BurntSushi/ripgrep) | `0.4.28` | `0.4.30` | Updates `anyhow` from 1.0.103 to 1.0.104 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p> <blockquote> <h2>1.0.104</h2> <ul> <li>Update <code>syn</code> dev-dependency to version 3</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dtolnay/anyhow/commit/1dbe1862aae650423e3361fbd20b7d17c5109cc3"><code>1dbe186</code></a> Release 1.0.104</li> <li><a href="https://github.com/dtolnay/anyhow/commit/f6479f8e5e10761d7fecde0970cff363dc644d92"><code>f6479f8</code></a> Update to syn 3</li> <li>See full diff in <a href="https://github.com/dtolnay/anyhow/compare/1.0.103...1.0.104">compare view</a></li> </ul> </details> <br /> Updates `clap` from 4.6.1 to 4.6.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/releases">clap's releases</a>.</em></p> <blockquote> <h2>v4.6.2</h2> <h2>[4.6.2] - 2026-07-15</h2> <h3>Fixes</h3> <ul> <li><em>(help)</em> Say <code>alias</code> when there is only one</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's changelog</a>.</em></p> <blockquote> <h2>[4.6.2] - 2026-07-15</h2> <h3>Fixes</h3> <ul> <li><em>(help)</em> Say <code>alias</code> when there is only one</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/clap-rs/clap/commit/0fe0be302726f4253b9bee27eed48438c92917aa"><code>0fe0be3</code></a> chore: Release</li> <li><a href="https://github.com/clap-rs/clap/commit/480af9d045453f4ab96d9bdd4d4b9f5aab3c272f"><code>480af9d</code></a> docs: Update changelog</li> <li><a href="https://github.com/clap-rs/clap/commit/2b3ddd0294a147d1eda917cb303243bcde0c12ee"><code>2b3ddd0</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/6340">#6340</a> from liskin/fix-completion-escape</li> <li><a href="https://github.com/clap-rs/clap/commit/7ffe7399ff032cc247eb0449cf8fcdfbfe55a4ec"><code>7ffe739</code></a> fix(complete): Do not suggest options after "--"</li> <li><a href="https://github.com/clap-rs/clap/commit/d47fc4f8a5e9fcc16d0cae15b51e6eb1a8ed5832"><code>d47fc4f</code></a> test(complete): Options suggested after escape (<code>--</code>)</li> <li>See full diff in <a href="https://github.com/clap-rs/clap/compare/clap_complete-v4.6.1...clap_complete-v4.6.2">compare view</a></li> </ul> </details> <br /> Updates `serde` from 1.0.228 to 1.0.229 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/serde-rs/serde/releases">serde's releases</a>.</em></p> <blockquote> <h2>v1.0.229</h2> <ul> <li>Update to syn 3</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/serde-rs/serde/commit/7fc3b4c30c94f73a96ebd1553f2b090d928fc3a8"><code>7fc3b4c</code></a> Release 1.0.229</li> <li><a href="https://github.com/serde-rs/serde/commit/6d6e9a11101354ce769a3438a088b6b9305c1863"><code>6d6e9a1</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/3085">#3085</a> from dtolnay/syn3</li> <li><a href="https://github.com/serde-rs/serde/commit/6dec3b751126c8338cac0fe8085612d695e4ecf3"><code>6dec3b7</code></a> Update to syn 3</li> <li><a href="https://github.com/serde-rs/serde/commit/cfe669241065984177ff63af8b45058e6e9b499d"><code>cfe6692</code></a> Resolve mut_mut pedantic clippy lint</li> <li><a href="https://github.com/serde-rs/serde/commit/1023d077510b4aef36a41ef56fdb7798568a2654"><code>1023d07</code></a> Update actions/upload-artifact@v6 -> v7</li> <li><a href="https://github.com/serde-rs/serde/commit/dd682c2c86aa7629e77c1ccd93212d3729f4c66d"><code>dd682c2</code></a> Update actions/checkout@v6 -> v7</li> <li><a href="https://github.com/serde-rs/serde/commit/5f0f18b9211732f2d82f73b5a43e4f5ff3701251"><code>5f0f18b</code></a> Update ui test suite to nightly-2026-06-01</li> <li><a href="https://github.com/serde-rs/serde/commit/63a1498f0e7be991ffac5939bdd202ca16e9a23f"><code>63a1498</code></a> Regenerate stderr with trybuild normalization fixes</li> <li><a href="https://github.com/serde-rs/serde/commit/fa7da4a93567ed347ad0735c28e439fca688ef26"><code>fa7da4a</code></a> Fix unused_features warning</li> <li><a href="https://github.com/serde-rs/serde/commit/6b1a17851ea3d86a56aa116ca1cbf428f8d5f22d"><code>6b1a178</code></a> Unpin CI miri toolchain</li> <li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.228...v1.0.229">compare view</a></li> </ul> </details> <br /> Updates `which` from 8.0.4 to 8.0.5 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/harryfei/which-rs/releases">which's releases</a>.</em></p> <blockquote> <h2>8.0.5</h2> <h2>What's Changed</h2> <ul> <li>Fix absolute path lookup when cwd is disabled by <a href="https://github.com/weifanglab"><code>@weifanglab</code></a> in <a href="https://redirect.github.com/harryfei/which-rs/pull/126">harryfei/which-rs#126</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/weifanglab"><code>@weifanglab</code></a> made their first contribution in <a href="https://redirect.github.com/harryfei/which-rs/pull/126">harryfei/which-rs#126</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/harryfei/which-rs/compare/8.0.4...8.0.5">https://github.com/harryfei/which-rs/compare/8.0.4...8.0.5</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/harryfei/which-rs/blob/master/CHANGELOG.md">which's changelog</a>.</em></p> <blockquote> <h2>8.0.5</h2> <ul> <li>Bug fix: <a href="https://redirect.github.com/harryfei/which-rs/pull/126">#126</a> Do not use current directory for search when provided path is absolute. Thanks <a href="https://github.com/weifanglab"><code>@weifanglab</code></a> for your contribution to which!</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/harryfei/which-rs/commit/7fba0e04d0674bbe8ccf5bfb4f09b1d00925806f"><code>7fba0e0</code></a> bump version number, update CHANGELOG.md</li> <li><a href="https://github.com/harryfei/which-rs/commit/e28a3bf34e41bcc009b990e6c05b4a6e6b01635f"><code>e28a3bf</code></a> Fix absolute path lookup when cwd is disabled (<a href="https://redirect.github.com/harryfei/which-rs/issues/126">#126</a>)</li> <li>See full diff in <a href="https://github.com/harryfei/which-rs/compare/8.0.4...8.0.5">compare view</a></li> </ul> </details> <br /> Updates `regex` from 1.13.0 to 1.13.1 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's changelog</a>.</em></p> <blockquote> <h1>1.13.1 (2026-07-15)</h1> <p>This is a release that fixes a bug where incorrect regex match offsets could be reported. Note that this doesn't impact whether a match occurs or not, just where it occurs. The match offsets are still valid for slicing, they just may not refer to the correct leftmost-first match. See <a href="https://redirect.github.com/rust-lang/regex/pull/1364">#1364</a> for (many) more details.</p> <p>Bug fixes:</p> <ul> <li><a href="https://redirect.github.com/rust-lang/regex/issues/1354">#1354</a>: Fixes previously unsound reverse suffix and inner optimizations.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/rust-lang/regex/commit/2b527599eb9eea0dcc288c704584f242f26a5c61"><code>2b52759</code></a> 1.13.1, redux</li> <li><a href="https://github.com/rust-lang/regex/commit/40e98238fff903f3e1ec95bbdb487185dd60504a"><code>40e9823</code></a> 1.13.1</li> <li><a href="https://github.com/rust-lang/regex/commit/75fcb962d6ea1c456f6f023c9537a66389413a85"><code>75fcb96</code></a> changelog: 1.13.1</li> <li><a href="https://github.com/rust-lang/regex/commit/64ad0b618e043b791ed5385dd5504a436da1ddae"><code>64ad0b6</code></a> automata: fix bug in reverse suffix/inner optimization</li> <li><a href="https://github.com/rust-lang/regex/commit/fa91c31a4291c9dda6afe19829e6fe2e3bbc2da5"><code>fa91c31</code></a> automata: fix a bug caught by Codex review</li> <li><a href="https://github.com/rust-lang/regex/commit/30390ec3e8889aad830337cdf3a7a01ae195ae73"><code>30390ec</code></a> automata: formatting tweaks</li> <li><a href="https://github.com/rust-lang/regex/commit/821a8eb1ad7860ddc788fe36f495036df63cfc35"><code>821a8eb</code></a> automata: refactor reverse suffix/inner search slightly</li> <li><a href="https://github.com/rust-lang/regex/commit/10afd704d88d00ddfcd10218883a81b3ae5e4831"><code>10afd70</code></a> automata: expose the extracted literals for inner literal extraction</li> <li><a href="https://github.com/rust-lang/regex/commit/8c34f41d3c5a0e16ce17dfb964587cb48625a8d5"><code>8c34f41</code></a> automata: avoid reverse suffix optimization for non-leftmost-first</li> <li><a href="https://github.com/rust-lang/regex/commit/5524f02430d2d118d5c34fde54136d08376de711"><code>5524f02</code></a> test: add regression tests for failed reverse suffix/inner optimizations</li> <li>Additional commits viewable in <a href="https://github.com/rust-lang/regex/compare/1.13.0...1.13.1">compare view</a></li> </ul> </details> <br /> Updates `ignore` from 0.4.28 to 0.4.30 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/BurntSushi/ripgrep/commit/227381db0ee83dfa4341f1e27ff9617c0f5ad992"><code>227381d</code></a> ignore-0.4.30</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/b621e65b4fc8a50b55576b07526f21c5d051ad71"><code>b621e65</code></a> ignore: add incremental checking</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/c55818fd32d68cf742aea67bce86529f198bc985"><code>c55818f</code></a> ignore: more pathutil clean-up</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/6e527e9202f85a39ab2c4698636710204eb096e0"><code>6e527e9</code></a> ignore: add routine for checking if a path is hidden or not</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/626b8951acbced7ff710f4e01624a05f219eec38"><code>626b895</code></a> ignore: refactor <code>is_hidden</code></li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/0d7054d8e466d6aa0a6bb6cf121e87225d26df44"><code>0d7054d</code></a> ignore: fix deadlock when visitor panics</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/576005b322c41174bb21d76122b1411e5d983402"><code>576005b</code></a> grep-searcher-0.1.17</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/432976d69cdff36d5a0d6845b093cf3f67262b43"><code>432976d</code></a> grep-pcre2-0.1.10</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/41e0ae702bcbd47b093a33ee73f1497aa4ed20d6"><code>41e0ae7</code></a> grep-matcher-0.1.9</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/40ffc6e0bd990ba6e56702ed1ec519b7ad96a1e7"><code>40ffc6e</code></a> ignore-0.4.29</li> <li>Additional commits viewable in <a href="https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.28...ignore-0.4.30">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
fd97aa8bc3 |
Release v0.68.0 (#3484)
Release v0.68.0. Highlights: on-demand picker preview tabs (#3439), bare-repo project config read from the object store when the default branch is checked out nowhere (#3462), shell detection via the process tree (#3455), and `wt config state` flagging a stale default-branch cache (#3478). Full details in CHANGELOG.md. > _This was written by Claude Code on behalf of max_ |
||
|
|
6895ce23e1 |
chore: bump the patch group with 4 updates (#3445)
Bumps the patch group with 4 updates: [crossbeam-channel](https://github.com/crossbeam-rs/crossbeam), [tree-sitter](https://github.com/tree-sitter/tree-sitter), [tree-sitter-highlight](https://github.com/tree-sitter/tree-sitter) and [ignore](https://github.com/BurntSushi/ripgrep). Updates `crossbeam-channel` from 0.5.15 to 0.5.16 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/crossbeam-rs/crossbeam/releases">crossbeam-channel's releases</a>.</em></p> <blockquote> <h2>crossbeam-channel 0.5.16</h2> <ul> <li>Improve support for rust-analyzer auto-completion of code inside <code>select!</code>/<code>select_biased!</code> macro. (<a href="https://redirect.github.com/crossbeam-rs/crossbeam/issues/1240">#1240</a>)</li> <li>Make <code>never</code> const. (<a href="https://redirect.github.com/crossbeam-rs/crossbeam/issues/1250">#1250</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/crossbeam-rs/crossbeam/commit/9b56303b8aa9ff8ec5bbebb9d2da05e034977889"><code>9b56303</code></a> Prepare for the next release</li> <li><a href="https://github.com/crossbeam-rs/crossbeam/commit/a078b17b7319ab49e53720ebeed8fa8a539a8e18"><code>a078b17</code></a> ci: Sync config with main</li> <li><a href="https://github.com/crossbeam-rs/crossbeam/commit/508c29d3c27d7e27791244644dae2169a2f1678a"><code>508c29d</code></a> Remove crossbeam-skiplist which is not published from this branch from worksp...</li> <li><a href="https://github.com/crossbeam-rs/crossbeam/commit/6a20e57c492da6ba327b587bc5f38c7a4a3067ef"><code>6a20e57</code></a> tests: Fix mismatched_lifetime_syntaxes</li> <li><a href="https://github.com/crossbeam-rs/crossbeam/commit/c2d674f88af9501a0a939d8d4b0d52bdbc453ef9"><code>c2d674f</code></a> epoch: Fix rustdoc::invalid_rust_codeblocks</li> <li><a href="https://github.com/crossbeam-rs/crossbeam/commit/bd6563e2118a5f2e9eec0f9e16006d428b82ffb0"><code>bd6563e</code></a> Update no_atomic.rs</li> <li><a href="https://github.com/crossbeam-rs/crossbeam/commit/d3e1e364093763a40affe7ea3ff8368c7dc25ee9"><code>d3e1e36</code></a> Make CachePadded<T> have C repr to allow casting to and from T (<a href="https://redirect.github.com/crossbeam-rs/crossbeam/issues/1270">#1270</a>)</li> <li><a href="https://github.com/crossbeam-rs/crossbeam/commit/c0c466e5c3b5f177884e1df5f8f2c8c939c31aab"><code>c0c466e</code></a> channel: Use non-poison Mutex</li> <li><a href="https://github.com/crossbeam-rs/crossbeam/commit/8b3940f1063f2e0795e44d3f5dde973f08e2a50b"><code>8b3940f</code></a> Add missing word to docs (<a href="https://redirect.github.com/crossbeam-rs/crossbeam/issues/1208">#1208</a>)</li> <li><a href="https://github.com/crossbeam-rs/crossbeam/commit/df6eec0610f91de504a5834c9faa0de40e3aec83"><code>df6eec0</code></a> docs: Link <code>select_biased!</code> from <code>select!</code> macro (<a href="https://redirect.github.com/crossbeam-rs/crossbeam/issues/1202">#1202</a>)</li> <li>Additional commits viewable in <a href="https://github.com/crossbeam-rs/crossbeam/compare/crossbeam-channel-0.5.15...crossbeam-channel-0.5.16">compare view</a></li> </ul> </details> <br /> Updates `tree-sitter` from 0.26.10 to 0.26.11 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tree-sitter/tree-sitter/releases">tree-sitter's releases</a>.</em></p> <blockquote> <h2>v0.26.11</h2> <h2>What's Changed</h2> <ul> <li>fix(deps): zig manifest for wasmtime is missing windows hashes by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5720">tree-sitter/tree-sitter#5720</a></li> <li>fix(xtask): eliminate silent errors in zig fetch by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5724">tree-sitter/tree-sitter#5724</a></li> <li>fix(query): short-circuit longest-match dedup for disjoint states by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5726">tree-sitter/tree-sitter#5726</a></li> <li>fix(query): various anchor fixes by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5727">tree-sitter/tree-sitter#5727</a></li> <li>Fix C++ compilation errors in array macros. by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5735">tree-sitter/tree-sitter#5735</a></li> <li>fix(rust): address new clippy lints by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5743">tree-sitter/tree-sitter#5743</a></li> <li>fix(generate): strip non-ASCII case folds by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5744">tree-sitter/tree-sitter#5744</a></li> <li>fix(ci): re-set executable permission on release artifacts before zipping by <a href="https://github.com/clason"><code>@clason</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5746">tree-sitter/tree-sitter#5746</a></li> <li>release v0.26.11 by <a href="https://github.com/clason"><code>@clason</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5748">tree-sitter/tree-sitter#5748</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/tree-sitter/tree-sitter/compare/v0.26.10...v0.26.11">https://github.com/tree-sitter/tree-sitter/compare/v0.26.10...v0.26.11</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/64402de2857cc197ecc4ca3bc144ea91fda7e72e"><code>64402de</code></a> release v0.26.11</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/2194ac1a9c9fb8960b8471daade1da07aaeb2b0b"><code>2194ac1</code></a> fix(ci): re-set executable permission on release artifacts before zipping</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/a2b8369c4a18373c08a8b7e742fac8b14674eefc"><code>a2b8369</code></a> fix(generate): strip non-ASCII case folds</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/1ae3cc575388c8429a8991b8c9580946243598a7"><code>1ae3cc5</code></a> fix(rust): address new clippy lints</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/90dd1a0cfbf6262483a9e5953a35659585129120"><code>90dd1a0</code></a> fix(templates): generated array macros do not compile with C++</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/fa6222a0d37ecf2bfb4fccd31e857133f3e81930"><code>fa6222a</code></a> docs(queries): clarify behavior of first child anchor example</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/77b741bb8309d6755797f942bf0ff1a9a74475a4"><code>77b741b</code></a> docs(queries): specify anchor behavior with quantifiers and groups</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/1c21ff33d688c328a687e37a7f4215136b6e6dc6"><code>1c21ff3</code></a> fix(query): apply a trailing anchor when its optional node is skipped</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/5756ced350638708becc00d7ccb2e8d171b4feae"><code>5756ced</code></a> fix(query): make an anchor after a zero-matched quantifier vacuous</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/eca86a7a6c77c0a7124a59be712661256e361cbd"><code>eca86a7</code></a> fix(query): forbid an anchor at the end of a group</li> <li>Additional commits viewable in <a href="https://github.com/tree-sitter/tree-sitter/compare/v0.26.10...v0.26.11">compare view</a></li> </ul> </details> <br /> Updates `tree-sitter-highlight` from 0.26.10 to 0.26.11 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tree-sitter/tree-sitter/releases">tree-sitter-highlight's releases</a>.</em></p> <blockquote> <h2>v0.26.11</h2> <h2>What's Changed</h2> <ul> <li>fix(deps): zig manifest for wasmtime is missing windows hashes by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5720">tree-sitter/tree-sitter#5720</a></li> <li>fix(xtask): eliminate silent errors in zig fetch by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5724">tree-sitter/tree-sitter#5724</a></li> <li>fix(query): short-circuit longest-match dedup for disjoint states by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5726">tree-sitter/tree-sitter#5726</a></li> <li>fix(query): various anchor fixes by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5727">tree-sitter/tree-sitter#5727</a></li> <li>Fix C++ compilation errors in array macros. by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5735">tree-sitter/tree-sitter#5735</a></li> <li>fix(rust): address new clippy lints by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5743">tree-sitter/tree-sitter#5743</a></li> <li>fix(generate): strip non-ASCII case folds by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5744">tree-sitter/tree-sitter#5744</a></li> <li>fix(ci): re-set executable permission on release artifacts before zipping by <a href="https://github.com/clason"><code>@clason</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5746">tree-sitter/tree-sitter#5746</a></li> <li>release v0.26.11 by <a href="https://github.com/clason"><code>@clason</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5748">tree-sitter/tree-sitter#5748</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/tree-sitter/tree-sitter/compare/v0.26.10...v0.26.11">https://github.com/tree-sitter/tree-sitter/compare/v0.26.10...v0.26.11</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/64402de2857cc197ecc4ca3bc144ea91fda7e72e"><code>64402de</code></a> release v0.26.11</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/2194ac1a9c9fb8960b8471daade1da07aaeb2b0b"><code>2194ac1</code></a> fix(ci): re-set executable permission on release artifacts before zipping</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/a2b8369c4a18373c08a8b7e742fac8b14674eefc"><code>a2b8369</code></a> fix(generate): strip non-ASCII case folds</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/1ae3cc575388c8429a8991b8c9580946243598a7"><code>1ae3cc5</code></a> fix(rust): address new clippy lints</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/90dd1a0cfbf6262483a9e5953a35659585129120"><code>90dd1a0</code></a> fix(templates): generated array macros do not compile with C++</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/fa6222a0d37ecf2bfb4fccd31e857133f3e81930"><code>fa6222a</code></a> docs(queries): clarify behavior of first child anchor example</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/77b741bb8309d6755797f942bf0ff1a9a74475a4"><code>77b741b</code></a> docs(queries): specify anchor behavior with quantifiers and groups</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/1c21ff33d688c328a687e37a7f4215136b6e6dc6"><code>1c21ff3</code></a> fix(query): apply a trailing anchor when its optional node is skipped</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/5756ced350638708becc00d7ccb2e8d171b4feae"><code>5756ced</code></a> fix(query): make an anchor after a zero-matched quantifier vacuous</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/eca86a7a6c77c0a7124a59be712661256e361cbd"><code>eca86a7</code></a> fix(query): forbid an anchor at the end of a group</li> <li>Additional commits viewable in <a href="https://github.com/tree-sitter/tree-sitter/compare/v0.26.10...v0.26.11">compare view</a></li> </ul> </details> <br /> Updates `ignore` from 0.4.27 to 0.4.28 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/BurntSushi/ripgrep/commit/324f7efe5ce92da0c938291fb69a8027cc2b12a8"><code>324f7ef</code></a> ignore-0.4.28</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/241b87b3377136659ef0f57948b8e0739e9a691b"><code>241b87b</code></a> ignore: support <code>GIT_CONFIG_GLOBAL</code> and <code>GIT_CONFIG_SYSTEM</code> for `core.exclude...</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/b6849daee84a67b42b0844b2f6a91e47c24705b1"><code>b6849da</code></a> ignore/walk: add <code>WalkBuilder::empty</code> and <code>WalkBuilder::from_iter</code></li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/8bca2ebfed844bcbbb649a836783c08da110f2e9"><code>8bca2eb</code></a> doc: fix typo in man page</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/61a9fd82294c155ca00febc948d8d23c9b678367"><code>61a9fd8</code></a> doc: fix typo</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/e7b0f89e81811b295446404f02ca133fe8434054"><code>e7b0f89</code></a> lint: use <code>cloned()</code> or <code>copied()</code> when we can</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/767086db4ccb6abc3e4ce5125da614ea62f7346b"><code>767086d</code></a> searcher: hint at sequential memory map reading</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/9548e86b14f1aa853911239f439e27a20c10fb69"><code>9548e86</code></a> ignore/types: add PKGBUILD type</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/bc3ad92b345eeddc48afff3194a5e2385e3d6a3b"><code>bc3ad92</code></a> ignore/types: add Rocq <code>.v</code> files</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/93acfe2d47d46bc2f92a78f1e64098ad0a7b34b5"><code>93acfe2</code></a> ignore/types: add <code>proto</code> for filtering to protobuf files</li> <li>Additional commits viewable in <a href="https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.27...ignore-0.4.28">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
70c9b40b1f |
chore: bump skim from 5.0.0 to 5.1.0 (#3446)
Bumps [skim](https://github.com/skim-rs/skim) from 5.0.0 to 5.1.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/skim-rs/skim/releases">skim's releases</a>.</em></p> <blockquote> <h2>5.1.0 - 2026-07-09</h2> <h2>Release Notes</h2> <h3>🚀 Features</h3> <ul> <li>Bump frizbee to 0.10.0, thread local matcher (<a href="https://redirect.github.com/skim-rs/skim/issues/1105">#1105</a>)</li> <li>Add cargo-fuzz targets for hand-rolled text parsers (<a href="https://redirect.github.com/skim-rs/skim/issues/1106">#1106</a>)</li> </ul> <h3>🐛 Bug Fixes</h3> <ul> <li>Less restrictive max pattern in ari matcher</li> <li>Unknown border values fallback to plain (closes <a href="https://redirect.github.com/skim-rs/skim/issues/1107">#1107</a>)</li> </ul> <h3>🧪 Testing</h3> <ul> <li>Fix arinae max pat len test after constant update</li> </ul> <h3>New Contributors</h3> <ul> <li><a href="https://github.com/saghen"><code>@saghen</code></a> made their first contribution in <a href="https://redirect.github.com/skim-rs/skim/pull/1105">#1105</a></li> </ul> <h2>Install skim 5.1.0</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-installer.sh | sh </code></pre> <h3>Install prebuilt binaries via powershell script</h3> <pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c "irm https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-installer.ps1 | iex" </code></pre> <h2>Download skim 5.1.0</h2> <table> <thead> <tr> <th>File</th> <th>Platform</th> <th>Checksum</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-aarch64-apple-darwin.tar.xz">skim-aarch64-apple-darwin.tar.xz</a></td> <td>Apple Silicon macOS</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-aarch64-apple-darwin.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-x86_64-apple-darwin.tar.xz">skim-x86_64-apple-darwin.tar.xz</a></td> <td>Intel macOS</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-x86_64-apple-darwin.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-x86_64-pc-windows-msvc.zip">skim-x86_64-pc-windows-msvc.zip</a></td> <td>x64 Windows</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-x86_64-pc-windows-msvc.msi">skim-x86_64-pc-windows-msvc.msi</a></td> <td>x64 Windows</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-x86_64-pc-windows-msvc.msi.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-aarch64-unknown-linux-gnu.tar.xz">skim-aarch64-unknown-linux-gnu.tar.xz</a></td> <td>ARM64 Linux</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-aarch64-unknown-linux-gnu.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-x86_64-unknown-linux-gnu.tar.xz">skim-x86_64-unknown-linux-gnu.tar.xz</a></td> <td>x64 Linux</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-x86_64-unknown-linux-gnu.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-aarch64-unknown-linux-musl.tar.xz">skim-aarch64-unknown-linux-musl.tar.xz</a></td> <td>ARM64 MUSL Linux</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-aarch64-unknown-linux-musl.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-x86_64-unknown-linux-musl.tar.xz">skim-x86_64-unknown-linux-musl.tar.xz</a></td> <td>x64 MUSL Linux</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v5.1.0/skim-x86_64-unknown-linux-musl.tar.xz.sha256">checksum</a></td> </tr> </tbody> </table> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/skim-rs/skim/blob/master/CHANGELOG.md">skim's changelog</a>.</em></p> <blockquote> <h2>[5.1.0] - 2026-07-09</h2> <h3>🚀 Features</h3> <ul> <li>Bump frizbee to 0.10.0, thread local matcher (<a href="https://redirect.github.com/skim-rs/skim/issues/1105">#1105</a>)</li> <li>Add cargo-fuzz targets for hand-rolled text parsers (<a href="https://redirect.github.com/skim-rs/skim/issues/1106">#1106</a>)</li> </ul> <h3>🐛 Bug Fixes</h3> <ul> <li>Less restrictive max pattern in ari matcher</li> <li>Unknown border values fallback to plain (closes <a href="https://redirect.github.com/skim-rs/skim/issues/1107">#1107</a>)</li> </ul> <h3>🧪 Testing</h3> <ul> <li>Fix arinae max pat len test after constant update</li> </ul> <h3>New Contributors</h3> <ul> <li><a href="https://github.com/saghen"><code>@saghen</code></a> made their first contribution in <a href="https://redirect.github.com/skim-rs/skim/pull/1105">#1105</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/skim-rs/skim/commit/c4bc5e1be48367a7fec8a90b0e2550635eed7f3d"><code>c4bc5e1</code></a> release: v5.1.0</li> <li><a href="https://github.com/skim-rs/skim/commit/ef593397276298af6ad95bdbf2fa9d4a220d991f"><code>ef59339</code></a> fix: unknown border values fallback to plain (closes <a href="https://redirect.github.com/skim-rs/skim/issues/1107">#1107</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/1effd9a69d30b1aa5e55dc3aaf8c43ac1101010e"><code>1effd9a</code></a> test: fix arinae max pat len test after constant update</li> <li><a href="https://github.com/skim-rs/skim/commit/0a4d4b2ea040c4435ac206bd15461ad49a8c98af"><code>0a4d4b2</code></a> fix: less restrictive max pattern in ari matcher</li> <li><a href="https://github.com/skim-rs/skim/commit/026a622a9d12c23379442857bf8e98c85c6e4926"><code>026a622</code></a> feat: add cargo-fuzz targets for hand-rolled text parsers (<a href="https://redirect.github.com/skim-rs/skim/issues/1106">#1106</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/8a1f2783a864e1e993ec3a59149f1b3f2ee6bd5b"><code>8a1f278</code></a> feat: bump frizbee to 0.10.0, thread local matcher (<a href="https://redirect.github.com/skim-rs/skim/issues/1105">#1105</a>)</li> <li>See full diff in <a href="https://github.com/skim-rs/skim/compare/v5.0.0...v5.1.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
f679b6511f |
chore: bump open from 5.3.6 to 5.4.0 (#3447)
Bumps [open](https://github.com/Byron/open-rs) from 5.3.6 to 5.4.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Byron/open-rs/releases">open's releases</a>.</em></p> <blockquote> <h2>v5.4.0</h2> <h3>New Features</h3> <ul> <li><code>cargo run</code> now shows the exact commands that were tried when opening. This is useful for debugging, mainly.</li> </ul> <h3>Bug Fixes</h3> <ul> <li> <p>Align WSL PowerShell invocation with Windows Pass the WSL open target to PowerShell through the OPEN_RS_TARGET environment variable instead of embedding it in the command string and escaping it as a single-quoted PowerShell value.</p> <p>This matches the safer invocation already used by the native Windows backend. Keeping the PowerShell program fixed ensures that paths and URLs are treated purely as data, even when they contain quotes, semicolons, or other PowerShell metacharacters. It also removes the need for custom PowerShell quoting and avoids converting the target through to_string_lossy() during command construction.</p> <p>Add -NonInteractive for consistency with the Windows launcher and update the WSL tests to verify both the fixed command and the unchanged environment-variable value.</p> </li> <li> <p>prevent launcher option and shell injection Opening an attacker-controlled dash-leading path could be interpreted as launcher options. On Windows, cmd /c start also parsed embedded quotes and metacharacters as command language, while the legacy gnome-open fallback could load a module even after a double-dash separator.</p> <p>Add command-construction regressions for malicious option-shaped paths and Windows shell metacharacters. Use supported separators on macOS and KDE, and rewrite dash-leading relative paths for launchers without separator support. Keep Windows values out of shell syntax by passing the default target through the environment and invoking custom applications directly, with explorer.exe as a PowerShell-free fallback.</p> <p>Exclude cmd-based opening by default, while providing an explicit insecure Cargo feature for users who need compatibility it and accept their unsafe handling of untrusted input.</p> <p>Validated with default and all-feature cargo tests, clippy, and cross-target cargo check --tests for aarch64 Linux and Windows.</p> </li> </ul> <h3>Commit Statistics</h3> <ul> <li>5 commits contributed to the release.</li> <li>3 commits were understood as <a href="https://www.conventionalcommits.org">conventional</a>.</li> <li>1 unique issue was worked on: <a href="https://redirect.github.com/Byron/open-rs/issues/124">#124</a></li> </ul> <h3>Commit Details</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Byron/open-rs/blob/main/changelog.md">open's changelog</a>.</em></p> <blockquote> <h2>5.4.0 (2026-07-12)</h2> <h3>New Features</h3> <ul> <li><!-- raw HTML omitted --> <code>cargo run</code> now shows the exact commands that were tried when opening. This is useful for debugging, mainly.</li> </ul> <h3>Bug Fixes</h3> <ul> <li> <p><!-- raw HTML omitted --> Align WSL PowerShell invocation with Windows Pass the WSL open target to PowerShell through the OPEN_RS_TARGET environment variable instead of embedding it in the command string and escaping it as a single-quoted PowerShell value.</p> <p>This matches the safer invocation already used by the native Windows backend. Keeping the PowerShell program fixed ensures that paths and URLs are treated purely as data, even when they contain quotes, semicolons, or other PowerShell metacharacters. It also removes the need for custom PowerShell quoting and avoids converting the target through to_string_lossy() during command construction.</p> <p>Add -NonInteractive for consistency with the Windows launcher and update the WSL tests to verify both the fixed command and the unchanged environment-variable value.</p> </li> <li> <p><!-- raw HTML omitted --> prevent launcher option and shell injection Opening an attacker-controlled dash-leading path could be interpreted as launcher options. On Windows, cmd /c start also parsed embedded quotes and metacharacters as command language, while the legacy gnome-open fallback could load a module even after a double-dash separator.</p> <p>Add command-construction regressions for malicious option-shaped paths and Windows shell metacharacters. Use supported separators on macOS and KDE, and rewrite dash-leading relative paths for launchers without separator support. Keep Windows values out of shell syntax by passing the default target through the environment and invoking custom applications directly, with explorer.exe as a PowerShell-free fallback.</p> <p>Exclude cmd-based opening by default, while providing an explicit insecure Cargo feature for users who need compatibility it and accept their unsafe handling of untrusted input.</p> <p>Validated with default and all-feature cargo tests, clippy, and cross-target cargo check --tests for aarch64 Linux and Windows.</p> </li> </ul> <h3>Commit Statistics</h3> <!-- raw HTML omitted --> <ul> <li>5 commits contributed to the release.</li> <li>3 commits were understood as <a href="https://www.conventionalcommits.org">conventional</a>.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Byron/open-rs/commit/b5c12bd9207a02272570252071d601a5dc44a3c6"><code>b5c12bd</code></a> Release open v5.4.0</li> <li><a href="https://github.com/Byron/open-rs/commit/bdc33978cdbfa1defef31e23659af4ba4a8913b0"><code>bdc3397</code></a> Merge pull request <a href="https://redirect.github.com/Byron/open-rs/issues/126">#126</a> from Byron/fix-wsl</li> <li><a href="https://github.com/Byron/open-rs/commit/7265cae8c19180c1022d8b1a7fbec815d0264909"><code>7265cae</code></a> fix: Align WSL PowerShell invocation with Windows</li> <li><a href="https://github.com/Byron/open-rs/commit/407b05879efb2b33c4e51fa15d77b49fa748a241"><code>407b058</code></a> Merge pull request <a href="https://redirect.github.com/Byron/open-rs/issues/125">#125</a> from Byron/open-with-dash-dash</li> <li><a href="https://github.com/Byron/open-rs/commit/fd29861355bfb981aecdb94d0915f4e41c2686ee"><code>fd29861</code></a> fix: prevent launcher option and shell injection (<a href="https://redirect.github.com/Byron/open-rs/issues/124">#124</a>)</li> <li><a href="https://github.com/Byron/open-rs/commit/7c19c0a1a810326b9a9e7542a0992d80adf0a365"><code>7c19c0a</code></a> feat: <code>cargo run</code> now shows the exact commands that were tried when opening.</li> <li>See full diff in <a href="https://github.com/Byron/open-rs/compare/v5.3.6...v5.4.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
1ff647bdd6 |
chore: bump regex from 1.12.4 to 1.13.0 (#3448)
Bumps [regex](https://github.com/rust-lang/regex) from 1.12.4 to 1.13.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's changelog</a>.</em></p> <blockquote> <h1>1.13.0 (2026-07-09)</h1> <p>This release includes a new API, a <code>regex!</code> macro, for lazy compilation of a regex from a string literal. If you use regexes a lot, it's likely you've already written one exactly like it. The new macro can be used like this:</p> <pre lang="rust"><code>use regex::regex; <p>fn is_match(line: &str) -> bool {<br /> // The regex will be compiled approximately once and reused automatically.<br /> // This avoids the footgun of using <code>Regex::new</code> here, which would<br /> // guarantee that it would be compiled every time this routine is called.<br /> // This would likely make this routine much slower than it needs to be.<br /> regex!(r"bar|baz").is_match(line)<br /> }</p> <p>let hay = "<br /> path/to/foo:54:Blue Harvest<br /> path/to/bar:90:Something, Something, Something, Dark Side<br /> path/to/baz:3:It's a Trap!<br /> ";</p> <p>let matches = hay.lines().filter(|line| is_match(line)).count();<br /> assert_eq!(matches, 2);<br /> </code></pre></p> <p>Improvements:</p> <ul> <li><a href="https://redirect.github.com/rust-lang/regex/issues/709">#709</a>: Add a new <code>regex!</code> macro for efficient and automatic reuse of a compiled regex.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/rust-lang/regex/commit/926af2e68eca3ce089815790541cf50759ba2c59"><code>926af2e</code></a> 1.13.0</li> <li><a href="https://github.com/rust-lang/regex/commit/7d941a93561430cd259bb9ceb84cc66f33ae7be8"><code>7d941a9</code></a> regex-automata-0.4.15</li> <li><a href="https://github.com/rust-lang/regex/commit/e358341229ebd5feb9a78d8cc85b459c3c7b6600"><code>e358341</code></a> api: add <code>regex!</code> macro for lazy compilation</li> <li><a href="https://github.com/rust-lang/regex/commit/c42033379c8760105ef90287f319de73d1572242"><code>c420333</code></a> automata: disable miri on a couple doc tests</li> <li><a href="https://github.com/rust-lang/regex/commit/b9d2cf724f89754ea879b6c223d2292c4d3e2dd3"><code>b9d2cf7</code></a> github: add FUNDING link</li> <li><a href="https://github.com/rust-lang/regex/commit/0858006b1460ba781deda54b8d2b01b3f9f949f7"><code>0858006</code></a> docs: add AI policy for contributors</li> <li><a href="https://github.com/rust-lang/regex/commit/468fc64ecd6493caaca40dbe8319c31c5c08a83d"><code>468fc64</code></a> automata: reject dense DFA start states that are match states</li> <li>See full diff in <a href="https://github.com/rust-lang/regex/compare/1.12.4...1.13.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
c3c07a4e5b |
chore(deps): bump termimad to 0.35.1, drop ragged-table panic workaround (#3422)
Follow-up to #3408, as promised in that thread: [@Canop published termimad 0.35.1](https://github.com/max-sixty/worktrunk/pull/3408#issuecomment-4945043938) with the fix for the ragged-table panic ([Canop/termimad#77](https://github.com/Canop/termimad/issues/77)). This bumps to it and drops the `catch_unwind` workaround. ## What changed - **`termimad` 0.34.1 → 0.35.1** (pulls transitive `minimad` 0.14 → 0.16). - **Removed the `catch_unwind` guard** in `render_table_with_termimad` — the only panic reachable through this path was the `Table::fix_columns` out-of-bounds on a ragged narrow table, now fixed upstream. (The broken-pipe panics termimad has had historically live in `print_text`, an I/O path we don't use — we call `MadSkin::text`, which returns a `String`.) - **Regression test kept**, repurposed: `test_render_table_ragged_narrow_does_not_panic` now guards against reintroducing the panic via a downgrade rather than asserting the plain-text fallback. ## Verification Ran the original reproducer against a clean `termimad = "=0.35.1"` scratch crate across the full width band — all render, none panic (16/20/24 previously panicked): ``` width 8: ok width 20: ok width 60: ok width 12: ok width 24: ok width 200: ok width 16: ok width 30: ok width 40: ok ``` `md_help` suite (26), picker unit tests (226), and the integration `test_help` / `test_docs_are_in_sync` snapshots (48) all pass. `cargo clippy` clean. ## One rendering note `minimad` 0.16 no longer treats a **single-dash** delimiter row (`| - | - |`) as a table separator — it renders as cell content. Worktrunk only ever emits **multi-dash** (`---`) separators (`render_data_table` builds `| --- | ... |`, and every hand-authored help table uses `-----`), so real help/list output is byte-for-byte unchanged — the help/docs snapshot tests didn't move. The one test that used a single-dash input was artificial; I switched it to the canonical `---` form. <details><summary>Defense-in-depth tradeoff — your call</summary> Dropping `catch_unwind` removes a general safety net around rendering untrusted PR-comment markdown on a rayon worker (where an escaped panic aborts the whole process). I removed it because (a) the only reachable panic class here is fixed, and (b) keeping it would leave the fallback branch untestable and uncovered — no input triggers it anymore, which trips the coverage gate. If you'd rather retain the guard as belt-and-suspenders against a future termimad regression, say the word and I'll restore it with a `#[cfg]`-gated or otherwise coverage-exempt shape. </details> --------- Co-authored-by: worktrunk-bot <254187624+worktrunk-bot@users.noreply.github.com> |
||
|
|
abf9155546 |
Release v0.67.0 (#3416)
Release v0.67.0: version bump and changelog. Highlights since v0.66.0: experimental `wt remove --reap` (#3396), `wt switch -x` opening the picker (#3394), the termimad panic containment in the picker's PR-comments preview (#3408), the `wt config show` SIGTTOU fix (#3327), the `GIT_*` discovery-var scrub for `wt step for-each` and the `--execute` fallback (#3400), and the `wt list` prompt-reserve fix (#3409). Seven commits landed on `main` after the initial cut; `origin/main` is merged back in and the two user-facing ones (#3394, #3411) plus the BY CONTEXT profile table (#3403) are folded into the changelog. Pre-release validation: local pre-merge gate green on the merged tree (4389 tests); nightly cross-platform suite green on the initial cut ([run 29086956095](https://github.com/max-sixty/worktrunk/actions/runs/29086956095)), with the seven post-cut commits each validated by their own PR CI; `cargo semver-checks` reports no breaking changes; data-loss surface review of the cumulative diff (including the drift commits) found one new destructive capability (`--reap`, explicit opt-in, adjudicated acceptable). > _This was written by Claude Code on behalf of max_ |
||
|
|
18d2bef84b |
refactor(perf): canonicalize the benchmark / wt-perf system (#3403)
Implements the design proposal from this branch's first commit
(
|
||
|
|
9f552bbae7 | chore: bump skim from 4.10.0 to 5.0.0 (#3378) | ||
|
|
696fdc3bc7 |
Release v0.66.0 (#3385)
Release v0.66.0 — minor bump (semver-checks: `ListConfig` gained a pub
field, so patch is disallowed pre-1.0).
## Changes since v0.65.0
### Improved
- **Opt-in JSON schema 2 for `wt list`** behind the `[list] json-schema`
config key ([#3357](https://github.com/max-sixty/worktrunk/pull/3357))
- **`wt config approvals list` and `clear --stale`**
([#3380](https://github.com/max-sixty/worktrunk/pull/3380))
### Fixed
- **User hooks no longer inherit `wt`'s `GIT_*` discovery vars**
([#3374](https://github.com/max-sixty/worktrunk/pull/3374), thanks
@silvanshade for reporting) — this entry also moves from the 0.65.0
CHANGELOG section (where #3374 misfiled it post-release) into 0.66.0,
which ships it.
### Documentation
- **`/wt-switch-create` always creates a worktree**
([#3356](https://github.com/max-sixty/worktrunk/pull/3356))
## Release validation
- Local pre-merge gate: 4,357 tests green
- Nightly cross-platform run on the cut-from tip (
|
||
|
|
d90d148e73 |
chore: bump humantime from 2.3.0 to 2.4.0 (#3377)
Bumps [humantime](https://github.com/chronotope/humantime) from 2.3.0 to 2.4.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/chronotope/humantime/releases">humantime's releases</a>.</em></p> <blockquote> <h2>2.4.0</h2> <h2>What's Changed</h2> <ul> <li>feat: allow creating Duration in const context by <a href="https://github.com/ctron"><code>@ctron</code></a> in <a href="https://redirect.github.com/chronotope/humantime/pull/70">chronotope/humantime#70</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/chronotope/humantime/commit/fc092817fa8689298eaac28ff49bd8bede4ff605"><code>fc09281</code></a> chore: prepare release 2.4.0</li> <li><a href="https://github.com/chronotope/humantime/commit/8a022cce55a07da2be81721e7deaa5bd071add72"><code>8a022cc</code></a> feat: allow creating Duration in const context</li> <li><a href="https://github.com/chronotope/humantime/commit/27a4f77519a436f4137d1c50ff2f3eb559292cfd"><code>27a4f77</code></a> Explicitly set rust-version to 1.60</li> <li><a href="https://github.com/chronotope/humantime/commit/acc3c19658ecae06cf35467dfe03392a67dbf2b1"><code>acc3c19</code></a> ci: upgrade to actions/checkout v7</li> <li><a href="https://github.com/chronotope/humantime/commit/3acf96bb886ebd16f9e2e8a37d7229e4bd30dd17"><code>3acf96b</code></a> ci: fix workflow formatting</li> <li>See full diff in <a href="https://github.com/chronotope/humantime/compare/v2.3.0...v2.4.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
828aebdee7 |
chore: bump the patch group with 2 updates (#3376)
Bumps the patch group with 2 updates: [clap_complete](https://github.com/clap-rs/clap) and [ignore](https://github.com/BurntSushi/ripgrep). Updates `clap_complete` from 4.6.5 to 4.6.7 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/clap-rs/clap/commit/d3e59a9ab214910b9dad02921b7ef42c6400de9b"><code>d3e59a9</code></a> chore: Release</li> <li><a href="https://github.com/clap-rs/clap/commit/d997f878c484e02b2935d32a7b67afe990e91227"><code>d997f87</code></a> docs: Update changelog</li> <li><a href="https://github.com/clap-rs/clap/commit/fb6058cc38cf6f4b07b8db89c850fc80e059e222"><code>fb6058c</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/6409">#6409</a> from heaths/pwsh-support</li> <li><a href="https://github.com/clap-rs/clap/commit/2310870f7a9fe4c39f5bb5620261a06ac9aaa0b1"><code>2310870</code></a> test(complete): Add tests for completer_for_path</li> <li><a href="https://github.com/clap-rs/clap/commit/5967c17393a09f90112cdc5b2c20a1383f0bd8e4"><code>5967c17</code></a> refactor(complete): Move shell detection to Shells</li> <li><a href="https://github.com/clap-rs/clap/commit/594602bb29f374e49da5029df63e5c740c723ad0"><code>594602b</code></a> fix(complete): Detect pwsh for PowerShell</li> <li><a href="https://github.com/clap-rs/clap/commit/3a4f2d031b5110aaaac40f1cb1d6c0b8ff619df8"><code>3a4f2d0</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/6427">#6427</a> from clap-rs/renovate/shlex-2.x</li> <li><a href="https://github.com/clap-rs/clap/commit/67ebaed4ac95a83d5d7cc22d64ee0fc162ae1db3"><code>67ebaed</code></a> Merge pull request <a href="https://redirect.github.com/clap-rs/clap/issues/6426">#6426</a> from clap-rs/renovate/actions-checkout-7.x</li> <li><a href="https://github.com/clap-rs/clap/commit/c968b136d0e6f560c08b06a844a20f2798a00096"><code>c968b13</code></a> chore(deps): Update Rust crate shlex to v2</li> <li><a href="https://github.com/clap-rs/clap/commit/8f247cbf58c582a755ee4dbe62a2390d93b9f8eb"><code>8f247cb</code></a> chore(deps): Update actions/checkout action to v7</li> <li>Additional commits viewable in <a href="https://github.com/clap-rs/clap/compare/clap_complete-v4.6.5...clap_complete-v4.6.7">compare view</a></li> </ul> </details> <br /> Updates `ignore` from 0.4.26 to 0.4.27 <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/BurntSushi/ripgrep/commit/48b0c795f4feb37343b2832d991c5c6a3900c08a"><code>48b0c79</code></a> ignore-0.4.27</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/c10f151e4436da7c37d34359cdfe10d6f5aa0bb4"><code>c10f151</code></a> ignore: always include depth in errors</li> <li><a href="https://github.com/BurntSushi/ripgrep/commit/dfe4a81d2591daca76d25ae4e052c34b26578155"><code>dfe4a81</code></a> ignore/types: add Hurl</li> <li>See full diff in <a href="https://github.com/BurntSushi/ripgrep/compare/ignore-0.4.26...ignore-0.4.27">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
5175153b39 |
Release v0.65.0 (#3351)
Release v0.65.0. Version bump plus the 0.65.0 changelog section. **User-facing changes in this release:** - **Picker `alt-x` flashes why a worktree wasn't removed** (#3336, #3350) — the keep/failure reason now appears in the picker header instead of only draining to stderr on exit. - **`-vv` diagnostics consolidate on `diagnostic.md`, led by the performance profile** (#3329). This entry's bullet was previously misfiled under the already-released `0.63.0` section (the PR merged after `0.64.0` was tagged); this release moves it into `0.65.0`, where the change actually ships, and drops a misleading "removed `profile.txt`" clause for a file that never existed. - **`wt remove` preserves your subdirectory position** (#3344, closes #3343, thanks @caillou for reporting). **Also included:** a fix to the release skill's reporter-finding grep — `sort -un` on `#`-prefixed lines collapsed the whole issue-reference list to a single entry (every line sorts as numeric 0), which nearly dropped @caillou's credit. Now sorts on the numeric field after `#`. The nightly cross-platform suite (full-tests linux/macos/windows, feature-powerset, release-target, nix-flake, minimal-versions) passed green on the cut-from tip before this PR was opened. > _This was written by Claude Code on behalf of max_ --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
7f4c9c323a |
Release v0.64.0 (#3338)
Release v0.64.0. Folds the version bump (`Cargo.toml`, `Cargo.lock`) and
the `CHANGELOG.md` section into one commit.
A small release on top of v0.63.0: a new per-branch git-config template
namespace for `wt list` custom columns, a warm-cache `wt list` speedup,
and a few correctness/safety fixes.
**Improved**: a `{{ git.branch.* }}` template namespace lets custom
columns read a branch's own git config (`branch.<name>.jira`, the
git-native `description`) without re-storing via `wt config state vars
set` (thanks @cazador481 for the request); warm-cache `wt list` re-runs
are ~36% faster after removing redundant per-row git forks (commit→tree
priming, a persistent merge-base cache, and seeded worktree paths).
**Fixed**: refs that look like flags can no longer inject git options
(`--end-of-options` / `--` fencing across diff previews, diffstats, and
branch removal); `wt list statusline` renders untruncated when
`COLUMNS=0` instead of collapsing to an empty line; the watchdog "still
waiting" line uses the hint symbol (`↳`).
The release-process data-loss surface review (four independent finders
over the full `v0.63.0..HEAD` diff) found no data-loss risk introduced.
The one candidate — a new persistent merge-base cache that feeds the
branch-deletion safety verdict — was adjudicated acceptable: the
verdict's direct input (`has-added-changes`) was already a
content-addressed, SHA-keyed persistent cache before this release, so
the merge-base cache extends an accepted pattern rather than introducing
a new risk class.
> _This was written by Claude Code on behalf of max_
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
|
||
|
|
cb8e8beb6d |
chore: bump open from 5.3.5 to 5.3.6 in the patch group (#3325)
Bumps the patch group with 1 update: [open](https://github.com/Byron/open-rs). Updates `open` from 5.3.5 to 5.3.6 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/Byron/open-rs/releases">open's releases</a>.</em></p> <blockquote> <h2>v5.3.6</h2> <h3>Bug Fixes</h3> <ul> <li> <p>use PowerShell instead of wslview on WSL WSL users reported that wslu's wslview is discontinued and unavailable in some package managers. The regression tests cover the WSL command builder and initially failed because the first generated command was still <code>wslview</code>.</p> <p>Build the WSL opener as a PowerShell <code>Start-Process -FilePath</code> script argument with the target quoted as data, then retain the xdg-open, gio, gnome-open, and kde-open fallbacks. Update the user-facing docs and keep the WSL command builder testable from host builds without adding dev-dependencies.</p> </li> </ul> <h3>Commit Statistics</h3> <ul> <li>2 commits contributed to the release.</li> <li>48 days passed between releases.</li> <li>1 commit was understood as <a href="https://www.conventionalcommits.org">conventional</a>.</li> <li>1 unique issue was worked on: <a href="https://redirect.github.com/Byron/open-rs/issues/122">#122</a></li> </ul> <h3>Commit Details</h3> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <ul> <li><strong><a href="https://redirect.github.com/Byron/open-rs/issues/122">#122</a></strong> <ul> <li>Use PowerShell instead of wslview on WSL (44d1d41)</li> </ul> </li> <li><strong>Uncategorized</strong> <ul> <li>Merge pull request <a href="https://redirect.github.com/Byron/open-rs/issues/123">#123</a> from Byron/avoid-wslview (41c4cf0)</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Byron/open-rs/blob/main/changelog.md">open's changelog</a>.</em></p> <blockquote> <h2>5.3.6 (2026-06-29)</h2> <h3>Bug Fixes</h3> <ul> <li> <p><!-- raw HTML omitted --> use PowerShell instead of wslview on WSL WSL users reported that wslu's wslview is discontinued and unavailable in some package managers. The regression tests cover the WSL command builder and initially failed because the first generated command was still <code>wslview</code>.</p> <p>Build the WSL opener as a PowerShell <code>Start-Process -FilePath</code> script argument with the target quoted as data, then retain the xdg-open, gio, gnome-open, and kde-open fallbacks. Update the user-facing docs and keep the WSL command builder testable from host builds without adding dev-dependencies.</p> </li> </ul> <h3>Commit Statistics</h3> <!-- raw HTML omitted --> <ul> <li>2 commits contributed to the release.</li> <li>48 days passed between releases.</li> <li>1 commit was understood as <a href="https://www.conventionalcommits.org">conventional</a>.</li> <li>1 unique issue was worked on: <a href="https://redirect.github.com/Byron/open-rs/issues/122">#122</a></li> </ul> <h3>Commit Details</h3> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <ul> <li><strong><a href="https://redirect.github.com/Byron/open-rs/issues/122">#122</a></strong> <ul> <li>Use PowerShell instead of wslview on WSL (<a href="https://github.com/Byron/open-rs/commit/44d1d41349fdfd23e5e74e3c0ac4c9aca2ed7282"><code>44d1d41</code></a>)</li> </ul> </li> <li><strong>Uncategorized</strong> <ul> <li>Merge pull request <a href="https://redirect.github.com/Byron/open-rs/issues/123">#123</a> from Byron/avoid-wslview (<a href="https://github.com/Byron/open-rs/commit/41c4cf09cab155460c29ac6a8b36ad6ec70b3d81"><code>41c4cf0</code></a>)</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/Byron/open-rs/commit/cfb39d8c323bc147096ae00b1360cb6633ce4c35"><code>cfb39d8</code></a> Release open v5.3.6</li> <li><a href="https://github.com/Byron/open-rs/commit/41c4cf09cab155460c29ac6a8b36ad6ec70b3d81"><code>41c4cf0</code></a> Merge pull request <a href="https://redirect.github.com/Byron/open-rs/issues/123">#123</a> from Byron/avoid-wslview</li> <li><a href="https://github.com/Byron/open-rs/commit/44d1d41349fdfd23e5e74e3c0ac4c9aca2ed7282"><code>44d1d41</code></a> fix: use PowerShell instead of wslview on WSL (<a href="https://redirect.github.com/Byron/open-rs/issues/122">#122</a>)</li> <li>See full diff in <a href="https://github.com/Byron/open-rs/compare/v5.3.5...v5.3.6">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
0258993ad8 |
chore: bump petname from 3.0.1 to 3.1.0 (#3326)
Bumps [petname](https://github.com/allenap/rust-petname) from 3.0.1 to 3.1.0. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/allenap/rust-petname/commit/051547f28093e70cf7b86e1f77259b5178651267"><code>051547f</code></a> Bump version to 3.1.0</li> <li><a href="https://github.com/allenap/rust-petname/commit/69d5c31e84d3602e2159aafbe8e725374b8103b3"><code>69d5c31</code></a> Merge pull request <a href="https://redirect.github.com/allenap/rust-petname/issues/131">#131</a> from allenap/completions</li> <li><a href="https://github.com/allenap/rust-petname/commit/9c9a846ede025b5311ba26045106abb744f893d7"><code>9c9a846</code></a> Add command-line completion support via a <code>completions</code> subcommand</li> <li><a href="https://github.com/allenap/rust-petname/commit/ce6f2ba938175c8308615b2cfed7ef6c898cb40b"><code>ce6f2ba</code></a> Build binary releases with <code>--all-features</code></li> <li><a href="https://github.com/allenap/rust-petname/commit/2cb888d1feaa0bf90d1889d49ee503af0211b907"><code>2cb888d</code></a> Upgrade notes from 3.0.0 to 3.0.1</li> <li>See full diff in <a href="https://github.com/allenap/rust-petname/compare/v3.0.1...v3.1.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
753431d6f8 |
chore: bump petname-macros from 3.0.1 to 3.1.0 (#3316)
Bumps [petname-macros](https://github.com/allenap/rust-petname) from 3.0.1 to 3.1.0. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/allenap/rust-petname/commit/051547f28093e70cf7b86e1f77259b5178651267"><code>051547f</code></a> Bump version to 3.1.0</li> <li><a href="https://github.com/allenap/rust-petname/commit/69d5c31e84d3602e2159aafbe8e725374b8103b3"><code>69d5c31</code></a> Merge pull request <a href="https://redirect.github.com/allenap/rust-petname/issues/131">#131</a> from allenap/completions</li> <li><a href="https://github.com/allenap/rust-petname/commit/9c9a846ede025b5311ba26045106abb744f893d7"><code>9c9a846</code></a> Add command-line completion support via a <code>completions</code> subcommand</li> <li><a href="https://github.com/allenap/rust-petname/commit/ce6f2ba938175c8308615b2cfed7ef6c898cb40b"><code>ce6f2ba</code></a> Build binary releases with <code>--all-features</code></li> <li><a href="https://github.com/allenap/rust-petname/commit/2cb888d1feaa0bf90d1889d49ee503af0211b907"><code>2cb888d</code></a> Upgrade notes from 3.0.0 to 3.0.1</li> <li>See full diff in <a href="https://github.com/allenap/rust-petname/compare/v3.0.1...v3.1.0">compare view</a></li> </ul> </details> <br /> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
dacf02fa15 |
chore: bump skim from 4.8.0 to 4.10.0 (#3315)
Bumps [skim](https://github.com/skim-rs/skim) from 4.8.0 to 4.10.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/skim-rs/skim/releases">skim's releases</a>.</em></p> <blockquote> <h2>4.10.0 - 2026-06-28</h2> <h2>Release Notes</h2> <h3>🚀 Features</h3> <ul> <li><em>(theme)</em> Add a themeable scrollbar color for the item list (<a href="https://redirect.github.com/skim-rs/skim/issues/1101">#1101</a>)</li> </ul> <h3>🧪 Testing</h3> <ul> <li>Improve coverage on matchers & algos (<a href="https://redirect.github.com/skim-rs/skim/issues/1100">#1100</a>)</li> </ul> <h3>New Contributors</h3> <ul> <li><a href="https://github.com/max-sixty"><code>@max-sixty</code></a> made their first contribution in <a href="https://redirect.github.com/skim-rs/skim/pull/1101">#1101</a></li> </ul> <h2>Install skim 4.10.0</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-installer.sh | sh </code></pre> <h3>Install prebuilt binaries via powershell script</h3> <pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c "irm https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-installer.ps1 | iex" </code></pre> <h2>Download skim 4.10.0</h2> <table> <thead> <tr> <th>File</th> <th>Platform</th> <th>Checksum</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-aarch64-apple-darwin.tar.xz">skim-aarch64-apple-darwin.tar.xz</a></td> <td>Apple Silicon macOS</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-aarch64-apple-darwin.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-x86_64-apple-darwin.tar.xz">skim-x86_64-apple-darwin.tar.xz</a></td> <td>Intel macOS</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-x86_64-apple-darwin.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-x86_64-pc-windows-msvc.zip">skim-x86_64-pc-windows-msvc.zip</a></td> <td>x64 Windows</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-x86_64-pc-windows-msvc.msi">skim-x86_64-pc-windows-msvc.msi</a></td> <td>x64 Windows</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-x86_64-pc-windows-msvc.msi.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-aarch64-unknown-linux-gnu.tar.xz">skim-aarch64-unknown-linux-gnu.tar.xz</a></td> <td>ARM64 Linux</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-aarch64-unknown-linux-gnu.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-x86_64-unknown-linux-gnu.tar.xz">skim-x86_64-unknown-linux-gnu.tar.xz</a></td> <td>x64 Linux</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-x86_64-unknown-linux-gnu.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-aarch64-unknown-linux-musl.tar.xz">skim-aarch64-unknown-linux-musl.tar.xz</a></td> <td>ARM64 MUSL Linux</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-aarch64-unknown-linux-musl.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-x86_64-unknown-linux-musl.tar.xz">skim-x86_64-unknown-linux-musl.tar.xz</a></td> <td>x64 MUSL Linux</td> <td><a href="https://github.com/skim-rs/skim/releases/download/v4.10.0/skim-x86_64-unknown-linux-musl.tar.xz.sha256">checksum</a></td> </tr> </tbody> </table> <h2>4.9.0 - 2026-06-25</h2> <h2>Release Notes</h2> <h3>🚀 Features</h3> <ul> <li><em>(ci)</em> Upload coverage report to pages for easier browsing (<a href="https://redirect.github.com/skim-rs/skim/issues/1096">#1096</a>)</li> </ul> <h3>🐛 Bug Fixes</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/skim-rs/skim/blob/master/CHANGELOG.md">skim's changelog</a>.</em></p> <blockquote> <h2>[4.10.0] - 2026-06-28</h2> <h3>🚀 Features</h3> <ul> <li><em>(theme)</em> Add a themeable scrollbar color for the item list (<a href="https://redirect.github.com/skim-rs/skim/issues/1101">#1101</a>)</li> </ul> <h3>🧪 Testing</h3> <ul> <li>Improve coverage on matchers & algos (<a href="https://redirect.github.com/skim-rs/skim/issues/1100">#1100</a>)</li> </ul> <h3>New Contributors</h3> <ul> <li><a href="https://github.com/max-sixty"><code>@max-sixty</code></a> made their first contribution in <a href="https://redirect.github.com/skim-rs/skim/pull/1101">#1101</a></li> </ul> <h2>[4.9.0] - 2026-06-25</h2> <h3>🚀 Features</h3> <ul> <li><em>(ci)</em> Upload coverage report to pages for easier browsing (<a href="https://redirect.github.com/skim-rs/skim/issues/1096">#1096</a>)</li> </ul> <h3>🐛 Bug Fixes</h3> <ul> <li>Refresh preview after mouse selection (<a href="https://redirect.github.com/skim-rs/skim/issues/1095">#1095</a>)</li> </ul> <h3>🧪 Testing</h3> <ul> <li>Add unit tests for the shell & manpage generators (<a href="https://redirect.github.com/skim-rs/skim/issues/1098">#1098</a>)</li> <li>Improve coverage to 90% (<a href="https://redirect.github.com/skim-rs/skim/issues/1099">#1099</a>)</li> </ul> <h3>⚙️ Miscellaneous Tasks</h3> <ul> <li><em>(ci)</em> Use github's coverage (<a href="https://redirect.github.com/skim-rs/skim/issues/1094">#1094</a>)</li> </ul> <h3>New Contributors</h3> <ul> <li><a href="https://github.com/wang-borong"><code>@wang-borong</code></a> made their first contribution in <a href="https://redirect.github.com/skim-rs/skim/pull/1095">#1095</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/skim-rs/skim/commit/aeba919fab2e33822596394a0df7e1461b4ba6da"><code>aeba919</code></a> release: v4.10.0</li> <li><a href="https://github.com/skim-rs/skim/commit/bfec6e198da776a3a28f4f3c4bb16278a56339b4"><code>bfec6e1</code></a> feat(theme): add a themeable scrollbar color for the item list (<a href="https://redirect.github.com/skim-rs/skim/issues/1101">#1101</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/5f4798325ac5d78456f9b87976acc132f1b2da74"><code>5f47983</code></a> tests: improve coverage on matchers & algos (<a href="https://redirect.github.com/skim-rs/skim/issues/1100">#1100</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/d14407196b3887096b7daa66fe31d0a3f2704b8c"><code>d144071</code></a> release: v4.9.0</li> <li><a href="https://github.com/skim-rs/skim/commit/7d4502201f89a09fc5750881049167e13d8715a2"><code>7d45022</code></a> fix: refresh preview after mouse selection (<a href="https://redirect.github.com/skim-rs/skim/issues/1095">#1095</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/7e2cdf3c8e5812baa100e5aa3f85f1bec2b7b39e"><code>7e2cdf3</code></a> tests: improve coverage to 90% (<a href="https://redirect.github.com/skim-rs/skim/issues/1099">#1099</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/8187a121969f12f9f76f0274f223ed09eb5d8368"><code>8187a12</code></a> test: add unit tests for the shell & manpage generators (<a href="https://redirect.github.com/skim-rs/skim/issues/1098">#1098</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/b56eed4125efa5c81528442afbdd270e9b841aaf"><code>b56eed4</code></a> feat(ci): upload coverage report to pages for easier browsing (<a href="https://redirect.github.com/skim-rs/skim/issues/1096">#1096</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/e85cf6b708131f177fb1304eb2c270bc9a97f7d2"><code>e85cf6b</code></a> chore(ci): use github's coverage (<a href="https://redirect.github.com/skim-rs/skim/issues/1094">#1094</a>)</li> <li><a href="https://github.com/skim-rs/skim/commit/7994e4441279ce35fe2aaf582ccbb337c24320b9"><code>7994e44</code></a> chore(deps): bump the cargo-prod group with 4 updates (<a href="https://redirect.github.com/skim-rs/skim/issues/1093">#1093</a>)</li> <li>See full diff in <a href="https://github.com/skim-rs/skim/compare/v4.8.0...v4.10.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
748f82efa3 |
chore: bump petname from 3.0.0 to 3.0.1 (#3314)
Bumps [petname](https://github.com/allenap/rust-petname) from 3.0.0 to 3.0.1. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/allenap/rust-petname/commit/4a28e9da951537e1b5a8bb953390e4b54dcaa441"><code>4a28e9d</code></a> Bump version to 3.0.1</li> <li><a href="https://github.com/allenap/rust-petname/commit/6641b4fdd151879551b7238cf8d759cec0b880db"><code>6641b4f</code></a> Capture <code>-h</code> output with <code>--all-features</code></li> <li><a href="https://github.com/allenap/rust-petname/commit/47cb39b33bedbe830c36b2df8d47cd8902ffba4c"><code>47cb39b</code></a> Merge pull request <a href="https://redirect.github.com/allenap/rust-petname/issues/129">#129</a> from allenap/dependabot/github_actions/actions/checko...</li> <li><a href="https://github.com/allenap/rust-petname/commit/3aff4246f32d19191afd6830c85836c97f371831"><code>3aff424</code></a> Merge pull request <a href="https://redirect.github.com/allenap/rust-petname/issues/130">#130</a> from allenap/install-homebrew-tap</li> <li><a href="https://github.com/allenap/rust-petname/commit/65523cd4078c9beba56d6dae77c39c8ef2619764"><code>65523cd</code></a> Instructions for installing from the <code>allenap/utils</code> Homebrew tap</li> <li><a href="https://github.com/allenap/rust-petname/commit/0474cf2ea400a6861d46aefa58c830ff508391ac"><code>0474cf2</code></a> Bump actions/checkout from 6 to 7</li> <li><a href="https://github.com/allenap/rust-petname/commit/ee3b522af706af405408e9aa04e11184e5082ffa"><code>ee3b522</code></a> Merge pull request <a href="https://redirect.github.com/allenap/rust-petname/issues/128">#128</a> from allenap/lang-turkish</li> <li><a href="https://github.com/allenap/rust-petname/commit/2ae3dcba8f5288c5860abc47c108f515a586aa1f"><code>2ae3dcb</code></a> Update <code>README.md</code></li> <li><a href="https://github.com/allenap/rust-petname/commit/7d1fe87a0db8b68cc4179786cbe8481e99bded8f"><code>7d1fe87</code></a> Add <code>--lang</code> as an alias of <code>--language</code></li> <li><a href="https://github.com/allenap/rust-petname/commit/b9021dd2909d7087157c981e010db63d3af08209"><code>b9021dd</code></a> Check SemVer compatibility</li> <li>Additional commits viewable in <a href="https://github.com/allenap/rust-petname/compare/v3.0.0...v3.0.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: worktrunk-bot <254187624+worktrunk-bot@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com> |
||
|
|
6032ee9d89 |
chore: bump the patch group with 4 updates (#3313)
Bumps the patch group with 4 updates: [anyhow](https://github.com/dtolnay/anyhow), [tree-sitter](https://github.com/tree-sitter/tree-sitter), [tree-sitter-highlight](https://github.com/tree-sitter/tree-sitter) and [vergen-gitcl](https://github.com/rustyhorde/vergen). Updates `anyhow` from 1.0.102 to 1.0.103 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/anyhow/releases">anyhow's releases</a>.</em></p> <blockquote> <h2>1.0.103</h2> <ul> <li>Fix Stacked Borrows violation (UB) in <code>Error::downcast_mut</code> (<a href="https://redirect.github.com/dtolnay/anyhow/issues/451">#451</a>, <a href="https://redirect.github.com/dtolnay/anyhow/issues/452">#452</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dtolnay/anyhow/commit/5bdb0e24db3994be119d42f18fe2d655e1f68f4a"><code>5bdb0e2</code></a> Release 1.0.103</li> <li><a href="https://github.com/dtolnay/anyhow/commit/e621bd35ddddcd8b2f39d80b9f5938583571a87d"><code>e621bd3</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/anyhow/issues/452">#452</a> from dtolnay/downcast</li> <li><a href="https://github.com/dtolnay/anyhow/commit/6e8c000690151cba99305092024535905b2be162"><code>6e8c000</code></a> Eliminate pointer->reference->pointer during downcast</li> <li><a href="https://github.com/dtolnay/anyhow/commit/67c4abd7718b6191768193993270abe8dcdd66bb"><code>67c4abd</code></a> Add regression test for issue 451</li> <li><a href="https://github.com/dtolnay/anyhow/commit/917a16932009c1957f53c2ea325663948add2153"><code>917a169</code></a> Update actions/upload-artifact@v6 -> v7</li> <li><a href="https://github.com/dtolnay/anyhow/commit/d9dc3faf78b8647fdb5b8c5b53abb85e05e13d42"><code>d9dc3fa</code></a> Update actions/checkout@v6 -> v7</li> <li><a href="https://github.com/dtolnay/anyhow/commit/841522b2aa09732fecee40804440d2c35c68c480"><code>841522b</code></a> Raise minimum tested compiler to rust 1.85</li> <li>See full diff in <a href="https://github.com/dtolnay/anyhow/compare/1.0.102...1.0.103">compare view</a></li> </ul> </details> <br /> Updates `tree-sitter` from 0.26.9 to 0.26.10 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tree-sitter/tree-sitter/releases">tree-sitter's releases</a>.</em></p> <blockquote> <h2>v0.26.10</h2> <h2>What's Changed</h2> <ul> <li>fix(lib): update doc comment for <code>ts_parser_parse</code> by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5642">tree-sitter/tree-sitter#5642</a></li> <li>fix(lib): use correct TREE_SITTER_HIDE_SYMBOLS macro name in alloc.h by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5643">tree-sitter/tree-sitter#5643</a></li> <li>fix(cli): improve soundness of cst range calculation by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5650">tree-sitter/tree-sitter#5650</a></li> <li>fix(lib): Consider subtree lookahead bytes when determining whether the parser can reuse a node. by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5656">tree-sitter/tree-sitter#5656</a></li> <li>fix(cli): display warning to user if parser test corpus dir isn't found by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5669">tree-sitter/tree-sitter#5669</a></li> <li>fix: add DESCRIPTION to grammar Makefile template by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5672">tree-sitter/tree-sitter#5672</a></li> <li>fix(cli): infinite loop in highlight test by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5674">tree-sitter/tree-sitter#5674</a></li> <li>fix(lib): address strict aliasing violations in <code>TreeCursor</code> type by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5693">tree-sitter/tree-sitter#5693</a></li> <li>build(deps): bump wasmtime-c-api to v36.0.12 by <a href="https://github.com/clason"><code>@clason</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5709">tree-sitter/tree-sitter#5709</a></li> <li>fix(dsl): forbid invalid field names by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5710">tree-sitter/tree-sitter#5710</a></li> <li>Fix issues with queries matching a parent node with anchored children (siblings) by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5712">tree-sitter/tree-sitter#5712</a></li> <li>test(query): regression test for anchored siblings inside a parent by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5716">tree-sitter/tree-sitter#5716</a></li> <li>release v0.26.10 by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5717">tree-sitter/tree-sitter#5717</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/tree-sitter/tree-sitter/compare/v0.26.9...v0.26.10">https://github.com/tree-sitter/tree-sitter/compare/v0.26.9...v0.26.10</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/3fc4cd21bca378f8acf8c823809de4706b1808f6"><code>3fc4cd2</code></a> release v0.26.10</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/568aee0b7e2e93b6eb7c132c9fafc185203b0661"><code>568aee0</code></a> test(query): regression test for anchored siblings inside a parent</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/2efce10fe988408a1b02de4527b3f6128bb68d0e"><code>2efce10</code></a> fix(query): skip passthrough steps when checking for fallible step splitting</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/e8b96392919aeae84c52678be1489b9d507c568a"><code>e8b9639</code></a> fix(query): avoid overriding states not seeking immediate match with states s...</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/576564d25a6944859d70925b6cb693843cafc2c7"><code>576564d</code></a> fix(query): take anchors between siblings into account for fallible step spli...</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/fbf3049dc085b01c124308c0d61dba06cdc92a16"><code>fbf3049</code></a> fix(dsl): forbid invalid field names</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/99bc36b857eccb3cb70d8734aaf7e2a83d672d60"><code>99bc36b</code></a> build(deps): bump wasmtime-c-api to v36.0.12</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/1ef1048d0567cacc0b74ad1a911b95f3de2b8c47"><code>1ef1048</code></a> fix(build): use <code>std</code> helper rather than passing <code>-std=c11</code> flag</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/a61be4ac277bc8cb4ffa8419759faec0562c46f3"><code>a61be4a</code></a> fix(lib): address strict aliasing violations in <code>TreeCursor</code> type</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/be8f380ad47333e0df5a7b4f447485a6cd7f0fa7"><code>be8f380</code></a> fix(cli): highlight test did not properly check for spans on later rows</li> <li>Additional commits viewable in <a href="https://github.com/tree-sitter/tree-sitter/compare/v0.26.9...v0.26.10">compare view</a></li> </ul> </details> <br /> Updates `tree-sitter-highlight` from 0.26.9 to 0.26.10 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tree-sitter/tree-sitter/releases">tree-sitter-highlight's releases</a>.</em></p> <blockquote> <h2>v0.26.10</h2> <h2>What's Changed</h2> <ul> <li>fix(lib): update doc comment for <code>ts_parser_parse</code> by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5642">tree-sitter/tree-sitter#5642</a></li> <li>fix(lib): use correct TREE_SITTER_HIDE_SYMBOLS macro name in alloc.h by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5643">tree-sitter/tree-sitter#5643</a></li> <li>fix(cli): improve soundness of cst range calculation by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5650">tree-sitter/tree-sitter#5650</a></li> <li>fix(lib): Consider subtree lookahead bytes when determining whether the parser can reuse a node. by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5656">tree-sitter/tree-sitter#5656</a></li> <li>fix(cli): display warning to user if parser test corpus dir isn't found by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5669">tree-sitter/tree-sitter#5669</a></li> <li>fix: add DESCRIPTION to grammar Makefile template by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5672">tree-sitter/tree-sitter#5672</a></li> <li>fix(cli): infinite loop in highlight test by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5674">tree-sitter/tree-sitter#5674</a></li> <li>fix(lib): address strict aliasing violations in <code>TreeCursor</code> type by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5693">tree-sitter/tree-sitter#5693</a></li> <li>build(deps): bump wasmtime-c-api to v36.0.12 by <a href="https://github.com/clason"><code>@clason</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5709">tree-sitter/tree-sitter#5709</a></li> <li>fix(dsl): forbid invalid field names by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5710">tree-sitter/tree-sitter#5710</a></li> <li>Fix issues with queries matching a parent node with anchored children (siblings) by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5712">tree-sitter/tree-sitter#5712</a></li> <li>test(query): regression test for anchored siblings inside a parent by <a href="https://github.com/tree-sitter-ci-bot"><code>@tree-sitter-ci-bot</code></a>[bot] in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5716">tree-sitter/tree-sitter#5716</a></li> <li>release v0.26.10 by <a href="https://github.com/WillLillis"><code>@WillLillis</code></a> in <a href="https://redirect.github.com/tree-sitter/tree-sitter/pull/5717">tree-sitter/tree-sitter#5717</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/tree-sitter/tree-sitter/compare/v0.26.9...v0.26.10">https://github.com/tree-sitter/tree-sitter/compare/v0.26.9...v0.26.10</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/3fc4cd21bca378f8acf8c823809de4706b1808f6"><code>3fc4cd2</code></a> release v0.26.10</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/568aee0b7e2e93b6eb7c132c9fafc185203b0661"><code>568aee0</code></a> test(query): regression test for anchored siblings inside a parent</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/2efce10fe988408a1b02de4527b3f6128bb68d0e"><code>2efce10</code></a> fix(query): skip passthrough steps when checking for fallible step splitting</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/e8b96392919aeae84c52678be1489b9d507c568a"><code>e8b9639</code></a> fix(query): avoid overriding states not seeking immediate match with states s...</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/576564d25a6944859d70925b6cb693843cafc2c7"><code>576564d</code></a> fix(query): take anchors between siblings into account for fallible step spli...</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/fbf3049dc085b01c124308c0d61dba06cdc92a16"><code>fbf3049</code></a> fix(dsl): forbid invalid field names</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/99bc36b857eccb3cb70d8734aaf7e2a83d672d60"><code>99bc36b</code></a> build(deps): bump wasmtime-c-api to v36.0.12</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/1ef1048d0567cacc0b74ad1a911b95f3de2b8c47"><code>1ef1048</code></a> fix(build): use <code>std</code> helper rather than passing <code>-std=c11</code> flag</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/a61be4ac277bc8cb4ffa8419759faec0562c46f3"><code>a61be4a</code></a> fix(lib): address strict aliasing violations in <code>TreeCursor</code> type</li> <li><a href="https://github.com/tree-sitter/tree-sitter/commit/be8f380ad47333e0df5a7b4f447485a6cd7f0fa7"><code>be8f380</code></a> fix(cli): highlight test did not properly check for spans on later rows</li> <li>Additional commits viewable in <a href="https://github.com/tree-sitter/tree-sitter/compare/v0.26.9...v0.26.10">compare view</a></li> </ul> </details> <br /> Updates `vergen-gitcl` from 10.0.0 to 10.0.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rustyhorde/vergen/releases">vergen-gitcl's releases</a>.</em></p> <blockquote> <h2>vergen 10.0.1</h2> <p>Patch release adding a new error-fallback knob, a builder-access API addition, dependency updates, and a security-audit refresh.</p> <h3>New features</h3> <ul> <li><strong><code>VERGEN_DEFAULT_ON_ERROR</code> fallback</strong> (<a href="https://redirect.github.com/rustyhorde/vergen/issues/509">#509</a>) — When building outside a git worktree (or any time an instruction cannot be generated), the new <code>VERGEN_DEFAULT_ON_ERROR</code> env var and <code>Emitter::default_on_error()</code> builder method populate missing instructions with the idempotent default (<code>VERGEN_IDEMPOTENT_OUTPUT</code>) so <code>env!("VERGEN_GIT_SHA")</code> keeps compiling — while builds <em>inside</em> a real worktree still emit real values.</li> <li><strong><code>all()</code> builder accessor</strong> (<a href="https://redirect.github.com/rustyhorde/vergen/issues/513">#513</a>) — Exposes <code>Build::all()</code>, <code>Cargo::all()</code>, <code>Rustc::all()</code>, and <code>Sysinfo::all()</code> as public methods that return the builder with all instructions enabled, enabling subtractive modification (turn all on, then selectively disable).</li> </ul> <h3>Dependency updates</h3> <ul> <li><code>bon</code> 3.9.1 → 3.9.3</li> <li><code>gix</code> 0.84.0 → 0.85.0</li> <li><code>regex</code> 1.12.3 → 1.12.4</li> <li><code>time</code> 0.3.47 → 0.3.51</li> <li><code>sysinfo</code> 0.39.3 → 0.39.5</li> <li><code>memmap2</code> 0.9.10 → 0.9.11 (resolves <strong>RUSTSEC-2026-0186</strong>)</li> </ul> <h3>Security audit refresh</h3> <ul> <li>Added <code>RUSTSEC-2026-0173</code> ignore (<code>proc-macro-error2</code> unmaintained, informational only)</li> <li>Removed <code>RUSTSEC-2025-0055</code> ignore (<code>tracing-subscriber</code> now resolved to ≥ 0.3.20)</li> <li>Removed <code>RUSTSEC-2025-0141</code> ignore (<code>bincode</code> no longer in the dependency tree)</li> <li><code>cargo audit</code> passes clean</li> </ul> <h3>Other</h3> <ul> <li>Fixed inaccurate <code>fail_on_error</code> and <code>idempotent</code> docs (<a href="https://redirect.github.com/rustyhorde/vergen/issues/509">#509</a>)</li> <li>Added <code>cargo:rerun-if-changed=VERGEN_DEFAULT_ON_ERROR</code> rerun directive</li> <li>Bumped <code>cargo-binstall</code> in CI (<a href="https://redirect.github.com/rustyhorde/vergen/issues/503">#503</a>)</li> <li>Parse deprecation fixes (<a href="https://redirect.github.com/rustyhorde/vergen/issues/505">#505</a>)</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rustyhorde/vergen/compare/v10.0.0...10.0.1">https://github.com/rustyhorde/vergen/compare/v10.0.0...10.0.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/rustyhorde/vergen/commit/23a615917d339062777d013afd4204e40309fe61"><code>23a6159</code></a> feat(api): expose all that returns builder for subtractive modification. (<a href="https://redirect.github.com/rustyhorde/vergen/issues/513">#513</a>)</li> <li><a href="https://github.com/rustyhorde/vergen/commit/b1ee36128a5b1b903722bc7bc6f35b2c9e1cbe7a"><code>b1ee361</code></a> v10.0.1 enhancements: VERGEN_DEFAULT_ON_ERROR fallback, dependency updates, a...</li> <li><a href="https://github.com/rustyhorde/vergen/commit/a3ffa569e9d0ea5a151813128acb992c09eddffe"><code>a3ffa56</code></a> Fix parse deprecation issues (<a href="https://redirect.github.com/rustyhorde/vergen/issues/505">#505</a>)</li> <li><a href="https://github.com/rustyhorde/vergen/commit/2bab576a171eb950e67baef81bbae4989535a29b"><code>2bab576</code></a> chore: version bump for next release (<a href="https://redirect.github.com/rustyhorde/vergen/issues/504">#504</a>)</li> <li><a href="https://github.com/rustyhorde/vergen/commit/ee3edb23bcea7b42373dcd068529c74a2c88a813"><code>ee3edb2</code></a> Bump cargo-bins/cargo-binstall from 1.19.1 to 1.20.0 (<a href="https://redirect.github.com/rustyhorde/vergen/issues/503">#503</a>)</li> <li>See full diff in <a href="https://github.com/rustyhorde/vergen/compare/v10.0.0...10.0.1">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
50553be344 |
Release v0.63.0 (#3300)
Release v0.63.0. Folds the version bump (`Cargo.toml`, `Cargo.lock`) and the `CHANGELOG.md` section into one commit. This release is mostly polish and fixes on top of the v0.62.0 picker + `wt list` overhaul, plus list correctness/perf and safer branch deletion. **Improved**: `[list] columns` can force a column on past `--full`; `Alt-r` refreshes the picker preview panes; a narrowed `wt list` is now actually faster (thanks @jtaby for reporting); fewer duplicate git calls in `wt list --full`; picker `comments` tab caches across runs. **Fixed**: fork diff/ahead-behind columns use the upstream default tip; integrated branches stop flashing `✗`; atomic CAS branch deletion (a safety improvement — fails closed when a ref races); Age/Message columns paint sooner; `Alt-x` cursor flash + `--prs` row preservation; removable rows stay gray when selected; preview scroll preserved on CI fetch; summary tab dims when empty; first-run hints show the resolved config path. **Internal**: `-vv` trace/profiler accuracy. The release-process data-loss surface review (four independent finders over the full `v0.62.0..HEAD` diff) found no data-loss risk introduced; the CAS branch-deletion change is a net safety improvement. > _This was written by Claude Code on behalf of max_ |
||
|
|
5b83c0f1d8 | fix(deps): pin petname-macros to =3.0.0 to fix nightly minimal-versions (#3283) | ||
|
|
51f7fe8abb |
Release v0.62.0 (#3263)
Release v0.62.0 — minor bump (`cargo semver-checks` reports a breaking library-API change — `ListConfig.columns` added a public field, which requires at least a minor pre-1.0 — plus many new features). ### Highlights - **`wt switch --prs`** — browse open PRs/MRs in the interactive picker, with a live CI/review column and `pr` / `comments` / `log` preview tabs ([#3128](https://github.com/max-sixty/worktrunk/pull/3128)). [Docs](https://worktrunk.dev/switch/) - **Interactive picker now runs on Windows** ([#3217](https://github.com/max-sixty/worktrunk/pull/3217)). - **`main…±` diff column shows by default** in `wt list`; `--full` now adds only the off-machine columns (CI status, LLM summaries) ([#3236](https://github.com/max-sixty/worktrunk/pull/3236)). - **`[list] columns`** selects and orders the columns `wt list` renders ([#3141](https://github.com/max-sixty/worktrunk/pull/3141)). - **`wt config state logs profile`** performance profiler ([#3184](https://github.com/max-sixty/worktrunk/pull/3184)). - Picker keyboard shortcuts (copy / open / refresh) and the `Alt-x` removal rework, fish completion-recursion fixes, `CLAUDE_CONFIG_DIR` support, and more. **Breaking:** in the picker, remove moved from `Alt-r` to `Alt-x` (`Alt-r` now refreshes). Two "Still waiting" entries ([#3178](https://github.com/max-sixty/worktrunk/pull/3178), [#3183](https://github.com/max-sixty/worktrunk/pull/3183)) were moved here from 0.61.0 — they landed after the v0.61.0 tag, so they ship in 0.62.0. The changelog also documents the `Alt-x` removal rework ([#3262](https://github.com/max-sixty/worktrunk/pull/3262)); the tag will be placed on the `main` tip that includes both this release commit and #3262. Full notes in the `CHANGELOG.md` diff. Data-loss surface review of the cumulative diff in progress; the keyword pass came back clean (the new `Alt-x` removal uses safe variants — `SafeDelete`, no force, approval-gated). > _This was written by Claude Code on behalf of max_ |
||
|
|
de97744718 |
feat(switch): picker shortcuts — copy, open, refresh, remap remove to alt-x (#3233)
Adds four keyboard shortcuts to the interactive `wt switch` picker: `alt-y` (copy the selected branch), `alt-o` (open the row's PR/MR), `alt-r` (refresh the list), and `alt-x` (remove, remapped from `alt-r`). `alt-y`/`alt-o` are native skim `Action::Custom` callbacks reading the selected row off `App.item_list` (no reload, so the cursor stays put and `--prs` rows aren't dropped); the row → branch/URL lookup is extracted into `resolve_shortcut_branch`/`resolve_shortcut_url` and unit-tested. `alt-r` refresh re-enters the collect pipeline via a new `PipelineFactory`. `alt-y` no-ops on a detached worktree (no branch). New cross-platform deps: `arboard` (clipboard) and `open` (browser), gated behind the `cli` feature. Merged over `codecov/patch` (89.76% vs 97.61% target) with explicit approval: the uncovered residual is the picker's clipboard/browser/thread-spawn and skim-`App`-bound closures, which a headless CI runner can't exercise. All required jobs green; reviewed and approved by worktrunk-bot. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
ae4854cd21 |
chore: bump minijinja from 2.20.0 to 2.21.0 (#3157)
Bumps [minijinja](https://github.com/mitsuhiko/minijinja) from 2.20.0 to 2.21.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/mitsuhiko/minijinja/blob/main/CHANGELOG.md">minijinja's changelog</a>.</em></p> <blockquote> <h2>2.21.0</h2> <ul> <li>Fixed a panic when comparing two numbers that have no common lossless representation, such as a float against an integer that cannot be represented exactly as <code>f64</code> (for example <code>1.0 < 9007199254740993</code>). <a href="https://redirect.github.com/mitsuhiko/minijinja/issues/904">#904</a></li> <li>Fixed a stack overflow caused by repeated sequence concatenation. <a href="https://redirect.github.com/mitsuhiko/minijinja/issues/907">#907</a></li> <li>Improved performance of iteration over map items. <a href="https://redirect.github.com/mitsuhiko/minijinja/issues/906">#906</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mitsuhiko/minijinja/commit/1d3e73d39a7fd4a31c369209dbcb036fcf1a322c"><code>1d3e73d</code></a> chore: bump version to 2.21.0</li> <li><a href="https://github.com/mitsuhiko/minijinja/commit/002351e66910291da837b8b893c19f5a71f1530a"><code>002351e</code></a> docs(changelog): note stack overflow fix and map iteration perf</li> <li><a href="https://github.com/mitsuhiko/minijinja/commit/1183321f92732796d4f5f5fed800eb30949e68c2"><code>1183321</code></a> Improve performance of iteration over map items (<a href="https://redirect.github.com/mitsuhiko/minijinja/issues/906">#906</a>)</li> <li><a href="https://github.com/mitsuhiko/minijinja/commit/3dd59369682742937ee9cbedbca8bff3dbc301d9"><code>3dd5936</code></a> fix(value): avoid panic comparing numbers without a common lossless represent...</li> <li><a href="https://github.com/mitsuhiko/minijinja/commit/f8d9cc792ce53c41ece13affd8f1ca779bb97518"><code>f8d9cc7</code></a> fix: avoid stack overflow on repeated sequence concatenation (<a href="https://redirect.github.com/mitsuhiko/minijinja/issues/907">#907</a>)</li> <li><a href="https://github.com/mitsuhiko/minijinja/commit/3018c2e122ace9070a1048496c97a7e46018bd31"><code>3018c2e</code></a> chore(ci): use Node 24 for npm publishing</li> <li>See full diff in <a href="https://github.com/mitsuhiko/minijinja/compare/minijinja-go/v2.20.0...minijinja-go/v2.21.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
70d6455316 |
chore: bump the patch group across 1 directory with 4 updates (#3156)
Bumps the patch group with 4 updates in the / directory: [log](https://github.com/rust-lang/log), [which](https://github.com/harryfei/which-rs), [reflink-copy](https://github.com/cargo-bins/reflink-copy) and [ratatui](https://github.com/ratatui/ratatui). Updates `log` from 0.4.32 to 0.4.33 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/log/blob/master/CHANGELOG.md">log's changelog</a>.</em></p> <blockquote> <h2>[0.4.33] - 2026-06-20</h2> <h2>What's Changed</h2> <ul> <li>Fixed key comparison by <a href="https://github.com/matteo-zeggiotti-ok"><code>@matteo-zeggiotti-ok</code></a> in <a href="https://redirect.github.com/rust-lang/log/pull/732">rust-lang/log#732</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/matteo-zeggiotti-ok"><code>@matteo-zeggiotti-ok</code></a> made their first contribution in <a href="https://redirect.github.com/rust-lang/log/pull/732">rust-lang/log#732</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rust-lang/log/compare/0.4.32...0.4.33">https://github.com/rust-lang/log/compare/0.4.32...0.4.33</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/rust-lang/log/commit/f405739f3a15a3f00680c793e1e1fa7e57d26ba4"><code>f405739</code></a> Merge pull request <a href="https://redirect.github.com/rust-lang/log/issues/734">#734</a> from rust-lang/cargo/0.4.33</li> <li><a href="https://github.com/rust-lang/log/commit/6a24abf0835cef62e3d882287c97307dd3ecb403"><code>6a24abf</code></a> prepare for 0.4.33 release</li> <li><a href="https://github.com/rust-lang/log/commit/87e062162e051d54bb553aacae3f0c6c4c213e59"><code>87e0621</code></a> Merge pull request <a href="https://redirect.github.com/rust-lang/log/issues/732">#732</a> from matteo-zeggiotti-ok/fix-key-comparison</li> <li><a href="https://github.com/rust-lang/log/commit/a9b57119a631249fc8e881c7ef78e2028aacb823"><code>a9b5711</code></a> Review: fallback to the &str hash</li> <li><a href="https://github.com/rust-lang/log/commit/cc89cc6e41190de36892e33fff48e5f48cf57fa9"><code>cc89cc6</code></a> Review: fixed other comparisons</li> <li><a href="https://github.com/rust-lang/log/commit/920e7dc2811c18a228bf78e818196de950659d85"><code>920e7dc</code></a> Review: fixed comparison on <code>MaybeStaticStr</code></li> <li><a href="https://github.com/rust-lang/log/commit/0d71d3c685f2e23b1ad209b48408efe1205b18b0"><code>0d71d3c</code></a> Fixed key comparison</li> <li>See full diff in <a href="https://github.com/rust-lang/log/compare/0.4.32...0.4.33">compare view</a></li> </ul> </details> <br /> Updates `which` from 8.0.3 to 8.0.4 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/harryfei/which-rs/releases">which's releases</a>.</em></p> <blockquote> <h2>8.0.4</h2> <h2>What's Changed</h2> <ul> <li>feat: emit NonFatalError on Windows if PATHEXT not populated by <a href="https://github.com/Xaeroxe"><code>@Xaeroxe</code></a> in <a href="https://redirect.github.com/harryfei/which-rs/pull/125">harryfei/which-rs#125</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/harryfei/which-rs/compare/8.0.3...8.0.4">https://github.com/harryfei/which-rs/compare/8.0.3...8.0.4</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/harryfei/which-rs/blob/master/CHANGELOG.md">which's changelog</a>.</em></p> <blockquote> <h2>8.0.4</h2> <ul> <li>On Windows we now emit a <code>NonFatalError</code> if the <code>PATHEXT</code> environment variable is not populated, and the query did not specify a file extension.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/harryfei/which-rs/commit/c9df5ef4c8e41961a89a8ee2a68de895365bcfb7"><code>c9df5ef</code></a> feat: emit NonFatalError on Windows if PATHEXT not populated (<a href="https://redirect.github.com/harryfei/which-rs/issues/125">#125</a>)</li> <li>See full diff in <a href="https://github.com/harryfei/which-rs/compare/8.0.3...8.0.4">compare view</a></li> </ul> </details> <br /> Updates `reflink-copy` from 0.1.29 to 0.1.30 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/cargo-bins/reflink-copy/blob/main/CHANGELOG.md">reflink-copy's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/cargo-bins/reflink-copy/compare/v0.1.29...v0.1.30">0.1.30</a> - 2026-06-18</h2> <h3>Other</h3> <ul> <li>Fix reflink: copy over permissions (<a href="https://redirect.github.com/cargo-bins/reflink-copy/pull/174">#174</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/cargo-bins/reflink-copy/commit/897c9ba31abe6cf7863f7b18b7e16b6c34cf9191"><code>897c9ba</code></a> chore: release v0.1.30 (<a href="https://redirect.github.com/cargo-bins/reflink-copy/issues/175">#175</a>)</li> <li><a href="https://github.com/cargo-bins/reflink-copy/commit/524531078bb28033ce2565765c11b6d5898181b1"><code>5245310</code></a> Bump samypr100/setup-dev-drive from 3 to 4 (<a href="https://redirect.github.com/cargo-bins/reflink-copy/issues/147">#147</a>)</li> <li><a href="https://github.com/cargo-bins/reflink-copy/commit/8ef7ef4ef492d583c070eff484939de4f32e58d5"><code>8ef7ef4</code></a> Fix reflink: copy over permissions (<a href="https://redirect.github.com/cargo-bins/reflink-copy/issues/174">#174</a>)</li> <li>See full diff in <a href="https://github.com/cargo-bins/reflink-copy/compare/v0.1.29...v0.1.30">compare view</a></li> </ul> </details> <br /> Updates `ratatui` from 0.30.1 to 0.30.2 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ratatui/ratatui/releases">ratatui's releases</a>.</em></p> <blockquote> <h2>ratatui-v0.30.2</h2> <p><img src="https://github.com/ratatui/ratatui-website/raw/refs/heads/main/src/assets/a-gift.png" alt="a gift" /></p> <p>We are excited to announce the new version of <code>ratatui</code> - a Rust library that's all about cooking up TUIs 👨🍳🐀</p> <p>✨ <strong>Release highlights</strong>: <a href="https://ratatui.rs/highlights/v0302/">https://ratatui.rs/highlights/v0302/</a></p> <p>⚠️ List of breaking changes can be found <a href="https://github.com/ratatui/ratatui/blob/main/BREAKING-CHANGES.md">here</a>.</p> <h3>Features</h3> <ul> <li> <p><a href="https://github.com/ratatui/ratatui/commit/90639c179ddcbe483ea05f21b1ce3fa09767441a">90639c1</a> <em>(uncategorized)</em> Add Termina backend by <code>@joshka</code> in <a href="https://redirect.github.com/ratatui/ratatui/pull/2561">#2561</a></p> <blockquote> <h2>Summary</h2> <ul> <li>add the <code>ratatui-termina</code> backend crate using the published <code>termina</code> crate</li> <li>expose the backend through the <code>termina</code> feature and Ratatui prelude/backend re-exports</li> <li>add a small Termina event-loop example and wire the backend into CI, xtask, README generation, and docs</li> </ul> <p>Refs <a href="https://redirect.github.com/ratatui/ratatui/issues/1784">#1784</a></p> <h2>Validation</h2> <ul> <li><code>cargo +nightly fmt</code></li> <li><code>cargo check -p ratatui-termina --all-features --all-targets</code></li> <li><code>cargo check -p ratatui --no-default-features --features termina</code></li> <li><code>cargo check -p xtask</code></li> <li><code>cargo check -p release-header</code></li> <li><code>cargo xtask check-backend termina</code></li> <li><code>cargo xtask test-backend termina</code></li> <li><code>cargo xtask rdme --check</code></li> <li><code>markdownlint-cli2 ARCHITECTURE.md ratatui-termina/README.md .github/ISSUE_TEMPLATE/bug_report.md</code></li> </ul> <hr /> </blockquote> </li> </ul> <h3>Bug Fixes</h3> <ul> <li> <p><a href="https://github.com/ratatui/ratatui/commit/fce3c80d53d5cf367e62cadf1d5c819947d23e4c">fce3c80</a> <em>(widgets)</em> Require thread-safe shadow effects by <code>@joshka</code> in <a href="https://redirect.github.com/ratatui/ratatui/pull/2584">#2584</a></p> <blockquote> <h2>Summary</h2> <ul> <li>require custom shadow effects to preserve the auto traits expected by Block-backed widgets</li> <li>document the CellEffect auto-trait contract</li> <li>add a public widget regression test for the affected ratatui::widgets re-exports</li> </ul> </blockquote> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/ratatui/ratatui/blob/main/CHANGELOG.md">ratatui's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/ratatui/ratatui/releases/tag/ratatui-v0.30.2">0.30.2</a> - 2026-06-19</h2> <p><img src="https://github.com/ratatui/ratatui-website/raw/refs/heads/main/src/assets/a-gift.png" alt="a gift" /></p> <p>We are excited to announce the new version of <code>ratatui</code> - a Rust library that's all about cooking up TUIs 👨🍳🐀</p> <p>✨ <strong>Release highlights</strong>: <a href="https://ratatui.rs/highlights/v0302/">https://ratatui.rs/highlights/v0302/</a></p> <p>⚠️ List of breaking changes can be found <a href="https://github.com/ratatui/ratatui/blob/main/BREAKING-CHANGES.md">here</a>.</p> <h3>Features</h3> <ul> <li> <p><a href="https://github.com/ratatui/ratatui/commit/90639c179ddcbe483ea05f21b1ce3fa09767441a">90639c1</a> <em>(uncategorized)</em> Add Termina backend by <code>@joshka</code> in <a href="https://redirect.github.com/ratatui/ratatui/pull/2561">#2561</a></p> <blockquote> <h2>Summary</h2> <ul> <li>add the <code>ratatui-termina</code> backend crate using the published <code>termina</code> crate</li> <li>expose the backend through the <code>termina</code> feature and Ratatui prelude/backend re-exports</li> <li>add a small Termina event-loop example and wire the backend into CI, xtask, README generation, and docs</li> </ul> <p>Refs <a href="https://redirect.github.com/ratatui/ratatui/issues/1784">#1784</a></p> <h2>Validation</h2> <ul> <li><code>cargo +nightly fmt</code></li> <li><code>cargo check -p ratatui-termina --all-features --all-targets</code></li> <li><code>cargo check -p ratatui --no-default-features --features termina</code></li> <li><code>cargo check -p xtask</code></li> <li><code>cargo check -p release-header</code></li> <li><code>cargo xtask check-backend termina</code></li> <li><code>cargo xtask test-backend termina</code></li> <li><code>cargo xtask rdme --check</code></li> <li><code>markdownlint-cli2 ARCHITECTURE.md ratatui-termina/README.md .github/ISSUE_TEMPLATE/bug_report.md</code></li> </ul> <hr /> </blockquote> </li> </ul> <h3>Bug Fixes</h3> <ul> <li> <p><a href="https://github.com/ratatui/ratatui/commit/fce3c80d53d5cf367e62cadf1d5c819947d23e4c">fce3c80</a> <em>(widgets)</em> Require thread-safe shadow effects by <code>@joshka</code> in <a href="https://redirect.github.com/ratatui/ratatui/pull/2584">#2584</a></p> <blockquote> <h2>Summary</h2> <ul> <li>require custom shadow effects to preserve the auto traits expected by Block-backed widgets</li> <li>document the CellEffect auto-trait contract</li> <li>add a public widget regression test for the affected ratatui::widgets</li> </ul> </blockquote> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/ratatui/ratatui/commit/e665c36cb14752a61cd777fbd06dbef8474f2add"><code>e665c36</code></a> chore(ratatui): unleash the rats v0.30.2 (<a href="https://redirect.github.com/ratatui/ratatui/issues/2581">#2581</a>)</li> <li><a href="https://github.com/ratatui/ratatui/commit/2700b168b57dd88b9e0fb4ea177673c2e95f3090"><code>2700b16</code></a> docs(changelog): update changelog for 0.30.2 (<a href="https://redirect.github.com/ratatui/ratatui/issues/2608">#2608</a>)</li> <li><a href="https://github.com/ratatui/ratatui/commit/e306ce69df3113d41c00c483e36ba3ecc88f3c79"><code>e306ce6</code></a> fix(buffer): create updates for "uncovered" cells (<a href="https://redirect.github.com/ratatui/ratatui/issues/2587">#2587</a>)</li> <li><a href="https://github.com/ratatui/ratatui/commit/81e667f354489a809e0db1f95e378efe859dd409"><code>81e667f</code></a> fix(scrollbar): keep a large thumb within the track at the end (<a href="https://redirect.github.com/ratatui/ratatui/issues/2594">#2594</a>)</li> <li><a href="https://github.com/ratatui/ratatui/commit/c75d7782be5c8157b0c140821090a13fd8cb8eb0"><code>c75d778</code></a> chore(ci): add cargo-udeps dependency check (<a href="https://redirect.github.com/ratatui/ratatui/issues/2599">#2599</a>)</li> <li><a href="https://github.com/ratatui/ratatui/commit/25314d812972b4cff30f863439021575b7a00217"><code>25314d8</code></a> build(deps): bump release-plz/action from 0.5.129 to 0.5.130 (<a href="https://redirect.github.com/ratatui/ratatui/issues/2600">#2600</a>)</li> <li><a href="https://github.com/ratatui/ratatui/commit/35340703e8aa2d314870b9022cb75d899cf49b14"><code>3534070</code></a> build(deps): bump taiki-e/install-action from 2.81.8 to 2.81.10 (<a href="https://redirect.github.com/ratatui/ratatui/issues/2601">#2601</a>)</li> <li><a href="https://github.com/ratatui/ratatui/commit/a798a13b53f865f46c7b7e4e56da8640b354547b"><code>a798a13</code></a> build(deps): bump tombi-toml/setup-tombi from 1.1.2 to 1.1.3 (<a href="https://redirect.github.com/ratatui/ratatui/issues/2602">#2602</a>)</li> <li><a href="https://github.com/ratatui/ratatui/commit/3ac885038ee6fc2ab043b7421b922f1800159829"><code>3ac8850</code></a> build(deps): bump octocrab from 0.52.0 to 0.53.1 (<a href="https://redirect.github.com/ratatui/ratatui/issues/2603">#2603</a>)</li> <li><a href="https://github.com/ratatui/ratatui/commit/9c7963341a0479e02bf92091c57fc0ee82ed1f4e"><code>9c79633</code></a> build(deps): bump time from 0.3.47 to 0.3.49 (<a href="https://redirect.github.com/ratatui/ratatui/issues/2604">#2604</a>)</li> <li>Additional commits viewable in <a href="https://github.com/ratatui/ratatui/compare/ratatui-v0.30.1...ratatui-v0.30.2">compare view</a></li> </ul> </details> <br /> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
e9b822c103 | Release v0.61.0 (#3151) | ||
|
|
958b9c188a |
refactor(picker): migrate to skim 4.8 (ratatui), drop vendored skim-tuikit (#3137)
Migrates the `wt switch` picker from skim 0.20.5 (tuikit backend) to
skim 4.8.0 (ratatui/crossterm), removes the `vendor/skim-tuikit/` patch
tree we carried against the old line, and makes the full test suite
green under the new backend.
## Why the vendor tree goes away
We vendored skim-tuikit for two patches: `alt-<digit>` key parsing and
an `Output::flush` `write_all` fix for dropped bytes under PTY pressure.
Both are moot in 4.8. Key parsing is native — `binds.rs` routes every
single character (digits included) through `KeyCode::Char` rather than a
hardcoded `alt-a..alt-z` arm list. The flush fix is subsumed by stdlib
`BufWriter::flush` in the ratatui backend, which loops over partial
writes correctly. So the migration carries zero vendor patches against
skim, and the build machinery that kept the vendored source alive
(Taskfile `vendor-diff`, flake `vendorSrc`/`extraDummyScript`) is
deleted too.
## The picker rewrite
skim 4.x is a different API. `WorktreeSkimItem::display()` now returns
`ratatui::text::Line` instead of an `AnsiString`. alt-r removal rides
skim's `reload(remove {})` token (the selected row's `output()`,
expanded into the reload command) instead of the old
`as_any().downcast_ref` path (which never worked across compilation
units) plus a signal file. Preview-tab switching and the progressive
list redraw are driven by `Skim::event_sender()` +
`Event::Render`/`Event::RunPreview`.
## The regression that motivated the bulk of this
skim 4.x renders on demand. There is no 100ms tuikit heartbeat
re-rendering the frame, so the progressive `wt switch` list rendered
blank while collection ran in the background — the original report. The
fix pokes `Event::Render` from the list-collect callbacks (throttled to
16ms). The same on-demand model surfaced four more regressions, all
fixed here and verified head-to-head against the 0.20 picker in a
terminal: preview-tab lag, current-row highlight, Shift-Tab back-cycle
(crossterm reports Shift-Tab under three distinct `KeyEvent` shapes, so
all three are bound), and alt-r removal (4.x `execute-silent` is
fire-and-forget and raced its reader).
## Help text and the test harness
Two things the integration suite caught that the unit tests did not (the
prior pass ran `--lib --bins` only):
- **Styled help.** skim 0.20 transitively pulled in
`clap/unstable-markdown`, which renders worktrunk's `///` doc-comments
as styled help. skim 4 with `default-features = false` drops it, so help
reverted to raw text (`[experimental]` → `\[experimental\]`). Restored
by depending on `unstable-markdown` explicitly, keeping help output
identical and the `test_help` / `test_step_alias` /
`test_docs_are_in_sync` snapshots passing unchanged.
- **PTY harness.** skim 4.x queries cursor position (`ESC[6n`) at
startup in partial-height mode and blocks in `select()` for the reply;
`portable_pty` is a bare PTY and never answered, so every
`switch_picker` test failed init with "Cursor position detection timed
out." The Unix harness now answers the query, mirroring the existing
ConPTY responder. skim 4.x also draws the list/preview separator one
column left, so the snapshot panel-split columns shifted to match. The
regenerated picker snapshots show two cosmetic changes: the match
counter no longer overlaps the preview tab header, and the HEAD column
shows the full short-SHA instead of a truncated one.
## Minimal-versions CI
The skim 4.8 dep tree pins tighter floors than our manifests declared,
so the nightly `minimal-versions` job needed updating. It now runs `-Z
direct-minimal-versions` — minimize only our own direct deps and let
transitive crates resolve normally — and the manifests raise each
under-specified floor to the minimum the workspace builds against
(largely mirroring skim 4.8's own requirements). Full `-Z
minimal-versions` would instead drag in skim's transitive TUI/image
stack (ansi-to-tui, ratatui's `instability` macro, color-eyre,
ratatui-image → image/avif), whose crates under-declare their floors and
don't compile at the picked versions; direct minimization confines the
check to floors we own, so no transitive pins are needed. Normal
resolution (the committed `Cargo.lock`) is unchanged. Full floor list
and the `signal-hook` libc-pin detail are in the `ci(min-versions)`
commit message.
## Reviewing
Start at `src/commands/picker/mod.rs` (the `run_skim` entry point, the
action keybinds, and `parse_reload_remove_token`), then
`progressive_handler.rs` (the render pokes) and `items.rs` (the
`Line`-based `display()`). Test-harness changes are in
`tests/common/pty.rs` (the `ESC[6n` responder) and
`tests/integration_tests/switch_picker.rs` (the panel-split columns).
The rest is the dependency swap, the vendor and build-machinery
deletions, and regenerated snapshots.
All 3980 tests pass (`cargo run -- hook pre-merge --yes`), including the
`shell-integration-tests` PTY suite that exercises the picker end-to-end
across the list, previews, scroll, create/remove, and accept flows. No
automated test drives a real terminal; the interactive surface was also
checked by hand against the 0.20 picker.
> _This was written by Claude Code on behalf of max_
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
||
|
|
4ccbecf884 |
Release v0.60.0 (#3127)
Release v0.60.0 (minor bump from 0.59.0). Minor because semver-checks flagged a breaking library-API change and five new features landed since v0.59.0. The data-loss surface review (4 independent finders) cleared the one change that touches it (relocating dirty linked worktrees, #3104). ### Improved - Package installs now complete branch/worktree names via dynamic registration (#3105, thanks @bendrucker) - `wt step relocate` moves dirty linked worktrees (#3104, thanks @lunaynx for reporting) - `--dry-run` previews print to stdout (#3085) - Picker gutter distinguishes local (`/`) and remote (`|`) branches (#3115) - `wt list --format=json` gains structured `repo`/`ci.repo` metadata (#3021, thanks @jeremy0dell) - `wt step eval --format=json` (#3106) - `--format=claude-code` rejected on `wt list` / `wt config state get` (#3116) ### Fixed - `cargo install worktrunk` builds from crates.io again (#3124, fixes #3123, thanks @kerrickstaley for reporting) - Tab-completion works in repos with no commits (#3097, closes #3094) - `wt config state get ci-status --format=json` honors `[forge].platform` (#3120) ### Documentation - `wt list --help` example tables fit the terminal (#3125) - `/wt-switch-create` cross-repo handling reworked (#3118) - Help-text and web-doc refinements (#3096, #3108, #3110, #3112, #3126) Full notes in `CHANGELOG.md`. > _This was written by Claude Code on behalf of max_ |
||
|
|
bd84d7479f |
Release v0.59.0 (#3100)
Release v0.59.0 (minor). The bump is minor because two backward-incompatible behavior changes ship: in the `wt switch` picker, `1`–`5` no longer switch preview tabs (digits now filter; tabs move to `Alt-1`–`Alt-5` / `Tab`); and `wt step eval --dry-run` is removed in favor of `-v`. `cargo semver-checks` reports no library API breakage. ### Highlights - **Improved**: picker frees digit keys for filtering (preview tabs to `Alt`); squash templates use `commit_details` instead of the deprecated `commits`; `wt step eval -v` lists template variables. - **Fixed**: picker no longer freezes on the first keystroke with many worktrees (#3087, thanks @bendrucker; fixes #2926, thanks @mahume for reporting); tab-completion covers all hook types; Ctrl-C on a concurrent alias reports the right exit code. See `CHANGELOG.md` for the full set. ### Bundled test fix This PR also carries one non-release commit: `test(ci_status): cover '?' worker-thread label in snapshot filter`. The `test_list_full_with_invalid_configured_platform` snapshot filter only normalized `[a-zA-Z]` worker-thread labels, but `label_for_thread_index` emits `?` for thread IDs above 52. On high-core machines the rayon pools span enough threads to hit that, so the gate failed locally (CI's low core count never triggers it). The filter now covers the full label alphabet. Test-only; not in the changelog. > _This was written by Claude Code on behalf of max_ --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
e947b8708a |
chore: bump vergen-gitcl from 9.1.0 to 10.0.0 (#3083)
Bumps [vergen-gitcl](https://github.com/rustyhorde/vergen) from 9.1.0 to 10.0.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rustyhorde/vergen/releases">vergen-gitcl's releases</a>.</em></p> <blockquote> <h2>vergen 10.0.0</h2> <p>Major release of the <code>vergen</code> suite (<code>vergen</code>, <code>vergen-lib</code>, <code>vergen-git2</code>, <code>vergen-gitcl</code>, <code>vergen-gix</code>, <code>vergen-pretty</code>).</p> <h3>Highlights</h3> <ul> <li><strong>MSRV raised to 1.95.0</strong> (<a href="https://redirect.github.com/rustyhorde/vergen/issues/496">#496</a>, prior bumps via <a href="https://redirect.github.com/rustyhorde/vergen/issues/487">#487</a>, <a href="https://redirect.github.com/rustyhorde/vergen/issues/440">#440</a>).</li> <li><strong>Raw Unix-seconds timestamps</strong> — emit build timestamps as raw Unix seconds (<a href="https://redirect.github.com/rustyhorde/vergen/issues/444">#444</a>).</li> <li><strong><code>SOURCE_DATE_EPOCH</code> decoupling</strong> plus a <code>.cargo_vcs_info.json</code> fallback for reproducible builds when building from a published crate without a git repo (<a href="https://redirect.github.com/rustyhorde/vergen/issues/452">#452</a>, <a href="https://redirect.github.com/rustyhorde/vergen/issues/448">#448</a>).</li> <li><strong>Remote URL support</strong> for git functionality (<a href="https://redirect.github.com/rustyhorde/vergen/issues/459">#459</a>).</li> <li><strong><code>GIT_DIRTY</code></strong> instruction documented and dirty-output fixes for <code>vergen-gix</code> (<a href="https://redirect.github.com/rustyhorde/vergen/issues/465">#465</a>, <a href="https://redirect.github.com/rustyhorde/vergen/issues/423">#423</a>).</li> </ul> <h3>Internal / maintenance</h3> <ul> <li>Replaced <code>getset</code> with hand-written getters in <code>vergen-lib</code> (<a href="https://redirect.github.com/rustyhorde/vergen/issues/491">#491</a>).</li> <li>Removed <code>bincode</code> from <code>vergen-pretty</code> (<a href="https://redirect.github.com/rustyhorde/vergen/issues/481">#481</a>).</li> <li>Added a <code>cargo-semver-checks</code> CI job (<a href="https://redirect.github.com/rustyhorde/vergen/issues/478">#478</a>).</li> <li>Numerous dependency updates, including <code>gix</code> bumps to address RUSTSEC advisories (<a href="https://redirect.github.com/rustyhorde/vergen/issues/473">#473</a>, <a href="https://redirect.github.com/rustyhorde/vergen/issues/488">#488</a>, <a href="https://redirect.github.com/rustyhorde/vergen/issues/490">#490</a>).</li> <li>CI: skip coverage jobs for forked PRs (<a href="https://redirect.github.com/rustyhorde/vergen/issues/492">#492</a>), pinning + parallelization (<a href="https://redirect.github.com/rustyhorde/vergen/issues/496">#496</a>).</li> <li>Lint and doc fixes across the workspace.</li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rustyhorde/vergen/compare/vergen_9.0.6...v10.0.0">https://github.com/rustyhorde/vergen/compare/vergen_9.0.6...v10.0.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/rustyhorde/vergen/commits/v10.0.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: worktrunk-bot <worktrunk-bot@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com> |
||
|
|
db5e916106 |
chore: bump insta from 1.47.2 to 1.48.0 (#3082)
Bumps [insta](https://github.com/mitsuhiko/insta) from 1.47.2 to 1.48.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/mitsuhiko/insta/releases">insta's releases</a>.</em></p> <blockquote> <h2>1.48.0</h2> <h2>Release Notes</h2> <ul> <li>Add <code>strip_ansi_escape_codes</code> setting which removes ANSI escape sequences (color codes, cursor movement, etc.) from snapshot content before comparison. Requires the <code>filters</code> feature. <a href="https://redirect.github.com/mitsuhiko/insta/issues/899">#899</a> (<a href="https://github.com/pierluigilenoci"><code>@pierluigilenoci</code></a>)</li> <li>Add opt-in support for YAML literal blocks for multiline strings in snapshot metadata fields such as <code>description</code> and <code>expression</code>. Set <code>INSTA_YAML_BLOCK_STYLE=1</code> to enable. <a href="https://redirect.github.com/mitsuhiko/insta/issues/851">#851</a> (<a href="https://github.com/ivov"><code>@ivov</code></a>)</li> <li>Setting <code>CI=true</code> normally makes <code>cargo insta test</code> behave as though <code>--check</code> was passed. Explicit snapshot handling options such as <code>--accept</code> now take precedence over this environment variable, allowing users to override this behavior if they want to. <a href="https://redirect.github.com/mitsuhiko/insta/issues/924">#924</a></li> <li>Fix <code>cargo insta test --profile</code> being forwarded to nextest as the nextest profile instead of the cargo build profile; it now translates to <code>--cargo-profile</code> for the nextest runner. Add <code>--nextest-profile</code> to select the nextest profile. <a href="https://redirect.github.com/mitsuhiko/insta/issues/910">#910</a></li> <li>Fix <code>cargo insta pending-snapshots</code> printing unusable <code>\\?\</code>-prefixed paths on Windows. The <code>--snapshot</code> filter now also accepts partial paths: any trailing path suffix of the snapshot file matches, so a bare <code>--snapshot my_test.snap</code> works. <a href="https://redirect.github.com/mitsuhiko/insta/issues/904">#904</a></li> <li>Accepting a binary snapshot no longer fails with <code>os error 2</code> when its data file is missing (e.g. gitignored and not committed). <a href="https://redirect.github.com/mitsuhiko/insta/issues/914">#914</a></li> </ul> <h2>Install cargo-insta 1.48.0</h2> <h3>Install prebuilt binaries via shell script</h3> <pre lang="sh"><code>curl --proto '=https' --tlsv1.2 -LsSf https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-installer.sh | sh </code></pre> <h3>Install prebuilt binaries via powershell script</h3> <pre lang="sh"><code>powershell -ExecutionPolicy Bypass -c "irm https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-installer.ps1 | iex" </code></pre> <h2>Download cargo-insta 1.48.0</h2> <table> <thead> <tr> <th>File</th> <th>Platform</th> <th>Checksum</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-aarch64-apple-darwin.tar.xz">cargo-insta-aarch64-apple-darwin.tar.xz</a></td> <td>Apple Silicon macOS</td> <td><a href="https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-aarch64-apple-darwin.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-x86_64-apple-darwin.tar.xz">cargo-insta-x86_64-apple-darwin.tar.xz</a></td> <td>Intel macOS</td> <td><a href="https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-x86_64-apple-darwin.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-x86_64-pc-windows-msvc.zip">cargo-insta-x86_64-pc-windows-msvc.zip</a></td> <td>x64 Windows</td> <td><a href="https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-x86_64-pc-windows-msvc.zip.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-x86_64-unknown-linux-gnu.tar.xz">cargo-insta-x86_64-unknown-linux-gnu.tar.xz</a></td> <td>x64 Linux</td> <td><a href="https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-x86_64-unknown-linux-gnu.tar.xz.sha256">checksum</a></td> </tr> <tr> <td><a href="https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-x86_64-unknown-linux-musl.tar.xz">cargo-insta-x86_64-unknown-linux-musl.tar.xz</a></td> <td>x64 MUSL Linux</td> <td><a href="https://github.com/mitsuhiko/insta/releases/download/1.48.0/cargo-insta-x86_64-unknown-linux-musl.tar.xz.sha256">checksum</a></td> </tr> </tbody> </table> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/mitsuhiko/insta/blob/master/CHANGELOG.md">insta's changelog</a>.</em></p> <blockquote> <h2>1.48.0</h2> <ul> <li>Add <code>strip_ansi_escape_codes</code> setting which removes ANSI escape sequences (color codes, cursor movement, etc.) from snapshot content before comparison. Requires the <code>filters</code> feature. <a href="https://redirect.github.com/mitsuhiko/insta/issues/899">#899</a> (<a href="https://github.com/pierluigilenoci"><code>@pierluigilenoci</code></a>)</li> <li>Add opt-in support for YAML literal blocks for multiline strings in snapshot metadata fields such as <code>description</code> and <code>expression</code>. Set <code>INSTA_YAML_BLOCK_STYLE=1</code> to enable. <a href="https://redirect.github.com/mitsuhiko/insta/issues/851">#851</a> (<a href="https://github.com/ivov"><code>@ivov</code></a>)</li> <li>Setting <code>CI=true</code> normally makes <code>cargo insta test</code> behave as though <code>--check</code> was passed. Explicit snapshot handling options such as <code>--accept</code> now take precedence over this environment variable, allowing users to override this behavior if they want to. <a href="https://redirect.github.com/mitsuhiko/insta/issues/924">#924</a></li> <li>Fix <code>cargo insta test --profile</code> being forwarded to nextest as the nextest profile instead of the cargo build profile; it now translates to <code>--cargo-profile</code> for the nextest runner. Add <code>--nextest-profile</code> to select the nextest profile. <a href="https://redirect.github.com/mitsuhiko/insta/issues/910">#910</a></li> <li>Fix <code>cargo insta pending-snapshots</code> printing unusable <code>\\?\</code>-prefixed paths on Windows. The <code>--snapshot</code> filter now also accepts partial paths: any trailing path suffix of the snapshot file matches, so a bare <code>--snapshot my_test.snap</code> works. <a href="https://redirect.github.com/mitsuhiko/insta/issues/904">#904</a></li> <li>Accepting a binary snapshot no longer fails with <code>os error 2</code> when its data file is missing (e.g. gitignored and not committed). <a href="https://redirect.github.com/mitsuhiko/insta/issues/914">#914</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mitsuhiko/insta/commit/7f23d2e4684a789a85c50503004fb38a23c9ea58"><code>7f23d2e</code></a> Release 1.48.0 (<a href="https://redirect.github.com/mitsuhiko/insta/issues/925">#925</a>)</li> <li><a href="https://github.com/mitsuhiko/insta/commit/ee9cae1eb49cfa80c3d335246b0cfbb6bd006027"><code>ee9cae1</code></a> Allow <code>CI=true</code> to be overridden by an explicitly passed <code>--accept</code> CLI flag ...</li> <li><a href="https://github.com/mitsuhiko/insta/commit/043cf8268e3be93ca684fbfbf3969ad03ad71046"><code>043cf82</code></a> fix: translate --profile to --cargo-profile for nextest (<a href="https://redirect.github.com/mitsuhiko/insta/issues/913">#913</a>)</li> <li><a href="https://github.com/mitsuhiko/insta/commit/9c77f137b160e2235a71770d370fc1b4e7b1f456"><code>9c77f13</code></a> test: cover deep-wildcard redaction through arrays (<a href="https://redirect.github.com/mitsuhiko/insta/issues/915">#915</a>)</li> <li><a href="https://github.com/mitsuhiko/insta/commit/362f432b2d33ca9cdc0fe298a62942b3e13082d2"><code>362f432</code></a> Fix <code>--snapshot</code> filter on Windows; allow partial paths (<a href="https://redirect.github.com/mitsuhiko/insta/issues/904">#904</a>)</li> <li><a href="https://github.com/mitsuhiko/insta/commit/a436836bb22bd1c857f374c8aea6064120680558"><code>a436836</code></a> fix: tolerate a missing binary snapshot data file (<a href="https://redirect.github.com/mitsuhiko/insta/issues/914">#914</a>)</li> <li><a href="https://github.com/mitsuhiko/insta/commit/bf5fcdf1646087b717039011ac9a27cff3b4fc02"><code>bf5fcdf</code></a> fix: regenerate Cargo.lock and guard it with --locked in CI (<a href="https://redirect.github.com/mitsuhiko/insta/issues/912">#912</a>)</li> <li><a href="https://github.com/mitsuhiko/insta/commit/a761a9c937406d8eeab45f23d98d5a2a12105aaf"><code>a761a9c</code></a> feat: Support YAML literal blocks for multiline strings (<a href="https://redirect.github.com/mitsuhiko/insta/issues/851">#851</a>)</li> <li><a href="https://github.com/mitsuhiko/insta/commit/f9633f3a1251a10b8a96243cb941c7834e91288d"><code>f9633f3</code></a> ci: pin <code>check-minver</code> to nightly-2026-04-25 (<a href="https://redirect.github.com/mitsuhiko/insta/issues/905">#905</a>)</li> <li><a href="https://github.com/mitsuhiko/insta/commit/c7b98b8d23846130ce769f86ec8c33b0f221d48e"><code>c7b98b8</code></a> feat: add strip_ansi_escape_codes setting (<a href="https://redirect.github.com/mitsuhiko/insta/issues/899">#899</a>)</li> <li>See full diff in <a href="https://github.com/mitsuhiko/insta/compare/1.47.2...1.48.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
d3c6836bbc |
chore: bump regex from 1.12.3 to 1.12.4 in the patch group (#3081)
Bumps the patch group with 1 update: [regex](https://github.com/rust-lang/regex). Updates `regex` from 1.12.3 to 1.12.4 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-lang/regex/blob/master/CHANGELOG.md">regex's changelog</a>.</em></p> <blockquote> <h1>1.12.4 (2025-06-09)</h1> <p>This release includes a performance optimization for compilation of regexes with very large character classes.</p> <p>Improvements:</p> <ul> <li><a href="https://redirect.github.com/rust-lang/regex/pull/1308">#1308</a>: Avoid re-canonicalizing the entire interval set when pushing new class ranges.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/rust-lang/regex/commit/7b96fdc9d5fe6a0cb4efe30e6689b050493fc1e1"><code>7b96fdc</code></a> 1.12.4</li> <li><a href="https://github.com/rust-lang/regex/commit/7b89cf0534aa58ab8a4a6672e14a59b53f08eb2c"><code>7b89cf0</code></a> deps: update to regex-syntax 0.8.11</li> <li><a href="https://github.com/rust-lang/regex/commit/140167995737fa11dfe11b8af8b9aa143b790b4e"><code>1401679</code></a> regex-syntax-0.8.11</li> <li><a href="https://github.com/rust-lang/regex/commit/d7090000b3be51677d8e79c3b8bcc8a4d176bddc"><code>d709000</code></a> changelog: 1.12.4</li> <li><a href="https://github.com/rust-lang/regex/commit/9825c741c8ac1e61e8f78cebc12205cd35e4767f"><code>9825c74</code></a> syntax: avoid re-canonicalizing the entire IntervalSet on push (<a href="https://redirect.github.com/rust-lang/regex/issues/1308">#1308</a>)</li> <li><a href="https://github.com/rust-lang/regex/commit/a7f2ff6dbc43f40994d7c3d1d968ba4ac92329e1"><code>a7f2ff6</code></a> docs: clarify regex-lite word boundaries</li> <li><a href="https://github.com/rust-lang/regex/commit/2c7b17246da744bb2e1b911d3ddc1369fe3b472a"><code>2c7b172</code></a> docs: clarify unsupported Anchored::Pattern searches</li> <li><a href="https://github.com/rust-lang/regex/commit/839d16bc65b60e2006d3599d20bfa6efc14049d8"><code>839d16b</code></a> regex-syntax-0.8.10</li> <li><a href="https://github.com/rust-lang/regex/commit/c4865a0c8446a701e10b0fd987f19068f5dcc365"><code>c4865a0</code></a> syntax: fix negation handling in HIR translation</li> <li><a href="https://github.com/rust-lang/regex/commit/d8761c00ed25c5899e3dcfb0f17e827b8e41530a"><code>d8761c0</code></a> cargo: also include <code>benches</code></li> <li>Additional commits viewable in <a href="https://github.com/rust-lang/regex/compare/1.12.3...1.12.4">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
|
d31663e2fa |
test: drop env-scrub workaround, bump insta-cmd to 0.7 (#3076)
## What Removes the `drop_empty_env_entries` snapshot redaction (and its unit test) now that [insta-cmd 0.7](https://crates.io/crates/insta-cmd/0.7.0) fixes the underlying problem at the source, and bumps the dev-dependency `0.6` → `0.7`. ## Why insta-cmd records a command's environment in the snapshot `info:` block from `Command::get_envs()`, which yields `None` for a var removed via `env_remove` and `Some("")` for one deliberately set to empty. Under 0.6 both collapsed to `KEY: ""`, so a removal was indistinguishable from a real empty — and since `isolate_subprocess_env` removes whichever `GIT_*` / `WORKTRUNK_*` keys happen to exist in the *parent* environment, the set of `KEY: ""` markers depended on the host. That churned regenerated snapshots between machines. worktrunk worked around it by stripping every empty-valued entry from the `env:` block. insta-cmd 0.7 ([mitsuhiko/insta-cmd#20](https://github.com/mitsuhiko/insta-cmd/pull/20)) instead drops removals at the source and keeps `Some("")` as `KEY: ""`, so the workaround is no longer needed — and removing it lets deliberate empties be recorded truthfully. ## Refreshed snapshots - `list_config_env_override_validation_failure` **gains** `WORKTRUNK_WORKTREE_PATH: ""` — the var the test sets to empty to trigger the "worktree-path cannot be empty" warning, now recorded faithfully instead of dropped. - Two `step_squash_show_prompt` snapshots **lose** stale `GIT_DIR`/`GIT_EDITOR`/`GIT_WORK_TREE`/`NO_COLOR`/`SHELL`/`PSModulePath` (etc.) `env_remove` markers — committed host-dependent noise that 0.7 no longer records. Deliberately excluded one incidental refresh: `switch_nonexistent_with_fetch_time`'s `WORKTRUNK_TEST_EPOCH` is a wall-clock-derived value (FETCH_HEAD mtime + 3h) that drifts every run — unrelated to this fix (a non-empty dynamic value), harmless since the `env:` block isn't compared. `tests/CLAUDE.md` is updated to describe the 0.7 behavior in place of the workaround. ## Testing `cargo test --test integration` (1807 passed), `cargo clippy`, `cargo fmt`, and `pre-commit` all pass locally. The `shell-integration-tests` feature set was not run locally (covered by CI); it's unaffected — the only other deliberate empty, `GIT_PREFIX=""` in `bare_repository.rs`, goes through `.output()`, not a snapshot. > _This was written by Claude Code on behalf of max_ Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|
|
ef5fe96ac5 |
Release v0.58.0 (#3067)
Release v0.58.0. Highlights since v0.57.0: - **Table-form `pre-*` hooks run concurrently** (#3052) — completes the cut-over announced in v0.37.0. Breaking for configs relying on serial ordering; pipeline form (`[[pre-merge]]`) stays serial. - **CI column shows the PR/MR number and review state** (#3041, #3044) — `wt list --full` and the statusline show the open PR/MR reference colored by CI status, with review state folded in. - **Hooks/aliases share one lazy template model** (#3042, #3047) — templates render per-step; `{{ vars.* }}` reads fresh. - **`wt config state cache`** (#3027) — consolidates regenerable caches; `state clear` now confirms first. - Statusline rate-limit display, `/wt-switch-create` optional branch name, plugin worktree-hook hardening, and a batch of config-deprecation and snapshot-determinism fixes. Full notes in `CHANGELOG.md`. The release tag is pushed to the squash-merge commit after this lands; `release.yaml` then publishes to crates.io, Homebrew, and winget. > _This was written by Claude Code on behalf of max_ |
||
|
|
74fb8de581 |
Release v0.57.0 (#3022)
v0.57.0. `cargo semver-checks` reports breaking library API changes: the squash refactor (#2983) renamed `Repository::commit_subjects` to `commit_message_details`, and the new `GitError::UnbornDefaultBranch` variant (#2990) shifts the discriminants of the exhaustive `GitError` enum. Neither is intentional public API, but together they force a minor bump pre-1.0. ## CHANGELOG ### Improved - **`wt step diff --branch`**: `wt step diff` gained a `-b`/`--branch` flag, mirroring `wt step commit`, so the diff can target another worktree's branch without leaving the current one. The branch must have a checked-out worktree. ([#2995](https://github.com/max-sixty/worktrunk/pull/2995)) - **Squash templates can use commit bodies**: The squash commit-message template gains an experimental `{{ commit_details }}` variable — a list of `{ subject, body }` objects for the commits being squashed — alongside the existing `{{ commits }}` (now documented as the commit subjects). Templates can incorporate full commit bodies, not just subject lines. ([#2983](https://github.com/max-sixty/worktrunk/pull/2983), thanks @florianilch) - **Recommended Claude Code commit command drops the `CLAUDECODE=` prefix**: Claude Code removed the nested-session check that rejected `claude -p` launched from inside another session, so the workaround is gone. The recommended `[commit.generation]` command shown by `wt config create` no longer carries a leading `CLAUDECODE=`, and `wt` no longer strips `CLAUDECODE` from the environment before running commit-generation commands. ([#2979](https://github.com/max-sixty/worktrunk/pull/2979)) ### Fixed - **Nushell wrapper installs where Nushell actually autoloads it**: `wt config shell install nu` wrote `wt.nu` to `$nu.default-config-dir/vendor/autoload`, which Nushell never autoloads — on Linux the wrapper was written but silently never loaded, so `wt` was never wrapped (it happened to work on macOS/Windows by coincidence of path layout). It now installs to `$nu.vendor-autoload-dirs | last`, and install/uninstall clean up any worktrunk wrapper stranded at the old location. ([#2992](https://github.com/max-sixty/worktrunk/pull/2992), thanks @nnutter for reporting) - **Claude Code hooks work for Fish shell users**: The plugin's hook commands used `${CLAUDE_PLUGIN_ROOT}` brace syntax, which Fish doesn't expand; they now use `$CLAUDE_PLUGIN_ROOT`, so the activity and worktree-lifecycle hooks fire correctly under Fish. ([#2962](https://github.com/max-sixty/worktrunk/pull/2962), thanks @amw) - **Pager no longer wedges the terminal on Ctrl-C (Windows)**: Interrupting the `--help` pager (`less`) with Ctrl-C on Windows could leave the terminal in a broken state; `less` now quits cleanly on interrupt. ([#2969](https://github.com/max-sixty/worktrunk/pull/2969), thanks @ofek for reporting) - **Clearer error when the default branch has no commits**: In a freshly initialized repo whose default branch is unborn, `merge`/`rebase`/`squash`/`push` (and the diff report) failed with `Default branch main does not exist locally` plus a misleading hint to reset the cached value. They now report that the branch has no commits yet, without the wrong cache-reset suggestion. ([#2990](https://github.com/max-sixty/worktrunk/pull/2990)) - **`diagnostic.md` uploads as a gist again**: The `-vv` diagnostic report inlined raw NUL bytes from NUL-separated git output, so `gh gist create` rejected it as a binary file. Control bytes in the subprocess preview are now escaped. ([#2991](https://github.com/max-sixty/worktrunk/pull/2991)) - **`wt list` tolerates a missing index file**: A repo with no `<gitdir>/index` (nothing ever staged) made the temp-index probe fail; a missing index is now treated as an empty one, matching git's own behavior. ([#2884](https://github.com/max-sixty/worktrunk/pull/2884)) - **Inline code renders in `--help` section headings**: Terminal `--help` showed literal backticks in headings authored with inline code (e.g. the `wt config state logs` heading `Command log (`commands.jsonl`)`). Headings now reduce inline code to plain text under the heading's uniform style. The `--stage`/`--dry-run` subsection headings in `wt step commit`/`squash` were also renamed to sentence case ("Staging", "Dry run"). ([#3003](https://github.com/max-sixty/worktrunk/pull/3003)) ### Documentation - **`wt switch` docs give forge PR/MR URLs equal billing with `pr:`/`mr:`**: The switch docs now present the full forge-URL form alongside the `pr:N` shortcut. ([#2970](https://github.com/max-sixty/worktrunk/pull/2970)) - **New FAQ entry on moving uncommitted changes to a new worktree**. ([#3002](https://github.com/max-sixty/worktrunk/pull/3002)) ### Internal - **Bare-repo prompt opt-out stored as a hint**: `worktrunk.skip-bare-repo-prompt` moved under the `worktrunk.hints.` namespace, so it now lists under `wt config state hints` and clears with `wt config state clear` (previously a top-level key that escaped both). Clean cutover: users who already opted out are re-prompted once on their next `wt switch --create` in a dotted-name bare repo. ([#3001](https://github.com/max-sixty/worktrunk/pull/3001)) > _This was written by Claude Code on behalf of max_ |
||
|
|
f8dc0b676c | chore: bump the patch group with 4 updates (#3013) | ||
|
|
67f5461b4c |
Release v0.56.0 (#2967)
v0.56.0. `cargo semver-checks` reports a breaking library API change: the config-deprecation refactor (#2946) replaced the public `Deprecations` struct with a `Vec<DeprecationKind>` alias, removing the struct shape. Not intentional public API, but it forces a minor bump pre-1.0. ## CHANGELOG ### Improved - **`wt list` JSON output includes `repo_url`**: Each item now carries `repo_url`, the repository's web URL derived from the primary remote (absent when there's no parseable forge remote). It's the local checkout's repo — distinct from `ci.repo_url`, which is the repo a PR/MR targets. ([#2941](https://github.com/max-sixty/worktrunk/pull/2941), thanks @bendrucker) ### Fixed - **Bare-repo prompts**: Two UX fixes. `wt config create --project` run in a bare repo with no linked worktrees now explains the next step (`wt switch <branch>` first, then create from inside the worktree) instead of failing with a generic "no worktree found". And the bare-repo worktree-path prompt no longer fires for symbolic identifiers (`-`, `@`, `^`, `pr:`/`mr:`), where the example paths would be misleading — it waits for the next switch to a concrete branch name. ([#2951](https://github.com/max-sixty/worktrunk/pull/2951), thanks @ammachado) - **Context gauge spacing in the Claude Code statusline**: The context-gauge moon emoji rendered flush against the percent (`🌕42%`). Most terminals draw the emoji double-width and bleed it into the next cell, so the moon collided with the digits; it now carries a trailing space (`🌕 42%`). ([#2944](https://github.com/max-sixty/worktrunk/pull/2944)) - **Console storm on Windows**: Detached background hook processes were created with `DETACHED_PROCESS`, which could flash a burst of console windows. They now use `CREATE_NO_WINDOW` and spawn fully hidden. ([#2959](https://github.com/max-sixty/worktrunk/pull/2959), thanks @nathanbabcock) ### Documentation - **Codex commit-generation model bumped to `gpt-5.4-mini`**: The recommended `[commit.generation]` command for Codex — shown by `wt config create` and in the LLM-commits docs — now uses `gpt-5.4-mini` (was `gpt-5.1-codex-mini`). ([#2949](https://github.com/max-sixty/worktrunk/pull/2949)) ### Internal - **Config-deprecation layer refactor**: The deprecation detector now returns a `Vec<DeprecationKind>` instead of a struct of per-field flags, and the per-section config-table walks collapse into two combinators. Behavior-neutral — warning text and migration output are byte-for-byte unchanged. ([#2946](https://github.com/max-sixty/worktrunk/pull/2946)) > _This was written by Claude Code on behalf of max_ |
||
|
|
459f4c0e88 |
Release v0.55.0 (#2942)
v0.55.0. `cargo semver-checks` reports breaking library API changes (9 inherent methods removed from `Repository` / `ShellConfig` by the dead-code cut-overs in #2931 — `is_ancestor`, `same_commit`, `has_added_changes`, `trees_match`, `head_tree_matches_branch`, `has_merge_conflicts`, `has_merge_conflicts_by_tree`, `merge_integration_probe`, `is_posix`). None are intentional public API, but they force a minor bump pre-1.0. Headline user-visible changes: - `wt switch` accepts forge PR/MR URLs anywhere `pr:N` / `mr:N` works (#2898, thanks @thiagowfx for the request). - Claude Code plugin keeps unmerged branches during worktree cleanup — the `WorktreeRemove` hook drops `-D` (#2940, thanks @jbeda for reporting). - `wt list` and `wt step prune` degrade gracefully on unborn worktrees (#2937, thanks @nedtwigg for reporting). - `-vv` startup pointer now names `diagnostic.md` (#2919). - Doc-site and `--help` prose cleanup (#2922, #2925); internal cut-over of duplicated/dead code paths (#2931, #2932, #2934). Full CHANGELOG entry in this PR. > _This was written by Claude Code on behalf of max_ |