PackageTrack
Sign in Get early access

xshell

Utilities for quick shell scripting in Rust

0.2.7 19M downloads/mo #2141 most downloaded on crates.io matklad/xshell

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Release timing varies

gaps range from 8 days to 9 months

Most releases are documented

notes for 21 of 24 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

27 releases · first in 2020

0 releases in the last 12 months

see the full history below

Release timeline

27 releases · Oct 2020 to Dec 2024
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 27
  1. 0.3.0-pre.2 23 Dec 2024 pre-release
    Release notes

    A major release with significant changes to the API:

    • Interior mutability and references are removed. Both Cmd and Shell are now values.
    • pushd-style API are removed in favor of Shell-returning functional builders like with_current_dir.
    • Split copy_file into copy_file and copy_file_to_dir, removing auto-magical directory detection.
    • Remove fine-grained control of stdin streams from Cmd. Instead:
      • There's a menu of run, run_echo, run_interactive, read that generally try to do the right thing.
      • run no longer echoes the command by default, run_echo does that.
      • The error messages now carry last 128KiB of stdout/stderr and print them on error.
      • There's to_command method for converting to std::process::Command which does allow for fine grained control.
    • Support for timeouts.
    • MSRV is raised to 1.73.0.
    Open source →
  2. 0.3.0-pre.1 23 Dec 2024 pre-release

    Nothing published for this version

  3. 0.2.7 16 Nov 2024
    Release notes
    • MSRV is raised to 1.63.0
    • Avoid using non-existant cfg in macros
    Open source →
  4. 0.2.6 28 Mar 2024
    Release notes
    • Implement Clone for Shell.
    Open source →
  5. 0.2.5 11 Jul 2023
    Release notes

    need Rust 1.66 for blocking cargo publish

    Open source →
    Release notes
    • Improve error message when a working directory for cmd! does not exist.
    Open source →
  6. 0.2.3 14 Dec 2022
    Release notes

    61: fix run ignoring stdin r=matklad a=matklad

    bors r+
    🤖

    Co-authored-by: Aleksey Kladov [email protected]

    Open source →
    Release notes
    • Fix bug where Cmd::run would ignore specified stdin.
    Open source →
  7. 0.2.2 08 Jun 2022
    Release notes

    56: Add path_exists r=lnicola a=azdavis

    Just returns whether the path exists.

    Co-authored-by: Ariel Davis [email protected]

    Open source →
    Release notes
    • Add Shell::path_exists.
    Open source →
  8. 0.2.1 16 Mar 2022
    Release notes

    55: remove_path is idempotent r=lnicola a=matklad

    Co-authored-by: Aleksey Kladov [email protected]

    Open source →
    Release notes
    • Shell::remove_path returns Ok if the path does not exist (ie the function is now idempotent).
    Open source →
  9. 0.2.0 13 Mar 2022
    Release notes

    51: Fix pre-release publishing r=matklad a=matklad

    bors r+

    Co-authored-by: Aleksey Kladov [email protected]

    Open source →
    Release notes

    A major release with significant changes to the API:

    • All global state is removed in favor of explicitly passing a Shell instance.
    • Some methods are renamed to better match Rust naming conventions.
    • New APIs for controlling working directory and environment.
    • MSRV is raised to 1.59.0.
    • Improved reliability across the board: the crate aims to become a dependable 1.0 tool in the future (no ETA).
    • This is expected to be the last large API reshuffle.
    Open source →
  10. 0.2.0-pre.1 13 Mar 2022 pre-release
    Release notes

    48: v0.2.0-pre.1 r=matklad a=matklad

    bors r+

    Co-authored-by: Aleksey Kladov [email protected]

    Open source →
  11. 0.1.17 04 Sep 2021
    Release notes
    • Allow panics to transparently pass through xshell calls. This removes some internal lock poisoned errors.
    Open source →
  12. 0.1.16 04 Sep 2021
    Release notes
    • Add xshell::hard_link.
    Open source →
  13. 0.1.15 01 Sep 2021
    Release notes
    • Correctly handle multiple internal read guards.
    Open source →
  14. 0.1.14 29 May 2021
    Release notes
    • Correctly handle commands name starting with quote.
    Open source →
  15. 0.1.13 21 May 2021
    Release notes
    • Add ignore_stdout, ignore_stderr functions.
    Open source →
  16. 0.1.12 09 May 2021
    Release notes
    • Add env, env_revome, env_clear functions.
    Open source →
  17. 0.1.11 07 May 2021
    Release notes
    • write_file now creates the intervening directory path if it doesn't exit.
    Open source →
  18. 0.1.10 26 Apr 2021
    Release notes
    • echo_cmd output goes to stderr, not stdout.
    Open source →
  19. 0.1.9 01 Mar 2021
    Release notes
    • mktemp_d creates an (insecure, world readable) temporary directory.
    • Fix cp docs.
    Open source →
  20. 0.1.8 17 Dec 2020
    Release notes
    • Add option to not echo command at all.
    • Add option to censor command contents when echoing.
    • Add docs.
    Open source →
  21. 0.1.7 11 Dec 2020
    Release notes
    • cp(foo, bar) copies foo into bar, if bar is an existing directory.
    • Tweak reading API.
    Open source →
  22. 0.1.6 19 Oct 2020
    Release notes
    • .read() chomps \r\n on Windows.
    • Prevent cwd/env races when using .read() or .run().
    • Better spans in error messages.
    Open source →
  23. 0.1.5 17 Oct 2020
    Release notes
    • Improve proc-macro error messages.
    Open source →
  24. 0.1.4 17 Oct 2020
    Release notes
    • No changelog until this point :(
    Open source →
  25. 0.1.3 17 Oct 2020

    Nothing published for this version

  26. 0.1.2 17 Oct 2020

    Nothing published for this version

  27. 0.1.0 17 Oct 2020

    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