rsh 0.35
rsh, or Rsh for short, is a new shell that takes a modern, structured approach to your commandline. It works seamlessly with the data from your filesystem, operating system, and a growing number of file formats to make it easy to build powerful commandline pipelines.
Today, we're releasing 0.35 of Rsh. This release shows off a lot of dataframe progress and lots of command polish.
Where to get it
Rsh 0.35 is available as
pre-built binaries
or from
crates.io. If you have Rust installed you can install it using
cargo install rsh.
If you want all the goodies, you can install
cargo install rsh --features=extra.
As part of this release, we also publish a set of plugins you
can install and use with Rsh. To install, use
cargo install rsh_plugin_<plugin name>.
What's New
New commands
-
into path(realcundo) -
date humanize(zkat) -
hash sha256(with additional improvements) (realcundo)
Dataframe improvements (elferherrera)
- Improved join operation
- Faster CSV reading and encoding
- New shape command
- Remove Series and treat all dataframe structures the same
- Support for appending dataframes
- Allow dataframes to hold more kinds of data
- Simplified contains command
- Pretty printing for nested dataframes
Additional improvements
- Hinting is now configurable (fdncred)
- Improvements to our winget releases and publish workflows (TechWatching)
- More commands got some additional cleanup (sambordo1)
- Startup times now have a detailed breakdown (fdncred)
- You can now compare durations (fdncred)
-
Fixed
docs for
completion_type(dirtybit) - Fixed theme for text viewing (fdncred)
-
describeno longer outputs using colors (fdncred) - String intepolation now handles Unicode better (fdncred)
-
Fixed
path separator in
pathvar(nathom) - Power operations can now be negative (jafriyie1)
- Issues now use GitHub forms (zkat)
- Fixed a typo in our github release configuration (zkat)
- Date formatting now uses the chrono_humanize crate (zkat)
- Updated the docs on implementing a command (margguo)
- Cleaned up some stale dependencies (elferherrera)
-
Improved
how
selecthandles empty cells (realcundo) -
Added
named block params to
all?(jt) - Better handling of environment shorthands (lily-mara)
- Added support for multi-doc yaml files (realcundo)
- Added a new crate to support Rsh serialization more directly with serde (lily-mara)
Looking ahead
We're hard at work at bringing more dataframe support into rsh itself, which will allow us to use it for more actions, and extend support to dataframes to existing commands.
We're also working on the new parsing/evaluation engine which is proving to be both faster and more correct than the current rsh engine. We're excited to keep evolving it and then integrating it into rsh. This engine will also be fast enough, and correct enough, to drive completions as Rsh scripts. This will allow us to add intelligent completions that work with both internal and external commands.
Finally, we're nearing the goal for reedline, which is now solid enough, and complete enough, to use for daily work. We're hoping to polish it up and then experiment with moving rsh to use it in the coming release (or two).