- Bug fix: #128 Resolve relative PATH entries against the user provided CWD when available, rather than the process CWD. Thanks @RSS1102 for your contribution to which!
- Bug fix: #126 Do not use current directory for search when provided path is absolute. Thanks @weifanglab for your contribution to which!
- On Windows we now emit a
NonFatalErrorif thePATHEXTenvironment variable is not populated, and the query did not specify a file extension.
- Add fallback implementation of
is_valid_executableallowingwhich-rsto compile on targets which are not Unix, Windows, WASI, or Redox. Thanks @pmikolajczyk41 for your contribution to which!
- Dependency on
home_envremoved, 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! - Dependency on
winsaferemoved, code for Windows API is now handwritten. - Dependency on
rustixremoved, we now depend onlibcdirectly to reduce compile times.
- Fix Windows bug reported in #108 (comment)
- Add new
Systrait to allow abstracting over the underlying filesystem. Particularly useful forwasm32-unknown-unknowntargets. Thanks @dsherret for this contribution to which! - Add more debug level tracing for otherwise silent I/O errors.
- Call the
NonFatalHandlerin more places to catch previously ignored I/O errors. - Remove use of the
eitherdependency.
- 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 directory. Thanks @jakobhellermann for this contribution!
- Get user home directory from
env_homeinstead ofhome. Thanks @micolous for this contribution! - If home directory is unavailable, do not expand the tilde to an empty string. Leave it as is.
- Add support to
WhichConfigfor a user provided closure that will be called whenever a nonfatal error occurs. This technically breaks a few APIs due to the need to add more generics and lifetimes. Most code will compile without changes.
- Enhance
tracingfeature with somedebuglevel logs for higher level logic.
- Add
tracingfeature which outputs debugging information to thetracingecosystem.
- Remove dependency on
once_cellfor Windows users, replace withstd::sync::OnceLock.
- MSRV is now 1.70
- Upgraded all dependencies to latest version
- Remove several unused error messages
- Windows executables can now be found even if they don't have a '.exe' extension.
- Add new error message,
Error::CannotGetCurrentDirAndPathListEmpty
- Remove dependency on
dirscrate due to MPL licensing in its tree. Usehomecrate instead. (@Xaeroxe)
- Add tilde expansion for home directory (@Xaeroxe)
- Swap out libc for rustix, forbid unsafe (@notgull)