Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release notes for NotTheDr01ds PRs #1673

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 33 additions & 3 deletions blog/2024-12-24-nushell_0_101_0.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,41 @@ excerpt: Today, we're releasing version 0.101.0 of Nu. This release adds...

<!-- TODO: write this 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 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_<plugin name>`.
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

<!-- TODO: once all the content below is finished and committed, `use nu_scripts/make_release/release-note/notes.nu *` and run `write-toc $this_file`. -->

# 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.

<!-- NOTE: if you wanna write a section about a breaking change, when it's a very important one,
please add the following snippet to have a "warning" banner :)
> see [an example](https://www.nushell.sh/blog/2023-09-19-nushell_0_85_0.html#pythonesque-operators-removal)
Expand All @@ -46,6 +67,10 @@ As part of this release, we also publish a set of optional plugins you can insta

## Additions

### Duration/Date Arithmetic

With [#14295](https://github.com/nushell/nushell/pull/14295), dates can now be added to durations. Previously only durations could be added to dates.

## Breaking changes

### `++` operator
Expand Down Expand Up @@ -105,6 +130,11 @@ The `cpu_usage` column outputted by `sys cpu` works by sampling the CPU over a 4

In [#14019](https://github.com/nushell/nushell/pull/14019), the `split-by` command was deprecated. Instead, please use `group-by` with multiple groupers.

### `date to-record` and `date to-table`

- `date to-record` has been deprecated and will be removed in a future release. Please use `into record` in its place.
- `date to-table` has been deprecated and will be removed in a future release. Please use `into record | transpose | transpose -r` in its place.

## Removals

## Bug fixes and other changes
Expand Down
Loading