Nushell 0.26

Nushell, or Nu 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.26 of Nu. It's a polish release with lots of improvements.

Where to get it

Nu 0.26 is available as pre-built binariesopen in new window or from crates.ioopen in new window. If you have Rust installed you can install it using cargo install nu.

If you want all the goodies, you can install cargo install nu --features=extra.

As part of this release, we also publish a set of plugins you can install and use with Nu. To install, use cargo install nu_plugin_<plugin name>.

What's New

Rest support in custom commands (LhKipp, sophiajt)

You can now refer to a rest argument in your custom command:

def my-cmd[...rest:int] {
    echo $rest | math sum
}

Elements of the rest are referred to with positions, like $rest.1 for the 2nd position.

Short flags in custom commands (LhKipp)

You can now also added an optional shorthand flag to longhand flags:

def foo [--bar(-b): int] {
    echo $bar
}

foo -b 10
foo --bar 10

Improved build times (sophiajt, stormasm)

When building from scratch, you may now notice that Nushell builds slightly faster. This comes from refactoring large crates into smaller crates and replacing some of our support crates with similar crates that compile faster.

Improvements

I hope you like improvements. We got a lot of them this release.

Breaking changes

Looking forward

We've been humbled by the feedback we got on the 0.25 release and appreciate the support. Looking forward, we'll be continuing to polish the features that landed in 0.25 as we prepare for using these features in larger scripts and in custom completion logic.