Skip to content

Commit

Permalink
Release notes for nushell 0.71 (#647)
Browse files Browse the repository at this point in the history
* Release notes for nushell 0.71

Please add your important new features and breaking changes to the release notes by commiting to/opening a PR against the `release-notes-0.71` branch! Thanks for helping out!

* add right prompt release notes (#650)

* add right prompt release notes

* add a comparison image

* docs: documents the changes from #6904 (#653)

* docs: document changes from #7007 (#659)

Co-authored-by: David Matos <[email protected]>

* Update breaking changes

* Breaking change in `format filesize`

* Stubs for themes of the release

Listed some important improvements that might be worth telling the user about.

* mention Reilly's changes for this release

* Update 2022-11-08-nushell-0.71.md (#664)

* finish up blog post

Co-authored-by: nibon7 <[email protected]>
Co-authored-by: Mel Massadian <[email protected]>
Co-authored-by: David Matos <[email protected]>
Co-authored-by: David Matos <[email protected]>
Co-authored-by: Reilly Wood <[email protected]>
Co-authored-by: Jakub Žádník <[email protected]>
Co-authored-by: JT <[email protected]>
  • Loading branch information
8 people committed Nov 8, 2022
1 parent 3aa054a commit 24f4069
Show file tree
Hide file tree
Showing 3 changed files with 186 additions and 0 deletions.
Binary file added assets/images/right_prompt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/images/right_prompt_default.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
186 changes: 186 additions & 0 deletions blog/2022-11-08-nushell-0.71.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
---
title: Nushell 0.71
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.71 of Nu.
---

# Nushell 0.71

Nushell, or Nu for short, is a new shell that takes a modern, structured approach to your commandline. It works seamlessly with the data from your filesystem, operating system, and a growing number of file formats to make it easy to build powerful commandline pipelines.

Today, we're releasing version 0.71 of Nu. This release includes lots of overall polish.

<!-- more -->

# Where to get it

Nu 0.71 is available as [pre-built binaries](https://github.com/nushell/nushell/releases/tag/0.71.0) or from [crates.io](https://crates.io/crates/nu). If you have Rust installed you can install it using `cargo install nu`.

If you want all the built-in goodies, such as support for dataframes and SQLite databases, you can install it via `cargo install nu --features=extra`.

As part of this release, we also publish a set of optional plugins you can install and use with Nu. To install, use `cargo install nu_plugin_<plugin name>`.

# Themes of this release

## New `++` operator (merelymyself)

In this release, you can now use the [`++` operator to append lists together](https://github.com/nushell/nushell/pull/6766).

For example, you can combine two lists into a new lists made up of the both lists:

```shell
> [1, 2] ++ [3, 4]
```

_Note: Currently, this operator cannot be used to join two tables. This functionality is still being worked on and will likely be present in the next version._

## Improved consistency across commands and types

Nushell continues improve quality of the language and shell with a set of consistency improvements in this release. These include:

* More [iterating filter commands](https://github.com/nushell/nushell/pull/6951) now support the `$in` variable consistently (webbedspace)

* Lists [now support `upsert`](https://github.com/nushell/nushell/pull/6932) (fdncred)

* `merge` can now also [operate on records](https://github.com/nushell/nushell/pull/6919) (webbedspace)

* `str substring` can [take ranges](https://github.com/nushell/nushell/pull/6867) (rgwood)

* `from` and `to` now [show help info](https://github.com/nushell/nushell/pull/6856) (rgwood)

## Right prompts can now be on the last line (nibon7)

Previously the right prompt appeared only on the same line where the user input started. Now you can choose to [place the right prompt part on the last line of user input](https://github.com/nushell/nushell/pull/6781).
This feature is not enabled by default, you can enable it using the `config nu` command to modify the config.nu file, just set `render_right_prompt_on_last_line` to true:

```
let-env config {
render_right_prompt_on_last_line : true
...
}
```

Default

![Default right prompt](../assets/images/right_prompt_default.png)

Right prompt at bottom

![Right prompt on the last line](../assets/images/right_prompt.png)

## Configuring the default value viewer via `display_output` hook (perbothner)

You're now able to configure a new hook, [called `display_output`](https://github.com/nushell/nushell/pull/6915), which will become the default way that you view data.

Using this, you can for example, use `table --expand` to always see fully expanded tables.

If your terminal supports it, you can this to render a more full-featured output. For example, DomTerm could be used by setting the `display_output` hook to: `to html --partial --no-color | domterm hcat`, sending html to the terminal to be rendered when displaying values.

## Updated PR Review Process

Recently, we have been fortunate to see a rise in submitted pull requests (PRs) and we are super grateful for this growing desire to improve Nushell.
Unfortunately, in some cases, a well-intended PR does not match the direction Nushell is going, forcing us to close it which leads to wasted time and effort.
To help focus PRs in the future, we kindly ask potential contributors to first reach out to us before making a substantial change to Nushell, especially if the change will affect user experience.
We updated our [contributing guide](https://github.com/nushell/nushell/blob/main/CONTRIBUTING.md) as well as the PR template to reflect this policy.
To summarize:
1. If you want to make some change to Nushell that is more involved than simple bug-fixing, please go to [Discord](https://discordapp.com/invite/NtAbbGn) or a [GitHub issue](https://github.com/nushell/nushell/issues/new/choose) and chat with some core team members and/or other contributors about it.
2. After getting a green light from the core team, implement the feature, open a pull request (PR) and write a full description of the change.
3. If your PR includes any use-facing features (such as adding a flag to a command), clearly list them in the PR description.
4. Then, core team members and other regular contributors will review the PR and suggest changes.
5. When we all agree, the PR will be merged.
6. If your PR includes any user-facing features, make sure the changes are also reflected in [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged.
7. Congratulate yourself, you just improved Nushell! :-)

We hope the new policy will help us make the PR review process smoother.

## Completion actions now more familiar (dandavison)

We've also recently improved how completions work in Nushell to feel closer to how other shells work. Specifically:

* Completion goes "as far as possible". So, the entire word if there's a unique completion, or else up to the shared prefix of possible completions.
* Removes the quick completion behavior whereby a word was completed automatically as soon as the input came to have a unique completion.
* Tab now completes instead of selecting the next menu item (this can be configured)

# Breaking changes

- New `--force (-f)` flag for the `mv` command. This change alters `mv` default behavior. By default overwriting existing files is now prevented (You can use `alias mv = mv -f` in you config to get the old defaults back). ([#6904](https://github.com/nushell/nushell/pull/6904))
- The column name for the command name in `$nu.scope.commands` has been changed from `command` to `name`. Thus, `$nu.scope.commands | where name =~ zip` would give you specific command info. ([#7007](https://github.com/nushell/nushell/pull/7007))
- The `str distance` command now directly returns an `Int` instead of a record `{"distance": <Int>}` ([#6963](https://github.com/nushell/nushell/pull/6963))
- The argument order of `format filesize` was made consistent with other commands that accept a `CellPath` to specify fields that should be affected by it. Now the string specifying the format is the first positional argument and the cell path is specified in the following positional argument(s). ([#6879]https://github.com/nushell/nushell/pull/6879)
- The `--perf` flag for Nu was removed as part of an effort to simplify diagnostics logging [#6834](https://github.com/nushell/nushell/pull/6834)

# Next Steps

We've drafted a version of the [design philosophy for 0.80](https://github.com/nushell/nushell.github.io/pull/656), and would love to get your feedback. If you'd like to become part of the effort, please [join the discord](https://discord.gg/NtAbbGn).

# Full changelog

## Nushell


- jt created [bump to 0.71, use 1.63 toolchain](https://github.com/nushell/nushell/pull/7061), and [Remove unnecessary clone in par-each](https://github.com/nushell/nushell/pull/6995)
- sholderbach created [Pin reedline to `0.14.0` release](https://github.com/nushell/nushell/pull/7050), and [Make the example names unique across workspace](https://github.com/nushell/nushell/pull/7046), and [Update reedline](https://github.com/nushell/nushell/pull/7023), and [Make example binaries proper cargo examples](https://github.com/nushell/nushell/pull/7019), and [Refactor ansi stripping into `nu-util` functions](https://github.com/nushell/nushell/pull/6966), and [Remove inadvertent dep on original `ansi_term`](https://github.com/nushell/nushell/pull/6965), and [Update reedline to latest dev](https://github.com/nushell/nushell/pull/6953), and [Remove unused dependencies](https://github.com/nushell/nushell/pull/6945), and [Move nu-test-support into dev deps on nu-command](https://github.com/nushell/nushell/pull/6940), and [Update `nix` crate to `0.25` and narrow features](https://github.com/nushell/nushell/pull/6924), and [Fix `each while` behavior when printing and maybe in other situations by fusing the iterator](https://github.com/nushell/nushell/pull/6897), and [Wrap `open` parse errors from `from` commands](https://github.com/nushell/nushell/pull/6877), and [Remove unnecessary `#[allow(...)]` annotations](https://github.com/nushell/nushell/pull/6870), and [Reduce required dependencies for diagnostics](https://github.com/nushell/nushell/pull/6648)
- fdncred created [Revert "Fix for escaping backslashes in interpolated strings (fixes #6737)"](https://github.com/nushell/nushell/pull/7038), and [bump rust-toolchain to 1.64](https://github.com/nushell/nushell/pull/7005), and [category tweak](https://github.com/nushell/nushell/pull/6982), and [change str distance to output value::int](https://github.com/nushell/nushell/pull/6963), and [tweak upsert help text](https://github.com/nushell/nushell/pull/6962), and [enable ability to upsert into a list like update](https://github.com/nushell/nushell/pull/6932), and [bump to dev version 0.70.1](https://github.com/nushell/nushell/pull/6814)
- dandavison created [Add accidentally missing tests of some command examples ](https://github.com/nushell/nushell/pull/7035), and [Add an expected result to date format test](https://github.com/nushell/nushell/pull/7031), and [Expose reedline EditCommand::Complete command](https://github.com/nushell/nushell/pull/6863), and [Update reedline to fix history search filtering](https://github.com/nushell/nushell/pull/6835), and [Tab inline completion](https://github.com/nushell/nushell/pull/6802), and [Minor cleanup: simplify and reduce allocations in pipeline data loop](https://github.com/nushell/nushell/pull/6790)
- 1Kinoti created [added some search-terms to the `platform` category](https://github.com/nushell/nushell/pull/7021)
- gavinfoley created [Fix for escaping backslashes in interpolated strings (fixes #6737)](https://github.com/nushell/nushell/pull/7020)
- kubouch created [Update contributing guide and PR template](https://github.com/nushell/nushell/pull/7008)
- dmatos2012 created [Rename column name from command to name for consistency](https://github.com/nushell/nushell/pull/7007), and [highlight term on PipelineData::Value()](https://github.com/nushell/nushell/pull/6997)
- SUPERCILEX created [Run a round of clippy --fix to fix a ton of lints](https://github.com/nushell/nushell/pull/7006), and [Improve do command docs](https://github.com/nushell/nushell/pull/6975)
- IanManske created [Fix panic when encountering ENOTTY.](https://github.com/nushell/nushell/pull/7001)
- WindSoilder created [Refactor: finish refactor on commands which take optional cell paths.](https://github.com/nushell/nushell/pull/6961), and [frently error message for access beyond end](https://github.com/nushell/nushell/pull/6944), and [Refactor: introduce general `operate` commands to reduce duplicate code](https://github.com/nushell/nushell/pull/6879), and [Allow captured stderr saving to file](https://github.com/nushell/nushell/pull/6793)
- webbedspace created [Fix `$in` in blocks given to `any` and `all`](https://github.com/nushell/nushell/pull/6951), and [Update merge to also take single records (closes #5281)](https://github.com/nushell/nushell/pull/6919), and [Further edits to help messages](https://github.com/nushell/nushell/pull/6913), and [Mildly edited a small handful of help messages](https://github.com/nushell/nushell/pull/6868)
- jenshnielsen created [Use nt-api 4 on Windows](https://github.com/nushell/nushell/pull/6949)
- rgwood created [Fix double cache read in CI](https://github.com/nushell/nushell/pull/6948), and [Fix feature flag for `open-df` test](https://github.com/nushell/nushell/pull/6935), and [Update PR template to mention user-facing changes](https://github.com/nushell/nushell/pull/6923), and [Improve error message for `get 0` on non-collection types](https://github.com/nushell/nushell/pull/6892), and [Support ranges in `str substring`](https://github.com/nushell/nushell/pull/6867), and [Fixes for `ps` on Linux](https://github.com/nushell/nushell/pull/6858), and [Print command help in base from+to commands](https://github.com/nushell/nushell/pull/6856), and [Diagnostics logging streamlining+tweaks](https://github.com/nushell/nushell/pull/6834)
- paper-lark created [Fix bug with alias handling when searching for matching brackets](https://github.com/nushell/nushell/pull/6931), and [Highlight matching brackets / parentheses](https://github.com/nushell/nushell/pull/6655)
- PerBothner created [New "display_output" hook.](https://github.com/nushell/nushell/pull/6915)
- kambala-decapitator created [fix description of build-string's second example](https://github.com/nushell/nushell/pull/6912)
- melMass created [fix: ✨ "saner" default for mv](https://github.com/nushell/nushell/pull/6904), and [docs: 📝 add "map" to each's search terms](https://github.com/nushell/nushell/pull/6903)
- zhiburt created [[WIP] table: Show truncated record differently](https://github.com/nushell/nushell/pull/6884), and [table/ Fix paging indexing](https://github.com/nushell/nushell/pull/6850), and [`table -e` Fix stackoverflow (cause endless empty list)](https://github.com/nushell/nushell/pull/6847), and [`table -e` align key to 2nd line](https://github.com/nushell/nushell/pull/6842), and [nu-table: Check perf improvements](https://github.com/nushell/nushell/pull/6710)
- FilipAndersson245 created [Bumps windows dependencie](https://github.com/nushell/nushell/pull/6865)
- nibon7 created [path: fix error message](https://github.com/nushell/nushell/pull/6860), and [rm: don't update target_exists every time in the loop](https://github.com/nushell/nushell/pull/6837), and [Add missing `shape_directory` to default_config.nu](https://github.com/nushell/nushell/pull/6836), and [rm: fix error span when targets doesn't exists](https://github.com/nushell/nushell/pull/6815), and [Add support to render right prompt on last line of the prompt](https://github.com/nushell/nushell/pull/6781), and [Prepend directory to the binary tarball](https://github.com/nushell/nushell/pull/6701)
- hustcer created [Update ci workflow actions, fix #6713](https://github.com/nushell/nushell/pull/6841)
- ChrisDenton created [Try not to use verbatim paths for UNC shares](https://github.com/nushell/nushell/pull/6824)
- Decodetalkers created [fix: fixcd](https://github.com/nushell/nushell/pull/6799), and [feat: coredump](https://github.com/nushell/nushell/pull/6791)
- merelymyself created [make `++` append lists](https://github.com/nushell/nushell/pull/6766), and [add more helpful error for calling a decl that exists in a module](https://github.com/nushell/nushell/pull/6752)

## Extension


- melMass created [fix: ⚡️ add path for arm brew](https://github.com/nushell/vscode-nushell-lang/pull/68)

## Documentation


- kubouch created [Add review process change](https://github.com/nushell/nushell.github.io/pull/664), and [Update Modules and Overlays chapters](https://github.com/nushell/nushell.github.io/pull/612)
- webbedspace created [Fix let-env Path example to be accurate for Windows](https://github.com/nushell/nushell.github.io/pull/663), and [Update types_of_data.md](https://github.com/nushell/nushell.github.io/pull/661), and [Updated working_with_strings.md (closes #640)](https://github.com/nushell/nushell.github.io/pull/660), and [Simplified examples by removing unneeded `echo` calls](https://github.com/nushell/nushell.github.io/pull/657), and [Add categories column to command_reference](https://github.com/nushell/nushell.github.io/pull/646)
- PerBothner created [Document display_output hook](https://github.com/nushell/nushell.github.io/pull/662)
- dmatos2012 created [docs: document changes from #7007](https://github.com/nushell/nushell.github.io/pull/659)
- seanbuckley created [Update oh-my-posh install link](https://github.com/nushell/nushell.github.io/pull/655)
- rapenne-s created [Mention nushell also run on BSD systems](https://github.com/nushell/nushell.github.io/pull/654)
- melMass created [docs: documents the changes to mv (branch release 0.71)](https://github.com/nushell/nushell.github.io/pull/653)
- nibon7 created [add right prompt guide](https://github.com/nushell/nushell.github.io/pull/651), and [add right prompt release notes](https://github.com/nushell/nushell.github.io/pull/650)
- kambala-decapitator created [fix description of build-string's second example](https://github.com/nushell/nushell.github.io/pull/649)
- hustcer created [Refresh commands docs for nu v0.70](https://github.com/nushell/nushell.github.io/pull/644)


## Nu scripts

- fdncred created [oh-my-nu-v2 script - a new prompt for 8bit/24bit terminals](https://github.com/nushell/nu_scripts/pull/311), and [tweak no back progress bar example](https://github.com/nushell/nu_scripts/pull/308)
- 1Kinoti created [Make the default for the `up` command (in the filesystem directory) 1](https://github.com/nushell/nu_scripts/pull/310)
- SUPERCILEX created [Add prompt with exit code and command duration](https://github.com/nushell/nu_scripts/pull/309)
- WindSoilder created [fix conda deactivate error when activate with no-prompt](https://github.com/nushell/nu_scripts/pull/307)

## Reedline


- sholderbach created [Use `Box::default()` in more places](https://github.com/nushell/reedline/pull/512), and [Prepare the `0.14.0` release](https://github.com/nushell/reedline/pull/511), and [Fix the additional moves of normal mode `hjkl`](https://github.com/nushell/reedline/pull/510), and [Split the main example binary into examples](https://github.com/nushell/reedline/pull/506), and [Update workflow to new actions (alternative)](https://github.com/nushell/reedline/pull/505)
- jcgruenhage created [fix: actually use sqlite-dynlib feature](https://github.com/nushell/reedline/pull/504)
- nibon7 created [show right prompt on indicator line in last line mode](https://github.com/nushell/reedline/pull/501), and [render right prompt on the last line of the left prompt](https://github.com/nushell/reedline/pull/492)
- perlindgren created [Custom validator and prompt code examples](https://github.com/nushell/reedline/pull/500)
- dandavison created [Tab inline completion](https://github.com/nushell/reedline/pull/498)
- CozyPenguin created [change cursor shape depending on edit mode](https://github.com/nushell/reedline/pull/494)


0 comments on commit 24f4069

Please sign in to comment.