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
- 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
- Fix signature for
- sophiajt created
- amtoine created
- WindSoilder created
- fdncred created
- hustcer created