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.65 of Nu. This release includes better support for binary data, a new way of checking source files for correctness, improved command unification, and more.
Where to get it
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
Better support for binary data (hustcer, jt, CBenoit)
Binary support in Nushell has steadily improved, and in this release, it's gotten a strong push forward. New features include:
- New operators
bit-xor, as well as renamed
bit-shr. These correspond to bitwise and, or, exclusive or, shift left, and shift right.
- A new
encodecommand as well as binary support for
- Improved binary support for
Starting with this release, Nushell now provides a
nu-check command which can do a check over a source file for potential parsing and typechecking errors. This will make it easier for script authors to check their scripts without running them. In the future, this may also be an easy way for editors to check a script and return errors during editing.
Unification continues (elferherrera)
In 0.65, we've also continued the process to unify commands for different datatypes. In this release,
db and mysql support has simplified, bringing it closer to the already existing dataframe support.
open myfile.db | db select a | db from table_1 | db where ((db col a) > 1 | db and ((db col a) < 10))
open myfile.db | select a | from table_1 | where ((field a) > 1 | and ((field a) < 10))
Like the dataframe support, this is built on the new support to overload commands based on their input type. This will allow Nushell to have a nice, uniform syntax that just works over a variety of data types in the future.
Additional new commands
You can now use the
port command to find the next available port. (WindSoilder)
With 0.65, Nushell continues to move towards a more polished, more full-featured language that can handle a wider range of datatypes well. We're continuing to work towards this goal and find ways to continue to unify the language, allowing you to learn one language and apply that knowledge to many types of data.
- sholderbach created Pin reedline to new 0.8.0 release
- jt created bump to 0.65, and Fix 'skip' support for binary streams, and Make
first, and Binary into int, and Rename bitwise operators for readability, and Move input/output type from Command to Signature, and Clippy and remove unused is_binary, and Bump to 0.64.1 dev version
- WindSoilder created add bytes starts-with command, and add bytes length command, and add -e flag to print, to print the value to stderr, and change default keybinding in default config, and make module imports in scripts used for relative path., and make path exists work on expanded path, and simplify error make, and fix plugin path with whitespace, and Port command, and fix exit code, and add notes for def_env, and add light theme to default_config
- hustcer created Add bit operator:
bit-xor, and Add
boroperator for bit operations, and Update #4202: Add shift operator bshl and bshr for integers, and Add an example for
defaultcommand to get an env var with fallback, and Fix less.exe downloading for windows release pkgs, close #5868, and feat: Update dockerfile for latest nu release
- merelymyself created add search terms for
is-admin, and ensure
requiredpositionals don't show up as
help, and Better error handling using
do, and Errors when
let envand similar commands are passed., and Finish git fetch custom completions to allow for completing branch, and Prevents duplicate fields in
transpose -r, and Calculate history duration properly (sqlite), and Fixes
NaN, and Attempts to fix file completions for
ls(and other filesystem commands)
- IsaacKhor created Change C-u and C-k to be readline compatible, move old C-u to C-s
- nibon7 created Fix
to md --prettywhen rendering a list, and Return error when external command core dumped, and Fix drop nth with open end range on 32-bit platforms
- fdncred created fix parse_failure_due_conflicted_flags test, and fix bug where
thintheme wasn't getting applied correctly, and fix excessive ansi escape sequences, and update encode decode with new signature, and add ability to convert timestamp_millis(), and cleanup
$configas a built-in, and update reedline config based on recent reedline changes, and first stab at minimizing ansi escapes, and add more columns to the history command when using sqlite history
- stormasm created update crate thiserror to version 1.0.31 in four crates, and Move the history and tutor commands out of core_commands
- Kangaxx-0 created Add all flag to nu-check command, and Introduce new command - nu check, and Remove external nu from nu config, and Add more tests for completion, and Fix alias completion crash
- Yethal created Slim down Dockerfile
- CBenoit created docs: clarify
echocommands, and build: update
miettedependency, and feat: add
hashcommands, and Deprecate
hash base64, extend
- elferherrera created Header filtering out of for loop, and Dataframe with real index, and Remove extra print, and Remove quotes from external args, and Allow type comparison, and Exclude ./... from expansion, and Db commands without DB, and Standardise to commands
- rgwood created Make sort logic available outside sort-by, and Fix parser panic
- skelly37 created root/admin prompt is red now
- wolimst created Add Windows Terminal profile and icon in Windows control panel
- kubouch created Add test requirements to PR template
- schuelermine created Fix typo in Snippet
- petrisch created DE translation for pipelines and scripts, and DE translation for working with lists and tables, and DE translation for loading data and working with strings
- merelymyself created Changes misleading example, and Links
- relby created Fix outdated
- toastal created Syntax highlighting as
- hustcer created Translate overlays.md to Chinese, and Fix broken images in README.md, and fix broken table rendering for operators, and Update zh_CN translation of dataframes and working_with_strings, and Update doc template for commands, and Update zh_CN translation for nu books, and feat: update some zh_CN translations of nu book, and Remove old_book related stuffs, and Fix command overlapping for
make_docs.nuand Refresh commands for v0.64
- elferherrera created Standard command name
- rgwood created Remove MS CRT info now that we're statically linking it
- fdncred created update get_weather to use the new error make, and add stargazer script to monitor nushell stars, and add turtle benchmark and reorganize
- Yethal created Added delete-merged-branches.nu
- skelly37 created maths refactor, and up.nu fixed
- sholderbach created Prepare the 0.8.0 release
- nibon7 created Avoid subtraction overflow when using usize.
- WindSoilder created introduce LastCommand variant for parse bang result, and fix double bang
- fdncred created add impl Display to HistoryItemId and HistorySessionId
- drbrain created Add vi r (replace), and Add vi WORD motions B, E, W