From ad3f2b3a7ccad4997fe3f10ba933d6dc24c8253c Mon Sep 17 00:00:00 2001 From: NotTheDr01ds <32344964+NotTheDr01ds@users.noreply.github.com> Date: Tue, 10 Dec 2024 15:20:41 -0500 Subject: [PATCH] ntd pr release notes --- blog/2024-12-24-nushell_0_101_0.md | 36 +++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/blog/2024-12-24-nushell_0_101_0.md b/blog/2024-12-24-nushell_0_101_0.md index b3751b50fd..94d68e974f 100644 --- a/blog/2024-12-24-nushell_0_101_0.md +++ b/blog/2024-12-24-nushell_0_101_0.md @@ -14,13 +14,13 @@ excerpt: Today, we're releasing version 0.101.0 of Nu. This release adds... -Today, we're releasing version 0.101.0 of Nu. This release adds... +Today, we're releasing version 0.101.0 of Nu. This release adds a simplified startup configuration, ... # Where to get it -Nu 0.101.0 is available as [pre-built binaries](https://github.com/nushell/nushell/releases/tag/0.101.0) or from [crates.io](https://crates.io/crates/nu). If you have Rust installed you can install it using `cargo install nu`. +Nushell 0.101.0 is available as [pre-built binaries](https://github.com/nushell/nushell/releases/tag/0.101.0) or from [crates.io](https://crates.io/crates/nu). If you have Rust installed, you can also 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](/book/plugins.md) you can install and use with Nushell. # Table of contents @@ -28,6 +28,27 @@ As part of this release, we also publish a set of optional plugins you can insta # Highlights and themes of this release +## Simplified Startup Configuration + +With [#14249](https://github.com/nushell/nushell/pull/14249), Nushell now always loads its internal `default_env.nu` before the user `env.nu` is loaded, then loads the internal `default_config.nu` before the user's `config.nu` is loaded. This allows for a simpler user-configuration experience. Details are in [this blog entry](https://www.nushell.sh/blog/2024-12-04-configuration_preview.html) along with an updated [Configuration Chapter](https://www.nushell.sh/book/configuration.html) which should go live sometime today. + +### Related Startup Config Changes + +- [#14345](https://github.com/nushell/nushell/pull/14345): Hooks fields are non-optional +- [#14341](https://github.com/nushell/nushell/pull/14341): Hooks now default to an empty value of the proper type (e.g., `[]` or `{}`) when not otherwise specified. This means that you can always safely append or merge a new hook without first needing to check if it was a valid list/record. +- [#14435](https://github.com/nushell/nushell/pull/14435): An `$env.config` is always created at startup, populated with default values, even when no configuration files are loaded. +- [#14549](https://github.com/nushell/nushell/pull/14549): The `const` version of `NU_LIB_DIRS` is now populated by default instead of `$env.NU_LIB_DIRS`. +- [#14553](https://github.com/nushell/nushell/pull/14553): The `const` version of `NU_PLUGIN_DIRS` is now populated by default instead of `$env.NU_PLUGIN_DIRS`. +- [#14566](https://github.com/nushell/nushell/pull/14566): `ENV_CONVERSIONS` is now an empty record by default. The `PATH`/`Path` conversions are handled internally. +- [#14579](https://github.com/nushell/nushell/pull/14579): More defaults are set in Rust. Also sets a default, empty `TRANSIENT_PROMPT_COMMAND_RIGHT` and `TRANSIENT_PROMPT_MULTILINE_INDICATOR`. + +### Breaking Startup Config Changes + +There may be (hopefully) minor breaking changes due to the startup configuration handling. Known possible issues include: + +- Cannot merge changes to default menus since their definitions are no longer in `config.nu` by default. Instead, the entire menu should be redefined. +- Querying the `$env.NU_LIB_DIRS` will return an empty result by default. Query the constant `$NU_LIB_DIRS` instead. +