Skip to content

Commit 87df2b5

Browse files
chore(deps): update rust crates (#360)
> ℹ️ **Note** > > This PR body was truncated due to platform limits. This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [allocator-api2](https://redirect.github.com/zakarumych/allocator-api2) | workspace.dependencies | minor | `0.2.21` → `0.4.0` | | [anyhow](https://redirect.github.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.101` → `1.0.102` | | [assert2](https://redirect.github.com/de-vri-es/assert2-rs) | workspace.dependencies | minor | `0.3.16` → `0.4.0` | | [assertables](https://redirect.github.com/sixarm/assertables-rust-crate) | workspace.dependencies | minor | `9.8.4` → `9.9.0` | | [bitflags](https://redirect.github.com/bitflags/bitflags) | workspace.dependencies | minor | `2.10.0` → `2.11.1` | | [bumpalo](https://redirect.github.com/fitzgen/bumpalo) | workspace.dependencies | minor | `3.19.1` → `3.20.2` | | [cc](https://redirect.github.com/rust-lang/cc-rs) | workspace.dependencies | patch | `1.2.55` → `1.2.61` | | [clap](https://redirect.github.com/clap-rs/clap) | workspace.dependencies | minor | `4.5.57` → `4.6.1` | | [ctor](https://redirect.github.com/mmastrac/linktime) | workspace.dependencies | minor | `0.6` → `0.13` | | [futures](https://rust-lang.github.io/futures-rs) ([source](https://redirect.github.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.31` → `0.3.32` | | [futures-util](https://rust-lang.github.io/futures-rs) ([source](https://redirect.github.com/rust-lang/futures-rs)) | workspace.dependencies | patch | `0.3.31` → `0.3.32` | | [jsonc-parser](https://redirect.github.com/dprint/jsonc-parser) | workspace.dependencies | minor | `0.29.0` → `0.32.0` | | [libc](https://redirect.github.com/rust-lang/libc) | workspace.dependencies | patch | `0.2.185` → `0.2.186` | | [memmap2](https://redirect.github.com/RazrFalcon/memmap2-rs) | workspace.dependencies | patch | `0.9.9` → `0.9.10` | | [once_cell](https://redirect.github.com/matklad/once_cell) | workspace.dependencies | patch | `1.21.3` → `1.21.4` | | [os_str_bytes](https://redirect.github.com/dylni/os_str_bytes) | workspace.dependencies | minor | `7.1.1` → `7.2.0` | | [owo-colors](https://redirect.github.com/owo-colors/owo-colors) | workspace.dependencies | minor | `4.2.3` → `4.3.0` | | [phf](https://redirect.github.com/rust-phf/rust-phf) | workspace.dependencies | minor | `0.11.3` → `0.13.0` | | [rayon](https://redirect.github.com/rayon-rs/rayon) | workspace.dependencies | minor | `1.11.0` → `1.12.0` | | [rusqlite](https://redirect.github.com/rusqlite/rusqlite) | workspace.dependencies | minor | `0.37.0` → `0.39.0` | | [rustc-hash](https://redirect.github.com/rust-lang/rustc-hash) | workspace.dependencies | patch | `2.1.1` → `2.1.2` | | [sha2](https://redirect.github.com/RustCrypto/hashes) | workspace.dependencies | minor | `0.10.9` → `0.11.0` | | [signal-hook](https://redirect.github.com/vorner/signal-hook) | dev-dependencies | minor | `0.3` → `0.4` | | [syscalls](https://redirect.github.com/jasonwhite/syscalls) | workspace.dependencies | minor | `0.6.18` → `0.8.0` | | [tempfile](https://stebalien.com/projects/tempfile-rs/) ([source](https://redirect.github.com/Stebalien/tempfile)) | workspace.dependencies | minor | `3.25.0` → `3.27.0` | | [terminal_size](https://redirect.github.com/eminence/terminal-size) | workspace.dependencies | patch | `0.4.3` → `0.4.4` | | [test-log](https://redirect.github.com/d-e-s-o/test-log) | workspace.dependencies | patch | `0.2.19` → `0.2.20` | | [tokio](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tokio)) | workspace.dependencies | minor | `1.49.0` → `1.52.1` | | [tracing-subscriber](https://tokio.rs) ([source](https://redirect.github.com/tokio-rs/tracing)) | workspace.dependencies | patch | `0.3.22` → `0.3.23` | | [tui-term](https://redirect.github.com/a-kenji/tui-term) | workspace.dependencies | patch | `0.3.1` → `0.3.4` | | [uuid](https://redirect.github.com/uuid-rs/uuid) | workspace.dependencies | minor | `1.20.0` → `1.23.1` | | [which](https://redirect.github.com/harryfei/which-rs) | workspace.dependencies | patch | `8.0.0` → `8.0.2` | | [wincode](https://anza.xyz/) ([source](https://redirect.github.com/anza-xyz/wincode)) | workspace.dependencies | patch | `0.5.2` → `0.5.3` | | [winsafe](https://redirect.github.com/rodrigocfd/winsafe) | workspace.dependencies | patch | `0.0.24` → `0.0.27` | --- ### Release Notes <details> <summary>zakarumych/allocator-api2 (allocator-api2)</summary> ### [`v0.4.0`](https://redirect.github.com/zakarumych/allocator-api2/blob/HEAD/CHANGELOG.md#040---11122025) ##### Added - Implementation of `Allocator for &mut A` as it was added to `core` - Implementation `Default for vec::IntoIter` - Suffixed methods to `SliceExt` ##### Changed - Use `core::error::Error` under "fresh-rust" feature even without "std" feature. - `Serialize for Box<T, A>` is relaxed to accept `T: ?Sized` - `serde_core` crate is used instead of `serde` to remove dependency on `serde_derive` when some other crate enables "derive" feture in `serde` </details> <details> <summary>dtolnay/anyhow (anyhow)</summary> ### [`v1.0.102`](https://redirect.github.com/dtolnay/anyhow/releases/tag/1.0.102) [Compare Source](https://redirect.github.com/dtolnay/anyhow/compare/1.0.101...1.0.102) - Remove backtrace dependency ([#&#8203;438](https://redirect.github.com/dtolnay/anyhow/issues/438), [#&#8203;439](https://redirect.github.com/dtolnay/anyhow/issues/439), [#&#8203;440](https://redirect.github.com/dtolnay/anyhow/issues/440), [#&#8203;441](https://redirect.github.com/dtolnay/anyhow/issues/441), [#&#8203;442](https://redirect.github.com/dtolnay/anyhow/issues/442)) </details> <details> <summary>de-vri-es/assert2-rs (assert2)</summary> ### [`v0.4.0`](https://redirect.github.com/de-vri-es/assert2-rs/compare/v0.3.18...v0.4.0) [Compare Source](https://redirect.github.com/de-vri-es/assert2-rs/compare/v0.3.18...v0.4.0) ### [`v0.3.18`](https://redirect.github.com/de-vri-es/assert2-rs/compare/v0.3.17...v0.3.18) [Compare Source](https://redirect.github.com/de-vri-es/assert2-rs/compare/v0.3.17...v0.3.18) ### [`v0.3.17`](https://redirect.github.com/de-vri-es/assert2-rs/compare/v0.3.16...v0.3.17) [Compare Source](https://redirect.github.com/de-vri-es/assert2-rs/compare/v0.3.16...v0.3.17) </details> <details> <summary>sixarm/assertables-rust-crate (assertables)</summary> ### [`v9.9.0`](https://redirect.github.com/sixarm/assertables-rust-crate/compare/9.8.6...9.9.0) [Compare Source](https://redirect.github.com/sixarm/assertables-rust-crate/compare/9.8.6...9.9.0) ### [`v9.8.6`](https://redirect.github.com/sixarm/assertables-rust-crate/compare/9.8.5...9.8.6) [Compare Source](https://redirect.github.com/sixarm/assertables-rust-crate/compare/9.8.5...9.8.6) ### [`v9.8.5`](https://redirect.github.com/sixarm/assertables-rust-crate/compare/9.8.4...9.8.5) [Compare Source](https://redirect.github.com/sixarm/assertables-rust-crate/compare/9.8.4...9.8.5) </details> <details> <summary>bitflags/bitflags (bitflags)</summary> ### [`v2.11.1`](https://redirect.github.com/bitflags/bitflags/blob/HEAD/CHANGELOG.md#2111) [Compare Source](https://redirect.github.com/bitflags/bitflags/compare/2.11.0...2.11.1) #### What's Changed - Bless compile-fail tests for current beta by [@&#8203;DanielEScherzer](https://redirect.github.com/DanielEScherzer) in [#&#8203;478](https://redirect.github.com/bitflags/bitflags/pull/478) - example\_generated.rs: add missing third slash for doc comment by [@&#8203;DanielEScherzer](https://redirect.github.com/DanielEScherzer) in [#&#8203;477](https://redirect.github.com/bitflags/bitflags/pull/477) - Clarify self and other in method docs by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;481](https://redirect.github.com/bitflags/bitflags/pull/481) #### New Contributors - [@&#8203;DanielEScherzer](https://redirect.github.com/DanielEScherzer) made their first contribution in [#&#8203;478](https://redirect.github.com/bitflags/bitflags/pull/478) **Full Changelog**: <https://github.com/bitflags/bitflags/compare/2.11.0...2.11.1> ### [`v2.11.0`](https://redirect.github.com/bitflags/bitflags/blob/HEAD/CHANGELOG.md#2110) [Compare Source](https://redirect.github.com/bitflags/bitflags/compare/2.10.0...2.11.0) #### What's Changed - Fix use of Result in macro output by [@&#8203;james7132](https://redirect.github.com/james7132) in [#&#8203;462](https://redirect.github.com/bitflags/bitflags/pull/462) - Add methods to get the known/unknown bits from a flags value by [@&#8203;WaterWhisperer](https://redirect.github.com/WaterWhisperer) in [#&#8203;473](https://redirect.github.com/bitflags/bitflags/pull/473) #### New Contributors - [@&#8203;james7132](https://redirect.github.com/james7132) made their first contribution in [#&#8203;462](https://redirect.github.com/bitflags/bitflags/pull/462) - [@&#8203;WaterWhisperer](https://redirect.github.com/WaterWhisperer) made their first contribution in [#&#8203;473](https://redirect.github.com/bitflags/bitflags/pull/473) **Full Changelog**: <https://github.com/bitflags/bitflags/compare/2.10.0...2.11.0> </details> <details> <summary>fitzgen/bumpalo (bumpalo)</summary> ### [`v3.20.2`](https://redirect.github.com/fitzgen/bumpalo/blob/HEAD/CHANGELOG.md#3202) [Compare Source](https://redirect.github.com/fitzgen/bumpalo/compare/v3.20.1...v3.20.2) Released 2026-02-19. ##### Fixed - Restored `Send` and `Sync` implementations for `Box<T>` for `T: ?Sized` types as well. *** ### [`v3.20.1`](https://redirect.github.com/fitzgen/bumpalo/blob/HEAD/CHANGELOG.md#3201) [Compare Source](https://redirect.github.com/fitzgen/bumpalo/compare/v3.20.0...v3.20.1) Released 2026-02-18. ##### Fixed - Restored `Send` and `Sync` implementations for `Box<T>` when `T: Send` and `T: Sync` respectively. *** ### [`v3.20.0`](https://redirect.github.com/fitzgen/bumpalo/blob/HEAD/CHANGELOG.md#3200) [Compare Source](https://redirect.github.com/fitzgen/bumpalo/compare/v3.19.1...v3.20.0) Released 2026-02-18. ##### Added - Added the `bumpalo::collections::Vec::pop_if` method. ##### Fixed - Fixed a bug in the `bumpalo::collections::String::retain` method in the face of panics. - Made `bumpalo::collections::Box<T>` covariant with `T` (just like `std::boxed::Box<T>`). *** </details> <details> <summary>rust-lang/cc-rs (cc)</summary> ### [`v1.2.61`](https://redirect.github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1261---2026-04-24) [Compare Source](https://redirect.github.com/rust-lang/cc-rs/compare/cc-v1.2.60...cc-v1.2.61) ##### Other - fix `OutputKind::Capture` documentation ([#&#8203;1705](https://redirect.github.com/rust-lang/cc-rs/pull/1705)) ### [`v1.2.60`](https://redirect.github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1260---2026-04-10) [Compare Source](https://redirect.github.com/rust-lang/cc-rs/compare/cc-v1.2.59...cc-v1.2.60) ##### Fixed - *(ar)* suppress warnings from `D` modifier probe ([#&#8203;1700](https://redirect.github.com/rust-lang/cc-rs/pull/1700)) ### [`v1.2.59`](https://redirect.github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1259---2026-04-03) [Compare Source](https://redirect.github.com/rust-lang/cc-rs/compare/cc-v1.2.58...cc-v1.2.59) ##### Fixed - *(ar)* deterministic archives with `D` modifier ([#&#8203;1697](https://redirect.github.com/rust-lang/cc-rs/pull/1697)) ##### Other - Regenerate target info ([#&#8203;1698](https://redirect.github.com/rust-lang/cc-rs/pull/1698)) - Fix target abi parsing for sanitiser targets ([#&#8203;1695](https://redirect.github.com/rust-lang/cc-rs/pull/1695)) ### [`v1.2.58`](https://redirect.github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1258---2026-03-27) [Compare Source](https://redirect.github.com/rust-lang/cc-rs/compare/cc-v1.2.57...cc-v1.2.58) ##### Other - Update Compile-time Requirements to add info about clang-cl.exe ([#&#8203;1693](https://redirect.github.com/rust-lang/cc-rs/pull/1693)) ### [`v1.2.57`](https://redirect.github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1257---2026-03-13) [Compare Source](https://redirect.github.com/rust-lang/cc-rs/compare/cc-v1.2.56...cc-v1.2.57) ##### Other - Size archiver batches according to argument length not argument count ([#&#8203;1689](https://redirect.github.com/rust-lang/cc-rs/pull/1689)) - Added `Build::env` for setting environment variables of compiler invocations and other child processes ([#&#8203;1656](https://redirect.github.com/rust-lang/cc-rs/pull/1656) [#&#8203;1682](https://redirect.github.com/rust-lang/cc-rs/pull/1682)) ### [`v1.2.56`](https://redirect.github.com/rust-lang/cc-rs/blob/HEAD/CHANGELOG.md#1256---2026-02-13) [Compare Source](https://redirect.github.com/rust-lang/cc-rs/compare/cc-v1.2.55...cc-v1.2.56) ##### Other - Regenerate target info ([#&#8203;1676](https://redirect.github.com/rust-lang/cc-rs/pull/1676)) - Fix `clang-cl` target when cross-compiling ([#&#8203;1670](https://redirect.github.com/rust-lang/cc-rs/pull/1670)) </details> <details> <summary>clap-rs/clap (clap)</summary> ### [`v4.6.1`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#461---2026-04-15) [Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.6.0...v4.6.1) ##### Fixes - *(derive)* Ensure rebuilds happen when an read env variable is changed ### [`v4.6.0`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#460---2026-03-12) [Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.61...v4.6.0) ##### Compatibility - Update MSRV to 1.85 ### [`v4.5.61`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4561---2026-03-12) [Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.60...v4.5.61) ##### Internal - Update dependencies ### [`v4.5.60`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4560---2026-02-19) [Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.59...v4.5.60) ##### Fixes - *(help)* Quote empty default values, possible values ### [`v4.5.59`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4559---2026-02-16) [Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.58...v4.5.59) ##### Fixes - `Command::ignore_errors` no longer masks help/version on subcommands ### [`v4.5.58`](https://redirect.github.com/clap-rs/clap/blob/HEAD/CHANGELOG.md#4558---2026-02-11) [Compare Source](https://redirect.github.com/clap-rs/clap/compare/v4.5.57...v4.5.58) </details> <details> <summary>mmastrac/linktime (ctor)</summary> ### [`v0.13.1`](https://redirect.github.com/mmastrac/linktime/compare/ctor-0.13.0...ctor-0.13.1) [Compare Source](https://redirect.github.com/mmastrac/linktime/compare/ctor-0.13.0...ctor-0.13.1) </details> <details> <summary>rust-lang/futures-rs (futures)</summary> ### [`v0.3.32`](https://redirect.github.com/rust-lang/futures-rs/blob/HEAD/CHANGELOG.md#0332---2026-02-15) [Compare Source](https://redirect.github.com/rust-lang/futures-rs/compare/0.3.31...0.3.32) - Bump MSRV of utility crates to 1.71. ([#&#8203;2989](https://redirect.github.com/rust-lang/futures-rs/issues/2989)) - Soft-deprecate `ready!` macro in favor of `std::task::ready!` added in Rust 1.64 ([#&#8203;2925](https://redirect.github.com/rust-lang/futures-rs/issues/2925)) - Soft-deprecate `pin_mut!` macro in favor of `std::pin::pin!` added in Rust 1.68 ([#&#8203;2929](https://redirect.github.com/rust-lang/futures-rs/issues/2929)) - Add `FuturesOrdered::clear` ([#&#8203;2927](https://redirect.github.com/rust-lang/futures-rs/issues/2927)) - Add `mpsc::*Receiver::recv` ([#&#8203;2947](https://redirect.github.com/rust-lang/futures-rs/issues/2947)) - Add `mpsc::*Receiver::try_recv` and deprecate `mpsc::*Receiver::::try_next` ([#&#8203;2944](https://redirect.github.com/rust-lang/futures-rs/issues/2944)) - Implement `FusedStream` for `sink::With` ([#&#8203;2948](https://redirect.github.com/rust-lang/futures-rs/issues/2948)) - Add `no_std` support for `shared` ([#&#8203;2868](https://redirect.github.com/rust-lang/futures-rs/issues/2868)) - Make `Mutex::new()` const ([#&#8203;2956](https://redirect.github.com/rust-lang/futures-rs/issues/2956)) - Add `#[clippy::has_significant_drop]` to guards ([#&#8203;2967](https://redirect.github.com/rust-lang/futures-rs/issues/2967)) - Remove dependency to `pin-utils` ([#&#8203;2929](https://redirect.github.com/rust-lang/futures-rs/issues/2929)) - Remove dependency on `num_cpus` ([#&#8203;2946](https://redirect.github.com/rust-lang/futures-rs/issues/2946)) - Performance improvements ([#&#8203;2983](https://redirect.github.com/rust-lang/futures-rs/issues/2983)) - Documentation improvements ([#&#8203;2925](https://redirect.github.com/rust-lang/futures-rs/issues/2925), [#&#8203;2926](https://redirect.github.com/rust-lang/futures-rs/issues/2926), [#&#8203;2940](https://redirect.github.com/rust-lang/futures-rs/issues/2940), [#&#8203;2971](https://redirect.github.com/rust-lang/futures-rs/issues/2971)) </details> <details> <summary>dprint/jsonc-parser (jsonc-parser)</summary> ### [`v0.32.3`](https://redirect.github.com/dprint/jsonc-parser/compare/0.32.2...0.32.3) [Compare Source](https://redirect.github.com/dprint/jsonc-parser/compare/0.32.2...0.32.3) ### [`v0.32.2`](https://redirect.github.com/dprint/jsonc-parser/compare/0.32.1...0.32.2) [Compare Source](https://redirect.github.com/dprint/jsonc-parser/compare/0.32.1...0.32.2) ### [`v0.32.1`](https://redirect.github.com/dprint/jsonc-parser/compare/0.32.0...0.32.1) [Compare Source](https://redirect.github.com/dprint/jsonc-parser/compare/0.32.0...0.32.1) ### [`v0.32.0`](https://redirect.github.com/dprint/jsonc-parser/compare/0.31.0...0.32.0) [Compare Source](https://redirect.github.com/dprint/jsonc-parser/compare/0.31.0...0.32.0) ### [`v0.31.0`](https://redirect.github.com/dprint/jsonc-parser/compare/0.30.0...0.31.0) [Compare Source](https://redirect.github.com/dprint/jsonc-parser/compare/0.30.0...0.31.0) ### [`v0.30.0`](https://redirect.github.com/dprint/jsonc-parser/compare/0.29.0...0.30.0) [Compare Source](https://redirect.github.com/dprint/jsonc-parser/compare/0.29.0...0.30.0) </details> <details> <summary>rust-lang/libc (libc)</summary> ### [`v0.2.186`](https://redirect.github.com/rust-lang/libc/releases/tag/0.2.186) [Compare Source](https://redirect.github.com/rust-lang/libc/compare/0.2.185...0.2.186) ##### Added - Apple: Add `KEVENT_FLAG_*` constants ([#&#8203;5070](https://redirect.github.com/rust-lang/libc/pull/5070)) - Linux: Add `PR_SET_MEMORY_MERGE` and `PR_GET_MEMORY_MERGE` ([#&#8203;5060](https://redirect.github.com/rust-lang/libc/pull/5060)) ##### Changed - CI: Migrate FreeBSD CI from Cirrus CI to GitHub Actions ([#&#8203;5058](https://redirect.github.com/rust-lang/libc/pull/5058)) </details> <details> <summary>RazrFalcon/memmap2-rs (memmap2)</summary> ### [`v0.9.10`](https://redirect.github.com/RazrFalcon/memmap2-rs/blob/HEAD/CHANGELOG.md#0910---2026-02-15) [Compare Source](https://redirect.github.com/RazrFalcon/memmap2-rs/compare/v0.9.9...v0.9.10) ##### Fixed - Fix compilation on AIX targets. [@&#8203;xingxue-ibm](https://redirect.github.com/xingxue-ibm) ##### Changed - Return `ErrorKind::Unsupported` on unsupported platforms to allow reliable runtime detection. [@&#8203;daxpedda](https://redirect.github.com/daxpedda) </details> <details> <summary>matklad/once_cell (once_cell)</summary> ### [`v1.21.4`](https://redirect.github.com/matklad/once_cell/blob/HEAD/CHANGELOG.md#1214) [Compare Source](https://redirect.github.com/matklad/once_cell/compare/v1.21.3...v1.21.4) - Fix unsoundness in `OnceCell::wait` under `--features=parking_lot`, [#&#8203;295](https://redirect.github.com/matklad/once_cell/pull/295). If thread A calls `wait`, while thread B calls `get_or_try_init(f)`, and, furthermore, `f` panics, the `wait` incorrectly returns and thread A observes uninitialized memory. Kudos to [@&#8203;meng-xu-cs](https://redirect.github.com/meng-xu-cs) for a nice find! </details> <details> <summary>dylni/os_str_bytes (os_str_bytes)</summary> ### [`v7.2.0`](https://redirect.github.com/dylni/os_str_bytes/releases/tag/7.2.0) [Compare Source](https://redirect.github.com/dylni/os_str_bytes/compare/7.1.1...7.2.0) - Added: - [`iter::OsUnits`](https://docs.rs/os_str_bytes/7.2.0/os_str_bytes/iter/struct.OsUnits.html) - [`NonUnicodeOsStr::os_units`](https://docs.rs/os_str_bytes/7.2.0/os_str_bytes/struct.NonUnicodeOsStr.html#method.os_units) - [`OsUnit`](https://docs.rs/os_str_bytes/7.2.0/os_str_bytes/struct.OsUnit.html) - Increased the minimum supported Rust toolchain version to 1.81.0 </details> <details> <summary>owo-colors/owo-colors (owo-colors)</summary> ### [`v4.3.0`](https://redirect.github.com/owo-colors/owo-colors/blob/HEAD/CHANGELOG.md#430---2026-02-22) [Compare Source](https://redirect.github.com/owo-colors/owo-colors/compare/v4.2.3...v4.3.0) ##### Fixed - Scripts in the `scripts/` directory are no longer published in the crate package. Thanks [weiznich](https://redirect.github.com/owo-colors/owo-colors/pull/152) for your first contribution! ##### Changed - Mark methods with `#[rust_analyzer::completions(ignore_flyimport)]` and the `OwoColorize` trait with `#[rust_analyzer::completions(ignore_flyimport_methods)]`. This prevents owo-colors methods from being completed with rust-analyzer unless the `OwoColorize` trait is included. Unfortunately, this also breaks explicit autocomplete commands such as Ctrl-Space in many editors. (The language server protocol doesn't appear to have a way to differentiate between implicit and explicit autocomplete commands.) On balance we believe this is the right approach, but please do provide feedback on [PR #&#8203;141](https://redirect.github.com/owo-colors/owo-colors/pull/141) if it negatively affects you. - Updated MSRV to Rust 1.81. </details> <details> <summary>rust-phf/rust-phf (phf)</summary> ### [`v0.13.1`](https://redirect.github.com/rust-phf/rust-phf/releases/tag/v0.13.1) [Compare Source](https://redirect.github.com/rust-phf/rust-phf/compare/v0.13.0...v0.13.1) **Full Changelog**: <https://github.com/rust-phf/rust-phf/compare/v0.13.0...v0.13.1> ### [`v0.13.0`](https://redirect.github.com/rust-phf/rust-phf/releases/tag/v0.13.0) [Compare Source](https://redirect.github.com/rust-phf/rust-phf/compare/v0.12.1...v0.13.0) **This version has been yanked as the dependency tree was broken.** #### What's Changed - chore: Update release process by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;335](https://redirect.github.com/rust-phf/rust-phf/pull/335) - feat(codegen): Implement `FromIterator` for `Map` by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;336](https://redirect.github.com/rust-phf/rust-phf/pull/336) - chore(macros): Use the latest version of proc-macro2 by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;337](https://redirect.github.com/rust-phf/rust-phf/pull/337) - chore(deps): update swatinem/rust-cache action to v2.7.8 by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in [#&#8203;338](https://redirect.github.com/rust-phf/rust-phf/pull/338) - fix(deps): update rust crate criterion to 0.6.0 by [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] in [#&#8203;339](https://redirect.github.com/rust-phf/rust-phf/pull/339) - chore(generator): Remove criterion from deps by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;340](https://redirect.github.com/rust-phf/rust-phf/pull/340) - chore: Add a regression test for [#&#8203;299](https://redirect.github.com/rust-phf/rust-phf/issues/299) by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;341](https://redirect.github.com/rust-phf/rust-phf/pull/341) - feat(macros): Support cfgs by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;342](https://redirect.github.com/rust-phf/rust-phf/pull/342) - chore: Fix clippy warnings by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;343](https://redirect.github.com/rust-phf/rust-phf/pull/343) - feat: Add tuple support for key by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;344](https://redirect.github.com/rust-phf/rust-phf/pull/344) - Remove outdated limitation link in README.md by [@&#8203;def-](https://redirect.github.com/def-) in [#&#8203;345](https://redirect.github.com/rust-phf/rust-phf/pull/345) - chore: Check minimal deps version check in CI by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;347](https://redirect.github.com/rust-phf/rust-phf/pull/347) - feat: Support OR pattern key by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;348](https://redirect.github.com/rust-phf/rust-phf/pull/348) - Prepare a release for v0.13.0 by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;350](https://redirect.github.com/rust-phf/rust-phf/pull/350) #### New Contributors - [@&#8203;renovate](https://redirect.github.com/renovate)\[bot] made their first contribution in [#&#8203;338](https://redirect.github.com/rust-phf/rust-phf/pull/338) - [@&#8203;def-](https://redirect.github.com/def-) made their first contribution in [#&#8203;345](https://redirect.github.com/rust-phf/rust-phf/pull/345) **Full Changelog**: <https://github.com/rust-phf/rust-phf/compare/v0.12.1...v0.13.0> ### [`v0.12.1`](https://redirect.github.com/rust-phf/rust-phf/releases/tag/v0.12.1) [Compare Source](https://redirect.github.com/rust-phf/rust-phf/compare/phf-v0.12.0...v0.12.1) #### What's Changed - chore: Fix test by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;334](https://redirect.github.com/rust-phf/rust-phf/pull/334) **Full Changelog**: <https://github.com/rust-phf/rust-phf/compare/phf-v0.12.0...v0.12.1> ### [`v0.12.0`](https://redirect.github.com/rust-phf/rust-phf/releases/tag/phf_codegen-v0.12.0): phf_codegen v0.12.0 [Compare Source](https://redirect.github.com/rust-phf/rust-phf/compare/phf-v0.11.3...phf-v0.12.0) #### What's Changed - Switch from rand to fastrand by [@&#8203;goffrie](https://redirect.github.com/goffrie) in [#&#8203;312](https://redirect.github.com/rust-phf/rust-phf/pull/312) - Macro support for uncased by [@&#8203;edef1c](https://redirect.github.com/edef1c) in [#&#8203;309](https://redirect.github.com/rust-phf/rust-phf/pull/309) - \[breaking, codegen] Store Cow<str> in Map instead of String by [@&#8203;GnomedDev](https://redirect.github.com/GnomedDev) in [#&#8203;311](https://redirect.github.com/rust-phf/rust-phf/pull/311) - chore: Setup workflow for benchmarks gh-pages by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;326](https://redirect.github.com/rust-phf/rust-phf/pull/326) - Add support for `unicase::Ascii` by [@&#8203;thaliaarchi](https://redirect.github.com/thaliaarchi) in [#&#8203;289](https://redirect.github.com/rust-phf/rust-phf/pull/289) - chore: Turn off serde std feature on no-std by [@&#8203;JohnTitor](https://redirect.github.com/JohnTitor) in [#&#8203;333](https://redirect.github.com/rust-phf/rust-phf/pull/333) #### New Contributors - [@&#8203;goffrie](https://redirect.github.com/goffrie) made their first contribution in [#&#8203;312](https://redirect.github.com/rust-phf/rust-phf/pull/312) - [@&#8203;edef1c](https://redirect.github.com/edef1c) made their first contribution in [#&#8203;309](https://redirect.github.com/rust-phf/rust-phf/pull/309) - [@&#8203;GnomedDev](https://redirect.github.com/GnomedDev) made their first contribution in [#&#8203;311](https://redirect.github.com/rust-phf/rust-phf/pull/311) **Full Changelog**: <https://github.com/rust-phf/rust-phf/compare/phf_codegen-v0.11.3...phf_codegen-v0.12.0> </details> <details> <summary>rayon-rs/rayon (rayon)</summary> ### [`v1.12.0`](https://redirect.github.com/rayon-rs/rayon/blob/HEAD/RELEASES.md#Release-rayon-1120-2026-04-13) [Compare Source](https://redirect.github.com/rayon-rs/rayon/compare/v1.11.0...v1.12.0) - Fixed a bug in parallel `Range<char>` when the end is 0xE000, just past the surrogate boundary, which was unsafely producing invalid `char` values. - The new method `ParallelSlice::par_array_windows` works like `par_windows` but with a constant length, producing `&[T; N]` items. </details> <details> <summary>rusqlite/rusqlite (rusqlite)</summary> ### [`v0.39.0`](https://redirect.github.com/rusqlite/rusqlite/releases/tag/v0.39.0): 0.39.0 [Compare Source](https://redirect.github.com/rusqlite/rusqlite/compare/v0.38.0...v0.39.0) #### What's Changed - Fix constraints on VTab Aux data [#&#8203;1778](https://redirect.github.com/rusqlite/rusqlite/issues/1778), [#&#8203;1771](https://redirect.github.com/rusqlite/rusqlite/issues/1771) - Fix docs.rs generation [#&#8203;1779](https://redirect.github.com/rusqlite/rusqlite/issues/1779) - Fix a small typo in `rollback_hook` docstring [#&#8203;1780](https://redirect.github.com/rusqlite/rusqlite/issues/1780) - Fix some warnings from Intellij [#&#8203;1781](https://redirect.github.com/rusqlite/rusqlite/issues/1781) - Minimal doc for features [#&#8203;1783](https://redirect.github.com/rusqlite/rusqlite/issues/1783) - Clear hooks only for owning connections [#&#8203;1785](https://redirect.github.com/rusqlite/rusqlite/issues/1785), [#&#8203;1784](https://redirect.github.com/rusqlite/rusqlite/issues/1784) - Fix link to SQLite C Interface, Prepare Flags [#&#8203;1787](https://redirect.github.com/rusqlite/rusqlite/issues/1787) - Comment functions which are not usable from a loadable extension [#&#8203;1789](https://redirect.github.com/rusqlite/rusqlite/issues/1789) - Factorize code [#&#8203;1792](https://redirect.github.com/rusqlite/rusqlite/issues/1792) - Update getrandom to 0.4 [#&#8203;1798](https://redirect.github.com/rusqlite/rusqlite/issues/1798) - Update Cargo.toml [#&#8203;1800](https://redirect.github.com/rusqlite/rusqlite/issues/1800) - Fix appveyor [#&#8203;1807](https://redirect.github.com/rusqlite/rusqlite/issues/1807) - Add support to unix timestamp for chrono, jiff and time [#&#8203;1808](https://redirect.github.com/rusqlite/rusqlite/issues/1808), [#&#8203;1803](https://redirect.github.com/rusqlite/rusqlite/issues/1803) - fix(trace): check that the sql string pointer is not NULL [#&#8203;1805](https://redirect.github.com/rusqlite/rusqlite/issues/1805) - Bump bundled SQLite version to 3.51.3 [#&#8203;1818](https://redirect.github.com/rusqlite/rusqlite/issues/1818) - Use TryFrom<ValueRef> for Value [#&#8203;1819](https://redirect.github.com/rusqlite/rusqlite/issues/1819), [#&#8203;1817](https://redirect.github.com/rusqlite/rusqlite/issues/1817) - Make possible to pass your own pointers [#&#8203;1626](https://redirect.github.com/rusqlite/rusqlite/issues/1626), [#&#8203;1602](https://redirect.github.com/rusqlite/rusqlite/issues/1602) **Full Changelog**: <https://github.com/rusqlite/rusqlite/compare/v0.38.0...v0.39.0> ### [`v0.38.0`](https://redirect.github.com/rusqlite/rusqlite/releases/tag/v0.38.0): 0.38.0 [Compare Source](https://redirect.github.com/rusqlite/rusqlite/compare/v0.37.0...v0.38.0) #### What's Changed - bump sqlcipher to 4.10.0 (sqlite 3.50.4) [#&#8203;1725](https://redirect.github.com/rusqlite/rusqlite/issues/1725) - Use CARGO\_CFG\_TARGET\_FEATURE for crt-static check [#&#8203;1737](https://redirect.github.com/rusqlite/rusqlite/issues/1737) - Disable u64, usize ToSql/FromSql impl by default [#&#8203;1732](https://redirect.github.com/rusqlite/rusqlite/issues/1732), #[#&#8203;1722](https://redirect.github.com/rusqlite/rusqlite/issues/1722) (breaking change) - Make statement cache optional [#&#8203;1682](https://redirect.github.com/rusqlite/rusqlite/issues/1682), [#&#8203;1173](https://redirect.github.com/rusqlite/rusqlite/issues/1173) (breaking change) - Remove shell scripts from the published package [#&#8203;1744](https://redirect.github.com/rusqlite/rusqlite/issues/1744) - Use new interfaces with 64-bit length parameters [#&#8203;1749](https://redirect.github.com/rusqlite/rusqlite/issues/1749) - sqlite3\_vtab\_rhs\_value [#&#8203;1753](https://redirect.github.com/rusqlite/rusqlite/issues/1753) - Handle VTab IN values [#&#8203;1754](https://redirect.github.com/rusqlite/rusqlite/issues/1754) - Give access to Connection from VTabCursor::column [#&#8203;1755](https://redirect.github.com/rusqlite/rusqlite/issues/1755) - Bump minimal SQLite version to 3.34.1 [#&#8203;1733](https://redirect.github.com/rusqlite/rusqlite/issues/1733), [#&#8203;1731](https://redirect.github.com/rusqlite/rusqlite/issues/1731) (breaking change) - Bump bundled SQLite version to 3.51.1 [#&#8203;1758](https://redirect.github.com/rusqlite/rusqlite/issues/1758) - Add support for transaction to the vtab module [#&#8203;1761](https://redirect.github.com/rusqlite/rusqlite/issues/1761) - Check Connection is owned when registering Closure as hook [#&#8203;1764](https://redirect.github.com/rusqlite/rusqlite/issues/1764) (breaking change) - Turn libsqlite3-sys in a !#\[no\_std] crate [#&#8203;1767](https://redirect.github.com/rusqlite/rusqlite/issues/1767) - Add `wasm32-unknown-unknown` support [#&#8203;1769](https://redirect.github.com/rusqlite/rusqlite/issues/1769), [#&#8203;488](https://redirect.github.com/rusqlite/rusqlite/issues/488), [#&#8203;827](https://redirect.github.com/rusqlite/rusqlite/issues/827) - Remove useless Send/Sync on Module [#&#8203;1774](https://redirect.github.com/rusqlite/rusqlite/issues/1774) **Full Changelog**: <https://github.com/rusqlite/rusqlite/compare/v0.37.0...v0.38.0> </details> <details> <summary>rust-lang/rustc-hash (rustc-hash)</summary> ### [`v2.1.2`](https://redirect.github.com/rust-lang/rustc-hash/blob/HEAD/CHANGELOG.md#212) [Compare Source](https://redirect.github.com/rust-lang/rustc-hash/compare/v2.1.1...v2.1.2) - [Refactor byte hashing to remove unreachable panic](https://redirect.github.com/rust-lang/rustc-hash/pull/65) </details> <details> <summary>RustCrypto/hashes (sha2)</summary> ### [`v0.11.0`](https://redirect.github.com/RustCrypto/hashes/compare/sha2-v0.10.9...sha2-v0.11.0) [Compare Source](https://redirect.github.com/RustCrypto/hashes/compare/sha2-v0.10.9...sha2-v0.11.0) </details> <details> <summary>vorner/signal-hook (signal-hook)</summary> ### [`v0.4.4`](https://redirect.github.com/vorner/signal-hook/blob/HEAD/CHANGELOG.md#044) [Compare Source](https://redirect.github.com/vorner/signal-hook/compare/v0.4.3...v0.4.4) - Documentation about SIGBUS ([#&#8203;204](https://redirect.github.com/vorner/signal-hook/issues/204)). ### [`v0.4.3`](https://redirect.github.com/vorner/signal-hook/blob/HEAD/CHANGELOG.md#043) [Compare Source](https://redirect.github.com/vorner/signal-hook/compare/v0.4.2...v0.4.3) - Don't exclude .c files from release package. ### [`v0.4.2`](https://redirect.github.com/vorner/signal-hook/blob/HEAD/CHANGELOG.md#042) [Compare Source](https://redirect.github.com/vorner/signal-hook/compare/v0.4.1...v0.4.2) - Fix double-close on pipe unregister ([#&#8203;200](https://redirect.github.com/vorner/signal-hook/issues/200)). - Don't include development scripts in release package (195). ### [`v0.4.1`](https://redirect.github.com/vorner/signal-hook/blob/HEAD/CHANGELOG.md#041) [Compare Source](https://redirect.github.com/vorner/signal-hook/compare/v0.4.0...v0.4.1) - Don't pin specific dependency versions accidentally. ### [`v0.4.0`](https://redirect.github.com/vorner/signal-hook/blob/HEAD/CHANGELOG.md#signal-hook-tokio-040) [Compare Source](https://redirect.github.com/vorner/signal-hook/compare/v0.3.18...v0.4.0) ### signal-hook-tokio-0.4.0 </details> <details> <summary>jasonwhite/syscalls (syscalls)</summary> ### [`v0.8.1`](https://redirect.github.com/jasonwhite/syscalls/blob/HEAD/CHANGELOG.md#v081) [Compare Source](https://redirect.github.com/jasonwhite/syscalls/compare/0.8.0...0.8.1) - Updated to Linux v6.18, which includes: - `file_getattr` - `file_setattr` - `uprobe` (x86-64) ### [`v0.8.0`](https://redirect.github.com/jasonwhite/syscalls/blob/HEAD/CHANGELOG.md#v080-Major-Version-Bump) [Compare Source](https://redirect.github.com/jasonwhite/syscalls/compare/0.7.0...0.8.0) - riscv: Added `riscv_hwprobe` and `riscv_flush_icache` ⚠️ **Breaking Changes** ⚠️ - riscv: Major corrections to riscv32 and riscv64 syscall tables. - Some 32- or 64-bit specific syscalls have been renamed. - Syscalls that do not exist on these architecture have been removed. - riscv32: - Removes `io_getevents` - Renames `fcntl` -> `fcntl64` - Removes `renameat` (use `renameat2`) - Renames `statfs` -> `statfs64` - Renames `fstatfs` -> `fstatfs64` - Renames `truncate` -> `truncate64` - Renames `ftruncate` -> `ftruncate64` - Renames `lseek` -> `llseek` - Renames `sendfile` -> `sendfile64` - Removes `pselect6` (use `pselect6_time64`) - Removes `fstatat64` - Removes `fstat` - Removes `timer_{set,get}time}` (use `timer_{set,get}64`) - Removes `timerfd_{set,get}time}` (use `timerfd_{set,get}64`) - Removes `clock_{set,get}time}` (use `clock_{set,get}64`) - Removes `utimensat` (use `utimensat_time64`) - Removes `futex` (use `futex_time64`) - Removes `nanosleep` (use `clock_nanosleep_time64`) - Removes `sched_rr_get_interval` (use `sched_rr_get_interval_time64`) - Removes `rt_sigtimedwait` (use `rt_sigtimedwait_time64`) - Removes `{get,set}timeofday` - Removes `mq_timedsend` (use `mq_timedsend_time64`) - Removes `mq_timedreceive` (use `mq_timedreceive_time64`) - Removes `semtimedop` (use `semtimedop_time64`) - Renames `mmap` -> `mmap2` - Renames `fadvise64` -> `fadvise64_64` - Removes `rescvmmsg` (use `recevmmsg_time64`) - Removes `wait4` - Removes `clock_adjtime` (use `clock_adjtime64`) - Removes `io_pgetevents` (use `io_pgetevents_time64`) - riscv64: - Removes the time64 syscalls, which are 32-bit only. - Removes `renameat` (use `renameat2`) - Removes `fstatat` (use `newfstatat`) ### [`v0.7.0`](https://redirect.github.com/jasonwhite/syscalls/blob/HEAD/CHANGELOG.md#v070-Major-Version-Bump) [Compare Source](https://redirect.github.com/jasonwhite/syscalls/compare/0.6.18...0.7.0) - Updated syscall lists to Linux 6.16. - arm: Fixed thumb-mode build (again). It is now activated by the "thumb-mode" crate feature, which is set automatically by `build.rs`. - loongarch64 is now supported ([#&#8203;53](https://redirect.github.com/jasonwhite/syscalls/issues/53)). - Various clippy lint fixes. ⚠️ **Breaking Changes** ⚠️ - `syscalls::raw::*` now take a `usize` instead of `Sysno` for the syscall number. This allows bypassing `Sysno` if you need to invoke a syscall that is not in the `Sysno` enum. To migrate existing code, you can cast any `Sysno` type to a `usize` (e.g., `Sysno::openat as usize`). ([#&#8203;50](https://redirect.github.com/jasonwhite/syscalls/issues/50)) - `sync_file_range2` was renamed to `sync_file_range` ([#&#8203;55](https://redirect.github.com/jasonwhite/syscalls/issues/55)) </details> <details> <summary>Stebalien/tempfile (tempfile)</summary> ### [`v3.27.0`](https://redirect.github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3270) [Compare Source](https://redirect.github.com/Stebalien/tempfile/compare/v3.26.0...v3.27.0) This release adds `TempPath::try_from_path` and deprecates `TempPath::from_path`. Prior to this release, `TempPath::from_path` made no attempts to convert relative paths into absolute paths. The following code would have deleted the wrong file: ```rust let tmp_path = TempPath::from_path("foo") std::env::set_current_dir("/some/other/path").unwrap(); drop(tmp_path); ``` Now: 1. `TempPath::from_path` will attempt to convert relative paths into absolute paths. However, this isn't always possible as we need to call `std::env::current_dir`, which can fail. If we fail to convert the relative path to an absolute path, we simply keep the relative path. 2. The `TempPath::try_from_path` behaves exactly like `TempPath::from_path`, except that it returns an error if we fail to convert a relative path into an absolute path (or if the passed path is empty). Neither function attempt to verify the existence of the file in question. Thanks to [@&#8203;meng-xu-cs](https://redirect.github.com/meng-xu-cs) for reporting this issue. ### [`v3.26.0`](https://redirect.github.com/Stebalien/tempfile/blob/HEAD/CHANGELOG.md#3260) - Support `NamedTempFile::persist` on RedoxOS ([#&#8203;393](https://redirect.github.com/Stebalien/tempfile/issues/393)) (thanks to [@&#8203;Andy-Python-Programmer](https://redirect.github.com/Andy-Python-Programmer)). </details> <details> <summary>eminence/terminal-size (terminal_size)</summary> ### [`v0.4.4`](https://redirect.github.com/eminence/terminal-size/releases/tag/v0.4.4) [Compare Source](https://redirect.github.com/eminence/terminal-size/compare/v0.4.3...v0.4.4) #### What's Changed - Update MSRV to 1.71 and windows-sys to ">=0.60.59, <=0.61" by [@&#8203;briandorsey](https://redirect.github.com/briandorsey) in [#&#8203;74](https://redirect.github.com/eminence/terminal-size/pull/74) </details> <details> <summary>d-e-s-o/test-log (test-log)</summary> ### [`v0.2.20`](https://redirect.github.com/d-e-s-o/test-log/blob/HEAD/CHANGELOG.md#0220) [Compare Source](https://redirect.github.com/d-e-s-o/test-log/compare/v0.2.19...v0.2.20) - Factored out `test-log-core` crate to facilitate better testing </details> <details> <summary>tokio-rs/tokio (tokio)</summary> ### [`v1.52.1`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.52.1): Tokio v1.52.1 [Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.52.0...tokio-1.52.1) ### 1.52.1 (April 16th, 2026) #### Fixed - runtime: revert [#&#8203;7757] to fix [a regression][#&#8203;8056] that causes `spawn_blocking` to hang ([#&#8203;8057]) [#&#8203;7757]: https://redirect.github.com/tokio-rs/tokio/pull/7757 [#&#8203;8056]: https://redirect.github.com/tokio-rs/tokio/pull/8056 [#&#8203;8057]: https://redirect.github.com/tokio-rs/tokio/pull/8057 ### [`v1.52.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.52.0): Tokio v1.52.0 [Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.51.1...tokio-1.52.0) ### 1.52.0 (April 14th, 2026) #### Added - io: `AioSource::register_borrowed` for I/O safety support ([#&#8203;7992]) - net: add `try_io` function to `unix::pipe` sender and receiver types ([#&#8203;8030]) #### Added (unstable) - runtime: `Builder::enable_eager_driver_handoff` setting enable eager hand off of the I/O and time drivers before polling tasks ([#&#8203;8010]) - taskdump: add `trace_with()` for customized task dumps ([#&#8203;8025]) - taskdump: allow `impl FnMut()` in `trace_with` instead of just `fn()` ([#&#8203;8040]) - fs: support `io_uring` in `AsyncRead` for `File` ([#&#8203;7907]) #### Changed - runtime: improve `spawn_blocking` scalability with sharded queue ([#&#8203;7757]) - runtime: use `compare_exchange_weak()` in worker queue ([#&#8203;8028]) #### Fixed - runtime: overflow second half of tasks when local queue is filled instead of first half ([#&#8203;8029]) #### Documented - docs: fix typo in `oneshot::Sender::send` docs ([#&#8203;8026]) - docs: hide #\[tokio::main] attribute in the docs of `sync::watch` ([#&#8203;8035]) - net: add docs on `ConnectionRefused` errors with UDP sockets ([#&#8203;7870]) [#&#8203;7757]: https://redirect.github.com/tokio-rs/tokio/pull/7757 [#&#8203;7870]: https://redirect.github.com/tokio-rs/tokio/pull/7870 [#&#8203;7907]: https://redirect.github.com/tokio-rs/tokio/pull/7907 [#&#8203;7992]: https://redirect.github.com/tokio-rs/tokio/pull/7992 [#&#8203;8010]: https://redirect.github.com/tokio-rs/tokio/pull/8010 [#&#8203;8025]: https://redirect.github.com/tokio-rs/tokio/pull/8025 [#&#8203;8026]: https://redirect.github.com/tokio-rs/tokio/pull/8026 [#&#8203;8028]: https://redirect.github.com/tokio-rs/tokio/pull/8028 [#&#8203;8029]: https://redirect.github.com/tokio-rs/tokio/pull/8029 [#&#8203;8030]: https://redirect.github.com/tokio-rs/tokio/pull/8030 [#&#8203;8035]: https://redirect.github.com/tokio-rs/tokio/pull/8035 [#&#8203;8040]: https://redirect.github.com/tokio-rs/tokio/pull/8040 ### [`v1.51.1`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.51.1): Tokio v1.51.1 [Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.51.0...tokio-1.51.1) ##### 1.51.1 (April 8th, 2026) ##### Fixed - sync: fix semaphore reopens after forget ([#&#8203;8021]) - net: surface errors from `SO_ERROR` on `recv` for UDP sockets on Linux ([#&#8203;8001]) ##### Fixed (unstable) - metrics: fix `worker_local_schedule_count` test ([#&#8203;8008]) - rt: do not leak fd when cancelling io\_uring open operation ([#&#8203;7983]) [#&#8203;7983]: https://redirect.github.com/tokio-rs/tokio/pull/7983 [#&#8203;8001]: https://redirect.github.com/tokio-rs/tokio/pull/8001 [#&#8203;8008]: https://redirect.github.com/tokio-rs/tokio/pull/8008 [#&#8203;8021]: https://redirect.github.com/tokio-rs/tokio/pull/8021 ### [`v1.51.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.51.0): Tokio v1.51.0 [Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.50.0...tokio-1.51.0) ##### 1.51.0 (April 3rd, 2026) ##### Added - net: implement `get_peer_cred` on Hurd ([#&#8203;7989]) - runtime: add `tokio::runtime::worker_index()` ([#&#8203;7921]) - runtime: add runtime name ([#&#8203;7924]) - runtime: stabilize `LocalRuntime` ([#&#8203;7557]) - wasm: add wasm32-wasip2 networking support ([#&#8203;7933]) ##### Changed - runtime: steal tasks from the LIFO slot ([#&#8203;7431]) ##### Fixed - docs: do not show "Available on non-loom only." doc label ([#&#8203;7977]) - macros: improve overall macro hygiene ([#&#8203;7997]) - sync: fix `notify_waiters` priority in `Notify` ([#&#8203;7996]) - sync: fix panic in `Chan::recv_many` when called with non-empty vector on closed channel ([#&#8203;7991]) [#&#8203;7431]: https://redirect.github.com/tokio-rs/tokio/pull/7431 [#&#8203;7557]: https://redirect.github.com/tokio-rs/tokio/pull/7557 [#&#8203;7921]: https://redirect.github.com/tokio-rs/tokio/pull/7921 [#&#8203;7924]: https://redirect.github.com/tokio-rs/tokio/pull/7924 [#&#8203;7933]: https://redirect.github.com/tokio-rs/tokio/pull/7933 [#&#8203;7977]: https://redirect.github.com/tokio-rs/tokio/pull/7977 [#&#8203;7989]: https://redirect.github.com/tokio-rs/tokio/pull/7989 [#&#8203;7991]: https://redirect.github.com/tokio-rs/tokio/pull/7991 [#&#8203;7996]: https://redirect.github.com/tokio-rs/tokio/pull/7996 [#&#8203;7997]: https://redirect.github.com/tokio-rs/tokio/pull/7997 ### [`v1.50.0`](https://redirect.github.com/tokio-rs/tokio/releases/tag/tokio-1.50.0): Tokio v1.50.0 [Compare Source](https://redirect.github.com/tokio-rs/tokio/compare/tokio-1.49.0...tokio-1.50.0) ### 1.50.0 (Mar 3rd, 2026) ##### Added - net: add `TcpStream::set_zero_linger` ([#&#8203;7837]) - rt: add `is_rt_shutdown_err` ([#&#8203;7771]) ##### Changed - io: add optimizer hint that `memchr` returns in-bounds pointer ([#&#8203;7792]) - io: implement vectored writes for `write_buf` ([#&#8203;7871]) - runtime: panic when `event_interval` is set to 0 ([#&#8203;7838]) - runtime: shorten default thread name to fit in Linux limit ([#&#8203;7880]) - signal: remember the result of `SetConsoleCtrlHandler` ([#&#8203;7833]) - signal: specialize windows `Registry` ([#&#8203;7885]) ##### Fixed - io: always cleanup `AsyncFd` registration list on deregister ([#&#8203;7773]) - macros: remove (most) local `use` declarations in `tokio::select!` ([#&#8203;7929]) - net: fix `GET_BUF_SIZE` constant for `target_os = "android"` ([#&#8203;7889]) - runtime: avoid redundant unpark in current\_thread scheduler ([#&#8203;7834]) - runtime: don't park in `current_thread` if `before_park` defers waker ([#&#8203;7835]) - io: fix write readiness on ESP32 on short writes ([#&#8203;7872]) - runtime: wake deferred tasks before entering `block_in_place` ([#&#8203;7879]) - sync: drop rx waker when oneshot receiver is dropped ([#&#8203;7886]) - runtime: fix double increment of `num_idle_threads` on shutdown ([#&#8203;7910], [#&#8203;7918], [#&#8203;7922]) ##### Unstable - fs: check for io-uring opcode support ([#&#8203;7815]) - runtime: avoid lock acquisition after uring init ([#&#8203;7850]) ##### Documented - docs: update outdated unstable features section ([#&#8203;7839]) - io: clarify the behavior of `AsyncWriteExt::shutdown()` ([#&#8203;7908]) - io: explain how to flush stdout/stderr ([#&#8203;7904]) - io: fix incorrect and confusing `AsyncWrite` documentation ([#&#8203;7875]) - rt: clarify the documentation of `Runtime::spawn` ([#&#8203;7803]) - rt: fix missing quotation in docs ([#&#8203;7925]) - runtime: correct the default thread name in docs ([#&#8203;7896]) - runtime: fix `event_interval` doc ([#&#8203;7932]) - sync: clarify RwLock fairness documentation ([#&#8203;7919]) - sync: clarify that `recv` returns `None` once closed and no more messages ([#&#8203;7920]) - task: clarify when to use `spawn_blocking` vs dedicated threads ([#&#8203;7923]) - task: doc that task drops before `JoinHandle` completion ([#&#8203;7825]) - signal: guarantee that listeners never return `None` ([#&#8203;7869]) - task: fix task module feature flags in docs ([#&#8203;7891]) - task: fix two typos ([#&#8203;7913]) - task: improve the docs of `Builder::spawn_local` ([#&#8203;7828]) - time: add docs about auto-advance and when to use sleep ([#&#8203;7858]) - util: fix typo in docs ([#&#8203;7926]) [#&#8203;7771]: https://redirect.github.com/tokio-rs/tokio/pull/7771 [#&#8203;7773]: https://redirect.github.com/tokio-rs/tokio/pull/7773 [#&#8203;7792]: https://redirect.github.com/tokio-rs/tokio/pull/7792 [#&#8203;7803]: https://redirect.github.com/tokio-rs/tokio/pull/7803 [#&#8203;7815]: https://redirect.github.com/tokio-rs/tokio/pull/7815 [#&#8203;7825]: https://redirect.github.com/tokio-rs/tokio/pull/7825 [#&#8203;7828]: https://redirect.github.com/tokio-rs/tokio/pull/7828 [#&#8203;7833]: https://redirect.github.com/tokio-rs/tokio/pull/7833 [#&#8203;7834]: https://redirect.github.com/tokio-rs/tokio/pull/7834 [#&#8203;7835]: https://redirect.github.com/tokio-rs/tokio/pull/7835 [#&#8203;7837]: https://redirect.github.com/tokio-rs/tokio/pull/7837 [#&#8203;7838]: https://redirect.github.com/tokio-rs/tokio/pull/7838 [#&#8203;7839]: https://redirect.github.com/tokio-rs/tokio/pull/7839 [#&#8203;7850]: https://redirect.github.com/tokio-rs/tokio/pull/7850 [#&#8203;7858]: https://redirect.github.com/tokio-rs/tokio/pull/7858 [#&#8203;7869]: https://redirect.github.com/tokio-rs/tokio/pull/7869 [#&#8203;7871]: https://redirect.github.com/tokio-rs/tokio/pull/7871 [#&#8203;7872]: https://redirect.github.com/tokio-rs/tokio/pull/7872 [#&#8203;7875]: https://redirect.github.com/tokio-rs/tokio/pull/7875 [#&#8203;7879]: https://redirect.github.com/tokio-rs/tokio/pull/7879 [#&#8203;7880]: https://redirect.github.com/tokio-rs/tokio/pull/7880 [#&#8203;7885]: https://redirect.github.com/tokio-rs/tokio/pull/7885 [#&#8203;7886]: https://redirect.github.com/tokio-rs/tokio/pull/7886 [#&#8203;7889]: https://redirect.github.com/tokio-rs/tokio/pull/7889 [#&#8203;7891]: https://redirect.github.com/tokio-rs/tokio/pull/7891 [#&#8203;7896]: https://redirect.github.com/tokio-rs/tokio/pull/7896 [#&#8203;7904]: https://redirect.github.com/tokio-rs/tokio/pull/7904 [#&#8203;7908]: https://redirect.github.com/tokio-rs/tokio/pull/7908 [#&#8203;7910]: https://redirect.github.com/tokio-rs/tokio/pull/7910 [#&#8203;7913]: https://redirect.github.com/tokio-rs/tokio/pull/7913 [#&#8203;7918]: https://redirect.github.com/tokio-rs/tokio/pull/7918 [#&#8203;7919]: https://redirect.github.com/tokio-rs/tokio/pull/7919 [#&#8203;7920]: https://redirect.github.com/tokio-rs/tokio/pull/7920 [#&#8203;7922]: https://redirect.github.com/tokio-rs/tokio/pull/7922 [#&#8203;7923]: https://redirect.github.com/tokio-rs/tokio/pull/7923 [#&#8203;7925]: https://redirect.github.com/tokio-rs/tokio/pull/7925 [#&#8203;7926]: https://redirect.github.com/tokio-rs/tokio/pull/7926 [#&#8203;7929]: https://redirect.github.com/tokio-rs/tokio/pull/7929 [#&#8203;7932]: https://redirect.github.com/tokio-rs/tokio/pull/7932 </details> <details> <summary>tokio-rs/tracing (tracing-subscriber)</summary> ### [`v0.3.23`](https://redirect.github.com/tokio-rs/tracing/releases/tag/tracing-subscriber-0.3.23): tracing-subscriber 0.3.23 [Compare Source](https://redirect.github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.22...tracing-subscriber-0.3.23) ##### Fixed - Allow ansi sanitization to be disabled ([#&#8203;3484]) [#&#8203;3484]: https://redirect.github.com/tokio-rs/tracing/pull/3484 </details> <details> <summary>a-kenji/tui-term (tui-term)</summary> ### [`v0.3.4`](https://redirect.github.com/a-kenji/tui-term/blob/HEAD/CHANGELOG.md#034---2026-04-06) [Compare Source](https://redirect.github.com/a-kenji/tui-term/compare/v0.3.3...v0.3.4) ##### Vt100 - Simplify color mapping ##### Widget - Add `CursorShape` to `Screen` trait, this has a default implementation. ### [`v0.3.3`](https://redirect.github.com/a-kenji/tui-term/blob/HEAD/CHANGELOG.md#033---2026-03-29) [Compare Source](https://redirect.github.com/a-kenji/tui-term/compare/v0.3.2...v0.3.3) ##### Bug Fixes - Adjust cursor position with scrollback ##### Miscellaneous Tasks - Create a release script ##### Formatter - Init [flake-edit](https://redirect.github.com/a-kenji/flake-edit) a flake formatter - Init [sizelint](https://redirect.github.com/a-kenji/sizelint) a repo size linter ### [`v0.3.2`](https://redirect.github.com/a-kenji/tui-term/blob/HEAD/CHANGELOG.md#032---2026-03-03) [Compare Source](https://redirect.github.com/a-kenji/tui-term/compare/v0.3.1...v0.3.2) Compatible with `ratatui`: `v0.30.0`. ##### Testing - *(dim)* Init tests for dim/fain text (SGR2) - Init vttest 11\_07\_02 Protected Areas (SPA/EPA) - Init vttest 11.05 (ISO-6429 cursor movement) - Init vttest 09 (known VT100 bugs) - Init vttest 11.06 (ISO-6429 colors) - Init vttest 08 (VT102 insert/delete) - Add vttest 03 (character sets) - Init vttest 01 (cursor movements) ##### Cursor - *(uncategorized)* Avoid heap allocation for Cursor.symbol \[**breaking**] ##### Vt100\_imp - *(uncategorized)* Set fg/bg on Style before applying cell ##### Widget - *(uncategorized)* Implement `Widget` for `&PseudoTerminal` \[**breaking**] </details> <details> <summary>uuid-rs/uuid (uuid)</summary> ### [`v1.23.1`](https://redirect.github.com/uuid-rs/uuid/releases/tag/v1.23.1) [Compare Source](https://redirect.github.com/uuid-rs/uuid/compare/v1.23.0...v1.23.1) #### What's Changed - Remove deprecated `msrv` feature from wasm-bindgen dependency by [@&#8203;guybedford](https://redirect.github.com/guybedford) in [#&#8203;877](https://redirect.github.com/uuid-rs/uuid/pull/877) - fix: Timestamp::from\_gregorian deprecation note by [@&#8203;aznashwan](https://redirect.github.com/aznashwan) in [#&#8203;878](https://redirect.github.com/uuid-rs/uuid/pull/878) - Prepare for 1.23.1 release by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;879](https://redirect.github.com/uuid-rs/uuid/pull/879) #### New Contributors - [@&#8203;guybedford](https://redirect.github.com/guybedford) made their first contribution in [#&#8203;877](https://redirect.github.com/uuid-rs/uuid/pull/877) - [@&#8203;aznashwan](https://redirect.github.com/aznashwan) made their first contribution in [#&#8203;878](https://redirect.github.com/uuid-rs/uuid/pull/878) **Full Changelog**: <https://github.com/uuid-rs/uuid/compare/v1.23.0...v1.23.1> ### [`v1.23.0`](https://redirect.github.com/uuid-rs/uuid/releases/tag/v1.23.0) [Compare Source](https://redirect.github.com/uuid-rs/uuid/compare/v1.22.0...v1.23.0) #### What's Changed - feat: add support for 'hyphenated' format in the serde module by [@&#8203;FrenchDilettante](https://redirect.github.com/FrenchDilettante) in [#&#8203;865](https://redirect.github.com/uuid-rs/uuid/pull/865) - Fix a number of bugs in time-related code by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;872](https://redirect.github.com/uuid-rs/uuid/pull/872) - Reword invalid char error message by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;873](https://redirect.github.com/uuid-rs/uuid/pull/873) - Impl cleanups by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;874](https://redirect.github.com/uuid-rs/uuid/pull/874) - Use LazyLock to synchronize v1/v6 context initialization by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;875](https://redirect.github.com/uuid-rs/uuid/pull/875) - Prepare for 1.23.0 release by [@&#8203;KodrAus](https://redirect.github.com/KodrAus) in [#&#8203;876](https://redirect.github.com/uuid-rs/uuid/pull/876) #### New Contributors - [@&#8203;FrenchDilettante](https://redirect.github.com/FrenchDilettante) made their first contributio > ✂ **Note** > > PR body was truncated to here. </details> --- ### Configuration 📅 **Schedule**: (in timezone Asia/Shanghai) - Branch creation - "before 10am on monday" - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://redirect.github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/voidzero-dev/vite-task). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNDEuMyIsInVwZGF0ZWRJblZlciI6IjQzLjE1OS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com>
1 parent 161e45e commit 87df2b5

9 files changed

Lines changed: 242 additions & 103 deletions

File tree

Cargo.lock

Lines changed: 204 additions & 71 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ future_not_send = "allow"
4141
[workspace.dependencies]
4242
allocator-api2 = { version = "0.2.21", default-features = false, features = ["alloc", "std"] }
4343
anyhow = "1.0.98"
44-
assert2 = "0.3.16"
44+
assert2 = "0.4.0"
4545
assertables = "9.8.1"
4646
async-trait = "0.1.89"
4747
base64 = "0.22.1"
@@ -64,7 +64,7 @@ cow-utils = "0.1.3"
6464
cp_r = "0.5.2"
6565
crossterm = { version = "0.29.0", features = ["event-stream"] }
6666
csv-async = { version = "1.3.1", features = ["tokio"] }
67-
ctor = "0.6"
67+
ctor = "0.13"
6868
ctrlc = "3.5.2"
6969
derive_more = "2.0.1"
7070
diff-struct = "0.5.3"
@@ -82,7 +82,7 @@ fspy_shared = { path = "crates/fspy_shared" }
8282
fspy_shared_unix = { path = "crates/fspy_shared_unix" }
8383
futures = "0.3.31"
8484
futures-util = "0.3.31"
85-
jsonc-parser = { version = "0.29.0", features = ["serde"] }
85+
jsonc-parser = { version = "0.32.0", features = ["serde"] }
8686
libc = "0.2.185"
8787
libtest-mimic = "0.8.2"
8888
memmap2 = "0.9.7"
@@ -100,7 +100,7 @@ notify = "8.0.0"
100100
path-clean = "1.0.1"
101101
pathdiff = "0.2.3"
102102
petgraph = "0.8.2"
103-
phf = { version = "0.11.3", features = ["macros"] }
103+
phf = { version = "0.13.0", features = ["macros"] }
104104
portable-pty = "0.9.0"
105105
pretty_assertions = "1.4.1"
106106
pty_terminal = { path = "crates/pty_terminal" }
@@ -110,14 +110,14 @@ ratatui = "0.30.0"
110110
rayon = "1.10.0"
111111
ref-cast = "1.0.24"
112112
regex = "1.11.3"
113-
rusqlite = "0.37.0"
113+
rusqlite = "0.39.0"
114114
rustc-hash = "2.1.1"
115115
# SeccompAction::UserNotif (SECCOMP_RET_USER_NOTIF) was added after the latest published release (v0.5.0)
116116
seccompiler = { git = "https://github.com/rust-vmm/seccompiler", rev = "08587106340b8e3cb361c7561411510039436857" }
117117
serde = "1.0.219"
118118
serde_json = "1.0.140"
119119
serde_norway = "0.9.42"
120-
sha2 = "0.10.9"
120+
sha2 = "0.11.0"
121121
shared_memory = "0.12.4"
122122
shell-escape = "0.1.5"
123123
similar = "2.7.0"
@@ -126,7 +126,7 @@ snapshot_test = { path = "crates/snapshot_test" }
126126
stackalloc = "1.2.1"
127127
subprocess_test = { path = "crates/subprocess_test" }
128128
supports-color = "3.0.1"
129-
syscalls = { version = "0.6.18", default-features = false }
129+
syscalls = { version = "0.8.0", default-features = false }
130130
tar = "0.4.45"
131131
tempfile = "3.14.0"
132132
test-log = { version = "0.2.18", features = ["trace"] }
@@ -159,7 +159,7 @@ wax = "0.7.0"
159159
which = "8.0.0"
160160
widestring = "1.2.0"
161161
winapi = "0.3.9"
162-
winsafe = { version = "0.0.24", features = ["kernel"] }
162+
winsafe = { version = "0.0.27", features = ["kernel"] }
163163
xxhash-rust = { version = "0.8.15", features = ["const_xxh3"] }
164164
ntest = "0.9.5"
165165
terminal_size = "0.4"

crates/fspy_preload_unix/src/client/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ pub unsafe fn handle_open(path: impl ToAbsolutePath, mode: impl ToAccessMode) {
137137
}
138138

139139
#[cfg(not(test))]
140-
#[ctor::ctor]
140+
#[ctor::ctor(unsafe)]
141141
fn init_client() {
142142
CLIENT.set(Client::from_env()).unwrap();
143143
}

crates/pty_terminal/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ terminal_size = { workspace = true }
2121

2222
[target.'cfg(unix)'.dev-dependencies]
2323
nix = { workspace = true }
24-
signal-hook = "0.3"
24+
signal-hook = "0.4"
2525

2626
[lints]
2727
workspace = true

crates/subprocess_test/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ macro_rules! command_for_fn {
6363
assert_arg_type(&$arg, $f);
6464

6565
// Register an initializer that runs the provided function when the process is started
66-
#[::ctor::ctor]
66+
#[::ctor::ctor(unsafe)]
6767
unsafe fn init() {
6868
$crate::init_impl(ID, $f);
6969
}

crates/vite_path/src/absolute/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -402,17 +402,17 @@ mod tests {
402402
fn strip_prefix_invalid_relative() {
403403
use std::{ffi::OsStr, os::unix::ffi::OsStrExt};
404404

405-
use assert2::let_assert;
405+
use assert2::assert;
406406

407407
let mut abs_path = b"/home/".to_vec();
408408
abs_path.push(0xC0);
409409
let abs_path = AbsolutePath::new(Path::new(OsStr::from_bytes(&abs_path))).unwrap();
410410

411411
let prefix = AbsolutePath::new(Path::new("/home")).unwrap();
412-
let_assert!(Err(err) = abs_path.strip_prefix(prefix));
412+
assert!(let Err(err) = abs_path.strip_prefix(prefix));
413413

414414
assert_eq!(err.stripped_path.as_os_str().as_bytes(), &[0xC0]);
415-
let_assert!(InvalidPathDataError::NonUtf8 = err.invalid_path_data_error);
415+
assert!(let InvalidPathDataError::NonUtf8 = err.invalid_path_data_error);
416416
}
417417

418418
#[test]

crates/vite_path/src/relative.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -338,14 +338,14 @@ mod tests {
338338
#[cfg(windows)]
339339
use std::os::windows::ffi::OsStringExt as _;
340340

341-
use assert2::let_assert;
341+
use assert2::assert;
342342

343343
use super::*;
344344

345345
#[test]
346346
fn non_relative() {
347-
let_assert!(
348-
Err(FromPathError::NonRelative) =
347+
assert!(
348+
let Err(FromPathError::NonRelative) =
349349
RelativePathBuf::new(if cfg!(windows) { "C:\\Users" } else { "/home" })
350350
);
351351
}
@@ -356,8 +356,8 @@ mod tests {
356356
use std::{ffi::OsStr, os::unix::ffi::OsStrExt as _};
357357

358358
let non_utf8_os_str = OsStr::from_bytes(&[0xC0]);
359-
let_assert!(
360-
Err(FromPathError::InvalidPathData(InvalidPathDataError::NonUtf8)) =
359+
assert!(
360+
let Err(FromPathError::InvalidPathData(InvalidPathDataError::NonUtf8)) =
361361
RelativePathBuf::new(non_utf8_os_str),
362362
);
363363
}
@@ -368,25 +368,25 @@ mod tests {
368368
use std::ffi::OsString;
369369
// ill-formed UTF-16: X<high surrogate>Y
370370
let non_utf8_path = OsString::from_wide(&[0x0058, 0xD800, 0x0059]);
371-
let_assert!(
372-
Err(FromPathError::InvalidPathData(InvalidPathDataError::NonUtf8)) =
371+
assert!(
372+
let Err(FromPathError::InvalidPathData(InvalidPathDataError::NonUtf8)) =
373373
RelativePathBuf::new(non_utf8_path),
374374
);
375375
}
376376

377377
#[cfg(unix)]
378378
#[test]
379379
fn backslash_in_component() {
380-
let_assert!(
381-
Err(FromPathError::InvalidPathData(InvalidPathDataError::BackslashInComponent)) =
380+
assert!(
381+
let Err(FromPathError::InvalidPathData(InvalidPathDataError::BackslashInComponent)) =
382382
RelativePathBuf::new("foo\\bar")
383383
);
384384
}
385385

386386
#[cfg(windows)]
387387
#[test]
388388
fn backslash_in_component() {
389-
let_assert!(Ok(path) = RelativePathBuf::new("foo\\bar"));
389+
assert!(let Ok(path) = RelativePathBuf::new("foo\\bar"));
390390
assert_eq!(path.as_str(), "foo/bar");
391391
}
392392

@@ -453,7 +453,7 @@ mod tests {
453453
#[test]
454454
fn clean_malformed_drive_path() {
455455
let rel_path = RelativePathBuf::new(r"foo\C:\bar").unwrap();
456-
let_assert!(Err(FromPathError::NonRelative) = rel_path.clean());
456+
assert!(let Err(FromPathError::NonRelative) = rel_path.clean());
457457
}
458458

459459
#[test]

crates/vite_task_bin/src/lib.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -127,12 +127,12 @@ impl vite_task::loader::UserConfigLoader for JsonUserConfigLoader {
127127
}
128128
Err(err) => return Err(err.into()),
129129
};
130-
let json_value = jsonc_parser::parse_to_serde_value(
130+
let json_value: Option<serde_json::Value> = jsonc_parser::parse_to_serde_value(
131131
&config_content,
132132
&jsonc_parser::ParseOptions::default(),
133-
)?
134-
.unwrap_or_default();
135-
let user_config: vite_task::config::UserRunConfig = serde_json::from_value(json_value)?;
133+
)?;
134+
let user_config: vite_task::config::UserRunConfig =
135+
serde_json::from_value(json_value.unwrap_or_default())?;
136136
Ok(Some(user_config))
137137
}
138138
}

crates/vite_task_plan/src/envs.rs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use std::{collections::BTreeMap, ffi::OsStr, mem::MaybeUninit, sync::Arc};
1+
use std::{collections::BTreeMap, ffi::OsStr, fmt::Write as _, mem::MaybeUninit, sync::Arc};
22

33
use rustc_hash::FxHashMap;
44
use serde::{Deserialize, Serialize};
@@ -140,11 +140,17 @@ impl EnvFingerprints {
140140
let value: Arc<str> = if sensitive_patterns.is_match(name) {
141141
let mut hasher = Sha256::new();
142142
hasher.update(value.as_bytes());
143+
let digest = hasher.finalize();
143144
#[expect(
144-
clippy::disallowed_macros,
145+
clippy::disallowed_types,
145146
reason = "result is converted to Arc<str>, not Str"
146147
)]
147-
format!("sha256:{:x}", hasher.finalize()).into()
148+
let mut hex = std::string::String::with_capacity(7 + digest.len() * 2);
149+
hex.push_str("sha256:");
150+
for b in digest {
151+
write!(&mut hex, "{b:02x}").unwrap();
152+
}
153+
hex.into()
148154
} else {
149155
value.into()
150156
};

0 commit comments

Comments
 (0)