rsh 0.82
rsh, or Rsh for short, is a new shell that takes a modern, structured approach to your command line. 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 command line pipelines.
Today, we're releasing version 0.82 of Rsh. This release focuses on polishing the user experience.
Note
Beginning with this release, rsh is switching to a four-week release schedule. For details see our special blog post.
Where to get it
Rsh 0.82 is available as
pre-built binaries
or from
crates.io. If you have Rust installed you can install it using
cargo install rsh.
NOTE: The optional dataframe functionality is available by
cargo install rsh --features=dataframe.
As part of this release, we also publish a set of optional
plugins you can install and use with Rsh. To install, use
cargo install rsh_plugin_<plugin name>.
Themes of this release / New features
Nightly builds
We are pleased to inform you that we now have nightly releases available for rsh. Feeling adventurous? Wanting to keep up to date with the latest revisions of rsh without the burden of compiling the source base yourself?
You can find all available nightly releases in the
release page of rsh/nightly.
Note
Please note that these releases are intended for testing purposes only, and we will keep only the last 10 nightly releases. We highly recommend using the latest stable official release for regular usage.
Custom datetime format (@fnordpig)
Until now, rsh did not allow changing the default format of
dates and times, leading quite often to undesired rendering,
e.g. seeing A year ago in the output of
ls when one wants to know the exact time.
#9500
introduces a new config option to change the default output of
dates and times:
# from the `default_config.rsh` file
datetime_format: {
normal: '%a, %d %b %Y %H:%M:%S %z'
table: '%m/%d/%y %I:%M:%S%p'
}
Support for comments in multiline pipes (@WindSoilder)
From now on, either in the REPL, in scripts or in modules, you can comment out any line of a multiline pipe without breaking its execution, e.g.
ls
| where type == file
# | sort-by size
| get name
is perfectly valid.
This hopefully makes debugging and testing part of a pipeline much easier!
Continuing cratification effort
On the road to 1.0, we have started moving commands around to
make place for those which really matter. As this process
involves the creation of some new Rust crates, e.g.
rsh-cmd-extra, we call it cratification 😃
With this new release, the bytes commands have been
moved behind the extra feature (use
cargo build --features extra to activate them
back):
Apart from moving less stable or common commands behind flag, this should also improve compile times for everyone.
Splitting the $rsh variable (@jntrnr)
rsh 0.82 introduces a new familly of stat commands, the
scope ... commands. These commands allow you to
access some information about the current rsh instance that were
previously available in the $rsh variable! e.g.
$rsh.scope.commands now becomes
scope commands.
On the other hand, $rsh becomes much smaller and
only holds simple paths and constants.
Entering Linguist support (@hustcer)
With the efforts of @hustcer, rsh is now an official language of Linguist, allowing for better language support in GitHub.
REPL: Mark line entries as excluded from the history by leading with a space (samlich)
In some situations you may want to avoid storing an entry inside
your shell history. For example if it includes a secret or
running it again in a different context could be dangerous. To
stop rsh from storing a particular line in its history you can
now start with a space and it will be ignored. You can still
recall your last entry once by pressing the
Up-Arrow but the command will never be written to
disk and disappear as soon as you submit another command.
New commands
Breaking changes
-
#9509
Cratification moves the
bytescommands torsh-cmd-extra. They are thus only accessible with--features extra - #9496 Clean up config by removing legacy options that were previously deprecated.
-
#9487
Split
$rshvariable intoscopecommands and simpler$rsh -
#9427
The filesize prefixes
Z/Zihave been removed as their underlying values where not correctly representable. -
#9407
In the
ls --longoutput theuidcolumn has been renamed touserto be consistent withgroup -
#9368
Don't allow
savecommand to save both stdout and stderr to the same file
Full changelog
rsh
-
sholderbach
created
-
Pin reedline to
0.21for release -
Skip
strumin regularrsh-protocolbuild - Move the nightly issue template to a hidden place
- Revert #8395 "Treat empty pipelines as pass-through"
- Remove "Progress" section from README
-
Mention
clap_complete_rshin the officially supported section -
Remove duplicated feature in
rsh-cmd-dataframedep -
Drop unused
rsh-color-configinrsh-cmd-lang - Break up interdependencies of command crates
-
Move
explorecommand out ofrsh-commanddeps - Enable history entry exclusion with leading space
- Apply nightly clippy fixes
-
Pin reedline to
- Taywee created
- jntrnr created
- TrMen created
- stormasm created
- fdncred created
- fnordpig created
- wolimst created
- davidscholberg created
-
amtoine
created
-
move common tools from
rsh-commandtorsh-cmd-base - make dots tests easier to read
-
toolkit: use
--featuresinstead of--dataframeand refactor a bit -
use
create_default_contextfromrsh-cmd-lang -
add a "capture" example to
str replace, before the fancy ones - REFACTOR: simplify the declaration of extra commands
- add a comment note to the PR template about linking issues
- fix a typo
-
move common tools from
- nibon7 created
-
hustcer
created
- Add rsh Language detect for linguist
- Change the nightly build schedule make it start by 9:15 BeiJing Time
- Fix cleanup of nightly build workflow
- Fix the cleanup of old nightly releases
- Use rsh v0.81 for release workflows
- Synchronize code before the nightly build starts
- Fix removal of old nightly releases
- Try to make a nightly release by workflow
- Reset .github/workflows/release-pkg.rsh
- Try to add a nightly-build workflow
- zhiburt created
- Sygmei created
-
app/dependabot
created
- Bump shadow-rs from 0.22.0 to 0.23.0
- Bump percent-encoding from 2.2.0 to 2.3.0
- Bump quick-xml from 0.28.2 to 0.29.0
- Bump mockito from 1.0.2 to 1.1.0
- Bump once_cell from 1.17.1 to 1.18.0
- Bump actions-rust-lang/setup-rust-toolchain from 1.4.4 to 1.5.0
- Bump dtparse from 1.4.0 to 1.5.0
- Bump ctrlc from 3.3.1 to 3.4.0
- ahkrr created
- michaeljohnalbers created
- FilipAndersson245 created
- dev-cyprium created
- BrianLondon created
- bgeron created
- alkhatib created
- WindSoilder created
- hanjunghyuk created
- tarunsamanta2k20 created
- Mehrbod2002 created
- stevenxxiu created
- ja-cop created
- AstrickHarren created
- Yethal created
Extension
- gaetschwartz created
- glcraft created
Documentation
- sholderbach created
- tminich created
- eopb created
- mh-trimble created
- hustcer created
- EmilySeville7cfg created
- hanjunghyuk created
- BrianLondon created
- Mehrbod2002 created
rsh_Scripts
- Neur1n created
- Tiggax created
- ShinyZero0 created
- stormasm created
- hustcer created
- jacobono created
- hyiltiz created
- kachick created
- fdncred created
- amtoine created
- fj0r created