From 65109466a4c05e88e7bdd639594529502e91c113 Mon Sep 17 00:00:00 2001 From: ysthakur <45539777+ysthakur@users.noreply.github.com> Date: Tue, 4 Feb 2025 23:42:47 -0500 Subject: [PATCH 01/23] Release notes for `0.103.0` Please add your new features and breaking changes to the release notes by opening PRs against the `release-notes-0.103.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/2025-03-04-nushell_0_103_0.md | 79 ++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 blog/2025-03-04-nushell_0_103_0.md diff --git a/blog/2025-03-04-nushell_0_103_0.md b/blog/2025-03-04-nushell_0_103_0.md new file mode 100644 index 00000000000..d649bd75a8f --- /dev/null +++ b/blog/2025-03-04-nushell_0_103_0.md @@ -0,0 +1,79 @@ +--- +title: Nushell 0.103.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.103.0 of Nu. This release adds... +--- + + + + + +# Nushell 0.103.0 + + + +Today, we're releasing version 0.103.0 of Nu. This release adds... + +# Where to get it + +Nu 0.103.0 is available as [pre-built binaries](https://github.com/nushell/nushell/releases/tag/0.103.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 + + + + +# Changes + +## Additions + +## Breaking changes + +## Deprecations + +## Removals + +## Bug fixes and other changes + +# Notes for plugin developers + +# Hall of fame + +Thanks to all the contributors below for helping us solve issues, improve documentation, refactor code, and more! :pray: + +| author | title | link | +| ------------------------------------ | ----- | ------------------------------------------------------- | +| [@author](https://github.com/author) | ... | [#12345](https://github.com/nushell/nushell/pull/12345) | + +# Full changelog + + From efa33e94568ecc8f95510270da178c5dd5f60b8a Mon Sep 17 00:00:00 2001 From: Yash Thakur <45539777+ysthakur@users.noreply.github.com> Date: Fri, 7 Feb 2025 04:41:47 -0500 Subject: [PATCH 02/23] Include link to plugins in 0.103 release notes (#1789) --- blog/2025-03-04-nushell_0_103_0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2025-03-04-nushell_0_103_0.md b/blog/2025-03-04-nushell_0_103_0.md index d649bd75a8f..3315ec5014f 100644 --- a/blog/2025-03-04-nushell_0_103_0.md +++ b/blog/2025-03-04-nushell_0_103_0.md @@ -20,7 +20,7 @@ Today, we're releasing version 0.103.0 of Nu. This release adds... Nu 0.103.0 is available as [pre-built binaries](https://github.com/nushell/nushell/releases/tag/0.103.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_`. +As part of this release, we also publish a set of [optional plugins](https://www.nushell.sh/book/plugins.html#core-plugins) you can install and use with Nu. To install, use `cargo install nu_plugin_`. # Table of contents From e30744b79d3170d3806f979e42f24f2c803bfdc5 Mon Sep 17 00:00:00 2001 From: NotTheDr01ds <32344964+NotTheDr01ds@users.noreply.github.com> Date: Fri, 7 Feb 2025 11:30:26 -0500 Subject: [PATCH 03/23] Fix date on 0.103 release notes --- ...2025-03-04-nushell_0_103_0.md => 2025-03-18-nushell_0_103_0.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename blog/2025-03-04-nushell_0_103_0.md => 2025-03-18-nushell_0_103_0.md (100%) diff --git a/blog/2025-03-04-nushell_0_103_0.md b/2025-03-18-nushell_0_103_0.md similarity index 100% rename from blog/2025-03-04-nushell_0_103_0.md rename to 2025-03-18-nushell_0_103_0.md From 57875ae60a706d166e47fe4b5ca7055071e3744f Mon Sep 17 00:00:00 2001 From: Ian Manske Date: Wed, 12 Mar 2025 19:32:12 -0700 Subject: [PATCH 04/23] Move file --- .../2025-03-18-nushell_0_103_0.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename 2025-03-18-nushell_0_103_0.md => blog/2025-03-18-nushell_0_103_0.md (100%) diff --git a/2025-03-18-nushell_0_103_0.md b/blog/2025-03-18-nushell_0_103_0.md similarity index 100% rename from 2025-03-18-nushell_0_103_0.md rename to blog/2025-03-18-nushell_0_103_0.md From 26a198c9f056ce91637108fdbf778f14852eeea7 Mon Sep 17 00:00:00 2001 From: Ian Manske Date: Wed, 12 Mar 2025 21:56:13 -0700 Subject: [PATCH 05/23] Add full changelog to date --- blog/2025-03-18-nushell_0_103_0.md | 139 +++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) diff --git a/blog/2025-03-18-nushell_0_103_0.md b/blog/2025-03-18-nushell_0_103_0.md index 3315ec5014f..5449a6c8115 100644 --- a/blog/2025-03-18-nushell_0_103_0.md +++ b/blog/2025-03-18-nushell_0_103_0.md @@ -66,6 +66,145 @@ Thanks to all the contributors below for helping us solve issues, improve docume # Full changelog +| author | title | link | +| ---------------------------------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| [@132ikl](https://github.com/132ikl) | Add search terms for hide and hide-env | [#15017](https://github.com/nushell/nushell/pull/15017) | +| [@132ikl](https://github.com/132ikl) | Fix match running closures as block | [#15032](https://github.com/nushell/nushell/pull/15032) | +| [@132ikl](https://github.com/132ikl) | Run-time pipeline input type checking performance optimizations | [#15192](https://github.com/nushell/nushell/pull/15192) | +| [@132ikl](https://github.com/132ikl) | Parse XML documents with DTDs by default, and add `--disallow-dtd` flag | [#15272](https://github.com/nushell/nushell/pull/15272) | +| [@Bahex](https://github.com/Bahex) | Custom command attributes | [#14906](https://github.com/nushell/nushell/pull/14906) | +| [@Bahex](https://github.com/Bahex) | fix extern commands' extra description | [#14996](https://github.com/nushell/nushell/pull/14996) | +| [@Bahex](https://github.com/Bahex) | make `echo` const | [#14997](https://github.com/nushell/nushell/pull/14997) | +| [@Bahex](https://github.com/Bahex) | fix block spans for the module keyword | [#15078](https://github.com/nushell/nushell/pull/15078) | +| [@Bahex](https://github.com/Bahex) | use 0-indexing in `explore` | [#15079](https://github.com/nushell/nushell/pull/15079) | +| [@Bahex](https://github.com/Bahex) | feat(std/dirs): retain state in subshells or with exec-restarts | [#15080](https://github.com/nushell/nushell/pull/15080) | +| [@Bahex](https://github.com/Bahex) | feat(overlay): expose constants with `overlay use` | [#15081](https://github.com/nushell/nushell/pull/15081) | +| [@Bahex](https://github.com/Bahex) | feat(const): implement run_const for `const` | [#15082](https://github.com/nushell/nushell/pull/15082) | +| [@Bahex](https://github.com/Bahex) | docs(std-rfc): use actual examples rather than doc comments | [#15097](https://github.com/nushell/nushell/pull/15097) | +| [@Bahex](https://github.com/Bahex) | fix(test stdlib): scanning tests shouldn't be affected by user config | [#15113](https://github.com/nushell/nushell/pull/15113) | +| [@Bahex](https://github.com/Bahex) | docs(chunks): make `chunks` easier to discover for binary data | [#15117](https://github.com/nushell/nushell/pull/15117) | +| [@Bahex](https://github.com/Bahex) | `split list`: add streaming, closure argument, and splitting before/after a separator | [#15161](https://github.com/nushell/nushell/pull/15161) | +| [@IanManske](https://github.com/IanManske) | Rework operator type errors | [#14429](https://github.com/nushell/nushell/pull/14429) | +| [@IanManske](https://github.com/IanManske) | Add insert benchmarks | [#15166](https://github.com/nushell/nushell/pull/15166) | +| [@IanManske](https://github.com/IanManske) | Respect system locale when formatting file sizes via config | [#15271](https://github.com/nushell/nushell/pull/15271) | +| [@IanManske](https://github.com/IanManske) | Add `filesize.show_unit` config option | [#15276](https://github.com/nushell/nushell/pull/15276) | +| [@KAAtheWiseGit](https://github.com/KAAtheWiseGit) | Fix an integer overflow bug in `into duration` | [#15031](https://github.com/nushell/nushell/pull/15031) | +| [@LoicRiegel](https://github.com/LoicRiegel) | doc: clarify trailing line ending in 'to json -r' documentation | [#15234](https://github.com/nushell/nushell/pull/15234) | +| [@LoicRiegel](https://github.com/LoicRiegel) | bugfix: math commands now return error with infinite range [#15135] | [#15236](https://github.com/nushell/nushell/pull/15236) | +| [@LoicRiegel](https://github.com/LoicRiegel) | bugfix: add "to yml" command | [#15254](https://github.com/nushell/nushell/pull/15254) | +| [@MMesch](https://github.com/MMesch) | add polars str strip chars (with --end / --start options) | [#15118](https://github.com/nushell/nushell/pull/15118) | +| [@MMesch](https://github.com/MMesch) | adds And and Or operators to polars plugin nu_expressions | [#15248](https://github.com/nushell/nushell/pull/15248) | +| [@MMesch](https://github.com/MMesch) | Add Xor to polars plugin nu_expressions | [#15249](https://github.com/nushell/nushell/pull/15249) | +| [@MMesch](https://github.com/MMesch) | Enhance polars plugin documentation | [#15250](https://github.com/nushell/nushell/pull/15250) | +| [@MMesch](https://github.com/MMesch) | Adds polars list-contains command | [#15304](https://github.com/nushell/nushell/pull/15304) | +| [@MMukundi](https://github.com/MMukundi) | Fix insert/upsert creation for nested lists (#15131) | [#15133](https://github.com/nushell/nushell/pull/15133) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Move `std-rfc` into Nushell | [#15042](https://github.com/nushell/nushell/pull/15042) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Remove `--no-default-features` for `std-lib-and-python-virtualenv` CI | [#15045](https://github.com/nushell/nushell/pull/15045) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Adds platform agnostic EoL separator to `char` command | [#15059](https://github.com/nushell/nushell/pull/15059) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Fix `char lsep` assignment | [#15065](https://github.com/nushell/nushell/pull/15065) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Add `std-rfc` README | [#15066](https://github.com/nushell/nushell/pull/15066) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Enable theming the Welcome Banner | [#15095](https://github.com/nushell/nushell/pull/15095) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Update `std-rfc` tests to use `@test` attributes | [#15098](https://github.com/nushell/nushell/pull/15098) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Add `buffer_editor` example with arguments in `config nu --doc` | [#15122](https://github.com/nushell/nushell/pull/15122) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Fix failing test when using man version 2.13.0 | [#15123](https://github.com/nushell/nushell/pull/15123) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Replace "function" with "command" in several user-facing doc | [#15129](https://github.com/nushell/nushell/pull/15129) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Remove inheritance for PROMPT variables created in `default_env.nu` | [#15130](https://github.com/nushell/nushell/pull/15130) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Remove BACKTRACE message for non-panic errors | [#15143](https://github.com/nushell/nushell/pull/15143) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Fix improper application of local timezone offset to Unix epochs | [#15283](https://github.com/nushell/nushell/pull/15283) | +| [@WindSoilder](https://github.com/WindSoilder) | Enable nushell error with backtrace | [#14945](https://github.com/nushell/nushell/pull/14945) | +| [@WindSoilder](https://github.com/WindSoilder) | update miette to 7.5 | [#15014](https://github.com/nushell/nushell/pull/15014) | +| [@WindSoilder](https://github.com/WindSoilder) | remove duplicate code in math/log.rs | [#15022](https://github.com/nushell/nushell/pull/15022) | +| [@WindSoilder](https://github.com/WindSoilder) | allow `export alias` in repl | [#15054](https://github.com/nushell/nushell/pull/15054) | +| [@WindSoilder](https://github.com/WindSoilder) | Fix `missing required overlay` error | [#15058](https://github.com/nushell/nushell/pull/15058) | +| [@WindSoilder](https://github.com/WindSoilder) | make plugin compatible with nightly nushell version | [#15084](https://github.com/nushell/nushell/pull/15084) | +| [@WindSoilder](https://github.com/WindSoilder) | fix $env.FILE_PWD and $env.CURRENT_FILE inside overlay use | [#15126](https://github.com/nushell/nushell/pull/15126) | +| [@WindSoilder](https://github.com/WindSoilder) | add a helpful msg to indicate a job has been frozen | [#15206](https://github.com/nushell/nushell/pull/15206) | +| [@app/dependabot](https://github.com/app/dependabot) | build(deps): bump crate-ci/typos from 1.29.4 to 1.29.5 | [#15006](https://github.com/nushell/nushell/pull/15006) | +| [@app/dependabot](https://github.com/app/dependabot) | build(deps): bump bytes from 1.9.0 to 1.10.0 | [#15010](https://github.com/nushell/nushell/pull/15010) | +| [@app/dependabot](https://github.com/app/dependabot) | build(deps): bump data-encoding from 2.7.0 to 2.8.0 | [#15101](https://github.com/nushell/nushell/pull/15101) | +| [@app/dependabot](https://github.com/app/dependabot) | build(deps): bump actions-rust-lang/setup-rust-toolchain from 1.10.1 to 1.11.0 | [#15179](https://github.com/nushell/nushell/pull/15179) | +| [@app/dependabot](https://github.com/app/dependabot) | build(deps): bump crate-ci/typos from 1.29.5 to 1.29.10 | [#15180](https://github.com/nushell/nushell/pull/15180) | +| [@app/dependabot](https://github.com/app/dependabot) | build(deps): bump rust-embed from 8.5.0 to 8.6.0 | [#15183](https://github.com/nushell/nushell/pull/15183) | +| [@atahabaki](https://github.com/atahabaki) | Feature+: Bracoxide Zero Padding for Numeric Ranges | [#15125](https://github.com/nushell/nushell/pull/15125) | +| [@ayamdobhal](https://github.com/ayamdobhal) | feat(random uuid): add support for uuid versions other than 4. | [#15239](https://github.com/nushell/nushell/pull/15239) | +| [@ayax79](https://github.com/ayax79) | Added S3 support for `polars save` | [#15005](https://github.com/nushell/nushell/pull/15005) | +| [@ayax79](https://github.com/ayax79) | Polars: Minor code cleanup | [#15144](https://github.com/nushell/nushell/pull/15144) | +| [@ayax79](https://github.com/ayax79) | Expose flag to not maintain order on `polars concat` | [#15145](https://github.com/nushell/nushell/pull/15145) | +| [@ayax79](https://github.com/ayax79) | move to polars bigidx | [#15177](https://github.com/nushell/nushell/pull/15177) | +| [@ayax79](https://github.com/ayax79) | `polars strip-chars`: Allow any polars expression for pattern argument | [#15178](https://github.com/nushell/nushell/pull/15178) | +| [@ayax79](https://github.com/ayax79) | `polars open`: exposing the ability to configure hive settings. | [#15255](https://github.com/nushell/nushell/pull/15255) | +| [@ayax79](https://github.com/ayax79) | Polars: Map pq extension to parquet files | [#15284](https://github.com/nushell/nushell/pull/15284) | +| [@ayax79](https://github.com/ayax79) | Support for reading Categorical and Enum types | [#15292](https://github.com/nushell/nushell/pull/15292) | +| [@blindFS](https://github.com/blindFS) | refactor(completion): AST traverse to find the inner-most expression to complete | [#14973](https://github.com/nushell/nushell/pull/14973) | +| [@blindFS](https://github.com/blindFS) | refactor(completion): expression based variable/cell_path completion | [#15033](https://github.com/nushell/nushell/pull/15033) | +| [@blindFS](https://github.com/blindFS) | fix: clippy warnings with `--all-features` | [#15035](https://github.com/nushell/nushell/pull/15035) | +| [@blindFS](https://github.com/blindFS) | fix(lsp): exit on null root_dir | [#15051](https://github.com/nushell/nushell/pull/15051) | +| [@blindFS](https://github.com/blindFS) | fix(lsp): inlay hints span issue with user config scripts | [#15071](https://github.com/nushell/nushell/pull/15071) | +| [@blindFS](https://github.com/blindFS) | refactor(completion): flatten_shape -> expression for internal/external/operator | [#15086](https://github.com/nushell/nushell/pull/15086) | +| [@blindFS](https://github.com/blindFS) | feat(lsp): hover on external command shows manpage | [#15115](https://github.com/nushell/nushell/pull/15115) | +| [@blindFS](https://github.com/blindFS) | fix(completion): edge cases of operator completions | [#15169](https://github.com/nushell/nushell/pull/15169) | +| [@blindFS](https://github.com/blindFS) | fix(completion): `prefix_str` should be trimmed to element_expression | [#15171](https://github.com/nushell/nushell/pull/15171) | +| [@blindFS](https://github.com/blindFS) | feat(lsp): semantic tokens for highlighting internal commands with spaces | [#15173](https://github.com/nushell/nushell/pull/15173) | +| [@blindFS](https://github.com/blindFS) | fix(lsp): completion of commands defined after the cursor | [#15188](https://github.com/nushell/nushell/pull/15188) | +| [@blindFS](https://github.com/blindFS) | fix: new clippy warnings from rust 1.85.0 | [#15203](https://github.com/nushell/nushell/pull/15203) | +| [@blindFS](https://github.com/blindFS) | fix(lsp): completion label descriptions for cell_path and external values | [#15226](https://github.com/nushell/nushell/pull/15226) | +| [@blindFS](https://github.com/blindFS) | feat(lsp): signature help (manually triggered) | [#15233](https://github.com/nushell/nushell/pull/15233) | +| [@blindFS](https://github.com/blindFS) | fix(lsp): completion on command with following text | [#15238](https://github.com/nushell/nushell/pull/15238) | +| [@blindFS](https://github.com/blindFS) | feat(lsp): completion items now respect the `append_whitespace` flag | [#15247](https://github.com/nushell/nushell/pull/15247) | +| [@blindFS](https://github.com/blindFS) | fix: security_audit, bump ring from 0.17.8 to 0.17.13 | [#15263](https://github.com/nushell/nushell/pull/15263) | +| [@blindFS](https://github.com/blindFS) | refactor(lsp): span fix made easy by bumping lsp-textdocument to 0.4.2 | [#15287](https://github.com/nushell/nushell/pull/15287) | +| [@blindFS](https://github.com/blindFS) | fix(lsp): find_id for custom def in custom def | [#15289](https://github.com/nushell/nushell/pull/15289) | +| [@blindFS](https://github.com/blindFS) | refactor: tree-sitter-nu friendly alternative expressions | [#15301](https://github.com/nushell/nushell/pull/15301) | +| [@blindFS](https://github.com/blindFS) | fix(completion): full set of operators for type any | [#15303](https://github.com/nushell/nushell/pull/15303) | +| [@cosineblast](https://github.com/cosineblast) | Jobs | [#14883](https://github.com/nushell/nushell/pull/14883) | +| [@cosineblast](https://github.com/cosineblast) | Transpose now rejects streams with non-record values | [#15151](https://github.com/nushell/nushell/pull/15151) | +| [@cptpiepmatz](https://github.com/cptpiepmatz) | Replaced `IoError::new_with_additional_context` calls that still had `Span::unknown()` | [#15056](https://github.com/nushell/nushell/pull/15056) | +| [@cptpiepmatz](https://github.com/cptpiepmatz) | Use `proc-macro-error2` instead of `proc-macro-error` | [#15093](https://github.com/nushell/nushell/pull/15093) | +| [@cptpiepmatz](https://github.com/cptpiepmatz) | More precise `ErrorKind::NotFound` errors | [#15149](https://github.com/nushell/nushell/pull/15149) | +| [@cptpiepmatz](https://github.com/cptpiepmatz) | Test on Beta Toolchain | [#15280](https://github.com/nushell/nushell/pull/15280) | +| [@dam4rus](https://github.com/dam4rus) | feat(explore): Allow expanding selected cell with 'e' | [#15000](https://github.com/nushell/nushell/pull/15000) | +| [@eggcaker](https://github.com/eggcaker) | fix polars save example typo | [#15008](https://github.com/nushell/nushell/pull/15008) | +| [@fdncred](https://github.com/fdncred) | add `attr category` `@category` to custom command attributes | [#15137](https://github.com/nushell/nushell/pull/15137) | +| [@fdncred](https://github.com/fdncred) | update to the latest reedline | [#15139](https://github.com/nushell/nushell/pull/15139) | +| [@fdncred](https://github.com/fdncred) | bump the rust toolchain to 1.83.0 | [#15148](https://github.com/nushell/nushell/pull/15148) | +| [@fdncred](https://github.com/fdncred) | allow bench to handle larger numbers | [#15162](https://github.com/nushell/nushell/pull/15162) | +| [@fdncred](https://github.com/fdncred) | update `query json` help and examples | [#15190](https://github.com/nushell/nushell/pull/15190) | +| [@fdncred](https://github.com/fdncred) | update reedline editcommands in nushell | [#15191](https://github.com/nushell/nushell/pull/15191) | +| [@fdncred](https://github.com/fdncred) | allow --group-digits to be used in `into string` | [#15265](https://github.com/nushell/nushell/pull/15265) | +| [@hardfau1t](https://github.com/hardfau1t) | fix(test-support): use CARGO_BUILD_TARGET_DIR env var | [#15212](https://github.com/nushell/nushell/pull/15212) | +| [@hardfau1t](https://github.com/hardfau1t) | fix(compact): compact empty list or record in column | [#15213](https://github.com/nushell/nushell/pull/15213) | +| [@hongquan](https://github.com/hongquan) | Provide more directories autocomplete for "overlay use" | [#15057](https://github.com/nushell/nushell/pull/15057) | +| [@hongquan](https://github.com/hongquan) | Improve documentation for `each` command | [#15172](https://github.com/nushell/nushell/pull/15172) | +| [@hustcer](https://github.com/hustcer) | Fix tests of docker image and Update Nu LICENSE | [#15015](https://github.com/nushell/nushell/pull/15015) | +| [@hustcer](https://github.com/hustcer) | Refactor `kv` commands: replace inline params in SQL queries | [#15108](https://github.com/nushell/nushell/pull/15108) | +| [@hustcer](https://github.com/hustcer) | Add ansi codes to move cursor position | [#15221](https://github.com/nushell/nushell/pull/15221) | +| [@kubouch](https://github.com/kubouch) | Remove Twitter from README | [#15026](https://github.com/nushell/nushell/pull/15026) | +| [@sgvictorino](https://github.com/sgvictorino) | check signals while printing values | [#14980](https://github.com/nushell/nushell/pull/14980) | +| [@sgvictorino](https://github.com/sgvictorino) | remove `nu-check` examples with the `--all` flag | [#15047](https://github.com/nushell/nushell/pull/15047) | +| [@sgvictorino](https://github.com/sgvictorino) | fix ranges over zero-length input | [#15062](https://github.com/nushell/nushell/pull/15062) | +| [@sgvictorino](https://github.com/sgvictorino) | check signals in `nu-glob` and `ls` | [#15140](https://github.com/nushell/nushell/pull/15140) | +| [@sgvictorino](https://github.com/sgvictorino) | prevent panic when parsing incomplete multi-expr (` | `) matches | [#15230](https://github.com/nushell/nushell/pull/15230) | +| [@sholderbach](https://github.com/sholderbach) | Fuzz more realistically with keyword const eval | [#15036](https://github.com/nushell/nushell/pull/15036) | +| [@sholderbach](https://github.com/sholderbach) | Trigger tests for patch release branch pushes | [#15037](https://github.com/nushell/nushell/pull/15037) | +| [@sholderbach](https://github.com/sholderbach) | Remove `range` command after deprecation | [#15038](https://github.com/nushell/nushell/pull/15038) | +| [@sholderbach](https://github.com/sholderbach) | Remove `into bits` after deprecation | [#15039](https://github.com/nushell/nushell/pull/15039) | +| [@sholderbach](https://github.com/sholderbach) | Remove `fmt` after deprecation | [#15040](https://github.com/nushell/nushell/pull/15040) | +| [@sholderbach](https://github.com/sholderbach) | Fix usages of `fmt` to `format number` | [#15041](https://github.com/nushell/nushell/pull/15041) | +| [@sholderbach](https://github.com/sholderbach) | Use build_target information in startup banner | [#15046](https://github.com/nushell/nushell/pull/15046) | +| [@sholderbach](https://github.com/sholderbach) | Refactor/fix tests affecting the whole command set | [#15073](https://github.com/nushell/nushell/pull/15073) | +| [@sholderbach](https://github.com/sholderbach) | Bump `bytesize` to fix `into filesize` | [#15088](https://github.com/nushell/nushell/pull/15088) | +| [@sholderbach](https://github.com/sholderbach) | Fix `match` blocks in `std-rfc/kv` implementation | [#15089](https://github.com/nushell/nushell/pull/15089) | +| [@sholderbach](https://github.com/sholderbach) | Bump yanked dependencies | [#15090](https://github.com/nushell/nushell/pull/15090) | +| [@sholderbach](https://github.com/sholderbach) | Bump Ubuntu runners to 22.04 LTS for tests | [#15109](https://github.com/nushell/nushell/pull/15109) | +| [@sholderbach](https://github.com/sholderbach) | Revert `/` vi binding due to priority bug | [#15111](https://github.com/nushell/nushell/pull/15111) | +| [@sholderbach](https://github.com/sholderbach) | Bump `ratatui` to `0.29.0` | [#15187](https://github.com/nushell/nushell/pull/15187) | +| [@sholderbach](https://github.com/sholderbach) | Bump reedline to latest commit | [#15189](https://github.com/nushell/nushell/pull/15189) | +| [@tmillr](https://github.com/tmillr) | feat(cli): add vi solidus `/` keybinding | [#14908](https://github.com/nushell/nushell/pull/14908) | +| [@ysthakur](https://github.com/ysthakur) | Bump to 0.102.1 dev version | [#15012](https://github.com/nushell/nushell/pull/15012) | +| [@ysthakur](https://github.com/ysthakur) | Fix spread operator lexing in records | [#15023](https://github.com/nushell/nushell/pull/15023) | +| [@ysthakur](https://github.com/ysthakur) | Fix unterminated loop in parse_record | [#15246](https://github.com/nushell/nushell/pull/15246) | +| [@ysthakur](https://github.com/ysthakur) | Include symlinks in directory completions | [#15268](https://github.com/nushell/nushell/pull/15268) | + + + From 9d63c54132a439d2b358308fb2809b2fd8ad9af3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Riegel?= <96702577+LoicRiegel@users.noreply.github.com> Date: Thu, 13 Mar 2025 19:25:58 +0100 Subject: [PATCH 07/23] Release note addition for 'to yal' (#1828) --- blog/2025-03-18-nushell_0_103_0.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/blog/2025-03-18-nushell_0_103_0.md b/blog/2025-03-18-nushell_0_103_0.md index 1c613d2b8c1..fe7854e3bec 100644 --- a/blog/2025-03-18-nushell_0_103_0.md +++ b/blog/2025-03-18-nushell_0_103_0.md @@ -28,9 +28,27 @@ As part of this release, we also publish a set of [optional plugins](https://www # Highlights and themes of this release +| author | title | link | +| ------ | ----- | ---- | | [@Bahex](https://github.com/Bahex) | Custom command attributes | [#14906](https://github.com/nushell/nushell/pull/14906) | | [@cosineblast](https://github.com/cosineblast) | Jobs | [#14883](https://github.com/nushell/nushell/pull/14883) | +## Save to YAML files with either `to yaml` or `to yml` + +As pointed out in [#15240](https://github.com/nushell/nushell/issues/15240), it was previously possible to load data from YAML files using the `from yaml` or `from yml` commands, but only possible to save data using `to yaml`. +Now you can use either `to yaml` or `to yml` indistinctly to save data into YAML files. + +```nu +> [[foo bar]; ["1" "2"]] | to yml +- foo: '1' + bar: '2' +``` + +Thanks to this, the `save` command can also be used with the `.yml` extension: +```nu +> [[foo bar]; ["1" "2"]] | save test.yml +``` + + +As part of the [new custom command attributes]() introduced in this release, several attribute commands have been added: + +- `attr example`: Attach an example to a command's help text. + ```nu + @example "double an int" { 5 | double } --result 10 + @example "double a float" { 0.5 | double } --result 1.0 + def double []: [number -> number] { + $in * 2 + } + # The examples above will be shown in `help double` or `double --help`. + ``` +- `attr search-terms`: Attach search terms to a command so that it is easier to find using `help --find`. +- `attr category`: Set the command category for a command. + +### `random uuid` + +Thanks to [@ayamdobhal](https://github.com/ayamdobhal) in [#15239](https://github.com/nushell/nushell/pull/15239), the `random uuid` command can now also generate v1, v3, v5, and v7 uuids. Previously, only v4 uuids could be generated. To specify the version, pass the `-v`/`--version` flag (default is v4). Note that version 1 requires an additional `--mac`/`-m` flag to be provided, and versions 3 and 5 require both a `--namespace`/`-n` flag and a `--name`/`-s` flag. + +### Platform-specific `char eol` + +In [#15059](https://github.com/nushell/nushell/pull/15059), several additional characters were added to the `char` command: + +- `eol` +- `lsep` +- `line_sep` + +These will output the new line character(s) for the current platform (i.e, `\n` on unix and `\r\n` on windows). This is different from `newline`, `nl`, `line_feed`, and `lf` which will all output `\n` on all platforms. + +### `into string --group-digits` + +With [#15265](https://github.com/nushell/nushell/pull/15265), providing the `--group-digits` flag to the `into string` command will format integers by grouping several digits together and using the system locale digit separator. + +### `from xml --disallow-dtd` + +After [#15272](https://github.com/nushell/nushell/pull/15272), document type declarations (DTD) are now parsed by default when using `from xml`. To disallow DTDs and instead error like before, you can pass the new `--disallow-dtd` flag. + +### `to yml` + +As pointed out in [#15240](https://github.com/nushell/nushell/issues/15240), it was previously possible to load data from YAML files using the `from yaml` or `from yml` commands, but only possible to save data using `to yaml`. Now, you can use either `to yaml` or `to yml` to save data into YAML files thanks to [@LoicRiegel](https://github.com/LoicRiegel) in [#15254](https://github.com/nushell/nushell/pull/15254). + +```nu +> [[foo bar]; ["1" "2"]] | to yml +- foo: '1' + bar: '2' +``` + +Thanks to this, the `save` command can also be used with the `.yml` extension: + +```nu +> [[foo bar]; ["1" "2"]] | save test.yml +``` + +### `overlay use` completions + +Thanks to [@hongquan](https://github.com/hongquan) in [#15057](https://github.com/nushell/nushell/pull/15057) with input from [@blindFS](https://github.com/blindFS), autocomplete now lists more directories for `overlay use`. + +### `$env.config.filesize.show_unit` + +A new config option, `$env.config.filesize.show_unit`, was introducted in [#15276](https://github.com/nushell/nushell/pull/15276). `show_unit` is `true` by default, but when it is set to `false`, file sizes will be displayed without units (e.g., in `table`). This can be useful if you have set `filesize.unit` to a fixed unit, and you do not want the same unit to be shown over and over again. ## Breaking changes @@ -92,8 +125,6 @@ Thanks to this, the `save` command can also be used with the `.yml` extension: | [@IanManske](https://github.com/IanManske) | Respect system locale when formatting file sizes via config | [#15271](https://github.com/nushell/nushell/pull/15271) | | [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Remove inheritance for PROMPT variables created in `default_env.nu` | [#15130](https://github.com/nushell/nushell/pull/15130) | -## Deprecations - ## Removals ### `range` @@ -111,7 +142,7 @@ The `fmt` command has been removed in [#15040](https://github.com/nushell/nushel ## Bug fixes and other changes | author | title | link | -| -------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------- | ------------------------------------------------------- | +| -------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------- | | [@Bahex](https://github.com/Bahex) | make `echo` const | [#14997](https://github.com/nushell/nushell/pull/14997) | | [@Bahex](https://github.com/Bahex) | feat(std/dirs): retain state in subshells or with exec-restarts | [#15080](https://github.com/nushell/nushell/pull/15080) | | [@Bahex](https://github.com/Bahex) | feat(overlay): expose constants with `overlay use` | [#15081](https://github.com/nushell/nushell/pull/15081) | @@ -120,16 +151,18 @@ The `fmt` command has been removed in [#15040](https://github.com/nushell/nushel | [@KAAtheWiseGit](https://github.com/KAAtheWiseGit) | Fix an integer overflow bug in `into duration` | [#15031](https://github.com/nushell/nushell/pull/15031) | | [@LoicRiegel](https://github.com/LoicRiegel) | bugfix: math commands now return error with infinite range [#15135] | [#15236](https://github.com/nushell/nushell/pull/15236) | | [@MMukundi](https://github.com/MMukundi) | Fix insert/upsert creation for nested lists (#15131) | [#15133](https://github.com/nushell/nushell/pull/15133) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Enable theming the Welcome Banner | [#15095](https://github.com/nushell/nushell/pull/15095) | | [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Fix improper application of local timezone offset to Unix epochs | [#15283](https://github.com/nushell/nushell/pull/15283) | | [@WindSoilder](https://github.com/WindSoilder) | allow `export alias` in repl | [#15054](https://github.com/nushell/nushell/pull/15054) | | [@WindSoilder](https://github.com/WindSoilder) | Fix `missing required overlay` error | [#15058](https://github.com/nushell/nushell/pull/15058) | | [@WindSoilder](https://github.com/WindSoilder) | fix $env.FILE_PWD and $env.CURRENT_FILE inside overlay use | [#15126](https://github.com/nushell/nushell/pull/15126) | | [@cosineblast](https://github.com/cosineblast) | Transpose now rejects streams with non-record values | [#15151](https://github.com/nushell/nushell/pull/15151) | +| [@dam4rus](https://github.com/dam4rus) | feat(explore): Allow expanding selected cell with 'e' | [#15000](https://github.com/nushell/nushell/pull/15000) | | [@hardfau1t](https://github.com/hardfau1t) | fix(compact): compact empty list or record in column | [#15213](https://github.com/nushell/nushell/pull/15213) | | [@sgvictorino](https://github.com/sgvictorino) | check signals while printing values | [#14980](https://github.com/nushell/nushell/pull/14980) | | [@sgvictorino](https://github.com/sgvictorino) | fix ranges over zero-length input | [#15062](https://github.com/nushell/nushell/pull/15062) | | [@sgvictorino](https://github.com/sgvictorino) | check signals in `nu-glob` and `ls` | [#15140](https://github.com/nushell/nushell/pull/15140) | -| [@sgvictorino](https://github.com/sgvictorino) | prevent panic when parsing incomplete multi-expr | matches | [#15230](https://github.com/nushell/nushell/pull/15230) | +| [@sgvictorino](https://github.com/sgvictorino) | prevent panic when parsing incomplete multi-expr matches | [#15230](https://github.com/nushell/nushell/pull/15230) | | [@sholderbach](https://github.com/sholderbach) | Bump `bytesize` to fix `into filesize` | [#15088](https://github.com/nushell/nushell/pull/15088) | | [@ysthakur](https://github.com/ysthakur) | Fix spread operator lexing in records | [#15023](https://github.com/nushell/nushell/pull/15023) | | [@ysthakur](https://github.com/ysthakur) | Fix unterminated loop in parse_record | [#15246](https://github.com/nushell/nushell/pull/15246) | From e4325ad3369fce48819a55140036ba9f9875ef9a Mon Sep 17 00:00:00 2001 From: Ian Manske Date: Sat, 15 Mar 2025 18:10:07 -0700 Subject: [PATCH 11/23] Fix typo --- blog/2025-03-18-nushell_0_103_0.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog/2025-03-18-nushell_0_103_0.md b/blog/2025-03-18-nushell_0_103_0.md index 62f9c3745bb..7a6cabafaab 100644 --- a/blog/2025-03-18-nushell_0_103_0.md +++ b/blog/2025-03-18-nushell_0_103_0.md @@ -113,7 +113,7 @@ Thanks to [@hongquan](https://github.com/hongquan) in [#15057](https://github.co ### `$env.config.filesize.show_unit` -A new config option, `$env.config.filesize.show_unit`, was introducted in [#15276](https://github.com/nushell/nushell/pull/15276). `show_unit` is `true` by default, but when it is set to `false`, file sizes will be displayed without units (e.g., in `table`). This can be useful if you have set `filesize.unit` to a fixed unit, and you do not want the same unit to be shown over and over again. +A new config option, `$env.config.filesize.show_unit`, was introduced in [#15276](https://github.com/nushell/nushell/pull/15276). `show_unit` is `true` by default, but when it is set to `false`, file sizes will be displayed without units (e.g., in `table`). This can be useful if you have set `filesize.unit` to a fixed unit, and you do not want the same unit to be shown over and over again. ## Breaking changes From ab01dd5f56962e7097a352a8c354f60848509b5a Mon Sep 17 00:00:00 2001 From: Ian Manske Date: Mon, 17 Mar 2025 22:23:02 -0700 Subject: [PATCH 12/23] Update full changelog and other notes --- blog/2025-03-18-nushell_0_103_0.md | 32 ++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/blog/2025-03-18-nushell_0_103_0.md b/blog/2025-03-18-nushell_0_103_0.md index 7a6cabafaab..a414829b523 100644 --- a/blog/2025-03-18-nushell_0_103_0.md +++ b/blog/2025-03-18-nushell_0_103_0.md @@ -73,6 +73,16 @@ As part of the [new custom command attributes]() introduced in this release, sev Thanks to [@ayamdobhal](https://github.com/ayamdobhal) in [#15239](https://github.com/nushell/nushell/pull/15239), the `random uuid` command can now also generate v1, v3, v5, and v7 uuids. Previously, only v4 uuids could be generated. To specify the version, pass the `-v`/`--version` flag (default is v4). Note that version 1 requires an additional `--mac`/`-m` flag to be provided, and versions 3 and 5 require both a `--namespace`/`-n` flag and a `--name`/`-s` flag. +### `default --empty` + +This release introduces a new `--empty` flag for the `default` command ([#15223](https://github.com/nushell/nushell/pull/15223)). With this new flag, if the input value is "empty", then the provided default value will be returned. A value is considering "empty" according to the `is-empty` command, which currently returns true for any of the following: + +- an empty string: `""` +- an empty list: `[]` +- an empty record: `{}` +- an empty binary value: `0x[]` +- null: `null` + ### Platform-specific `char eol` In [#15059](https://github.com/nushell/nushell/pull/15059), several additional characters were added to the `char` command: @@ -87,9 +97,9 @@ These will output the new line character(s) for the current platform (i.e, `\n` With [#15265](https://github.com/nushell/nushell/pull/15265), providing the `--group-digits` flag to the `into string` command will format integers by grouping several digits together and using the system locale digit separator. -### `from xml --disallow-dtd` +### `from xml --allow-dtd` -After [#15272](https://github.com/nushell/nushell/pull/15272), document type declarations (DTD) are now parsed by default when using `from xml`. To disallow DTDs and instead error like before, you can pass the new `--disallow-dtd` flag. +After [#15272](https://github.com/nushell/nushell/pull/15272), document type declarations (DTD) can now parsed by `from xml` if you pass the new `--allow-dtd` flag. ### `to yml` @@ -120,6 +130,7 @@ A new config option, `$env.config.filesize.show_unit`, was introduced in [#15276 | author | title | link | | ------------------------------------------------ | ------------------------------------------------------------------------------------- | ------------------------------------------------------- | | [@132ikl](https://github.com/132ikl) | Fix match running closures as block | [#15032](https://github.com/nushell/nushell/pull/15032) | +| [@132ikl](https://github.com/132ikl) | Unify closure serializing logic for `to nuon`, `to msgpack`, and `to json` | [#15285](https://github.com/nushell/nushell/pull/15285) | | [@Bahex](https://github.com/Bahex) | use 0-indexing in `explore` | [#15079](https://github.com/nushell/nushell/pull/15079) | | [@Bahex](https://github.com/Bahex) | `split list`: add streaming, closure argument, and splitting before/after a separator | [#15161](https://github.com/nushell/nushell/pull/15161) | | [@IanManske](https://github.com/IanManske) | Respect system locale when formatting file sizes via config | [#15271](https://github.com/nushell/nushell/pull/15271) | @@ -164,6 +175,7 @@ The `fmt` command has been removed in [#15040](https://github.com/nushell/nushel | [@sgvictorino](https://github.com/sgvictorino) | check signals in `nu-glob` and `ls` | [#15140](https://github.com/nushell/nushell/pull/15140) | | [@sgvictorino](https://github.com/sgvictorino) | prevent panic when parsing incomplete multi-expr matches | [#15230](https://github.com/nushell/nushell/pull/15230) | | [@sholderbach](https://github.com/sholderbach) | Bump `bytesize` to fix `into filesize` | [#15088](https://github.com/nushell/nushell/pull/15088) | +| [@sholderbach](https://github.com/sholderbach) | Close find handle in `ls` windows unsafe code | [#15314](https://github.com/nushell/nushell/pull/15314) | | [@ysthakur](https://github.com/ysthakur) | Fix spread operator lexing in records | [#15023](https://github.com/nushell/nushell/pull/15023) | | [@ysthakur](https://github.com/ysthakur) | Fix unterminated loop in parse_record | [#15246](https://github.com/nushell/nushell/pull/15246) | | [@ysthakur](https://github.com/ysthakur) | Include symlinks in directory completions | [#15268](https://github.com/nushell/nushell/pull/15268) | @@ -177,6 +189,7 @@ Thanks to all the contributors below for helping us solve issues, improve docume | author | title | link | | ---------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------- | | [@LoicRiegel](https://github.com/LoicRiegel) | doc: clarify trailing line ending in 'to json -r' documentation | [#15234](https://github.com/nushell/nushell/pull/15234) | +| [@LoicRiegel](https://github.com/LoicRiegel) | refactor: rename subcommand structs | [#15309](https://github.com/nushell/nushell/pull/15309) | | [@MMesch](https://github.com/MMesch) | add polars str strip chars (with --end / --start options) | [#15118](https://github.com/nushell/nushell/pull/15118) | | [@MMesch](https://github.com/MMesch) | adds And and Or operators to polars plugin nu_expressions | [#15248](https://github.com/nushell/nushell/pull/15248) | | [@MMesch](https://github.com/MMesch) | Add Xor to polars plugin nu_expressions | [#15249](https://github.com/nushell/nushell/pull/15249) | @@ -197,6 +210,8 @@ Thanks to all the contributors below for helping us solve issues, improve docume | [@132ikl](https://github.com/132ikl) | Fix match running closures as block | [#15032](https://github.com/nushell/nushell/pull/15032) | | [@132ikl](https://github.com/132ikl) | Run-time pipeline input type checking performance optimizations | [#15192](https://github.com/nushell/nushell/pull/15192) | | [@132ikl](https://github.com/132ikl) | Parse XML documents with DTDs by default, and add `--disallow-dtd` flag | [#15272](https://github.com/nushell/nushell/pull/15272) | +| [@132ikl](https://github.com/132ikl) | Unify closure serializing logic for `to nuon`, `to msgpack`, and `to json` | [#15285](https://github.com/nushell/nushell/pull/15285) | +| [@132ikl](https://github.com/132ikl) | Disallow DTD by default in `from xml` | [#15325](https://github.com/nushell/nushell/pull/15325) | | [@Bahex](https://github.com/Bahex) | Custom command attributes | [#14906](https://github.com/nushell/nushell/pull/14906) | | [@Bahex](https://github.com/Bahex) | fix extern commands' extra description | [#14996](https://github.com/nushell/nushell/pull/14996) | | [@Bahex](https://github.com/Bahex) | make `echo` const | [#14997](https://github.com/nushell/nushell/pull/14997) | @@ -213,10 +228,12 @@ Thanks to all the contributors below for helping us solve issues, improve docume | [@IanManske](https://github.com/IanManske) | Add insert benchmarks | [#15166](https://github.com/nushell/nushell/pull/15166) | | [@IanManske](https://github.com/IanManske) | Respect system locale when formatting file sizes via config | [#15271](https://github.com/nushell/nushell/pull/15271) | | [@IanManske](https://github.com/IanManske) | Add `filesize.show_unit` config option | [#15276](https://github.com/nushell/nushell/pull/15276) | +| [@IanManske](https://github.com/IanManske) | `into string` should not modify strings | [#15320](https://github.com/nushell/nushell/pull/15320) | | [@KAAtheWiseGit](https://github.com/KAAtheWiseGit) | Fix an integer overflow bug in `into duration` | [#15031](https://github.com/nushell/nushell/pull/15031) | | [@LoicRiegel](https://github.com/LoicRiegel) | doc: clarify trailing line ending in 'to json -r' documentation | [#15234](https://github.com/nushell/nushell/pull/15234) | | [@LoicRiegel](https://github.com/LoicRiegel) | bugfix: math commands now return error with infinite range [#15135] | [#15236](https://github.com/nushell/nushell/pull/15236) | | [@LoicRiegel](https://github.com/LoicRiegel) | bugfix: add "to yml" command | [#15254](https://github.com/nushell/nushell/pull/15254) | +| [@LoicRiegel](https://github.com/LoicRiegel) | refactor: rename subcommand structs | [#15309](https://github.com/nushell/nushell/pull/15309) | | [@MMesch](https://github.com/MMesch) | add polars str strip chars (with --end / --start options) | [#15118](https://github.com/nushell/nushell/pull/15118) | | [@MMesch](https://github.com/MMesch) | adds And and Or operators to polars plugin nu_expressions | [#15248](https://github.com/nushell/nushell/pull/15248) | | [@MMesch](https://github.com/MMesch) | Add Xor to polars plugin nu_expressions | [#15249](https://github.com/nushell/nushell/pull/15249) | @@ -235,6 +252,7 @@ Thanks to all the contributors below for helping us solve issues, improve docume | [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Replace "function" with "command" in several user-facing doc | [#15129](https://github.com/nushell/nushell/pull/15129) | | [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Remove inheritance for PROMPT variables created in `default_env.nu` | [#15130](https://github.com/nushell/nushell/pull/15130) | | [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Remove BACKTRACE message for non-panic errors | [#15143](https://github.com/nushell/nushell/pull/15143) | +| [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Add `default --empty` to handle empty values | [#15223](https://github.com/nushell/nushell/pull/15223) | | [@NotTheDr01ds](https://github.com/NotTheDr01ds) | Fix improper application of local timezone offset to Unix epochs | [#15283](https://github.com/nushell/nushell/pull/15283) | | [@WindSoilder](https://github.com/WindSoilder) | Enable nushell error with backtrace | [#14945](https://github.com/nushell/nushell/pull/14945) | | [@WindSoilder](https://github.com/WindSoilder) | update miette to 7.5 | [#15014](https://github.com/nushell/nushell/pull/15014) | @@ -250,6 +268,9 @@ Thanks to all the contributors below for helping us solve issues, improve docume | [@app/dependabot](https://github.com/app/dependabot) | build(deps): bump actions-rust-lang/setup-rust-toolchain from 1.10.1 to 1.11.0 | [#15179](https://github.com/nushell/nushell/pull/15179) | | [@app/dependabot](https://github.com/app/dependabot) | build(deps): bump crate-ci/typos from 1.29.5 to 1.29.10 | [#15180](https://github.com/nushell/nushell/pull/15180) | | [@app/dependabot](https://github.com/app/dependabot) | build(deps): bump rust-embed from 8.5.0 to 8.6.0 | [#15183](https://github.com/nushell/nushell/pull/15183) | +| [@app/dependabot](https://github.com/app/dependabot) | build(deps): bump scraper from 0.22.0 to 0.23.1 | [#15294](https://github.com/nushell/nushell/pull/15294) | +| [@app/dependabot](https://github.com/app/dependabot) | build(deps): bump titlecase from 3.3.0 to 3.4.0 | [#15295](https://github.com/nushell/nushell/pull/15295) | +| [@app/dependabot](https://github.com/app/dependabot) | build(deps): bump zip from 2.2.1 to 2.4.1 | [#15335](https://github.com/nushell/nushell/pull/15335) | | [@atahabaki](https://github.com/atahabaki) | Feature+: Bracoxide Zero Padding for Numeric Ranges | [#15125](https://github.com/nushell/nushell/pull/15125) | | [@ayamdobhal](https://github.com/ayamdobhal) | feat(random uuid): add support for uuid versions other than 4. | [#15239](https://github.com/nushell/nushell/pull/15239) | | [@ayax79](https://github.com/ayax79) | Added S3 support for `polars save` | [#15005](https://github.com/nushell/nushell/pull/15005) | @@ -279,8 +300,10 @@ Thanks to all the contributors below for helping us solve issues, improve docume | [@blindFS](https://github.com/blindFS) | fix: security_audit, bump ring from 0.17.8 to 0.17.13 | [#15263](https://github.com/nushell/nushell/pull/15263) | | [@blindFS](https://github.com/blindFS) | refactor(lsp): span fix made easy by bumping lsp-textdocument to 0.4.2 | [#15287](https://github.com/nushell/nushell/pull/15287) | | [@blindFS](https://github.com/blindFS) | fix(lsp): find_id for custom def in custom def | [#15289](https://github.com/nushell/nushell/pull/15289) | +| [@blindFS](https://github.com/blindFS) | fix(completion): more quoting for file_completion/directory_completion | [#15299](https://github.com/nushell/nushell/pull/15299) | | [@blindFS](https://github.com/blindFS) | refactor: tree-sitter-nu friendly alternative expressions | [#15301](https://github.com/nushell/nushell/pull/15301) | | [@blindFS](https://github.com/blindFS) | fix(completion): full set of operators for type any | [#15303](https://github.com/nushell/nushell/pull/15303) | +| [@blindFS](https://github.com/blindFS) | fix(lsp): ansi strip on hover text | [#15331](https://github.com/nushell/nushell/pull/15331) | | [@cosineblast](https://github.com/cosineblast) | Jobs | [#14883](https://github.com/nushell/nushell/pull/14883) | | [@cosineblast](https://github.com/cosineblast) | Transpose now rejects streams with non-record values | [#15151](https://github.com/nushell/nushell/pull/15151) | | [@cptpiepmatz](https://github.com/cptpiepmatz) | Replaced `IoError::new_with_additional_context` calls that still had `Span::unknown()` | [#15056](https://github.com/nushell/nushell/pull/15056) | @@ -296,6 +319,7 @@ Thanks to all the contributors below for helping us solve issues, improve docume | [@fdncred](https://github.com/fdncred) | update `query json` help and examples | [#15190](https://github.com/nushell/nushell/pull/15190) | | [@fdncred](https://github.com/fdncred) | update reedline editcommands in nushell | [#15191](https://github.com/nushell/nushell/pull/15191) | | [@fdncred](https://github.com/fdncred) | allow --group-digits to be used in `into string` | [#15265](https://github.com/nushell/nushell/pull/15265) | +| [@fdncred](https://github.com/fdncred) | remove mimalloc allocator | [#15317](https://github.com/nushell/nushell/pull/15317) | | [@hardfau1t](https://github.com/hardfau1t) | fix(test-support): use CARGO_BUILD_TARGET_DIR env var | [#15212](https://github.com/nushell/nushell/pull/15212) | | [@hardfau1t](https://github.com/hardfau1t) | fix(compact): compact empty list or record in column | [#15213](https://github.com/nushell/nushell/pull/15213) | | [@hongquan](https://github.com/hongquan) | Provide more directories autocomplete for "overlay use" | [#15057](https://github.com/nushell/nushell/pull/15057) | @@ -303,6 +327,8 @@ Thanks to all the contributors below for helping us solve issues, improve docume | [@hustcer](https://github.com/hustcer) | Fix tests of docker image and Update Nu LICENSE | [#15015](https://github.com/nushell/nushell/pull/15015) | | [@hustcer](https://github.com/hustcer) | Refactor `kv` commands: replace inline params in SQL queries | [#15108](https://github.com/nushell/nushell/pull/15108) | | [@hustcer](https://github.com/hustcer) | Add ansi codes to move cursor position | [#15221](https://github.com/nushell/nushell/pull/15221) | +| [@hustcer](https://github.com/hustcer) | Update toolkit.nu add nu_plugin_polars plugin for build and install | [#15324](https://github.com/nushell/nushell/pull/15324) | +| [@hustcer](https://github.com/hustcer) | Add category to pwd and banner commands | [#15330](https://github.com/nushell/nushell/pull/15330) | | [@kubouch](https://github.com/kubouch) | Remove Twitter from README | [#15026](https://github.com/nushell/nushell/pull/15026) | | [@sgvictorino](https://github.com/sgvictorino) | check signals while printing values | [#14980](https://github.com/nushell/nushell/pull/14980) | | [@sgvictorino](https://github.com/sgvictorino) | remove `nu-check` examples with the `--all` flag | [#15047](https://github.com/nushell/nushell/pull/15047) | @@ -324,6 +350,8 @@ Thanks to all the contributors below for helping us solve issues, improve docume | [@sholderbach](https://github.com/sholderbach) | Revert `/` vi binding due to priority bug | [#15111](https://github.com/nushell/nushell/pull/15111) | | [@sholderbach](https://github.com/sholderbach) | Bump `ratatui` to `0.29.0` | [#15187](https://github.com/nushell/nushell/pull/15187) | | [@sholderbach](https://github.com/sholderbach) | Bump reedline to latest commit | [#15189](https://github.com/nushell/nushell/pull/15189) | +| [@sholderbach](https://github.com/sholderbach) | Bump reedline for recent completion fix | [#15310](https://github.com/nushell/nushell/pull/15310) | +| [@sholderbach](https://github.com/sholderbach) | Close find handle in `ls` windows unsafe code | [#15314](https://github.com/nushell/nushell/pull/15314) | | [@tmillr](https://github.com/tmillr) | feat(cli): add vi solidus `/` keybinding | [#14908](https://github.com/nushell/nushell/pull/14908) | | [@ysthakur](https://github.com/ysthakur) | Bump to 0.102.1 dev version | [#15012](https://github.com/nushell/nushell/pull/15012) | | [@ysthakur](https://github.com/ysthakur) | Fix spread operator lexing in records | [#15023](https://github.com/nushell/nushell/pull/15023) | From 284438f3c5958510e58a9ac2bc5dce8acc348976 Mon Sep 17 00:00:00 2001 From: NotTheDr01ds <32344964+NotTheDr01ds@users.noreply.github.com> Date: Tue, 18 Mar 2025 09:55:56 -0400 Subject: [PATCH 13/23] Add std-rfc description --- blog/2025-03-18-nushell_0_103_0.md | 44 ++++++++++++++++++++++++++---- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/blog/2025-03-18-nushell_0_103_0.md b/blog/2025-03-18-nushell_0_103_0.md index a414829b523..403766028c2 100644 --- a/blog/2025-03-18-nushell_0_103_0.md +++ b/blog/2025-03-18-nushell_0_103_0.md @@ -28,10 +28,44 @@ As part of this release, we also publish a set of [optional plugins](https://www # Highlights and themes of this release -| author | title | link | -| ---------------------------------------------- | ------------------------- | ------------------------------------------------------- | -| [@Bahex](https://github.com/Bahex) | Custom command attributes | [#14906](https://github.com/nushell/nushell/pull/14906) | -| [@cosineblast](https://github.com/cosineblast) | Jobs | [#14883](https://github.com/nushell/nushell/pull/14883) | +## Support for Background Jobs + +| [@cosineblast](https://github.com/cosineblast) | Jobs | [#14883](https://github.com/nushell/nushell/pull/14883) | + +## Custom Command Attributes + +| [@Bahex](https://github.com/Bahex) | Custom command attributes | [#14906](https://github.com/nushell/nushell/pull/14906) | + +... + +Also the Standard Library and new `std-rfc` (below) have been updated to use Custom Attributes for +their help descriptions, examples, and even test cases. + +## `std-rfc` Module + +The [Standard Library](https://www.nushell.sh/book/standard_library.html) (`std`) is a collection of +useful additions written in native Nu. [#15042](https://github.com/nushell/nushell/pull/15042) +also adds `std-rfc`, a "proving ground" for proposed additions to the Standard Library. Features in +the `std-rfc` module should be considered experimental while we determine if and when they should be +promoted to the Standard Library in a future release. We welcome your feedback on these commands +to help us make that decision. + +In this first release, `std-rfc` includes the following proposals: + +- `std-rfc/conversions`: A set of helper conversions, including `into list`, `columns-into-table`, `name-values`, + `record-into-columns`, and `table-into-columns`. +- `std-rfc/tables`: New commands to `select` and `reject` columns and rows based on slices, and a new `aggregate` + command for running calculations on aggregated table data. `aggregate` is even more useful when paired with + `group-by --to-table` results. +- `std-rfc/kv` (key-value store): a module which can easily store and retrieve pipeline (or other) data in an in-memory (session-based) + or on-disk (universal) SQLite database. While we expect that Job control will be extended at some point + with messaging support, `kv` can currently be used to retrieve results from a background job (and for many + other purposes). +- `std-rfc/clip`: `clip copy` and `clip paste` commands for interacting with the system clipboard (requires + terminal support). +- `std-rfc/str`: `dedent` and `unindent` string commands to remove common (or specified) indentation from + multi-line strings. +- `std-rfc/path`: Helpers for working with the extension, parent, or stem of a path. - # Nushell 0.103.0 - - -Today, we're releasing version 0.103.0 of Nu. This release adds... +Today, we're releasing version 0.103.0 of Nu. This release adds support for spawning background jobs, attaching attributes to custom commands, +official `.deb`, `.apk`, and `.rpm` packages, a number of Vi-mode enhancements, new proposed commands in the `std-rfc` module, and much more. # Where to get it @@ -333,6 +330,8 @@ The `fmt` command has been removed in [#15040](https://github.com/nushell/nushel # Notes for plugin developers +None this release. + # Hall of fame Thanks to all the contributors below for helping us solve issues, improve documentation, refactor code, and more! :pray: @@ -509,7 +508,7 @@ Thanks to all the contributors below for helping us solve issues, improve docume | [@ysthakur](https://github.com/ysthakur) | Fix unterminated loop in parse_record | [#15246](https://github.com/nushell/nushell/pull/15246) | | [@ysthakur](https://github.com/ysthakur) | Include symlinks in directory completions | [#15268](https://github.com/nushell/nushell/pull/15268) | - - - From c6d00f59998d1057631424116ffe1c7701ceca05 Mon Sep 17 00:00:00 2001 From: NotTheDr01ds <32344964+NotTheDr01ds@users.noreply.github.com> Date: Tue, 18 Mar 2025 16:59:01 -0400 Subject: [PATCH 21/23] Wordsmithing --- blog/2025-03-18-nushell_0_103_0.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/blog/2025-03-18-nushell_0_103_0.md b/blog/2025-03-18-nushell_0_103_0.md index e873b3bf9fc..2b0b012bb3c 100644 --- a/blog/2025-03-18-nushell_0_103_0.md +++ b/blog/2025-03-18-nushell_0_103_0.md @@ -3,7 +3,7 @@ title: Nushell 0.103.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.103.0 of Nu. This release adds support for spawning background jobs, attaching attributes to custom commands, official `.deb`, `.apk`, and `.rpm` packages, a number of Vi-mode enhancements, new proposed commands in the `std-rfc` module, and much more. +excerpt: Today, we're releasing version 0.103.0 of Nu. This release adds support for spawning background jobs, attaching attributes to custom commands, official `.deb`, `.apk`, and `.rpm` packages, a number of Vi-mode enhancements, more than 20 new proposed commands in the `std-rfc` module, and much more. --- @@ -11,7 +11,7 @@ excerpt: Today, we're releasing version 0.103.0 of Nu. This release adds support # Nushell 0.103.0 Today, we're releasing version 0.103.0 of Nu. This release adds support for spawning background jobs, attaching attributes to custom commands, -official `.deb`, `.apk`, and `.rpm` packages, a number of Vi-mode enhancements, new proposed commands in the `std-rfc` module, and much more. +official `.deb`, `.apk`, and `.rpm` packages, a number of Vi-mode enhancements, more than 20 new proposed commands in the `std-rfc` module, and much more. # Where to get it From f8c2c41ce9a623e0e6002f8ac86c93e245ffe92d Mon Sep 17 00:00:00 2001 From: ysthakur <45539777+ysthakur@users.noreply.github.com> Date: Tue, 18 Mar 2025 17:50:40 -0400 Subject: [PATCH 22/23] Link to custom command attrs highlight --- blog/2025-03-18-nushell_0_103_0.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/blog/2025-03-18-nushell_0_103_0.md b/blog/2025-03-18-nushell_0_103_0.md index 2b0b012bb3c..93b08711ecc 100644 --- a/blog/2025-03-18-nushell_0_103_0.md +++ b/blog/2025-03-18-nushell_0_103_0.md @@ -131,9 +131,7 @@ This release also includes a number of Vi-mode enhancements with additions to Re ### `attr` commands - - -As part of the [new custom command attributes]() introduced in this release, several attribute commands have been added: +As part of the [new custom command attributes](#custom-command-attributes) introduced in this release, several attribute commands have been added: - `attr example`: Attach an example to a command's help text. ```nu From 05ef9fdd51aa59b92534d477856f31eec5c1168a Mon Sep 17 00:00:00 2001 From: ysthakur <45539777+ysthakur@users.noreply.github.com> Date: Tue, 18 Mar 2025 19:27:25 -0400 Subject: [PATCH 23/23] Add TOC, update changelog --- blog/2025-03-18-nushell_0_103_0.md | 114 +++++++++++++++++++---------- 1 file changed, 74 insertions(+), 40 deletions(-) diff --git a/blog/2025-03-18-nushell_0_103_0.md b/blog/2025-03-18-nushell_0_103_0.md index 93b08711ecc..851877f9178 100644 --- a/blog/2025-03-18-nushell_0_103_0.md +++ b/blog/2025-03-18-nushell_0_103_0.md @@ -6,8 +6,6 @@ author_image: https://www.nushell.sh/blog/images/nu_logo.png excerpt: Today, we're releasing version 0.103.0 of Nu. This release adds support for spawning background jobs, attaching attributes to custom commands, official `.deb`, `.apk`, and `.rpm` packages, a number of Vi-mode enhancements, more than 20 new proposed commands in the `std-rfc` module, and much more. --- - - # Nushell 0.103.0 Today, we're releasing version 0.103.0 of Nu. This release adds support for spawning background jobs, attaching attributes to custom commands, @@ -21,11 +19,45 @@ As part of this release, we also publish a set of [optional plugins](https://www # Table of contents - - -# Highlights and themes of this release - -## Support for Background Jobs +- [_Highlights and themes of this release_](#highlights-and-themes-of-this-release-toc) + - [_Support for Background Jobs_](#support-for-background-jobs-toc) + - [_Official `.deb`, `.rpm`, and `.apk` packages are now available_](#official-deb-rpm-and-apk-packages-are-now-available-toc) + - [_Custom Command Attributes_](#custom-command-attributes-toc) + - [_`std-rfc` Module_](#std-rfc-module-toc) + - [_Completion and LSP enhancements_](#completion-and-lsp-enhancements-toc) + - [_Reedline Vi-mode enhancements_](#reedline-vi-mode-enhancements-toc) +- [_Changes_](#changes-toc) + - [_Additions_](#additions-toc) + - [_`attr` commands_](#attr-commands-toc) + - [_`random uuid`_](#random-uuid-toc) + - [_`default --empty`_](#default-empty-toc) + - [_Platform-specific `char eol`_](#platform-specific-char-eol-toc) + - [_`into string --group-digits`_](#into-string-group-digits-toc) + - [_`from xml --allow-dtd`_](#from-xml-allow-dtd-toc) + - [_`to yml`_](#to-yml-toc) + - [_`overlay use` completions_](#overlay-use-completions-toc) + - [_`$env.config.filesize.show_unit`_](#env-config-filesize-show-unit-toc) + - [_Backtraces for Nushell code_](#backtraces-for-nushell-code-toc) + - [_Startup banner theming_](#startup-banner-theming-toc) + - [_Numeric range padding support in `str expand`_](#numeric-range-padding-support-in-str-expand-toc) + - [_Breaking changes_](#breaking-changes-toc) + - [_`split list` now keeps empty sublists_](#split-list-now-keeps-empty-sublists-toc) + - [_`match` no longer executes closures as if they were a block_](#match-no-longer-executes-closures-as-if-they-were-a-block-toc) + - [_`PROMPT_\*` environment variables are no longer inherited\_](#prompt-environment-variables-are-no-longer-inherited-toc) + - [_Closure serialization changes_](#closure-serialization-changes-toc) + - [_Filesize unit formatting_](#filesize-unit-formatting-toc) + - [_Removals_](#removals-toc) + - [_`range`_](#range-toc) + - [_`into bits`_](#into-bits-toc) + - [_`fmt`_](#fmt-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-contents)] + +## Support for Background Jobs [[toc](#table-of-contents)] Thanks to [@cosineblast](https://github.com/cosineblast) in [#14883](https://github.com/nushell/nushell/pull/14883), Nushell now has long awaited support for background jobs! @@ -44,13 +76,13 @@ And on Unix platforms: Job support is considered "experimental" at the moment. We do expect that this feature will be enhanced in the near future and that some functionality will change, likely with breaking changes. -## Official `.deb`, `.rpm`, and `.apk` packages are now available +## Official `.deb`, `.rpm`, and `.apk` packages are now available [[toc](#table-of-contents)] Over in our Integrations repository, [PR #5](https://github.com/nushell/integrations/pull/5) adds official support for Debian/Ubuntu (`.deb`), Red Hat/Fedora/Rocky (`.rpm`), and Alpine (`.apk`). See the [Installation Guide](https://www.nushell.sh/book/installation.html#package-managers) for details. -## Custom Command Attributes +## Custom Command Attributes [[toc](#table-of-contents)] With [#14906](https://github.com/nushell/nushell/pull/14906), attributes can now be attached to custom commands. This release includes two built-in attributes: @@ -66,7 +98,7 @@ their examples. And the test harness has been updated to use a `@test` attribute We expect that attributes will be used to enable additional features in future releases. -## `std-rfc` Module +## `std-rfc` Module [[toc](#table-of-contents)] The [Standard Library](https://www.nushell.sh/book/standard_library.html) (`std`) is a collection of useful additions written in native Nu. [#15042](https://github.com/nushell/nushell/pull/15042) @@ -92,12 +124,12 @@ In this first release, `std-rfc` includes the following proposals: multi-line strings. - `std-rfc/path`: Helpers for working with the extension, parent, or stem of a path. -## Completion and LSP enhancements +## Completion and LSP enhancements [[toc](#table-of-contents)] Thanks to PRs from [@blindFS](https://github.com/blindFS), this release includes quite a few LSP and completion fixes and enhancements. -## Reedline Vi-mode enhancements +## Reedline Vi-mode enhancements [[toc](#table-of-contents)] This release also includes a number of Vi-mode enhancements with additions to Reedline: @@ -125,11 +157,11 @@ This release also includes a number of Vi-mode enhancements with additions to Re for the list of available *containers* --> -# Changes +# Changes [[toc](#table-of-contents)] -## Additions +## Additions [[toc](#table-of-contents)] -### `attr` commands +### `attr` commands [[toc](#table-of-contents)] As part of the [new custom command attributes](#custom-command-attributes) introduced in this release, several attribute commands have been added: @@ -145,11 +177,11 @@ As part of the [new custom command attributes](#custom-command-attributes) intro - `attr search-terms`: Attach search terms to a command so that it is easier to find using `help --find`. - `attr category`: Set the command category for a command. -### `random uuid` +### `random uuid` [[toc](#table-of-contents)] Thanks to [@ayamdobhal](https://github.com/ayamdobhal) in [#15239](https://github.com/nushell/nushell/pull/15239), the `random uuid` command can now also generate v1, v3, v5, and v7 uuids. Previously, only v4 uuids could be generated. To specify the version, pass the `-v`/`--version` flag (default is v4). Note that version 1 requires an additional `--mac`/`-m` flag to be provided, and versions 3 and 5 require both a `--namespace`/`-n` flag and a `--name`/`-s` flag. -### `default --empty` +### `default --empty` [[toc](#table-of-contents)] This release introduces a new `--empty` flag for the `default` command ([#15223](https://github.com/nushell/nushell/pull/15223)). With this new flag, if the input value is "empty", then the provided default value will be returned. A value is considering "empty" according to the `is-empty` command, which currently returns true for any of the following: @@ -159,7 +191,7 @@ This release introduces a new `--empty` flag for the `default` command ([#15223] - an empty binary value: `0x[]` - null: `null` -### Platform-specific `char eol` +### Platform-specific `char eol` [[toc](#table-of-contents)] In [#15059](https://github.com/nushell/nushell/pull/15059), several additional escape characters were added to the `char` command: @@ -169,15 +201,15 @@ In [#15059](https://github.com/nushell/nushell/pull/15059), several additional e These will output the newline character(s) for the current platform (i.e., `\n` on Unix and `\r\n` on Windows). This is different from `newline`, `nl`, `line_feed`, and `lf` which all output `\n` on all platforms. -### `into string --group-digits` +### `into string --group-digits` [[toc](#table-of-contents)] With [#15265](https://github.com/nushell/nushell/pull/15265), providing the `--group-digits` flag to the `into string` command will format integers by grouping several digits together and using the system locale digit separator. -### `from xml --allow-dtd` +### `from xml --allow-dtd` [[toc](#table-of-contents)] After [#15272](https://github.com/nushell/nushell/pull/15272), document type declarations (DTD) can now parsed by `from xml` if you pass the new `--allow-dtd` flag. -### `to yml` +### `to yml` [[toc](#table-of-contents)] As pointed out in [#15240](https://github.com/nushell/nushell/issues/15240), it was previously possible to load data from YAML files using the `from yaml` or `from yml` commands, but only possible to save data using `to yaml`. Now, you can use either `to yaml` or `to yml` to save data into YAML files thanks to [@LoicRiegel](https://github.com/LoicRiegel) in [#15254](https://github.com/nushell/nushell/pull/15254). @@ -193,15 +225,15 @@ Thanks to this, the `save` command can also be used with the `.yml` extension: > [[foo bar]; ["1" "2"]] | save test.yml ``` -### `overlay use` completions +### `overlay use` completions [[toc](#table-of-contents)] Thanks to [@hongquan](https://github.com/hongquan) in [#15057](https://github.com/nushell/nushell/pull/15057) with input from [@blindFS](https://github.com/blindFS), autocomplete now lists more directories for `overlay use`. -### `$env.config.filesize.show_unit` +### `$env.config.filesize.show_unit` [[toc](#table-of-contents)] A new config option, `$env.config.filesize.show_unit`, was introduced in [#15276](https://github.com/nushell/nushell/pull/15276). `show_unit` is `true` by default, but when it is set to `false`, file sizes will be displayed without units (e.g., in `table`). This can be useful if you have set `filesize.unit` to a fixed unit, and you do not want the same unit to be shown over and over again. -### Backtraces for Nushell code +### Backtraces for Nushell code [[toc](#table-of-contents)] Some errors in Nushell code can be "chained", where one error condition creates another (and potentially another). @@ -215,7 +247,7 @@ $env.NU_BACKTRACE = 1 ... and re-run the failing code. -### Startup banner theming +### Startup banner theming [[toc](#table-of-contents)] With [#15095](https://github.com/nushell/nushell/pull/15095), it is now possible to set the styles used in the Welcome banner at startup using new `$env.config.color_config` settings: @@ -224,7 +256,7 @@ in the Welcome banner at startup using new `$env.config.color_config` settings: - `banner_highlight1`: Used for the first set of highlights, e.g., `Nushell`, `nu`, `GitHub`, et. al - `banner_highlight2`: Used for the second set of highlights, e.g. `Discord`, `Documentation`, et. al. -### Numeric range padding support in `str expand` +### Numeric range padding support in `str expand` [[toc](#table-of-contents)] With [#15125](https://github.com/nushell/nushell/pull/15125), [@atahabaki](https://github.com/atahabaki) added support for numeric ranges with padded zeros in `str expand`. For example: @@ -233,9 +265,9 @@ support for numeric ranges with padded zeros in `str expand`. For example: '{00..10}' | str expand ``` -## Breaking changes +## Breaking changes [[toc](#table-of-contents)] -### `split list` now keeps empty sublists +### `split list` now keeps empty sublists [[toc](#table-of-contents)] In [#15161](https://github.com/nushell/nushell/pull/15161), if `split list` is used on a list with consecutive separators, it now returns an empty list. For example: @@ -245,7 +277,7 @@ if `split list` is used on a list with consecutive separators, it now returns an # => [[1 1] [] [2 2] [3 3]] ``` -### `match` no longer executes closures as if they were a block +### `match` no longer executes closures as if they were a block [[toc](#table-of-contents)] Prior to [#15032](https://github.com/nushell/nushell/pull/15032), `match` would attempt to execute a closure returned from a match arm. Now, it returns the closure instead. For example: @@ -264,7 +296,7 @@ match 1 { _ => {|| print hi} } # => closure_1090 ``` -### `PROMPT_*` environment variables are no longer inherited +### `PROMPT_*` environment variables are no longer inherited [[toc](#table-of-contents)] With [#15130](https://github.com/nushell/nushell/pull/15130), the `PROMPT_*` environments are no longer inherited from the calling process. This prevents issues where some systems would set a POSIX-compatible `PROMPT_COMMAND`. @@ -272,32 +304,32 @@ inherited from the calling process. This prevents issues where some systems woul If a prompt setting is not defined in the startup config, a Nushell-compatible default is applied instead of allowing inheritance from the parent process. -### Closure serialization changes +### Closure serialization changes [[toc](#table-of-contents)] Prior to [#15285](https://github.com/nushell/nushell/pull/15285), `to json`, `to msgpack`, and `to msgpackz` would serialize closures as a `null`. With this PR, these commands are aligned with the existing behavior of `to nuon`. Attempting to pass a closure (or data structure containing a closure) to one of these commands will result in an error. Instead, you can now use the `to --serialize` option with all of these commands, in which case a string-representation of the closure will be serialized. -### Filesize unit formatting +### Filesize unit formatting [[toc](#table-of-contents)] When setting a specific filesize unit via `$env.config.filesize.unit`, sizes will now be formatted using the default locale (e.g., separators and decimals). This returns a similar 0.98 behavior. -## Removals +## Removals [[toc](#table-of-contents)] -### `range` +### `range` [[toc](#table-of-contents)] The `range` command has been removed in [#15038](https://github.com/nushell/nushell/pull/15038) following it's [deprecation](https://www.nushell.sh/blog/2025-02-04-nushell_0_102_0.html#range-toc) in 0.102.0. Please use the `slice` command as one-to-one replacement. -### `into bits` +### `into bits` [[toc](#table-of-contents)] The `into bits` command has been removed in [#15039](https://github.com/nushell/nushell/pull/15039) following it's [deprecation](https://www.nushell.sh/blog/2025-02-04-nushell_0_102_0.html#into-bits-toc) in 0.102.0. Please use the `format bits` command as one-to-one replacement. -### `fmt` +### `fmt` [[toc](#table-of-contents)] The `fmt` command has been removed in [#15040](https://github.com/nushell/nushell/pull/15040) following it's [deprecation](https://www.nushell.sh/blog/2025-02-04-nushell_0_102_0.html#fmt-toc) in 0.102.0. Please use the `format number` command as one-to-one replacement. -## Bug fixes and other changes +## Bug fixes and other changes [[toc](#table-of-contents)] | author | title | link | | -------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------- | @@ -326,11 +358,11 @@ The `fmt` command has been removed in [#15040](https://github.com/nushell/nushel | [@ysthakur](https://github.com/ysthakur) | Fix unterminated loop in parse_record | [#15246](https://github.com/nushell/nushell/pull/15246) | | [@ysthakur](https://github.com/ysthakur) | Include symlinks in directory completions | [#15268](https://github.com/nushell/nushell/pull/15268) | -# Notes for plugin developers +# Notes for plugin developers [[toc](#table-of-contents)] None this release. -# Hall of fame +# Hall of fame [[toc](#table-of-contents)] Thanks to all the contributors below for helping us solve issues, improve documentation, refactor code, and more! :pray: @@ -350,7 +382,7 @@ Thanks to all the contributors below for helping us solve issues, improve docume | [@sgvictorino](https://github.com/sgvictorino) | remove `nu-check` examples with the `--all` flag | [#15047](https://github.com/nushell/nushell/pull/15047) | | [@tmillr](https://github.com/tmillr) | feat(cli): add vi solidus `/` keybinding | [#14908](https://github.com/nushell/nushell/pull/14908) | -# Full changelog +# Full changelog [[toc](#table-of-contents)] | author | title | link | | ---------------------------------------------------- | -------------------------------------------------------------------------------------- | ------------------------------------------------------- | @@ -500,11 +532,13 @@ Thanks to all the contributors below for helping us solve issues, improve docume | [@sholderbach](https://github.com/sholderbach) | Bump reedline to latest commit | [#15189](https://github.com/nushell/nushell/pull/15189) | | [@sholderbach](https://github.com/sholderbach) | Bump reedline for recent completion fix | [#15310](https://github.com/nushell/nushell/pull/15310) | | [@sholderbach](https://github.com/sholderbach) | Close find handle in `ls` windows unsafe code | [#15314](https://github.com/nushell/nushell/pull/15314) | +| [@sholderbach](https://github.com/sholderbach) | Pin reedline to `0.39.0` for release | [#15338](https://github.com/nushell/nushell/pull/15338) | | [@tmillr](https://github.com/tmillr) | feat(cli): add vi solidus `/` keybinding | [#14908](https://github.com/nushell/nushell/pull/14908) | | [@ysthakur](https://github.com/ysthakur) | Bump to 0.102.1 dev version | [#15012](https://github.com/nushell/nushell/pull/15012) | | [@ysthakur](https://github.com/ysthakur) | Fix spread operator lexing in records | [#15023](https://github.com/nushell/nushell/pull/15023) | | [@ysthakur](https://github.com/ysthakur) | Fix unterminated loop in parse_record | [#15246](https://github.com/nushell/nushell/pull/15246) | | [@ysthakur](https://github.com/ysthakur) | Include symlinks in directory completions | [#15268](https://github.com/nushell/nushell/pull/15268) | +| [@ysthakur](https://github.com/ysthakur) | Feature-gate `job unfreeze` behind "os" | [#15339](https://github.com/nushell/nushell/pull/15339) |