NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
crates.io · #302 most downloaded on crates.io
A Rust equivalent of Unix command "which". Locate installed executable in cross platforms.
Last release 1 months ago
26 Aug 2026
Release timing varies
gaps range from 8 days to 9 months
Some releases are documented
notes for 18 of 40 stable releases
4 versions withdrawn
withdrawn after publishing
11 years old
44 releases · first in 2015
fix: resolve relative PATH entries against the provided cwd by @RSS1102 in #128
One column per quarter.
Fix absolute path lookup when cwd is disabled by @weifanglab in #126
Full Changelog: 8.0.4...8.0.5
feat: emit NonFatalError on Windows if PATHEXT not populated by @Xaeroxe in #125
Full Changelog: 8.0.3...8.0.4
NonFatalError if the PATHEXT environment variable is not populated, and the query did not specify a file extension.feat: use catch-all cfg for is_valid_executable on unsupported targets by @pmikolajczyk41 in #124
is_valid_executable on unsupported targets by @pmikolajczyk41 in #124Full Changelog: 8.0.2...8.0.3
is_valid_executable allowing which-rs to compile on targets which are not Unix, Windows, WASI, or Redox. Thanks @pmikolajczyk41 for your contribution to which!Remove env_home dependency by @madsmtm in #118
home_env removed, the implementation found in rust 1.85.0 for a home directory has been fixed.
Thanks, [@madsmtm],(https://github.com/madsmtm) for this contribution to which!winsafe removed, code for Windows API is now handwritten.rustix removed, we now depend on libc directly to reduce compile times.Update Readme by @atouchet in #115
Add new Sys trait to allow abstracting over the underlying filesystem. Particularly useful for wasm32-unknown-unknown targets. Thanks @dsherret for th
Sys trait to allow abstracting over the underlying filesystem. Particularly useful for wasm32-unknown-unknown targets. Thanks @dsherret for this contribution to which!NonFatalHandler in more places to catch previously ignored I/O errors.either dependency.Update rustix to version 1.0. Congrats to rustix on this milestone, and thanks @mhils for this contribution to which!
Don't return paths containing the single dot . reference to the current directory, even if the original request was given in terms of the current dire
. reference to the current directory, even if the original request was given in terms of the current directory. Thanks @jakobhellermann for this contribution!Switch to env_home crate by @micolous in #105
env_home instead of home. Thanks @micolous for this contribution!Add support to WhichConfig for a user provided closure that will be called whenever a nonfatal error occurs. This technically breaks a few APIs due to
WhichConfig for a user provided closure that will be called whenever a nonfatal error occurs.Enhance tracing feature with some debug level logs for higher level logic.
tracing feature with some debug level logs for higher level logic.Add tracing feature which outputs debugging information to the `tracing` ecosystem.
tracing feature which outputs debugging information to the tracing ecosystem.Remove dependency on once_cell for Windows users, replace with std::OnceLock.
once_cell for Windows users, replace with std::sync::OnceLock.Upgraded all dependencies to latest version
Remove several unused error messages
Error::CannotGetCurrentDirAndPathListEmptyRemove dependency on dirs crate due to MPL licensing in its tree. Use home crate instead. (@Xaeroxe)
dirs crate due to MPL licensing in its tree. Use home crate instead. (@Xaeroxe)Add tilde expansion for home directory (@Xaeroxe)
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →