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).
New table design (Porges, jonathandturner)
One of the most striking differences is that Nu now uses UTF-8 box drawing to draw its tables.
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, jonathandturner)
Nu now natively supports new file formats, including: bson, tsv, sqlite, and url-encoded strings.
New commands (incrop, ramonsnir, ijt, jonathandturner, andrasio, JonnyWalker81, chhetripradeep, pka)
Since the 0.2.0 release, Nu has gained a set of additional commands, including:
help- built-in help system
reverse- reverse a table
last- like the
firstcommand, but working from the bottom of the table, return n rows
embed- create a new table using the current table as a start
fetch- get the contents of a URL (this originally lived in
post- post to a URL and get the results
pwd- print the working directory
env- give access to a number of important paths and environment settings
pivot- pivot a table so that rows become columns and vice-versa
echo- a built-in echo command
Error improvements (jonathandturner)
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 (jonathandturner, 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.
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.
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.
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.