PackageTrack
Sign in Get early access

which

A Rust equivalent of Unix command "which". Locate installed executable in cross platforms.

8.0.5 399M downloads/mo #289 most downloaded on crates.io harryfei/which-rs

What this package is like to depend on

Last release 1 months ago

15 Jul 2026

Release timing varies

gaps range from 8 days to 9 months

Some releases are documented

notes for 17 of 39 stable releases

4 versions withdrawn

withdrawn after publishing

11 years old

43 releases · first in 2015

5 releases in the last 12 months

see the full history below

Release timeline

43 releases · Oct 2015 to Jul 2026
2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 43
  1. 8.0.5 15 Jul 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 8.0.4...8.0.5

    Open source →
    Release notes
    • Bug fix: #126 Do not use current directory for search when provided path is absolute. Thanks @weifanglab for your contribution to which!
    Open source →
  2. 8.0.4 16 Jun 2026
    Release notes

    What's Changed

    • feat: emit NonFatalError on Windows if PATHEXT not populated by @Xaeroxe in #125

    Full Changelog: 8.0.3...8.0.4

    Open source →
    Release notes
    • On Windows we now emit a NonFatalError if the PATHEXT environment variable is not populated, and the query did not specify a file extension.
    Open source →
  3. 8.0.3 08 Jun 2026
    Release notes

    What's Changed

    • feat: use catch-all cfg for is_valid_executable on unsupported targets by @pmikolajczyk41 in #124

    New Contributors

    Full Changelog: 8.0.2...8.0.3

    Open source →
    Release notes
    • Add fallback implementation of 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!
    Open source →
  4. 8.0.2 08 Mar 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 8.0.1...8.0.2

    Open source →
    Release notes
    • Dependency on 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!
    • Dependency on winsafe removed, code for Windows API is now handwritten.
    • Dependency on rustix removed, we now depend on libc directly to reduce compile times.
    Open source →
  5. 8.0.1 06 Mar 2026
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 8.0.0...8.0.1

    Open source →
    Release notes
    • Fix Windows bug reported in https://github.com/harryfei/which-rs/issues/108#issuecomment-3998654328
    Open source →
  6. 8.0.0 05 Jun 2025
    Release notes

    What's Changed

    • Add new Sys trait to allow abstracting over the underlying filesystem. Particularly useful for wasm32-unknown-unknown targets. Thanks @dsherret for this contribution to which!
    • Add more debug level tracing for otherwise silent I/O errors.
    • Call the NonFatalHandler in more places to catch previously ignored I/O errors.
    • Remove use of the either dependency.

    New Contributors

    Open source →
    Release notes
    • Add new Sys trait to allow abstracting over the underlying filesystem. Particularly useful for wasm32-unknown-unknown targets. Thanks @dsherret for this contribution to which!
    • Add more debug level tracing for otherwise silent I/O errors.
    • Call the NonFatalHandler in more places to catch previously ignored I/O errors.
    • Remove use of the either dependency.
    Open source →
  7. 7.0.3 08 Apr 2025
    Release notes
    • Update rustix to version 1.0. Congrats to rustix on this milestone, and thanks @mhils for this contribution to which!
    Open source →
    Release notes
    • Update rustix to version 1.0. Congrats to rustix on this milestone, and thanks @mhils for this contribution to which!
    Open source →
  8. 7.0.2 06 Feb 2025
    Release notes
    • 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!
    Open source →
    Release notes
    • 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!
    Open source →
  9. 7.0.1 19 Dec 2024
    Release notes

    What's Changed

    New Contributors

    Full Changelog: 7.0.0...7.0.1

    Open source →
    Release notes
    • Get user home directory from env_home instead of home. Thanks @micolous for this contribution!
    • If home directory is unavailable, do not expand the tilde to an empty string. Leave it as is.
    Open source →
  10. 7.0.0 01 Nov 2024
    Release notes
    • 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 the need to add more generics and lifetimes. Most code will compile
      without changes.
    Open source →
    Release notes
    • 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 the need to add more generics and lifetimes. Most code will compile without changes.
    Open source →
  11. 6.0.3 17 Aug 2024
    Release notes
    • Enhance tracing feature with some debug level logs for higher level logic.
    Open source →
  12. 6.0.2 30 Jul 2024
    Release notes
    • Add tracing feature which outputs debugging information to the tracing ecosystem.
    Open source →
  13. 6.0.1 22 Mar 2024
    Release notes
    • Remove dependency on once_cell for Windows users, replace with std::sync::OnceLock.
    Open source →
  14. 6.0.0 18 Jan 2024
    Release notes
    • MSRV is now 1.70
    • Upgraded all dependencies to latest version
    Open source →
  15. 5.0.0 18 Oct 2023
    Release notes
    • 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
    Open source →
  16. 4.4.2 04 Sep 2023
    Release notes
    • Remove dependency on dirs crate due to MPL licensing in its tree. Use home crate instead. (@Xaeroxe)
    Open source →
  17. 4.4.1 04 Sep 2023
    Release notes
    • Add tilde expansion for home directory (@Xaeroxe)
    • Swap out libc for rustix, forbid unsafe (@notgull)
    Open source →
  18. 4.4.0 20 Jan 2023

    Nothing published for this version

  19. 4.3.0 31 Aug 2022

    Nothing published for this version

  20. 4.2.5 20 Mar 2022

    Nothing published for this version

  21. 4.2.4 24 Jan 2022

    Nothing published for this version

  22. 4.2.3 24 Jan 2022 withdrawn

    Nothing published for this version

  23. 4.2.2 31 Jul 2021

    Nothing published for this version

  24. 4.2.1 29 Jul 2021 withdrawn

    Nothing published for this version

  25. 4.2.0 29 Jul 2021 withdrawn

    Nothing published for this version

  26. 4.1.0 28 Mar 2021

    Nothing published for this version

  27. 4.0.2 04 Aug 2020

    Nothing published for this version

  28. 4.0.1 22 Jun 2020

    Nothing published for this version

  29. 4.0.0 30 May 2020

    Nothing published for this version

  30. 3.1.1 07 Mar 2020

    Nothing published for this version

  31. 3.1.0 03 Nov 2019

    Nothing published for this version

  32. 3.0.0 22 Sep 2019

    Nothing published for this version

  33. 2.0.1 27 Nov 2018

    Nothing published for this version

  34. 2.0.0 30 Mar 2018

    Nothing published for this version

  35. 1.0.5 17 Feb 2018

    Nothing published for this version

  36. 1.0.4 15 Feb 2018 withdrawn

    Nothing published for this version

  37. 1.0.3 04 Oct 2017

    Nothing published for this version

  38. 1.0.2 14 Jun 2017

    Nothing published for this version

  39. 1.0.1 14 Jun 2017

    Nothing published for this version

  40. 1.0.0 08 Dec 2016

    Nothing published for this version

  41. 0.2.1 03 Aug 2016

    Nothing published for this version

  42. 0.2.0 09 Jun 2016

    Nothing published for this version

  43. 0.1.0 06 Oct 2015

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive