Nushell 0.82
Nushell, or Nu 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 Nu. This release focuses on polishing the user experience.
Note
Beginning with this release, Nushell is switching to a four-week release schedule. For details see our special blog post.
Where to get it
Nu 0.82 is available as pre-built binaries or from crates.io. If you have Rust installed you can install it using cargo install nu
.
NOTE: The optional dataframe functionality is available by cargo install nu --features=dataframe
.
As part of this release, we also publish a set of optional plugins you can install and use with Nu. To install, use cargo install nu_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 Nushell. Feeling adventurous? Wanting to keep up to date with the latest revisions of Nushell without the burden of compiling the source base yourself?
You can find all available nightly releases in the release page of nushell/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, Nushell 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.nu` 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. nu-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 $nu
variable (@sophiajt)
Nushell 0.82 introduces a new family of stat commands, the scope ...
commands. These commands allow you to access some information about the current Nushell instance that were previously available in the $nu
variable! e.g. $nu.scope.commands
now becomes scope commands
.
On the other hand, $nu
becomes much smaller and only holds simple paths and constants.
Entering Linguist support (@hustcer)
With the efforts of @hustcer, Nushell 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 nushell 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
bytes
commands tonu-cmd-extra
. They are thus only accessible with--features extra
- #9496 Clean up config by removing legacy options that were previously deprecated.
- #9487 Split
$nu
variable intoscope
commands and simpler$nu
- #9427 The filesize prefixes
Z
/Zi
have been removed as their underlying values where not correctly representable. - #9407 In the
ls --long
output theuid
column has been renamed touser
to be consistent withgroup
- #9368 Don't allow
save
command to save both stdout and stderr to the same file
Full changelog
Nushell
- sholderbach created
- Pin reedline to
0.21
for release - Skip
strum
in regularnu-protocol
build - 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_nushell
in the officially supported section - Remove duplicated feature in
nu-cmd-dataframe
dep - Drop unused
nu-color-config
innu-cmd-lang
- Break up interdependencies of command crates
- Move
explore
command out ofnu-command
deps - Enable history entry exclusion with leading space
- Apply nightly clippy fixes
- Pin reedline to
- Taywee created
- sophiajt created
- TrMen created
- stormasm created
- fdncred created
- fnordpig created
- wolimst created
- davidscholberg created
- amtoine created
- move common tools from
nu-command
tonu-cmd-base
- make dots tests easier to read
- toolkit: use
--features
instead of--dataframe
and refactor a bit - use
create_default_context
fromnu-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 Nushell 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 Nushell 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.nu
- 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
Nu_Scripts
- Neur1n created
- Tiggax created
- ShinyZero0 created
- stormasm created
- hustcer created
- jacobono created
- hyiltiz created
- kachick created
- fdncred created
- amtoine created
- fj0r created