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.83.1 (hot-fix)

A few days ago, we released the 0.83 version of Nushell. As you can see in the release notes, the release included a major upgrade to the type system as well as wide-reaching breaking changes. Today, we're releasing a hot-fix for that release.

Extensive efforts were made before the release to mitigate these changes to make them easier to adopt when 0.83 was released, and included:

  • quite a lot of command signatures have been updated to keep functionalities at the same level while adding better type checking
  • major integration scripts from 3rd-party applications have been fixed prior to the release

However, as you might have noticed and thanks to the feedback of you the community, more issues and bugs have been found. Many commands needed additional updates to play well with the updated type system. We decided to release a hotfix release to address what had been found, and this is that release. You can find out more about the hotfix in Tracking issue for 0.83.0 fixup #9812.

Where to get it

Nu 0.83.1 is available as pre-built binaries or from crates.io. If you have Rust installed you can install it using cargo install nu.

NOTE: The optional dataframe functionality is available by cargo install nu --features=dataframe.

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>.

What does the hot-fix release address?

Most of the type-system-related issues have been fixed, hopefully bringing most of the command set of Nushell back to its previous feature level with the nice addition of better input/output type checking and annotations. In a few places, the type system itself was fixed, as with the case of $rest args now type-checking correctly in a pipeline.

What will the hot-fix release NOT address?

Bring the let-env command back to life.

Thankfully, the community helped by updating their Nushell integrations and releasing corresponding new versions. Please, check your tools like starship for updates.

Fully fix the dataframe integration.

When upgrading the type system for the 0.83, we removed a semi-working system that enabled the dataframe commands to run both in a lazy and eager mode, but only if the types were known at parse-time. Due to the complexity of reworking this and the dataframe support currently being a tier-two feature in Nushell, we won't be able to fully fix this with this patch release. Thankfully @ayax79 started work in #9858 which promises to make the dataframe commands work again within the general Nushell type system.

Breaking changes for plugin authors

With the type system changes in 0.83.0 any plugins that declared that their signature "vectorizes_over_list": true were not able to automatically broadcast their operation for a type T (e.g. number) over a list<T> input. With this patch release, we removed this field from nu-protocol. You need to add the list<T> signature if necessary. Also recompile your plugins using nu-plugin 0.83.1 or remove the vectorizes_over_list field from the signature information if you don't use nu-plugin (e.g. plugins not implemented in Rust).

Breaking changes for plugin users

You may need to recompile or update your plugins and then re-register your plugins.

Changelog

  • ayax79 created
    • merging into one dfr into-nu command
  • sholderbach created
    • Fix signature for math mode
    • Fix math log signature
    • Fix signature for math sum
    • Fix signature for math abs
    • Fix type signature of median
    • Fix math min/max signatures
    • Narrow signature of math ceil/floor
    • Bump trash in lockfile due to yank
    • Fix signature of split row
    • Remove Signature.vectorizes_over_list entirely
    • Fix signatures for cellpath access of records
  • sophiajt created
    • Fix transpose input/output types
    • Fix prepend type, fix typos
    • Fix the implied collect type to 'any'
    • Set the rest variable to the correct type
    • bump to 0.83
  • amtoine created
    • allow print to take data as input again
    • change signature of enumerate to any -> table
  • WindSoilder created
    • fix append signature
  • fdncred created
    • add input_output_type to ansi command
    • bump to dev version 0.83.1
  • hustcer created
    • Fix command docs deployment for input listen
Edit this page on GitHub
Contributors: amtoine, Stefan Holderbach, jntrnr, sophiajt