Nushell 0.65

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 version 0.65 of Nu. This release includes better support for binary data, a new way of checking source files for correctness, improved command unification, and more.

Where to get it

Nu 0.65 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 built-in goodies, you can install cargo install nu --features=extra.

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

Better support for binary data (hustcer, sophiajt, CBenoit)

Binary support in Nushell has steadily improved, and in this release, it's gotten a strong push forward. New features include:

  • New operators bit-and, bit-or, bit-xor, as well as renamed bit-shl and bit-shr. These correspond to bitwise and, or, exclusive or, shift left, and shift right.
  • A new encode command as well as binary support for hash
  • Improved binary support for skip and take.

Nu-check (Kangaxx-0)

Starting with this release, Nushell now provides a nu-check command which can do a check over a source file for potential parsing and typechecking errors. This will make it easier for script authors to check their scripts without running them. In the future, this may also be an easy way for editors to check a script and return errors during editing.

Unification continues (elferherrera)

In 0.65, we've also continued the process to unify commands for different datatypes. In this release, db and mysql support has simplified, bringing it closer to the already existing dataframe support.

Before:

open myfile.db
| db select a
| db from table_1
| db where ((db col a) > 1 | db and ((db col a) < 10))

Now:

open myfile.db
| select a
| from table_1
| where ((field a) > 1 | and ((field a) < 10))

Like the dataframe support, this is built on the new support to overload commands based on their input type. This will allow Nushell to have a nice, uniform syntax that just works over a variety of data types in the future.

Additional new commands

You can now use the port command to find the next available port. (WindSoilder)

Looking ahead

With 0.65, Nushell continues to move towards a more polished, more full-featured language that can handle a wider range of datatypes well. We're continuing to work towards this goal and find ways to continue to unify the language, allowing you to learn one language and apply that knowledge to many types of data.

Full changelog

Nushell

Extension

Documentation

Nu Scripts

Reedline