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
-[_Removed `-s` and `-p` in `do`_](#removed-s-and-p-in-do-toc)
60
+
-[_Bug fixes and other changes_](#bug-fixes-and-other-changes-toc)
61
+
-[_Notes for plugin developers_](#notes-for-plugin-developers-toc)
62
+
-[_Convert `IoError` into `LabeledError`_](#convert-ioerror-into-labelederror-toc)
63
+
-[_New Repo for Plugin Examples_](#new-repo-for-plugin-examples-toc)
64
+
-[_Hall of fame_](#hall-of-fame-toc)
65
+
-[_Full changelog_](#full-changelog-toc)
23
66
<!-- 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`. -->
24
67
25
-
# Highlights and themes of this release
68
+
# Highlights and themes of this release[[toc](#table-of-contents)]
26
69
27
-
## New Job-Control Features
70
+
## New Job-Control Features[[toc](#table-of-contents)]
@@ -38,15 +81,15 @@ Jobs can now communicate with other jobs. The following commands were added in
38
81
39
82
See `help job <subcommand>` for details.
40
83
41
-
### Job tags
84
+
### Job tags[[toc](#table-of-contents)]
42
85
43
86
Jobs can now be tagged using `job tag`, added in [#15555](https://github.com/nushell/nushell/pull/15555).
44
87
45
-
## New `datetime` and `duration` Features
88
+
## New `datetime` and `duration` Features[[toc](#table-of-contents)]
46
89
47
90
Thanks to [@LoicRiegel](https://github.com/LoicRiegel) for a number of `datetime` and `duration` features in this release:
48
91
49
-
### New `date from-human` command
92
+
### New `date from-human` command[[toc](#table-of-contents)]
50
93
51
94
The new `date from-human` command introduced in [#15495](https://github.com/nushell/nushell/pull/15495) is now used to parse human-language date forms like _"tomorrow"_ into `datetime` values.
52
95
@@ -61,7 +104,7 @@ The equivalent functionality from `into datetime` has been removed from that com
61
104
See a full overview of the [breaking changes](#breaking-changes)
62
105
:::
63
106
64
-
### `into datetime` now accepts a record
107
+
### `into datetime` now accepts a record[[toc](#table-of-contents)]
65
108
66
109
With [#15455](https://github.com/nushell/nushell/pull/15455), it is now possible to construct a datetime from a record input. If the timezone is not specified, the locale is used:
67
110
@@ -70,7 +113,7 @@ With [#15455](https://github.com/nushell/nushell/pull/15455), it is now possible
### `into duration` now accepts a record[[toc](#table-of-contents)]
74
117
75
118
With [#15600](https://github.com/nushell/nushell/pull/15600), it is now possible to construct a datetime from a record input. If the timezone is not specified, the local is used:
76
119
@@ -79,7 +122,7 @@ With [#15600](https://github.com/nushell/nushell/pull/15600), it is now possible
79
122
# => -10wk 1day 2hr 3min 4sec 5ms 6µs 7ns
80
123
```
81
124
82
-
### `into datetime --format` can now parse dates and times separately
125
+
### `into datetime --format` can now parse dates and times separately[[toc](#table-of-contents)]
83
126
84
127
Previously, `into datetime --format` required both a date and a time. With [#15544](https://github.com/nushell/nushell/pull/15544),
85
128
each can be created separately. The system's local timezone will be used
@@ -92,7 +135,7 @@ For example, to parse a `DD/MM/YYYY`:
92
135
# => Mon, 25 Mar 2024 00:00:00 +0100 (a year ago)
93
136
```
94
137
95
-
### `into duration` now accepts floats
138
+
### `into duration` now accepts floats[[toc](#table-of-contents)]
96
139
97
140
With [#15297](https://github.com/nushell/nushell/pull/15297), `into duration` now accepts floats as a valid input type:
98
141
@@ -101,7 +144,7 @@ With [#15297](https://github.com/nushell/nushell/pull/15297), `into duration` no
101
144
# => 1day 12hr
102
145
```
103
146
104
-
## New Polars commands
147
+
## New Polars commands[[toc](#table-of-contents)]
105
148
106
149
The following `polars` commands have been added in this release:
107
150
@@ -114,27 +157,27 @@ The following `polars` commands have been added in this release:
114
157
-`polars over` ([#15551](https://github.com/nushell/nushell/pull/15551) by [@pyz4](https://github.com/pyz4))
115
158
-`polars truncate` ([#15582](https://github.com/nushell/nushell/pull/15582) by [@pyz4](https://github.com/pyz4))
116
159
117
-
# Changes
160
+
# Changes[[toc](#table-of-contents)]
118
161
119
-
## Additions
162
+
## Additions[[toc](#table-of-contents)]
120
163
121
-
### `kill` now accepts list spreading
164
+
### `kill` now accepts list spreading[[toc](#table-of-contents)]
122
165
123
166
In [#15558](https://github.com/nushell/nushell/pull/15558) from [@Mrfiregem](https://github.com/Mrfiregem), the signature of the `kill` command was changed so that it can accept multiple arguments via the list spreading operator. For example:
124
167
125
168
```nushell
126
169
ps | where name == bash | kill ...$in.pid
127
170
```
128
171
129
-
### Custom indicator for missing table values
172
+
### Custom indicator for missing table values[[toc](#table-of-contents)]
130
173
131
174
Missing values (not `null`) are represented by ❎ in tables. [#15647](https://github.com/nushell/nushell/pull/15647) from [@Bahex](https://github.com/Bahex) makes this indicator configurable. For example:
132
175
133
176
```nushell
134
177
$env.config.table.missing_symbol = " ∅ "
135
178
```
136
179
137
-
### Some `math` commands now work with bounded ranges
180
+
### Some `math` commands now work with bounded ranges[[toc](#table-of-contents)]
138
181
139
182
With [#15319](https://github.com/nushell/nushell/pull/15319) from [@LoicRiegel](https://github.com/LoicRiegel), the following commands have been updated to allow bounded ranges as input:
140
183
@@ -159,102 +202,102 @@ Example:
159
202
# => ╰───┴────╯
160
203
```
161
204
162
-
### The executable directory is now added to `$NU_PLUGIN_DIRS` by default
205
+
### The executable directory is now added to `$NU_PLUGIN_DIRS` by default[[toc](#table-of-contents)]
163
206
164
207
Many distributions (including our binary distributions) place plugins in the same directory as the Nushell executable. With [#15380](https://github.com/nushell/nushell/pull/15380) from [@NotTheDr01ds](https://github.com/NotTheDr01ds), plugins in this type of environment will now work out-of-the-box using `plugin register`.
165
208
166
-
### `env-conversions` helpers added to the standard library
209
+
### `env-conversions` helpers added to the standard library[[toc](#table-of-contents)]
167
210
168
211
Previously, the default `$env.ENV_CONVERSION` for `PATH` could be "reused" in other path-related conversions. In a previous release, this conversion was removed and became Rust-based. [#15569](https://github.com/nushell/nushell/pull/15569) by [@NotTheDr01ds](https://github.com/NotTheDr01ds) adds the equivalent helper to the standard library so that it can be easily used.
169
212
170
-
### Proxy support for `http` commands
213
+
### Proxy support for `http` commands[[toc](#table-of-contents)]
171
214
172
215
With [#15597](https://github.com/nushell/nushell/pull/15597) from [@scarlet-storm](https://github.com/scarlet-storm), commands like `http get` can now utilize a proxy using environment variables.
173
216
174
-
### Tab completion when importing the standard library and its exports
217
+
### Tab completion when importing the standard library and its exports[[toc](#table-of-contents)]
175
218
176
219
With [#15270](https://github.com/nushell/nushell/pull/15270), [@blindFS](https://github.com/blindFS) enabled tab-completion for the standard library and its exports with the `use` (and related) commands.
177
220
178
-
### New columns available from `ps -l` on macOS
221
+
### New columns available from `ps -l` on macOS[[toc](#table-of-contents)]
179
222
180
223
[#15341](https://github.com/nushell/nushell/pull/15341) from [@fdncred](https://github.com/fdncred) adds the following columns to `ps -l` on macOS:
In [#15494](https://github.com/nushell/nushell/pull/15494), [@blindFS](https://github.com/blindFS) added the ability for completions of built-in commands to insert a snippet with placeholders for its arguments.
189
232
190
233
In addition, you'll find numerous LSP fixes below from [@blindFS](https://github.com/blindFS).
[@fdncred](https://github.com/fdncred) added a `--raw-value` option to the `debug` command in [15581](https://github.com/nushell/nushell/pull/15581) to allow retrieval of only the debug string part of the Nushell value.
195
238
196
-
### More info from `describe --detailed`
239
+
### More info from `describe --detailed`[[toc](#table-of-contents)]
197
240
198
241
In [#15591](https://github.com/nushell/nushell/pull/15591), [@fdncred](https://github.com/fdncred) added more details to the `describe --detailed` output, including the Rust data type, the Nushell data type, and the value.
199
242
200
-
### Support `PATHEXT` for additional extensions on Windows
243
+
### Support `PATHEXT` for additional extensions on Windows[[toc](#table-of-contents)]
201
244
202
245
With the changes in [#15611](https://github.com/nushell/nushell/pull/15611) by [@hfrentzel](https://github.com/hfrentzel), Nushell will now automatically attempt to execute scripts using any extension found in the `PATHEXT` environment variable on Windows.
203
246
204
-
### Execute Nushell scripts on the Path in Windows
247
+
### Execute Nushell scripts on the Path in Windows[[toc](#table-of-contents)]
205
248
206
249
Also, with [#15486](https://github.com/nushell/nushell/pull/15486) from [@mztikk](https://github.com/mztikk), Nushell scripts can be more easily executed from any directory in the `Path`.
207
250
208
-
### New flag `glob --follow-symlinks`
251
+
### New flag `glob --follow-symlinks`[[toc](#table-of-contents)]
209
252
210
253
[@sebasnallar](https://github.com/sebasnallar) added `--follow-symlinks` to ... folllow symlinks when globbing ([#15626](https://github.com/nushell/nushell/pull/15626))
211
254
212
-
### Substring match algorithm
255
+
### Substring match algorithm[[toc](#table-of-contents)]
213
256
214
257
In [#15511](https://github.com/nushell/nushell/pull/15511), [@vansh284](https://github.com/vansh284) added the option to use substring matching for completions. Previously, only prefix and fuzzy matching were allowed. Users can now set `$env.config.completions.algorithm` to `"substring"` to enable this.
215
258
216
259
Custom completers already had the ability to use substring matching by setting `positional: false` in their [options](https://www.nushell.sh/book/custom_completions.html#options-for-custom-completions). However, `positional` has now been deprecated, and completers should set `completion_algorithm: "substring"` to maintain the same behavior.
217
260
218
-
## Breaking changes
261
+
## Breaking changes[[toc](#table-of-contents)]
219
262
220
-
### Parse human date time explicitly
263
+
### Parse human date time explicitly[[toc](#table-of-contents)]
221
264
222
265
`into datetime` used to parse not only strictly formatted date time strings, but also human readable ones. This created some situations where unexpected values might result from `into datetime`. This functionality has been removed.
223
266
224
267
Instead, users can now explicitly choose to opt-in to that functionality using the new `date from-human` command added in [#15495](https://github.com/nushell/nushell/pull/15495) by [@LoicRiegel](https://github.com/LoicRiegel).
225
268
226
-
### `str join` formatting for `datetime` values has changed
269
+
### `str join` formatting for `datetime` values has changed[[toc](#table-of-contents)]
227
270
228
271
When a `datetime` is passed to `str join`, the resulting format of the string has changed. With [#15629](https://github.com/nushell/nushell/pull/15629) from [@LoicRiegel](https://github, it will now format positive dates using RFC2822 and negative dates using RFC3339.
229
272
230
273
This could be a breaking change if you depend on a particular format of the output of `str join`. Consider using `format date` before `str join`.
231
274
232
-
### `history` with sqlite uses datetimes now
275
+
### `history` with sqlite uses datetimes now[[toc](#table-of-contents)]
233
276
234
277
Previously, the `history` command would return a `start_timestamp` with a `string` when using the SQLite backend. With
235
278
[#15630](https://github.com/nushell/nushell/pull/15630), it now returns an actual Nushell `datetime`.
236
279
237
280
If you were previously relying on a `string` value from that column, you can easily convert it using `format date`.
238
281
239
-
### `date` is now `datetime`
282
+
### `date` is now `datetime`[[toc](#table-of-contents)]
240
283
241
284
The `describe` command previously incorrectly reported `datetime` values as `date`. This has been fixed in [#15264](https://github.com/nushell/nushell/pull/15264).
242
285
243
286
If you were previously checking the type of a value using `describe`, you should change occurrences of `date` to `datetime`.
The `positional`[option](https://www.nushell.sh/book/custom_completions.html#options-for-custom-completions) available to custom completers has been deprecated. See the section about the [Substring match algorithm](#substring-match-algorithm-toc) above for details.
250
293
251
-
## Removals
294
+
## Removals[[toc](#table-of-contents)]
252
295
253
-
### Removed `-s` and `-p` in `do`
296
+
### Removed `-s` and `-p` in `do`[[toc](#table-of-contents)]
254
297
255
298
We deprecated the `-s` and `-p` flags and planned to remove them in version 0.102.0. We forgot about it for a couple of releases, but [#15456](https://github.com/nushell/nushell/pull/15456) by [WindSoilder](https://github.com/WindSoilder) finally completes this removal.
256
299
257
-
## Bug fixes and other changes
300
+
## Bug fixes and other changes[[toc](#table-of-contents)]
# Notes for plugin developers[[toc](#table-of-contents)]
316
359
317
-
## Convert `IoError` into `LabeledError`
360
+
## Convert `IoError` into `LabeledError`[[toc](#table-of-contents)]
318
361
319
362
In version 0.102.0 `IoError`s were added on top of `std::io::Error`s. [@132ikl](https://github.com/132ikl) made it easier in [#15327](https://github.com/nushell/nushell/pull/15327) to return these in `SimplePluginCommand`s.
320
363
321
-
## New Repo for Plugin Examples
364
+
## New Repo for Plugin Examples[[toc](#table-of-contents)]
322
365
323
366
[@cptpiepmatz](https://github.com/cptpiepmatz) has created a [new repository](https://github.com/nushell/plugin-examples) for plugin examples. It includes various examples demonstrating how to write plugins with different features and in multiple languages, including Nu. The existing plugin examples in the main repository will be moved there soon.
324
367
325
-
# Hall of fame
368
+
# Hall of fame[[toc](#table-of-contents)]
326
369
327
370
Thanks to all the contributors below for helping us solve issues, improve documentation, refactor code, and more! :pray:
328
371
@@ -377,7 +420,7 @@ Thanks to all the contributors below for helping us solve issues, improve docume
377
420
|[@pyz4](https://github.com/pyz4)| feat(polars): enable parsing decimals in polars schemas |[#15632](https://github.com/nushell/nushell/pull/15632)|
378
421
|[@pyz4](https://github.com/pyz4)| feat(polars): enable parsing strings as dates and datetime in polars schema |[#15645](https://github.com/nushell/nushell/pull/15645)|
0 commit comments