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.61 of Nu. This release includes UI improvements, many bugfixes, improved glob support, and more.
Where to get it
Nu 0.61 is available as pre-built binaries or from crates.io. 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 --all-features.
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>.
Help Menu (elferherrera)
In 0.61, you can now use
<ctrl+q> to ask a question/query in Nushell. Currently, this will search through the commands and show you commands that mention the word you type.
Tab lets you move between the available commands.
You can use up/down to pick the example you'd like to use. Pressing enter will select the example and insert it into the input for you.
Completion descriptions (elferherrera, fdncred, jt)
Completions now show you a description of the command you're completing, if it's available.
Introducing 'env.nu' (kubouch)
Just as we added 'config.nu' with 0.60, we're now adding a new additional startup file called 'env.nu'. The job of this file is to set up the environment that you'll run Nushell in. As a result, you're able to set up important environment variables like
$env.NU_LIB_DIRS before 'config.nu' begins to run, let you take full advantage of the new library directories you've configured.
inputcan now suppress output (dev-msp)
- Termux/Android target support for new engine (dscottboggs)
opencan now use
from ...named custom commands (neosam)
sortcommand for easier sorting (jt)
date to-recordfor working with structured dates (jt)
- New starts-with operator (fdncred)
- Can now create generic menus for repl interactions (elferherrera)
globcommand for fancier globbing (fdncred)
- Startup and pre-prompt setup should now be significantly faster (jt)
0b[...]support for binary literals (merkrafter)
- Parser improvements by uasi, jt, rgwood
- Error improvements by jmoore34, jt, rgwood
- Documentation updates by hustcer, vishalsodani, fdncred, futile, kubouch, stormasm, Hofer-Julian, herlon214, rgwood, michel-slm
- General code cleanliness fixes by stormasm, bowlofeggs, rgwood, sholderbach, fdncred, herlon214, elferherrera, boyvanduuren, jt
- Multiple improvements to known external commands (filaretov, jt)
- Use recent miette (zkat)
- Improved logic to path expansion (strega-nil-ms)
lsnow outputs date in local time (fdncred)
$inshould now work in more places (jt)
eachnow also pipes each item as input to the block (jt)
- Add ability to opt-in to normal strings in
touchnow includes all common flags (rybertm)
!~now use regex (rgwood)
describeshould now be more precise
- completions now give priority to non-hidden folders (herlon214)
- plugins are now loaded for scripts and commands (jt)
inputnow trims the newline (rgwood)
findnow works with records (fdncred)
- Fixes to
formatfor non-basic datatypes (rgwood)
- Added raw string support via backticks (jt)
- Switched to levenshtein distance sorting for completions (jt)
- Improvements to line editor state handling (sholderbach)
- Treat prompt indicators as commands (elferherrera)
- Added record, list, and table to signature types (kubouch)
- Improvements to default git completions (naufraghi)
- Prompts can now be simple strings (jt)
- Sets LAST_EXIT_CODE on parse errors (rgwood)
- Passed more metadata through filter commands (rrcwang)
lastnow returns a simple value for single items (jt)
- Fixed loops not terminating with ctrl-c (jt)
- Added bounded channels for backpressure (b333z)
- Added streaming support to
- Support for passing binary data into run-external (b333z)
- Fix for alias imports (filaretov, jt)
- Fix for
lswhen file is a socket on macOS (fdncred)
- Better tilde expansion (filaretov)
- Added keywords to help messages (kubouch)
- Removed is_private from
- Fix for
path joinon streams (jt)
- Fixes to environment defaults (jt)
- Adding escapes to
- Improvements to the
- Fix to the precedence parser (jt)
- Calling out through
cmd.exeno longer uses AutoRun (LebsterFace)
The 0.61 release, despite slowing down a little to recoup from the 0.60 release, is one of our largest releases. We averaged over 7 PRs/day over the last three weeks, as many new people joined on and more took an interest in Nushell.
Areas of upcoming focus will be on improving dataframe support, adding IDE support, and exploring new ways of working with Nushell.