Nushell 0.35
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 0.35 of Nu. This release shows off a lot of dataframe progress and lots of command polish.
Where to get it
Nu 0.35 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 goodies, you can install cargo install nu --features=extra
.
As part of this release, we also publish a set of plugins you can install and use with Nu. To install, use cargo install nu_plugin_<plugin name>
.
What's New
New commands
into path
(realcundo)date humanize
(zkat)hash sha256
(with additional improvements) (realcundo)
Dataframe improvements (elferherrera)
- Improved join operation
- Faster CSV reading and encoding
- New shape command
- Remove Series and treat all dataframe structures the same
- Support for appending dataframes
- Allow dataframes to hold more kinds of data
- Simplified contains command
- Pretty printing for nested dataframes
Additional improvements
- Hinting is now configurable (fdncred)
- Improvements to our winget releases and publish workflows (TechWatching)
- More commands got some additional cleanup (sambordo1)
- Startup times now have a detailed breakdown (fdncred)
- You can now compare durations (fdncred)
- Fixed docs for
completion_type
(dirtybit) - Fixed theme for text viewing (fdncred)
describe
no longer outputs using colors (fdncred)- String intepolation now handles Unicode better (fdncred)
- Fixed path separator in
pathvar
(nathom) - Power operations can now be negative (jafriyie1)
- Issues now use GitHub forms (zkat)
- Fixed a typo in our github release configuration (zkat)
- Date formatting now uses the chrono_humanize crate (zkat)
- Updated the docs on implementing a command (margguo)
- Cleaned up some stale dependencies (elferherrera)
- Improved how
select
handles empty cells (realcundo) - Added named block params to
all?
(sophiajt) - Better handling of environment shorthands (lily-mara)
- Added support for multi-doc yaml files (realcundo)
- Added a new crate to support Nu serialization more directly with serde (lily-mara)
Looking ahead
We're hard at work at bringing more dataframe support into nushell itself, which will allow us to use it for more actions, and extend support to dataframes to existing commands.
We're also working on the new parsing/evaluation engine which is proving to be both faster and more correct than the current nushell engine. We're excited to keep evolving it and then integrating it into Nushell. This engine will also be fast enough, and correct enough, to drive completions as Nu scripts. This will allow us to add intelligent completions that work with both internal and external commands.
Finally, we're nearing the goal for reedline, which is now solid enough, and complete enough, to use for daily work. We're hoping to polish it up and then experiment with moving Nushell to use it in the coming release (or two).