From 1e826e085163ce8951f29e8e953b4c37caeffb16 Mon Sep 17 00:00:00 2001 From: Ian Manske Date: Sun, 29 Sep 2024 12:51:12 -0700 Subject: [PATCH 1/9] Release notes for `0.99.0` Please add your new features and breaking changes to the release notes by opening PRs against the `release-notes-0.99.0` branch. ## TODO - [ ] look at interesting contributions - [ ] write all the sections - [ ] order the sections by interest - [ ] add the breaking changes - [ ] detail the breaking changes - [ ] add the full changelog - [ ] complete all the `TODO`s inside the release note - [ ] ... (PRs that need to land before the release, e.g. [deprecations](https://github.com/nushell/nushell/labels/deprecation) or [removals](https://github.com/nushell/nushell/pulls?q=is%3Apr+is%3Aopen+label%3Aremoval-after-deprecation)) --- blog/2024-10-15-nushell_0_99_0.md | 121 ++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 blog/2024-10-15-nushell_0_99_0.md diff --git a/blog/2024-10-15-nushell_0_99_0.md b/blog/2024-10-15-nushell_0_99_0.md new file mode 100644 index 00000000000..30a9a973c34 --- /dev/null +++ b/blog/2024-10-15-nushell_0_99_0.md @@ -0,0 +1,121 @@ +--- +title: Nushell 0.99.0 +author: The Nu Authors +author_site: https://twitter.com/nu_shell +author_image: https://www.nushell.sh/blog/images/nu_logo.png +excerpt: Today, we're releasing version 0.99.0 of Nu. This release adds... +--- + + +# Nushell 0.99.0 + +Nushell, or Nu for short, is a new shell that takes a modern, structured approach to your command line. 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 command line pipelines. + + +Today, we're releasing version 0.99.0 of Nu. This release adds... + +# Where to get it + +Nu 0.99.0 is available as [pre-built binaries](https://github.com/nushell/nushell/releases/tag/0.99.0) or from [crates.io](https://crates.io/crates/nu). If you have Rust installed you can install it using `cargo install nu`. + +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_`. + +# Table of contents +- [_Highlights and themes of this release_](#highlights-and-themes-of-this-release-toc) +- [_Changes_](#changes-toc) + - [_Additions_](#additions-toc) + - [_Breaking changes_](#breaking-changes-toc) + - [_Deprecations_](#deprecations-toc) + - [_Removals_](#removals-toc) + - [_Bug fixes and other changes_](#bug-fixes-and-other-changes-toc) +- [_Notes for plugin developers_](#notes-for-plugin-developers-toc) +- [_Hall of fame_](#hall-of-fame-toc) +- [_Full changelog_](#full-changelog-toc) + + +# Highlights and themes of this release [[toc](#table-of-content)] + + + +# Changes [[toc](#table-of-content)] + +## Additions [[toc](#table-of-content)] + +## Breaking changes [[toc](#table-of-content)] + +## Deprecations [[toc](#table-of-content)] + +## Removals [[toc](#table-of-content)] + +## Bug fixes and other changes [[toc](#table-of-content)] + + + +# Notes for plugin developers [[toc](#table-of-content)] + +# Hall of fame [[toc](#table-of-content)] + +Thanks to all the contributors below for helping us solve issues and improve documentation :pray: + +| author | title | url | +| ------------------------------------ | ----------- | ------------------------------------------------------- | +| [@author](https://github.com/author) | ... | [#12345](https://github.com/nushell/nushell/pull/12345) | + +# Full changelog [[toc](#table-of-content)] + \ No newline at end of file From 5a6b8cbcc7610c67fc316a2106802e78dee82d9d Mon Sep 17 00:00:00 2001 From: Douglas <32344964+NotTheDr01ds@users.noreply.github.com> Date: Sun, 6 Oct 2024 15:48:04 -0400 Subject: [PATCH 2/9] std-lib breaking changes (#1578) * std-lib breaking changes * small typo --- blog/2024-10-15-nushell_0_99_0.md | 42 ++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/blog/2024-10-15-nushell_0_99_0.md b/blog/2024-10-15-nushell_0_99_0.md index 30a9a973c34..d8195075181 100644 --- a/blog/2024-10-15-nushell_0_99_0.md +++ b/blog/2024-10-15-nushell_0_99_0.md @@ -5,6 +5,7 @@ author_site: https://twitter.com/nu_shell author_image: https://www.nushell.sh/blog/images/nu_logo.png excerpt: Today, we're releasing version 0.99.0 of Nu. This release adds... --- + # Nushell 0.99.0 @@ -12,6 +13,7 @@ excerpt: Today, we're releasing version 0.99.0 of Nu. This release adds... Nushell, or Nu for short, is a new shell that takes a modern, structured approach to your command line. 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 command line pipelines. + Today, we're releasing version 0.99.0 of Nu. This release adds... # Where to get it @@ -21,6 +23,7 @@ Nu 0.99.0 is available as [pre-built binaries](https://github.com/nushell/nushel 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_`. # Table of contents + - [_Highlights and themes of this release_](#highlights-and-themes-of-this-release-toc) - [_Changes_](#changes-toc) - [_Additions_](#additions-toc) @@ -48,6 +51,7 @@ As part of this release, we also publish a set of optional plugins you can insta --> # Highlights and themes of this release [[toc](#table-of-content)] + \ No newline at end of file +--> From e55a24b02601b248a0537d31454246f0b33b7413 Mon Sep 17 00:00:00 2001 From: JustForFun88 <100504524+JustForFun88@users.noreply.github.com> Date: Thu, 10 Oct 2024 00:39:48 +0500 Subject: [PATCH 3/9] Added changes to release notes due to nushell/#14020 (#1583) --- blog/2024-10-15-nushell_0_99_0.md | 35 +++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/blog/2024-10-15-nushell_0_99_0.md b/blog/2024-10-15-nushell_0_99_0.md index d8195075181..0336b2febbd 100644 --- a/blog/2024-10-15-nushell_0_99_0.md +++ b/blog/2024-10-15-nushell_0_99_0.md @@ -27,6 +27,7 @@ As part of this release, we also publish a set of optional plugins you can insta - [_Highlights and themes of this release_](#highlights-and-themes-of-this-release-toc) - [_Changes_](#changes-toc) - [_Additions_](#additions-toc) + - [_`enhanced keybinding configuration`_](#enhanced-keybinding-configuration-toc) - [_Breaking changes_](#breaking-changes-toc) - [_Deprecations_](#deprecations-toc) - [_Removals_](#removals-toc) @@ -70,6 +71,40 @@ As part of this release, we also publish a set of optional plugins you can insta ## Additions [[toc](#table-of-content)] +### `enhanced keybinding configuration` [[toc](#table-of-content)] + +**Support for Unicode Code Points in Keycodes.** + +Starting from [#14020](https://github.com/nushell/nushell/pull/14020), users can now specify characters in the keycode field using their Unicode code points, in the format `char_uXXXX`, where `XXXX` is the hexadecimal Unicode code point. This provides greater flexibility when configuring keybindings in Nushell. + +Specifying Unicode code points can help eliminate confusion when characters from different Unicode blocks look identical but have different code points. For example, by using `char_u0041` for the Latin `A`, `char_u0391` for the Greek `Α`, or `char_u0410` for the Cyrillic `А`, users can accurately define keybindings and avoid ambiguity in configurations. + +**Key Feature:** + +The current implementation does not restrict the number of leading zeroes when specifying Unicode code points. For example, the character `A` can be represented as `char_u41,` `char_u0041`, or even `char_u000041`. However, it is recommended to use four hexadecimal digits (e.g., `char_u0041`) to improve readability and maintain a consistent format across different configurations. This recommendation follows the standard Unicode representation and helps prevent ambiguity. + +**Example usage:** + +```nushell +$env.config = { + ... + + keybindings: [ + { + name: , # name of the command + modifier: none, # key modifier + keycode: char_u0391, # Unicode code for Greek 'Α' + mode: vi_normal, # mode in which this binding should work + event: { + send: # action to be performed + } + } + ] + + ... +} +``` + ## Breaking changes [[toc](#table-of-content)] ### Standard Library From 7bea12e4c251a689a66ea9c010900c4a8f21a6d2 Mon Sep 17 00:00:00 2001 From: Ian Manske Date: Sun, 13 Oct 2024 19:08:37 -0700 Subject: [PATCH 4/9] Start 0.99.0 release notes (#1586) --- blog/2024-10-15-nushell_0_99_0.md | 92 +++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) diff --git a/blog/2024-10-15-nushell_0_99_0.md b/blog/2024-10-15-nushell_0_99_0.md index 0336b2febbd..9413346fdec 100644 --- a/blog/2024-10-15-nushell_0_99_0.md +++ b/blog/2024-10-15-nushell_0_99_0.md @@ -67,12 +67,24 @@ As part of this release, we also publish a set of optional plugins you can insta for the list of available *containers* --> +## Handling stopped TUI applications + +Thanks to [@nome](https://github.com/nome) in [#13741](https://github.com/nushell/nushell/pull/13741), Nushell will no longer hang the terminal on unix systems if an external command is suspended (e.g., via `ctrl+z`). Instead, Nushell will now display a message and wait for any key press before bringing the suspended process back to the terminal foreground. + # Changes [[toc](#table-of-content)] ## Additions [[toc](#table-of-content)] +### `ls --threads` + +With [#13836](https://github.com/nushell/nushell/pull/13836), an experimental `--threads` flag was added to `ls`. When provided, this flag makes `ls` use multiple threads (the exact number is currently undefined). In some cases, this significantly reduces the running time of `ls`. + ### `enhanced keybinding configuration` [[toc](#table-of-content)] +**Support for kitty keyboard protocol modifiers.** + +Thanks to [@replcat](https://github.com/replcat) in [#13906](https://github.com/nushell/nushell/pull/13906), keybindings in your config can now use any combination of the modifiers `shift`, `alt`, `ctrl`, `super`, `hyper`, and `meta`. Note that this requires your terminal to support the kitty keyboard protocol and for the config option `$env.config.use_kitty_protocol` to be set to `true`. + **Support for Unicode Code Points in Keycodes.** Starting from [#14020](https://github.com/nushell/nushell/pull/14020), users can now specify characters in the keycode field using their Unicode code points, in the format `char_uXXXX`, where `XXXX` is the hexadecimal Unicode code point. This provides greater flexibility when configuring keybindings in Nushell. @@ -105,6 +117,19 @@ $env.config = { } ``` +### `input listen` + +The `input listen` command now supports the kitty keyboard protocol and respects the `$env.config.use_kitty_protocol` config option. This was added in [#13892](https://github.com/nushell/nushell/pull/13892) thanks to [@weirdan](https://github.com/weirdan). + +### `random bytes` and `random chars` + +`random bytes` and `random chars` now support file size values as arguments for the amount/length of data to be generated. + +```nu +random binary 1kb +random chars --length 1kb +``` + ## Breaking changes [[toc](#table-of-content)] ### Standard Library @@ -140,8 +165,62 @@ Refer to the [Standard Library](/book/standard_library.md) documentation for mor ## Removals [[toc](#table-of-content)] +### `decode new-base64` and `encode new-base64` + +The `decode new-base64` and `encode new-base64` commands added in the last release have now replaced the previous `decode base64` and `encode base64` commands [as planned](https://www.nushell.sh/blog/2024-09-17-nushell_0_98_0.html#encode-new-base64-decode-new-base64-toc) with [#14018](https://github.com/nushell/nushell/pull/14018). + +### `group` + +With [#14056](https://github.com/nushell/nushell/pull/14056), the `group` command [deprecated back in 0.96.0](https://www.nushell.sh/blog/2024-07-23-nushell_0_96_0.html#chunks-toc) has been removed. Please use the `chunks` command instead. + ## Bug fixes and other changes [[toc](#table-of-content)] +### Default config prompt + +After [#13857](https://github.com/nushell/nushell/pull/13857), Nushell will only prompt the user to write the default config files if the default config directory does not exist. After the first prompt, the default config directory is created regardless of the response so that the user is not prompted again. + +### Mid-pipeline exit codes + +Some internal commands collect their input which could trigger the non-zero exit code error added in 0.98.0. After, [#13899](https://github.com/nushell/nushell/pull/13899) this has been fixed and only the final command in a pipeline can trigger a non-zero exit code error if it is an external command. + +### Last exit code + +Fixed `$env.LAST_EXIT_CODE` not being set to `1` for errors not relating to external commands in [#13954](https://github.com/nushell/nushell/pull/13954). + +### `try` + +In [#13885](https://github.com/nushell/nushell/pull/13885), a bug where `try` did not catch errors when assigned to a variable using `let` was fixed. In addition, an issue was fixed in [#13992](https://github.com/nushell/nushell/pull/13992) where `try` would sometimes print values when it was not the last pipeline element. + +### Parser bugs + +Thanks to [@sgvictorino](https://github.com/sgvictorino) in [#14053](https://github.com/nushell/nushell/pull/14053), several parser bugs related to strings containing equal signs has been fixed. + +### `hash` + +The `hash` commands supported binary input, but their command signatures did not say so. This has been fixed in [#13923](https://github.com/nushell/nushell/pull/13923). + +### `view source` + +`view source` now sets the pipeline metadata to `application/x-nuscript` after [#13859](https://github.com/nushell/nushell/pull/13859) thanks to [@Bahex](https://github.com/Bahex). + +### `do -p` + +Fixed `do` not waiting for external commands to complete when provided the `-p` flag in [#13881](https://github.com/nushell/nushell/pull/13881). + +### `format date` + +[#14037](https://github.com/nushell/nushell/pull/14037) fixed `format date` not respecting the current `$env.LC_TIME`. + +### `save -p` + +There progress bar for `save -p` now updates at a minimum of every 75ms. Before, the progress bar would update at every write, making it hard to read. + +### Panic fixes + +Thanks to [@sgvictorino](https://github.com/sgvictorino), panics due to empty record input for `inspect` and `explore` was fixed in [#13893](https://github.com/nushell/nushell/pull/13893). + +Thanks to [@anka-213](https://github.com/anka-213) in [#10395](https://github.com/nushell/nushell/pull/10395), a parser panic regarding custom command arguments was fixed. + + # Full changelog [[toc](#table-of-content)] +| author | title | url | +| ------------------------------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------- | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Add search terms to into value | [#13890](https://github.com/nushell/nushell/pull/13890) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Update merge example | [#13985](https://github.com/nushell/nushell/pull/13985) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Update wrap example | [#13986](https://github.com/nushell/nushell/pull/13986) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Remove superfluous separator when there's no flag description/comment | [#13993](https://github.com/nushell/nushell/pull/14007) | +| [@Lord-LightSpeed](https://github.com/Lord-LightSpeed/) | Update fill.rs to fix last example given with help | [#13993](https://github.com/nushell/nushell/pull/14007) | +| [@sdmoralesma](https://github.com/sdmoralesma) | Fix example for hide-env | [#14013](https://github.com/nushell/nushell/pull/14013) | +| [@quadristan](https://github.com/quadristan) | [str replace] add example for escaped regexes | [#14038](https://github.com/nushell/nushell/pull/14038) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Fix --header-row description | [#14065](https://github.com/nushell/nushell/pull/14065) | # Full changelog [[toc](#table-of-content)] From e0a994ac9c29e30af8bfd6d5a40b990340f1cf6b Mon Sep 17 00:00:00 2001 From: Jack Wright Date: Tue, 15 Oct 2024 21:55:13 -0700 Subject: [PATCH 6/9] added full change log --- blog/2024-10-15-nushell_0_99_0.md | 227 +++++++++++++++++++++++++++++- 1 file changed, 220 insertions(+), 7 deletions(-) diff --git a/blog/2024-10-15-nushell_0_99_0.md b/blog/2024-10-15-nushell_0_99_0.md index 2bf93c71261..f83914c7391 100644 --- a/blog/2024-10-15-nushell_0_99_0.md +++ b/blog/2024-10-15-nushell_0_99_0.md @@ -267,10 +267,223 @@ Thanks to all the contributors below for helping us solve issues and improve doc # Full changelog [[toc](#table-of-content)] - +## Nushell + +- [ayax79](https://github.com/ayax79) created + - [Removed CustomValue portion of CustomValue type name strings. ](https://github.com/nushell/nushell/pull/14054) + - [`polars into-df` struct fix](https://github.com/nushell/nushell/pull/13977) + - [Expose flag truncate-ragged-lines in `polars open`](https://github.com/nushell/nushell/pull/13939) + - [Added command `polars len` for performing count(\*) like operations.](https://github.com/nushell/nushell/pull/13941) + - [Added command `polars profile` for profiling lazy dataframes](https://github.com/nushell/nushell/pull/13904) + - [Added `polars concat` to allow concatenation of multiple dataframes](https://github.com/nushell/nushell/pull/13879) +- [WindSoilder](https://github.com/WindSoilder) created + - [change display_error.exit_code to false](https://github.com/nushell/nushell/pull/13873) + - [Revert "fix $env.FILE_PWD and $env.CURRENT_FILE inside `use` (#13958)"](https://github.com/nushell/nushell/pull/14057) + - [Making nushell works better with external args which surrounded by backtick quotes](https://github.com/nushell/nushell/pull/13910) + - [fix $env.FILE_PWD and $env.CURRENT_FILE inside `use`](https://github.com/nushell/nushell/pull/13958) + - [Removes more quotes on external command arguments](https://github.com/nushell/nushell/pull/13883) + - [Bump version to 0.98.1](https://github.com/nushell/nushell/pull/13896) +- [IanManske](https://github.com/IanManske) created + - [Fix deleted lowercase in keybinding parsing](https://github.com/nushell/nushell/pull/14081) + - [Fix `try` printing when it is not the last pipeline element ](https://github.com/nushell/nushell/pull/13992) + - [Refactor config updates](https://github.com/nushell/nushell/pull/13802) + - [Remove `group` command](https://github.com/nushell/nushell/pull/14056) + - [Make `get_env_var` return a reference to a `Value`](https://github.com/nushell/nushell/pull/13987) + - [Fix non-zero exit code errors in middle of pipeline ](https://github.com/nushell/nushell/pull/13899) + - [Fix `LAST_EXIT_CODE` not being set for internal errors](https://github.com/nushell/nushell/pull/13954) + - [Fix `try` not working with `let`, etc.](https://github.com/nushell/nushell/pull/13885) + - [Fix `do -p` not waiting for external commands](https://github.com/nushell/nushell/pull/13881) +- [132ikl](https://github.com/132ikl) created + - [Ratelimit save command progress bar updates](https://github.com/nushell/nushell/pull/14075) + - [Rework sorting and add cell path and closure comparators to `sort-by`](https://github.com/nushell/nushell/pull/13154) +- [fdncred](https://github.com/fdncred) created + - [Revert "Add the `history import` command"](https://github.com/nushell/nushell/pull/14077) + - [make `FooterMode::Auto` work](https://github.com/nushell/nushell/pull/14063) + - [hard-code selection color to be `reverse`](https://github.com/nushell/nushell/pull/14052) + - [fix format date by getting the env vars properly](https://github.com/nushell/nushell/pull/14037) + - [update to reedline 5e556bfd](https://github.com/nushell/nushell/pull/14034) + - [update nushell to reedline 871075e](https://github.com/nushell/nushell/pull/14017) + - [add unicode-width to `str stats`](https://github.com/nushell/nushell/pull/14014) + - [update osc_633 string escaping](https://github.com/nushell/nushell/pull/14008) + - [since windows allows slash or backslash, allow both instead of MAIN_SEPARATOR](https://github.com/nushell/nushell/pull/13996) + - [allow bools to be type checked with each other](https://github.com/nushell/nushell/pull/13968) + - [update human-date-parser crate](https://github.com/nushell/nushell/pull/13962) + - [a potential solution that may fix vt processing](https://github.com/nushell/nushell/pull/13961) + - [ensure toolkit is using external cargo command](https://github.com/nushell/nushell/pull/13943) + - [fix ls_colors coloring in grid and ls](https://github.com/nushell/nushell/pull/13935) + - [update folder_depth algorithm for glob command](https://github.com/nushell/nushell/pull/13915) + - [update the defaults for shell_integration](https://github.com/nushell/nushell/pull/13929) + - [add binary as input to hash commands](https://github.com/nushell/nushell/pull/13923) + - [update reedline to the latest 660a5074](https://github.com/nushell/nushell/pull/13909) + - [Add threads to the `ls` command in order to increase performance in some circumstances](https://github.com/nushell/nushell/pull/13836) + - [fix the ability to add a plugin by name instead of path](https://github.com/nushell/nushell/pull/13877) +- [qfel](https://github.com/qfel) created + - [Add the `history import` command](https://github.com/nushell/nushell/pull/13450) + - [Reduce nesting in the history command code](https://github.com/nushell/nushell/pull/14069) + - [Reduce duplication in history path construction](https://github.com/nushell/nushell/pull/13475) +- [sgvictorino](https://github.com/sgvictorino) created + - [support filesize arguments in `random` `binary`/`chars`](https://github.com/nushell/nushell/pull/14068) + - [fix unknown_command when parsing certain strings with equal signs](https://github.com/nushell/nushell/pull/14053) + - [fix `inspect` and `explore` panics on empty records](https://github.com/nushell/nushell/pull/13893) +- [NotTheDr01ds](https://github.com/NotTheDr01ds) created + - [Correct wording from previous PR](https://github.com/nushell/nushell/pull/14066) + - [Fix --header-row description](https://github.com/nushell/nushell/pull/14065) + - [Respect `use_ansi_coloring` setting in `banner`](https://github.com/nushell/nushell/pull/14049) + - [Virtual std module subdirectories](https://github.com/nushell/nushell/pull/14040) + - [Fix `dirs` removal warning](https://github.com/nushell/nushell/pull/14029) + - [Load env when importing with `use std *`](https://github.com/nushell/nushell/pull/14012) + - [Fix operator completion typo and increase consistency](https://github.com/nushell/nushell/pull/14006) + - [Fix namespace collision in std and nupm](https://github.com/nushell/nushell/pull/14009) + - [Set proc/env cwd to engine_state value](https://github.com/nushell/nushell/pull/14005) + - [Remove superfluous separator when there's no flag description/comment](https://github.com/nushell/nushell/pull/14007) + - [Updated warning message for old dirs/shells](https://github.com/nushell/nushell/pull/13997) + - [Improves startup time when using std-lib](https://github.com/nushell/nushell/pull/13842) + - [Update wrap example](https://github.com/nushell/nushell/pull/13986) + - [Update merge example](https://github.com/nushell/nushell/pull/13985) + - [Only ask to create config files the first time nu is started](https://github.com/nushell/nushell/pull/13857) + - [Add search terms to `into value`](https://github.com/nushell/nushell/pull/13890) +- [quadristan](https://github.com/quadristan) created + - [[umkdir][tests] get umask instead of assuming it](https://github.com/nushell/nushell/pull/14046) + - [[str replace] add exemple for escaped regexes](https://github.com/nushell/nushell/pull/14038) +- [hustcer](https://github.com/hustcer) created + - [Create Sha256sum file for each release binary](https://github.com/nushell/nushell/pull/14050) + - [Replace the old `encode base64` and `decode base64` with new-base64 commands](https://github.com/nushell/nushell/pull/14018) + - [Fix typos](https://github.com/nushell/nushell/pull/13980) + - [Simplify the Dockerfile](https://github.com/nushell/nushell/pull/13974) + - [Some small tweaks to release and nightly workflow](https://github.com/nushell/nushell/pull/13912) + - [Add loongarch64-unknown-linux-gnu-gcc build target](https://github.com/nushell/nushell/pull/13895) +- [app/dependabot](https://github.com/app/dependabot) created + - [Bump crate-ci/typos from 1.25.0 to 1.26.0](https://github.com/nushell/nushell/pull/14031) + - [Bump indexmap from 2.5.0 to 2.6.0](https://github.com/nushell/nushell/pull/13983) + - [Bump tempfile from 3.12.0 to 3.13.0](https://github.com/nushell/nushell/pull/13984) + - [Bump once_cell from 1.19.0 to 1.20.1](https://github.com/nushell/nushell/pull/13982) + - [Bump crate-ci/typos from 1.24.6 to 1.25.0](https://github.com/nushell/nushell/pull/13978) + - [Bump actions-rust-lang/setup-rust-toolchain from 1.10.0 to 1.10.1](https://github.com/nushell/nushell/pull/13979) + - [Bump actions-rust-lang/setup-rust-toolchain from 1.9.0 to 1.10.0](https://github.com/nushell/nushell/pull/13922) + - [Bump rustsec/audit-check from 1.4.1 to 2.0.0](https://github.com/nushell/nushell/pull/13921) + - [Bump crate-ci/typos from 1.24.5 to 1.24.6](https://github.com/nushell/nushell/pull/13864) + - [Bump shadow-rs from 0.34.0 to 0.35.0](https://github.com/nushell/nushell/pull/13863) + - [Bump unicode-segmentation from 1.11.0 to 1.12.0](https://github.com/nushell/nushell/pull/13862) + - [Bump tango-bench from 0.5.0 to 0.6.0](https://github.com/nushell/nushell/pull/13861) +- [1256-bits](https://github.com/1256-bits) created + - [Add ls colors to cjs and mjs files](https://github.com/nushell/nushell/pull/14028) +- [JustForFun88](https://github.com/JustForFun88) created + - [Improve keybinding parsing for Unicode support](https://github.com/nushell/nushell/pull/14020) +- [Kither12](https://github.com/Kither12) created + - [Improve completer](https://github.com/nushell/nushell/pull/14004) + - [escape dollarsign in tab completion](https://github.com/nushell/nushell/pull/13988) +- [sdmoralesma](https://github.com/sdmoralesma) created + - [Fix example for hide-env](https://github.com/nushell/nushell/pull/14013) +- [uek-1](https://github.com/uek-1) created + - [Add operator completions](https://github.com/nushell/nushell/pull/13818) +- [akirabaruah](https://github.com/akirabaruah) created + - [Consistent default key bindings for ide_completion_menu](https://github.com/nushell/nushell/pull/13955) +- [zhiburt](https://github.com/zhiburt) created + - [nu-table/ Fix footer truncation in case of head_on_border](https://github.com/nushell/nushell/pull/13998) + - [nu-exlore/ Fix :try table view](https://github.com/nushell/nushell/pull/13964) + - [Fix issue with `ls | explore` coloring of file names](https://github.com/nushell/nushell/pull/13952) +- [Lord-LightSpeed](https://github.com/Lord-LightSpeed) created + - [Update `fill.rs` to fix last example given with help](https://github.com/nushell/nushell/pull/13993) +- [cptpiepmatz](https://github.com/cptpiepmatz) created + - [Make `SpanId` and `RegId` also use new ID struct](https://github.com/nushell/nushell/pull/13963) + - [Replace raw usize IDs with new types](https://github.com/nushell/nushell/pull/13832) +- [anka-213](https://github.com/anka-213) created + - [Fix panic on too few arguments for custom function](https://github.com/nushell/nushell/pull/10395) +- [saurabh10041998](https://github.com/saurabh10041998) created + - [Fix Docker image build failure](https://github.com/nushell/nushell/pull/13938) +- [fornwall](https://github.com/fornwall) created + - [Bump rustix from 0.38.34 to 0.38.37](https://github.com/nushell/nushell/pull/13878) +- [YizhePKU](https://github.com/YizhePKU) created + - [Set current working directory at startup](https://github.com/nushell/nushell/pull/12953) +- [weirdan](https://github.com/weirdan) created + - [Respect `$env.config.use_kitty_protocol` in `input listen`](https://github.com/nushell/nushell/pull/13892) +- [replcat](https://github.com/replcat) created + - [Support kitty key modifiers in keybindings](https://github.com/nushell/nushell/pull/13906) +- [nome](https://github.com/nome) created + - [Fix handling of stopped TUI applications on unix](https://github.com/nushell/nushell/pull/13741) +- [Bahex](https://github.com/Bahex) created + - [view source: add content_type metadata](https://github.com/nushell/nushell/pull/13859) +- [dead10ck](https://github.com/dead10ck) created + - [polars: add binary type support](https://github.com/nushell/nushell/pull/13830) +- [devyn](https://github.com/devyn) created + - [Bump version to `0.98.0`](https://github.com/nushell/nushell/pull/13865) + +## Extension + +- [fdncred](https://github.com/fdncred) created + - [update grammar to nushell 0.98.0, version and changelog](https://github.com/nushell/vscode-nushell-lang/pull/188) + +## Documentation + +- [IanManske](https://github.com/IanManske) created + - [Start 0.99.0 release notes](https://github.com/nushell/nushell.github.io/pull/1586) + - [Release notes for `0.98.0`](https://github.com/nushell/nushell.github.io/pull/1541) +- [LoicRiegel](https://github.com/LoicRiegel) created + - [Add french translation [#1532]](https://github.com/nushell/nushell.github.io/pull/1559) +- [JustForFun88](https://github.com/JustForFun88) created + - [Added changes to release notes for version 0.99.0 due to nushell/#14020](https://github.com/nushell/nushell.github.io/pull/1583) +- [NotTheDr01ds](https://github.com/NotTheDr01ds) created + - [std-lib breaking changes](https://github.com/nushell/nushell.github.io/pull/1578) + - [Turn back on line-numbers](https://github.com/nushell/nushell.github.io/pull/1579) + - [Fix broken link from Custom Commands update](https://github.com/nushell/nushell.github.io/pull/1570) + - [Convert blockquotes to callouts](https://github.com/nushell/nushell.github.io/pull/1569) + - [One-liner for installing plugins with Cargo](https://github.com/nushell/nushell.github.io/pull/1564) + - [Custom Command chapter updates](https://github.com/nushell/nushell.github.io/pull/1565) +- [hustcer](https://github.com/hustcer) created + - [Upgrade dev dependencies and fix some style issue](https://github.com/nushell/nushell.github.io/pull/1577) + - [Refresh command docs for Nu 0.98.0](https://github.com/nushell/nushell.github.io/pull/1555) + - [Fix make_docs.nu for Nu v0.98](https://github.com/nushell/nushell.github.io/pull/1554) +- [chapmanjacobd](https://github.com/chapmanjacobd) created + - [add Windows command_not_found example](https://github.com/nushell/nushell.github.io/pull/1576) +- [132ikl](https://github.com/132ikl) created + - [Highlight the differences between scripts and modules](https://github.com/nushell/nushell.github.io/pull/1567) + - [Add warning about display_errors](https://github.com/nushell/nushell.github.io/pull/1562) +- [ghaaj](https://github.com/ghaaj) created + - [Unify the language identifiers of the code blocks to 'sh'](https://github.com/nushell/nushell.github.io/pull/1563) +- [sholderbach](https://github.com/sholderbach) created + - [Fix equal operator](https://github.com/nushell/nushell.github.io/pull/1561) +- [app/dependabot](https://github.com/app/dependabot) created + - [Bump rollup from 4.20.0 to 4.22.4](https://github.com/nushell/nushell.github.io/pull/1560) + - [Bump vite from 5.2.13 to 5.2.14](https://github.com/nushell/nushell.github.io/pull/1553) +- [paulie4](https://github.com/paulie4) created + - [`coming_from_bash.md`: add references to `explore` and `first`](https://github.com/nushell/nushell.github.io/pull/1558) +- [nome](https://github.com/nome) created + - [Remove outdated mention of $it](https://github.com/nushell/nushell.github.io/pull/1557) +- [cptpiepmatz](https://github.com/cptpiepmatz) created + - [Documented the recommended MIME type for Nushell](https://github.com/nushell/nushell.github.io/pull/1556) + +## Nu_Scripts + +- [HirschBerge](https://github.com/HirschBerge) created + - [Updated `ani-cli` completions](https://github.com/nushell/nu_scripts/pull/969) +- [NotTheDr01ds](https://github.com/NotTheDr01ds) created + - [Table and list helper commands](https://github.com/nushell/nu_scripts/pull/967) + - [Remove outdated logging module](https://github.com/nushell/nu_scripts/pull/966) +- [Schweber](https://github.com/Schweber) created + - [nix: add nufetch.nu](https://github.com/nushell/nu_scripts/pull/963) +- [schrieveslaach](https://github.com/schrieveslaach) created + - [Fix git diff completions](https://github.com/nushell/nu_scripts/pull/962) +- [louiss0](https://github.com/louiss0) created + - [feat: add yadm completions to the repo](https://github.com/nushell/nu_scripts/pull/960) +- [AucaCoyan](https://github.com/AucaCoyan) created + - [:sparkles: completions for `bmc` client](https://github.com/nushell/nu_scripts/pull/932) + - [:adhesive_bandage: fix `git init --initial-branch` string instead of bool](https://github.com/nushell/nu_scripts/pull/959) +- [OJarrisonn](https://github.com/OJarrisonn) created + - [fix: adequates to new rustup help page style](https://github.com/nushell/nu_scripts/pull/958) + +## Reedline + +- [blindFS](https://github.com/blindFS) created + - [Attempt to fix multiline prompt resize issue](https://github.com/nushell/reedline/pull/841) +- [andylokandy](https://github.com/andylokandy) created + - [Fix external printer don't print until key press](https://github.com/nushell/reedline/pull/840) +- [uek-1](https://github.com/uek-1) created + - [made can_partially_complete() only complete when suggesting more than the input](https://github.com/nushell/reedline/pull/834) + - [Fixed demo completions](https://github.com/nushell/reedline/pull/835) + - [Added partial completions to the MenuNext event](https://github.com/nushell/reedline/pull/828) +- [WindSoilder](https://github.com/WindSoilder) created + - [emacs mode: change ctrl-k to `cut to line end`](https://github.com/nushell/reedline/pull/826) +- [replcat](https://github.com/replcat) created + - [Add test for kitty protocol modifier key in vi mode](https://github.com/nushell/reedline/pull/831) +- [devyn](https://github.com/devyn) created + - [Bump version to `0.35.0`](https://github.com/nushell/reedline/pull/830) From 00cd7df420311b883d4f85a237d9e3e9a474965a Mon Sep 17 00:00:00 2001 From: Jack Wright Date: Tue, 15 Oct 2024 21:56:45 -0700 Subject: [PATCH 7/9] removed bump version change --- blog/2024-10-15-nushell_0_99_0.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/blog/2024-10-15-nushell_0_99_0.md b/blog/2024-10-15-nushell_0_99_0.md index f83914c7391..5968e20d283 100644 --- a/blog/2024-10-15-nushell_0_99_0.md +++ b/blog/2024-10-15-nushell_0_99_0.md @@ -485,5 +485,3 @@ Thanks to all the contributors below for helping us solve issues and improve doc - [emacs mode: change ctrl-k to `cut to line end`](https://github.com/nushell/reedline/pull/826) - [replcat](https://github.com/replcat) created - [Add test for kitty protocol modifier key in vi mode](https://github.com/nushell/reedline/pull/831) -- [devyn](https://github.com/devyn) created - - [Bump version to `0.35.0`](https://github.com/nushell/reedline/pull/830) From 8ce58116ee88428507ef1feb6b0b0b8ffcfc232e Mon Sep 17 00:00:00 2001 From: Ian Manske Date: Tue, 15 Oct 2024 22:11:48 -0700 Subject: [PATCH 8/9] Finish 0.99.0 release notes (#1588) * Fix typos * Finish last PRs. * TOC and excerpt * Only Nushell changes * Fix typo --- blog/2024-10-15-nushell_0_99_0.md | 342 ++++++++++++++++-------------- 1 file changed, 187 insertions(+), 155 deletions(-) diff --git a/blog/2024-10-15-nushell_0_99_0.md b/blog/2024-10-15-nushell_0_99_0.md index 5968e20d283..4863c4f76d3 100644 --- a/blog/2024-10-15-nushell_0_99_0.md +++ b/blog/2024-10-15-nushell_0_99_0.md @@ -3,18 +3,14 @@ title: Nushell 0.99.0 author: The Nu Authors author_site: https://twitter.com/nu_shell author_image: https://www.nushell.sh/blog/images/nu_logo.png -excerpt: Today, we're releasing version 0.99.0 of Nu. This release adds... +excerpt: Today, we're releasing version 0.99.0 of Nu. This release overhauls sorting and adds increased support for the kitty keyboard protocol. --- - - # Nushell 0.99.0 Nushell, or Nu for short, is a new shell that takes a modern, structured approach to your command line. 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 command line pipelines. - - -Today, we're releasing version 0.99.0 of Nu. This release adds... +Today, we're releasing version 0.99.0 of Nu. This release overhauls sorting and adds increased support for the kitty keyboard protocol. # Where to get it @@ -25,13 +21,35 @@ As part of this release, we also publish a set of optional plugins you can insta # Table of contents - [_Highlights and themes of this release_](#highlights-and-themes-of-this-release-toc) + - [_Sorting overhaul_](#sorting-overhaul-toc) + - [_Handling stopped TUI applications_](#handling-stopped-tui-applications-toc) - [_Changes_](#changes-toc) - [_Additions_](#additions-toc) - - [_`enhanced keybinding configuration`_](#enhanced-keybinding-configuration-toc) + - [`ls --threads`](#ls-threads-toc) + - [_Enhanced keybinding configuration_](#enhanced-keybinding-configuration-toc) + - [`input listen`](#input-listen-toc) + - [`random bytes` and `random chars`](#random-bytes-and-random-chars-toc) + - [`str stats`](#str-stats-toc) + - [`sort-by --custom`](#sort-by-custom-toc) - [_Breaking changes_](#breaking-changes-toc) + - [`sort-by` and `sort`](#sort-by-and-sort-toc) + - [_Standard Library_](#standard-library-toc) - [_Deprecations_](#deprecations-toc) + - [_Standard Library_ `std/dirs`](#standard-library-std-dirs-toc) - [_Removals_](#removals-toc) + - [`decode new-base64` and `encode new-base64`](#decode-new-base64-and-encode-new-base64-toc) - [_Bug fixes and other changes_](#bug-fixes-and-other-changes-toc) + - [_Prompt to write default config files_](#prompt-to-write-default-config-files-toc) + - [_Mid-pipeline exit codes_](#mid-pipeline-exit-codes-toc) + - [_Last exit code_](#last-exit-code-toc) + - [`try`](#try-toc) + - [_Parser bugs_](#parser-bugs-toc) + - [`hash`](#hash-toc) + - [`view-source`](#view-source-toc) + - [`do -p`](#do-p-toc) + - [`format date`](#format-date-toc) + - [`save -p`](#save-p-toc) + - [_Panic fixes_](#panic-fixes-toc) - [_Notes for plugin developers_](#notes-for-plugin-developers-toc) - [_Hall of fame_](#hall-of-fame-toc) - [_Full changelog_](#full-changelog-toc) @@ -53,21 +71,130 @@ As part of this release, we also publish a set of optional plugins you can insta # Highlights and themes of this release [[toc](#table-of-content)] - - +This release features an overhaul to the `sort-by` and `sort` commands, courtesy of [#132ikl](https://github.com/132ikl) in [#13154](https://github.com/nushell/nushell/pull/13154). Notably, the sort commands are now much more consistent and several handy new features were added as well. + +Starting with new features, any cell path can now be used as the sort key in `sort-by` :tada: + +```nushell +> [[name info]; [Cairo {founded: 969}] [Kyoto {founded: 794}]] | sort-by info.founded + ╭───┬───────┬───────────────────╮ + │ # │ name │ info │ + ├───┼───────┼───────────────────┤ + │ 0 │ Kyoto │ ╭─────────┬─────╮ │ + │ │ │ │ founded │ 794 │ │ + │ │ │ ╰─────────┴─────╯ │ + │ 1 │ Cairo │ ╭─────────┬─────╮ │ + │ │ │ │ founded │ 969 │ │ + │ │ │ ╰─────────┴─────╯ │ + ╰───┴───────┴───────────────────╯ +``` + +You can now also use closures to compute a value to sort by: + +```nushell +# Sorting by file extension +> ls | where type == file | sort-by { get name | path parse | get extension } +╭────┬─────────────────────┬──────┬───────────┬───────────────╮ +│ # │ name │ type │ size │ modified │ +├────┼─────────────────────┼──────┼───────────┼───────────────┤ +│ 0 │ LICENSE │ file │ 1.1 KiB │ 11 months ago │ +│ 1 │ CITATION.cff │ file │ 812 B │ a month ago │ +│ 2 │ Cargo.lock │ file │ 175.6 KiB │ 2 days ago │ +│ 3 │ CODE_OF_CONDUCT.md │ file │ 3.4 KiB │ a year ago │ +│ 4 │ CONTRIBUTING.md │ file │ 11.0 KiB │ a month ago │ +│ 5 │ README.md │ file │ 12.0 KiB │ a month ago │ +│ 6 │ SECURITY.md │ file │ 2.6 KiB │ a month ago │ +│ 7 │ toolkit.nu │ file │ 19.2 KiB │ 3 days ago │ +│ 8 │ Cargo.toml │ file │ 9.0 KiB │ 2 days ago │ +│ 9 │ Cross.toml │ file │ 666 B │ 5 months ago │ +│ 10 │ rust-toolchain.toml │ file │ 1.1 KiB │ 2 weeks ago │ +│ 11 │ typos.toml │ file │ 513 B │ 2 weeks ago │ +╰────┴─────────────────────┴──────┴───────────┴───────────────╯ +``` + +Of course, you can still sort by multiple keys/columns: + +```nushell +# Sort by extension, then by modified time if two files have the same extension. +# Note that the last four toml files have changed order. +> ls | where type == file | sort-by { get name | path parse | get extension } modified +╭────┬─────────────────────┬──────┬───────────┬───────────────╮ +│ # │ name │ type │ size │ modified │ +├────┼─────────────────────┼──────┼───────────┼───────────────┤ +│ 0 │ LICENSE │ file │ 1.1 KiB │ 11 months ago │ +│ 1 │ CITATION.cff │ file │ 812 B │ a month ago │ +│ 2 │ Cargo.lock │ file │ 175.6 KiB │ 2 days ago │ +│ 3 │ CODE_OF_CONDUCT.md │ file │ 3.4 KiB │ a year ago │ +│ 4 │ CONTRIBUTING.md │ file │ 11.0 KiB │ a month ago │ +│ 5 │ README.md │ file │ 12.0 KiB │ a month ago │ +│ 6 │ SECURITY.md │ file │ 2.6 KiB │ a month ago │ +│ 7 │ toolkit.nu │ file │ 19.2 KiB │ 3 days ago │ +│ 8 │ Cross.toml │ file │ 666 B │ 5 months ago │ +│ 9 │ rust-toolchain.toml │ file │ 1.1 KiB │ 2 weeks ago │ +│ 10 │ typos.toml │ file │ 513 B │ 2 weeks ago │ +│ 11 │ Cargo.toml │ file │ 9.0 KiB │ 2 days ago │ +╰────┴─────────────────────┴──────┴───────────┴───────────────╯ +``` -## Handling stopped TUI applications +One final addition is allowing custom sort orders via closures. When provided with the `--custom`/`-c` flag, all closures passed to `sort-by` are assumed to take two arguments and return a boolean indicating whether or not the first argument should come before the second argument in the sort order. + +```nushell +> ls | sort-by -c {|a, b| $a.size < $b.size } +╭───┬─────────────────────┬──────┬──────────┬────────────────╮ +│ # │ name │ type │ size │ modified │ +├───┼─────────────────────┼──────┼──────────┼────────────────┤ +│ 0 │ my-secret-plans.txt │ file │ 100 B │ 10 minutes ago │ +│ 1 │ shopping_list.txt │ file │ 100 B │ 2 months ago │ +│ 2 │ myscript.nu │ file │ 1.1 KiB │ 2 weeks ago │ +│ 3 │ bigfile.img │ file │ 10.0 MiB │ 3 weeks ago │ +╰───┴─────────────────────┴──────┴──────────┴────────────────╯ +``` + +If a custom sort closure needs to be used in combination with a regular closure that computes a value, then two separate `sort-by`s need to be used. The sort commands perform stable sorts, so chaining multiple sorts together has the same effect as one sort with multiple comparators. + +```nushell +ls +| sort-by { get name | path parse | get extension } +| sort-by -c {|a, b| $a.size < $b.size } +``` + +Now, on to the other (breaking) changes. As part of reworking the sort commands to be more consistent, the default sort order was changed. Most notably, `null` values are now sorted to be after values of all other types. + +```nushell +> [null 1 null str] | sort +╭───┬─────╮ +│ 0 │ 1 │ +│ 1 │ str │ +│ 2 │ │ +│ 3 │ │ +╰───┴─────╯ +``` + +Also, values of the same type will appear next to each other in sorted order. I.e., sorted numbers come first, then sorted strings, then sorted lists, etc. There are, however, a few exceptions: + +- Integers and floats are sorted/intermixed together based on their numerical value. +- Similarly, strings and globs will be intermixed, sorted lexicographically by their Unicode code points. +- If the `--natural`/`-n` flag is provided, then ints and floats will be sorted as strings. For example: + ```nushell + [1 "4" 3 "2"] | sort --natural + ╭───┬───╮ + │ 0 │ 1 │ + │ 1 │ 2 │ + │ 2 │ 3 │ + │ 3 │ 4 │ + ╰───┴───╯ + ``` + +Otherwise, there were a few other minor changes to makes things more consistent: + +- The `--insensitive`/`-i` flag was fixed, as case insensitive sorting did not occur in some cases. +- If a column cannot be found in a value, `sort-by` now errors instead of silently continuing. +- `sort` now errors if provided no input (to match the existing behavior of `sort-by`). +- `sort -v` no longer converts record values to strings. Instead, it uses the new standard sort order that `sort` and `sort-by` also do. + +## Handling stopped TUI applications [[toc](#table-of-content)] Thanks to [@nome](https://github.com/nome) in [#13741](https://github.com/nushell/nushell/pull/13741), Nushell will no longer hang the terminal on unix systems if an external command is suspended (e.g., via `ctrl+z`). Instead, Nushell will now display a message and wait for any key press before bringing the suspended process back to the terminal foreground. @@ -75,11 +202,11 @@ Thanks to [@nome](https://github.com/nome) in [#13741](https://github.com/nushel ## Additions [[toc](#table-of-content)] -### `ls --threads` +### `ls --threads` [[toc](#table-of-content)] With [#13836](https://github.com/nushell/nushell/pull/13836), an experimental `--threads` flag was added to `ls`. When provided, this flag makes `ls` use multiple threads (the exact number is currently undefined). In some cases, this significantly reduces the running time of `ls`. -### `enhanced keybinding configuration` [[toc](#table-of-content)] +### Enhanced keybinding configuration [[toc](#table-of-content)] **Support for kitty keyboard protocol modifiers.** @@ -117,11 +244,11 @@ $env.config = { } ``` -### `input listen` +### `input listen` [[toc](#table-of-content)] The `input listen` command now supports the kitty keyboard protocol and respects the `$env.config.use_kitty_protocol` config option. This was added in [#13892](https://github.com/nushell/nushell/pull/13892) thanks to [@weirdan](https://github.com/weirdan). -### `random bytes` and `random chars` +### `random bytes` and `random chars` [[toc](#table-of-content)] `random bytes` and `random chars` now support file size values as arguments for the amount/length of data to be generated. @@ -130,9 +257,21 @@ random binary 1kb random chars --length 1kb ``` +### `str stats` [[toc](#table-of-content)] + +After [#14014](https://github.com/nushell/nushell/pull/14014), `str stats` now outputs an additional stat/column: `unicode-width`. + +### `sort-by --custom` [[toc](#table-of-content)] + +See the [sorting overhaul](#sorting-overhaul-toc) section in the highlights. + ## Breaking changes [[toc](#table-of-content)] -### Standard Library +### `sort-by` and `sort` [[toc](#table-of-content)] + +See the [sorting overhaul](#sorting-overhaul-toc) section in the highlights. + +### Standard Library [[toc](#table-of-content)] The internal storage location for the standard library, as well as how it is handled during Nushell start-up, has changed to improve launch times. While every effort has been made to ensure backward-compatibility, there may be some corner-cases in how other scripts and modules have imported `std` in the past. @@ -151,103 +290,76 @@ Refer to the [Standard Library](/book/standard_library.md) documentation for mor ## Deprecations [[toc](#table-of-content)] -### Standard Library - Directory Stack / Shells / dirs Module +### Standard Library `std/dirs` [[toc](#table-of-content)] -- [#13842](https://github.com/nushell/nushell/pull/13842): Starting with the next release, Nushell will no longer automatically load the `std/dirs` aliases at startup. In 0.99.0, using one of these aliases (`n`, `p`, `g`, `enter`, `dexit`, or `shells`) will result in a warning message. +Starting with the next release, Nushell will no longer automatically load the `std/dirs` aliases at startup ([#13842](https://github.com/nushell/nushell/pull/13842)). In 0.99.0, using one of these aliases (`n`, `p`, `g`, `enter`, `dexit`, or `shells`) will result in a warning message. - To disable the warning message and prepare for 0.100.0, add the following to your startup configuration (typically `config.nu` or `env.nu`, etc.): +To disable the warning message and prepare for 0.100.0, add the following to your startup configuration (typically `config.nu` or `env.nu`, etc.): - ```nu - use std/dirs shells-aliases * - ``` +```nu +use std/dirs shells-aliases * +``` - See the [Shells in Shells](/book/shells_in_shells.html) chapter of the Book for more options. +See the [Shells in Shells](/book/shells_in_shells.html) chapter of the Book for more options. ## Removals [[toc](#table-of-content)] -### `decode new-base64` and `encode new-base64` +### `decode new-base64` and `encode new-base64` [[toc](#table-of-content)] The `decode new-base64` and `encode new-base64` commands added in the last release have now replaced the previous `decode base64` and `encode base64` commands [as planned](https://www.nushell.sh/blog/2024-09-17-nushell_0_98_0.html#encode-new-base64-decode-new-base64-toc) with [#14018](https://github.com/nushell/nushell/pull/14018). -### `group` +### `group` [[toc](#table-of-content)] With [#14056](https://github.com/nushell/nushell/pull/14056), the `group` command [deprecated back in 0.96.0](https://www.nushell.sh/blog/2024-07-23-nushell_0_96_0.html#chunks-toc) has been removed. Please use the `chunks` command instead. ## Bug fixes and other changes [[toc](#table-of-content)] -### Default config prompt +### Prompt to write default config files [[toc](#table-of-content)] After [#13857](https://github.com/nushell/nushell/pull/13857), Nushell will only prompt the user to write the default config files if the default config directory does not exist. After the first prompt, the default config directory is created regardless of the response so that the user is not prompted again. -### Mid-pipeline exit codes +### Mid-pipeline exit codes [[toc](#table-of-content)] Some internal commands collect their input which could trigger the non-zero exit code error added in 0.98.0. After, [#13899](https://github.com/nushell/nushell/pull/13899) this has been fixed and only the final command in a pipeline can trigger a non-zero exit code error if it is an external command. -### Last exit code +### Last exit code [[toc](#table-of-content)] Fixed `$env.LAST_EXIT_CODE` not being set to `1` for errors not relating to external commands in [#13954](https://github.com/nushell/nushell/pull/13954). -### `try` +### `try` [[toc](#table-of-content)] In [#13885](https://github.com/nushell/nushell/pull/13885), a bug where `try` did not catch errors when assigned to a variable using `let` was fixed. In addition, an issue was fixed in [#13992](https://github.com/nushell/nushell/pull/13992) where `try` would sometimes print values when it was not the last pipeline element. -### Parser bugs +### Parser bugs [[toc](#table-of-content)] Thanks to [@sgvictorino](https://github.com/sgvictorino) in [#14053](https://github.com/nushell/nushell/pull/14053), several parser bugs related to strings containing equal signs has been fixed. -### `hash` +### `hash` [[toc](#table-of-content)] The `hash` commands supported binary input, but their command signatures did not say so. This has been fixed in [#13923](https://github.com/nushell/nushell/pull/13923). -### `view source` +### `view source` [[toc](#table-of-content)] `view source` now sets the pipeline metadata to `application/x-nuscript` after [#13859](https://github.com/nushell/nushell/pull/13859) thanks to [@Bahex](https://github.com/Bahex). -### `do -p` +### `do -p` [[toc](#table-of-content)] Fixed `do` not waiting for external commands to complete when provided the `-p` flag in [#13881](https://github.com/nushell/nushell/pull/13881). -### `format date` +### `format date` [[toc](#table-of-content)] [#14037](https://github.com/nushell/nushell/pull/14037) fixed `format date` not respecting the current `$env.LC_TIME`. -### `save -p` +### `save -p` [[toc](#table-of-content)] -There progress bar for `save -p` now updates at a minimum of every 75ms. Before, the progress bar would update at every write, making it hard to read. +The progress bar for `save -p` now updates at a minimum of every 75ms. Before, the progress bar would update at every write, making it hard to read. -### Panic fixes +### Panic fixes [[toc](#table-of-content)] -Thanks to [@sgvictorino](https://github.com/sgvictorino), panics due to empty record input for `inspect` and `explore` was fixed in [#13893](https://github.com/nushell/nushell/pull/13893). +Thanks to [@sgvictorino](https://github.com/sgvictorino), panics due to empty record input for `inspect` and `explore` were fixed in [#13893](https://github.com/nushell/nushell/pull/13893). Thanks to [@anka-213](https://github.com/anka-213) in [#10395](https://github.com/nushell/nushell/pull/10395), a parser panic regarding custom command arguments was fixed. - - # Notes for plugin developers [[toc](#table-of-content)] # Hall of fame [[toc](#table-of-content)] @@ -267,8 +379,6 @@ Thanks to all the contributors below for helping us solve issues and improve doc # Full changelog [[toc](#table-of-content)] -## Nushell - - [ayax79](https://github.com/ayax79) created - [Removed CustomValue portion of CustomValue type name strings. ](https://github.com/nushell/nushell/pull/14054) - [`polars into-df` struct fix](https://github.com/nushell/nushell/pull/13977) @@ -344,7 +454,7 @@ Thanks to all the contributors below for helping us solve issues and improve doc - [Add search terms to `into value`](https://github.com/nushell/nushell/pull/13890) - [quadristan](https://github.com/quadristan) created - [[umkdir][tests] get umask instead of assuming it](https://github.com/nushell/nushell/pull/14046) - - [[str replace] add exemple for escaped regexes](https://github.com/nushell/nushell/pull/14038) + - [[str replace] add example for escaped regexes](https://github.com/nushell/nushell/pull/14038) - [hustcer](https://github.com/hustcer) created - [Create Sha256sum file for each release binary](https://github.com/nushell/nushell/pull/14050) - [Replace the old `encode base64` and `decode base64` with new-base64 commands](https://github.com/nushell/nushell/pull/14018) @@ -407,81 +517,3 @@ Thanks to all the contributors below for helping us solve issues and improve doc - [polars: add binary type support](https://github.com/nushell/nushell/pull/13830) - [devyn](https://github.com/devyn) created - [Bump version to `0.98.0`](https://github.com/nushell/nushell/pull/13865) - -## Extension - -- [fdncred](https://github.com/fdncred) created - - [update grammar to nushell 0.98.0, version and changelog](https://github.com/nushell/vscode-nushell-lang/pull/188) - -## Documentation - -- [IanManske](https://github.com/IanManske) created - - [Start 0.99.0 release notes](https://github.com/nushell/nushell.github.io/pull/1586) - - [Release notes for `0.98.0`](https://github.com/nushell/nushell.github.io/pull/1541) -- [LoicRiegel](https://github.com/LoicRiegel) created - - [Add french translation [#1532]](https://github.com/nushell/nushell.github.io/pull/1559) -- [JustForFun88](https://github.com/JustForFun88) created - - [Added changes to release notes for version 0.99.0 due to nushell/#14020](https://github.com/nushell/nushell.github.io/pull/1583) -- [NotTheDr01ds](https://github.com/NotTheDr01ds) created - - [std-lib breaking changes](https://github.com/nushell/nushell.github.io/pull/1578) - - [Turn back on line-numbers](https://github.com/nushell/nushell.github.io/pull/1579) - - [Fix broken link from Custom Commands update](https://github.com/nushell/nushell.github.io/pull/1570) - - [Convert blockquotes to callouts](https://github.com/nushell/nushell.github.io/pull/1569) - - [One-liner for installing plugins with Cargo](https://github.com/nushell/nushell.github.io/pull/1564) - - [Custom Command chapter updates](https://github.com/nushell/nushell.github.io/pull/1565) -- [hustcer](https://github.com/hustcer) created - - [Upgrade dev dependencies and fix some style issue](https://github.com/nushell/nushell.github.io/pull/1577) - - [Refresh command docs for Nu 0.98.0](https://github.com/nushell/nushell.github.io/pull/1555) - - [Fix make_docs.nu for Nu v0.98](https://github.com/nushell/nushell.github.io/pull/1554) -- [chapmanjacobd](https://github.com/chapmanjacobd) created - - [add Windows command_not_found example](https://github.com/nushell/nushell.github.io/pull/1576) -- [132ikl](https://github.com/132ikl) created - - [Highlight the differences between scripts and modules](https://github.com/nushell/nushell.github.io/pull/1567) - - [Add warning about display_errors](https://github.com/nushell/nushell.github.io/pull/1562) -- [ghaaj](https://github.com/ghaaj) created - - [Unify the language identifiers of the code blocks to 'sh'](https://github.com/nushell/nushell.github.io/pull/1563) -- [sholderbach](https://github.com/sholderbach) created - - [Fix equal operator](https://github.com/nushell/nushell.github.io/pull/1561) -- [app/dependabot](https://github.com/app/dependabot) created - - [Bump rollup from 4.20.0 to 4.22.4](https://github.com/nushell/nushell.github.io/pull/1560) - - [Bump vite from 5.2.13 to 5.2.14](https://github.com/nushell/nushell.github.io/pull/1553) -- [paulie4](https://github.com/paulie4) created - - [`coming_from_bash.md`: add references to `explore` and `first`](https://github.com/nushell/nushell.github.io/pull/1558) -- [nome](https://github.com/nome) created - - [Remove outdated mention of $it](https://github.com/nushell/nushell.github.io/pull/1557) -- [cptpiepmatz](https://github.com/cptpiepmatz) created - - [Documented the recommended MIME type for Nushell](https://github.com/nushell/nushell.github.io/pull/1556) - -## Nu_Scripts - -- [HirschBerge](https://github.com/HirschBerge) created - - [Updated `ani-cli` completions](https://github.com/nushell/nu_scripts/pull/969) -- [NotTheDr01ds](https://github.com/NotTheDr01ds) created - - [Table and list helper commands](https://github.com/nushell/nu_scripts/pull/967) - - [Remove outdated logging module](https://github.com/nushell/nu_scripts/pull/966) -- [Schweber](https://github.com/Schweber) created - - [nix: add nufetch.nu](https://github.com/nushell/nu_scripts/pull/963) -- [schrieveslaach](https://github.com/schrieveslaach) created - - [Fix git diff completions](https://github.com/nushell/nu_scripts/pull/962) -- [louiss0](https://github.com/louiss0) created - - [feat: add yadm completions to the repo](https://github.com/nushell/nu_scripts/pull/960) -- [AucaCoyan](https://github.com/AucaCoyan) created - - [:sparkles: completions for `bmc` client](https://github.com/nushell/nu_scripts/pull/932) - - [:adhesive_bandage: fix `git init --initial-branch` string instead of bool](https://github.com/nushell/nu_scripts/pull/959) -- [OJarrisonn](https://github.com/OJarrisonn) created - - [fix: adequates to new rustup help page style](https://github.com/nushell/nu_scripts/pull/958) - -## Reedline - -- [blindFS](https://github.com/blindFS) created - - [Attempt to fix multiline prompt resize issue](https://github.com/nushell/reedline/pull/841) -- [andylokandy](https://github.com/andylokandy) created - - [Fix external printer don't print until key press](https://github.com/nushell/reedline/pull/840) -- [uek-1](https://github.com/uek-1) created - - [made can_partially_complete() only complete when suggesting more than the input](https://github.com/nushell/reedline/pull/834) - - [Fixed demo completions](https://github.com/nushell/reedline/pull/835) - - [Added partial completions to the MenuNext event](https://github.com/nushell/reedline/pull/828) -- [WindSoilder](https://github.com/WindSoilder) created - - [emacs mode: change ctrl-k to `cut to line end`](https://github.com/nushell/reedline/pull/826) -- [replcat](https://github.com/replcat) created - - [Add test for kitty protocol modifier key in vi mode](https://github.com/nushell/reedline/pull/831) From 1d9d61b9791dab5c71edf5a7e330fa30bab728cc Mon Sep 17 00:00:00 2001 From: Devyn Cairns Date: Tue, 15 Oct 2024 22:55:09 -0700 Subject: [PATCH 9/9] just add note about no plugin changes --- blog/2024-10-15-nushell_0_99_0.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/blog/2024-10-15-nushell_0_99_0.md b/blog/2024-10-15-nushell_0_99_0.md index 4863c4f76d3..e8b90c3c771 100644 --- a/blog/2024-10-15-nushell_0_99_0.md +++ b/blog/2024-10-15-nushell_0_99_0.md @@ -362,6 +362,8 @@ Thanks to [@anka-213](https://github.com/anka-213) in [#10395](https://github.co # Notes for plugin developers [[toc](#table-of-content)] +There were no changes to the plugin API or protocol in this release. Compiling with the new version or bumping the protocol version should be sufficient to update any plugins. + # Hall of fame [[toc](#table-of-content)] Thanks to all the contributors below for helping us solve issues and improve documentation :pray: