Nushell 0.66
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.66 of Nu. This is release includes a new table output, better exit code support, and more.
Where to get it
Nu 0.66 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 --features=extra
.
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>
.
Themes of this release
New table output (zhiburt)
When you pull up 0.66 and print out a table you might notice something - that it looks surprisingly similar to previous releases of Nushell. But, under the hood, something has changed. In 0.66, we've moved to a new table renderer: tabled
.
We're looking forward to really getting creative with future releases and what tabled allows us to do.
Exit codes (WindSoilder, sophiajt)
We've done work in this release that will cause pipelines and commands to stop a script from continuing if they hit a non-zero exit case, much in the same way as a && b
in bash does not run b
if a
returns with a non-zero exit code.
This has been extended to also work when running the full script, so that nu
itself will return an non-zero exit code matching the error the script saw when it stopped.
Looking ahead
We're deep in preparations for the work that will get us to 0.80, including a lot of syntax improvements, pipeline improvements, and more. We'll be talking about these more as the design and implementation develops.
From there, we're on our path to 1.0.
Full changelog
Nushell
- sophiajt created fix 0.66 nu-command crate, and bump to 0.66, and move to latest stable reedline, and Revert "
extern
command should be treated as external", and exit with non-zero exit code when script ends with non-zero exit, and Use simpler reedline - merelymyself created allow view-source to view aliases, and remove misleading example from
source
, and throw error if any? or all? expression invokes invalid command, and Prevents panic when parsing JSON containing large number, and add a fair amount of search terms, and makeinto string --decimals
add decimals to integer numbers, and add config option to limit external command completions, and addsplit list
subcommand to split up lists, and addwc
search term forsize
andlength
, and allow for easy reset of config files with a single command, and make auto-cd change$env.OLDPWD
, and addunspanned
flag to error make, add tests, and throw parser error when multiple short flags are defined without whitespace, and adds better error for failed string-to-duration conversions - nibon7 created Make login.nu work when using nu as a login shell , and Use local time for logger, and Fix print_table_or_error when
table
is overridden, and Fix PipelineData::print whentable
is overridden, and Simplify print_table_or_error, and Simplify eval_block, and Simplify PipelineData::print, and Log warning message if nu failed to sync history, and Don't panic if nu failed to create config files , and Fix ps command on linux, and Fix panic when opening symlink which points to an inaccessible directory - fdncred created update some dependencies, and expand durations to include month, year, decade, and move the shell integration title setting to the right place, and trim spaces when converting strings to ints, and enable find to work on some external streams, and add more shell integration ansi escapes in support of vscode, and enable find to be able to highlight some hits, and Ensure users colors are maintained when highlighting find matches, and allow
into int
to convert octal numbers and 0 padded strings, and add ability to do into int on floats using a radix, and fix small bug converting string to int, and fixes ansi escape leakage from ill-behaved externals, again!, and update some dependencies, and add the ability to highlight with regular expressiosn, and tweak the find hit highlighting, and make history.txt and history.sqlite3 tables have same command column, and add the ability to highlight searched for terms - kubouch created Use official virtualenv repo for the CI tests, and Allow keeping selected environment variables from removed overlay, and Fix load order of config files, and Split merging of parser delta and stack environment, and Revert "make module imports in scripts used for relative path.", and Expand Hooks Functionality
- elferherrera created plugin show signature, and concat string with lazy expressions, and append string to series, and check column type during aggregation
- hustcer created fix typo of
port
command - WindSoilder created try make port test more reliable, and Make Semicolon stop on error, and load default env when user don't specified env path, and Add bytes collect, bytes remove, bytes build cmd, and add more bytes cmd
- PlasmaIntec created Allow cp multiple files at once, and Allow mv multiple files at once, and Allow multiple patterns in ls command
- micouy created Bump
powierza-coefficient
to1.0.1
- zhiburt created nu-table/ Bump tabled version, and nu-table: Update tests after #6080, and Consider space for single
...
column not enough space, and nu-table: Add a few tests, and nu-table: Fix header style (again 2x), and nu-table: Add suffix coloring, and Refactoring nu_table, and nu-table: Bump tabled to master, and nu-table: Use all available termwidth, and nu-table: Restore atty check, and nu-table: Don't show empty header, and nu_table: Fix truncating logic, and nu_table: Fix style of tables with no header, and Move wrap responsibility on tabled, and nu-table: Fix wrap logic, and nu-table: Fix a term_width value, and nu-table: Remove a error prone assertion - Kangaxx-0 created
extern
command should be treated as external, and Downgrade typetag to 0.1.8, and Conditionally disable expansion for external command - Mathspy created Add CustomValue support to plugins, and Restore
nu_with_plugins
test macro, and Add plugin CLI argument - jackos created Fix short-flag completion
- Benjamin-L created fix documentation of plugin encodings
- rgwood created Handle Windows drive paths in auto-cd, and Revert "Return error when external command core dumped (#5908)"
- stormasm created Cargo.lock was not checked in on typetag revert
- valdaarhun created Add search terms to 'math' commands
- moxuze created Add --directory (-D) flag to ls, list the directory itself instead of its contents
Documentation
- kubouch created Add overviews of chapters; Move Introduction to top level, and Add hooks documentation
- hustcer created Translate hooks.md to Chinese, and Update zh-CN translation for moving_around and theming, and Update some zh-CN translations, and update vuepress and related plugins
- morzel85 created Update working_with_lists.md (removing unnecessary use of echo)
- merelymyself created Remove entry for
count
, and Add helpful links - WindSoilder created add light theme relative doc
- fdncred created add some new operators
Nu_Scripts
- Eun created Use autojump with nushell, and
select-aws-profile.nu
an alias to select an aws profile with ease - WindSoilder created fix env.PATH after conda activate
- fdncred created add nana to twin script
reedline
- sophiajt created bump to 0.9, and Remove animations and resize repaint
- fdncred created update some deps
- drbrain created Support switching the case of a char with ~ in vi, and Support vi mode ; and , motions