Nushell
Get Nu!
Getting Started
  • The Nushell Book
  • Command Reference
  • Cookbook
  • Language Reference Guide
  • Contributing Guide
Blog
  • English
  • 中文
  • Deutsch
  • Français
  • Español
  • 日本語
  • Português do Brasil
  • Русский язык
GitHub
Get Nu!
Getting Started
  • The Nushell Book
  • Command Reference
  • Cookbook
  • Language Reference Guide
  • Contributing Guide
Blog
  • English
  • 中文
  • Deutsch
  • Français
  • Español
  • 日本語
  • Português do Brasil
  • Русский язык
GitHub

Nushell 0.61

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)

Help menu

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, sophiajt)

Completion descriptions

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.

Features

  • input can now suppress output (dev-msp)
  • Termux/Android target support for new engine (dscottboggs)
  • open can now use from ... named custom commands (neosam)
  • New sort command for easier sorting (sophiajt)
  • date to-record for working with structured dates (sophiajt)
  • New starts-with operator (fdncred)
  • Can now create generic menus for repl interactions (elferherrera)
  • New glob command for fancier globbing (fdncred)
  • Unary not support (sophiajt)
  • Startup and pre-prompt setup should now be significantly faster (sophiajt)
  • 0b[...] support for binary literals (merkrafter)

Improvements

  • Parser improvements by uasi, sophiajt, rgwood
  • Error improvements by jmoore34, sophiajt, 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, sophiajt
  • Multiple improvements to known external commands (filaretov, sophiajt)
  • Use recent miette (zkat)
  • Improved logic to path expansion (strega-nil-ms)
  • ls now outputs date in local time (fdncred)
  • $in should now work in more places (sophiajt)
  • each now also pipes each item as input to the block (sophiajt)
  • Add ability to opt-in to normal strings in str replace (fdncred)
  • touch now includes all common flags (rybertm)
  • =~ and !~ now use regex (rgwood)
  • describe should now be more precise
  • completions now give priority to non-hidden folders (herlon214)
  • plugins are now loaded for scripts and commands (sophiajt)
  • input now trims the newline (rgwood)
  • regex find now works with records (fdncred)
  • Fixes to format for non-basic datatypes (rgwood)
  • Added raw string support via backticks (sophiajt)
  • Switched to levenshtein distance sorting for completions (sophiajt)
  • 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 (sophiajt)
  • Sets LAST_EXIT_CODE on parse errors (rgwood)
  • Passed more metadata through filter commands (rrcwang)
  • last now returns a simple value for single items (sophiajt)
  • Fixed loops not terminating with ctrl-c (sophiajt)
  • Added bounded channels for backpressure (b333z)
  • Added streaming support to save (b333z)
  • Support for passing binary data into run-external (b333z)
  • Fix for alias imports (filaretov, sophiajt)
  • Fix for ls when file is a socket on macOS (fdncred)
  • Better tilde expansion (filaretov)
  • Added keywords to help messages (kubouch)
  • Removed is_private from $nu.scope.commands (kubouch)
  • Fix for path join on streams (sophiajt)
  • Fixes to environment defaults (sophiajt)
  • Adding escapes to to nuon (sophiajt)
  • Improvements to the reject command (sophiajt)
  • Fix to the precedence parser (sophiajt)
  • Calling out through cmd.exe no longer uses AutoRun (LebsterFace)

Breaking changes

  • str find-replace is now str replace
  • keep is now take

Looking ahead

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.

Edit this page on GitHub
Contributors: jntrnr, Carl Erik Patrik Iwarson, Justin Ma, sophiajt