profile picture

Nushell 0.3.0

September 24, 2019 - nushell

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.

We're happy to announce that today we're releasing Nushell 0.3.0. Nu has seen numerous bugfixes, performance improvements, and features added since its initial public release (which was only a few weeks ago!)

Where to get it

Nu 0.3.0 is available as pre-built binaries or from crates.io. If you have Rust installed you can install it using cargo +nightly install nu (or if you want all the features cargo +nightly install nu --all-features).

What's new

New table design (Porges, jntrnr)

Table with utf8 box drawing

One of the most striking differences is that Nu now uses UTF-8 box drawing to draw its tables.

Table with utf8 box drawing in light mode

The table is also configurable. If you feel like the table is a bit too heavy, you can also configure it to work in light mode using this command:

> config --set [table_mode light]

New file formats (pmeredit, est31, andrasio, jntrnr)

Nu now natively supports new file formats, including: bson, tsv, sqlite, and url-encoded strings.

New commands (incrop, ramonsnir, ijt, jntrnr, andrasio, JonnyWalker81, chhetripradeep, pka)

Since the 0.2.0 release, Nu has gained a set of additional commands, including:

Error improvements (jntrnr)

Improve error messages

We've made steady progress on improving error messages. Recently, we added "did you mean?" errors to help when you mistype the name of columns. Nu 0.3.0 also has gone through a few passes to generally polish the errors to include more information when an error occurs.

Shell features (pka, wycats, twe4ked, andrasio, iamcodemaker)

Nu now supports ~ to refer to your home directory as part of a path. You can also use cd - to return to a previous directory you were working in.

The shell itself also got a few updates. You can now enable 'vi' mode, if you'd prefer vi-like bindings (by running config --set [edit_mode vi]). On non-Windows platforms, you can also use Ctrl-R to enable Sublime-style history searching (we're hoping to enable Windows support for this soon).

Plugin improvements (jntrnr, andrasio)

Plugins have continued to mature, and it's now possible to use plugins to extend Nu with support for new file formats.

We've also added documentation on how to write Nu plugins in both Rust and Python, with info on Ruby coming soon.

Docker support (vsoch, DrSensor)

If you're interested in using Nu and Docker together, be sure to check out the new Docker support.

Book progress

The Nu book is now available in three languages: English, Spanish, and Japanese.

We've also created a Nu contributor book, which will help developers who want to contribute to Nu learn about its philosophy, design, and how to create plugins.

Acknowledgements

est31, pmeredit, twe4ked, DrSensor, vsoch, pka, jankoprowski, Porges, max-sixty, ijt, djc, vthriller, taiki-e, oskarskog, iamcodemaker, JonnyWalker81, yaahc, tim77, svartalf, ramonsnir, orf, lesichkovm, ineol, incrop, eoinkelly, devnought, chhetripradeep, aidanharris, GuillaumeGomez, and BatmanAod for contributing to the Nu codebase. Also a big thanks to our issue reporters!

ymgyt - for the Japanese version of the Nu book!

mistydemeo, romanlevin, ralvessa, pka, lord, kkalyan, jankprowski, and boisgera for helping with the book.

Looking ahead

We're hard at work on the upcoming milestone release. If you'd like to help, feel free to jump in! We have an active discord you can join for both users and contributors.