You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
excerpt: Today, we're releasing version 0.98.0 of Nu. This release adds...
7
7
---
8
+
8
9
<!-- TODO: complete the excerpt above -->
9
10
10
11
# Nushell 0.98.0
11
12
12
13
Nushell, or Nu for short, is a new shell that takes a modern, structured approach to your command line. It works seamlessly with the data from your filesystem, operating system, and a growing number of file formats to make it easy to build powerful command line pipelines.
13
14
14
15
<!-- TODO: write this excerpt -->
16
+
15
17
Today, we're releasing version 0.98.0 of Nu. This release adds...
16
18
17
19
# Where to get it
@@ -21,6 +23,7 @@ Nu 0.98.0 is available as [pre-built binaries](https://github.com/nushell/nushel
21
23
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>`.
22
24
23
25
# Table of content
26
+
24
27
-[_Highlights and themes of this release_](#highlights-and-themes-of-this-release-toc)
25
28
-[_Changes to commands_](#changes-to-commands-toc)
26
29
-[_Additions_](#additions-toc)
@@ -49,6 +52,7 @@ As part of this release, we also publish a set of optional plugins you can insta
49
52
-->
50
53
51
54
# Highlights and themes of this release [[toc](#table-of-content)]
55
+
52
56
<!-- NOTE: if you wanna write a section about a breaking change, when it's a very important one,
53
57
please add the following snippet to have a "warning" banner :)
54
58
> see [an example](https://www.nushell.sh/blog/2023-09-19-nushell_0_85_0.html#pythonesque-operators-removal)
@@ -63,18 +67,86 @@ As part of this release, we also publish a set of optional plugins you can insta
63
67
for the list of available *containers*
64
68
-->
65
69
70
+
## Removing support for the system clipboard
71
+
72
+
With [#13694](https://github.com/nushell/nushell/pull/13694), support for the system clipboard in keybinds has been removed, as this is not something that we think we can provide good, cross-platform support for in a secure manner. Namely,
73
+
74
+
- Tests for the clipboard feature are lacking due to the difficulty in setting up tests on each platform.
75
+
- The clipboard feature is known to be problematic on certain systems, potentially affecting startup times. Due to the lack of tests, other unfound issues may be lurking.
76
+
- The system clipboard adds a potential attack surface.
77
+
- The clipboard feature adds 1MB to the binary size.
78
+
79
+
So, going forward, users that want the system clipboard functionality will have to compile a custom build of nushell by enabling the `system-clipboard` cargo feature. As an alternative, we recommend users delegate system clipboard handling to their terminal.
80
+
66
81
# Changes to commands [[toc](#table-of-content)]
67
82
68
83
## Additions [[toc](#table-of-content)]
69
84
85
+
### `metadata access`
86
+
87
+
Thanks to [@Bahex](https://github.com/Bahex) in [#13785](https://github.com/nushell/nushell/pull/13785), a new `metadata access` command was added. It takes a closure argument, and the first argument to the closure will be the metadata record. Additionally, the pipeline input to `metadata access` will be forwarded to the closure as is. So, unlike the `metadata` command, this new command allows you to get the metadata of a pipeline without consuming the pipeline.
88
+
89
+
### `split column --numbered`
90
+
91
+
Thanks to [@nome](https://github.com/nome) in [#13831](https://github.com/nushell/nushell/pull/13831), a `--numbered` flag was added to `split column` which limits the number of times to split the input string (just like `split row --numbered`).
92
+
70
93
## Breaking changes [[toc](#table-of-content)]
71
94
95
+
### `into record`
96
+
97
+
In [#13637](https://github.com/nushell/nushell/pull/13637), several changes/improvements were made to list inputs for `into record`:
98
+
99
+
- A list of pairs of values will be converted into a record. For example:
100
+
```nushell
101
+
[[a 1] [b 2]] | into record
102
+
# { a: 1, b: 2 }
103
+
```
104
+
- A list of records are merged into a single record (records at the end of the list have precedence):
105
+
```nushell
106
+
[{ a: 1 } { b: 2 } { a: 3 }] | into record
107
+
# { a: 3, b: 2 }
108
+
```
109
+
110
+
As a consequence, the previous behavior for list inputs has been removed (the index of each item would be used as the key). Instead, this old behavior can now be accomplished through either of the following:
111
+
112
+
```nushell
113
+
0.. | zip $list | into record
114
+
115
+
$list | enumerate | transpose -r -d | into record
116
+
```
117
+
118
+
Additionally, `into record` no longer supports range values as input.
119
+
120
+
After [#13650](https://github.com/nushell/nushell/pull/13650), `into record` also now outputs `millisecond`, `microsecond`, and `nanosecond` columns when provided with a datetime value.
121
+
122
+
### `clear`
123
+
124
+
In [#13821](https://github.com/nushell/nushell/pull/13821), [@T3sT3ro](https://github.com/T3sT3ro) changed the `clear` command to clear the entire scrollback buffer. As such, the `--all` flag was removed, since it is now the default behavior. Instead, a `--keep-scrollback` flag was added, which when used, makes `clear` clear only the terminal (the previous default behavior).
125
+
126
+
### `path exists`
127
+
128
+
After [#13763](https://github.com/nushell/nushell/pull/13763), if an I/O error occurs when checking if a path exists, `false` is now returned instead of throwing an error (this includes errors due to insufficient permissions).
129
+
72
130
## Deprecations [[toc](#table-of-content)]
73
131
74
132
## Removals [[toc](#table-of-content)]
75
133
134
+
### `str deunicode`
135
+
136
+
In [#13693](https://github.com/nushell/nushell/pull/13693), the `str deunicode` command (added in v0.96.0) has been removed due to concerns with stability and support post v1.0.
137
+
76
138
## Bug fixes and other changes [[toc](#table-of-content)]
77
139
140
+
### `find`
141
+
142
+
After [#13848](https://github.com/nushell/nushell/pull/13848), the find command no longer strips tabs from its input.
143
+
144
+
Also, regex patterns are now properly escaped after [#13792](https://github.com/nushell/nushell/pull/13792).
145
+
146
+
### `detect columns`
147
+
148
+
One source of panics was fixed in [#13752](https://github.com/nushell/nushell/pull/13752).
149
+
78
150
<!-- NOTE: to start investigating the contributions of last release, i like to list them all in a raw table.
79
151
to achieve this, one can use the [`list-merged-prs` script from `nu_scripts`](https://github.com/nushell/nu_scripts/blob/main/make_release/release-note/list-merged-prs)
80
152
as follows:
@@ -103,6 +175,7 @@ As part of this release, we also publish a set of optional plugins you can insta
103
175
-->
104
176
105
177
# All breaking changes [[toc](#table-of-content)]
178
+
106
179
<!-- TODO:
107
180
paste the output of
108
181
```nu
@@ -117,15 +190,17 @@ As part of this release, we also publish a set of optional plugins you can insta
117
190
118
191
Thanks to all the contributors below for helping us solve issues and improve documentation :pray:
0 commit comments