Nushell 0.104.0
Today, we're releasing version 0.104.0 of Nu. This release adds additional job control capabilities, many datetime improvements, and a number of new Polars commands.
Thank you to all those who have contributed to this release through the PRs below, issues and suggestions leading to those changes, and Discord discussions.
Where to get it
Nu 0.104.0 is available as pre-built binaries or from crates.io. If you have Rust installed you can 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 Nushell.
Table of contents
- Highlights and themes of this release
- Changes
- Additions
kill
now accepts list spreading- Custom indicator for missing table values
- Some
math
commands now work with bounded ranges - The executable directory is now added to
$NU_PLUGIN_DIRS
by default env-conversions
helpers added to the standard library- Proxy support for
http
commands - Tab completion when importing the standard library and its exports
- New columns available from
ps -l
on macOS - LSP: Snippet-style completions
debug --raw-value
- More info from
describe --detailed
- Support
PATHEXT
for additional extensions on Windows - Execute Nushell scripts on the Path in Windows
- New flag
glob --follow-symlinks
- Substring match algorithm
- Breaking changes
- Deprecations
- Removals
- Bug fixes and other changes
- Additions
- Notes for plugin developers
- Hall of fame
- Full changelog
Highlights and themes of this release [toc]
New Job-Control Features [toc]
Inter-Job Messaging (Experimental) [toc]
Jobs can now communicate with other jobs. The following commands were added in #15253:
job send
job recv
job flush
job id
See help job <subcommand>
for details.
Job tags [toc]
Jobs can now be tagged using job tag
, added in #15555.
New datetime
and duration
Features [toc]
Thanks to @LoicRiegel for a number of datetime
and duration
features in this release:
New date from-human
command [toc]
The new date from-human
command introduced in #15495 is now used to parse human-language date forms like "tomorrow" into datetime
values.
date from-human "next Friday at 6pm"
# => 2025-04-18T18:00:00+02:00
The equivalent functionality from into datetime
has been removed from that command.
Breaking change
See a full overview of the breaking changes
into datetime
now accepts a record [toc]
With #15455, it is now possible to construct a datetime from a record input. If the timezone is not specified, the locale is used:
{ year: 2025, month: 3, day: 30, hour: 12, minute: 15, second: 59, timezone: '+02:00' } | into datetime
# => Sun, 30 Mar 2025 12:15:59 +0200 (2 weeks ago)
into duration
now accepts a record [toc]
With #15600, it is now possible to construct a datetime from a record input. If the timezone is not specified, the local is used:
{ week: 10, day: 1, hour: 2, minute: 3, second: 4, millisecond: 5, microsecond: 6, nanosecond: 7, sign: '-' } | into duration
# => -10wk 1day 2hr 3min 4sec 5ms 6µs 7ns
into datetime --format
can now parse dates and times separately [toc]
Previously, into datetime --format
required both a date and a time. With #15544, each can be created separately. The system's local timezone will be used by default.
For example, to parse a DD/MM/YYYY
:
"25/03/2024" | into datetime --format "%d/%m/%Y"
# => Mon, 25 Mar 2024 00:00:00 +0100 (a year ago)
into duration
now accepts floats [toc]
With #15297, into duration
now accepts floats as a valid input type:
1.5day | into duration
# => 1day 12hr
New Polars commands [toc]
The following polars
commands have been added in this release:
polars join_where
(#15635 by @MMesch)polars cut
andpolars qcut
for binning (#15431 by @ayax79)polars into-schema
(#15534) by @ayax79)polars dtype
(#15529 by @ayax79, which also adds theNuDataType
custom type)polars replace-time-zone
(#15538 by @pyz4)polars convert-time-zone
(#15550 by @pyz4)polars over
(#15551 by @pyz4)polars truncate
(#15582 by @pyz4)
Changes [toc]
Additions [toc]
kill
now accepts list spreading [toc]
In #15558 from @Mrfiregem, the signature of the kill
command was changed so that it can accept multiple arguments via the list spreading operator. For example:
ps | where name == bash | kill ...$in.pid
Custom indicator for missing table values [toc]
Missing values (not null
) are represented by ❎ in tables. #15647 from @Bahex makes this indicator configurable. For example:
$env.config.table.missing_value_symbol = " ∅ "
Some math
commands now work with bounded ranges [toc]
With #15319 from @LoicRiegel, the following commands have been updated to allow bounded ranges as input:
math abs
math ceil
math floor
math log
math round
When passed a range
input, the command is applied to each item of the range, thus producing a list
of numbers as output.
Example:
-2.2..2.5 | math floor
# => ╭───┬────╮
# => │ 0 │ -3 │
# => │ 1 │ -2 │
# => │ 2 │ -1 │
# => │ 3 │ 0 │
# => │ 4 │ 1 │
# => ╰───┴────╯
The executable directory is now added to $NU_PLUGIN_DIRS
by default [toc]
Many distributions (including our binary distributions) place plugins in the same directory as the Nushell executable. With #15380 from @NotTheDr01ds, plugins in this type of environment will now work out-of-the-box using plugin add
.
env-conversions
helpers added to the standard library [toc]
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 by @NotTheDr01ds adds the equivalent helper to the standard library so that it can be easily used.
Proxy support for http
commands [toc]
With #15597 from @scarlet-storm, commands like http get
can now utilize a proxy using environment variables.
Tab completion when importing the standard library and its exports [toc]
With #15270, @blindFS enabled tab-completion for the standard library and its exports with the use
(and related) commands.
New columns available from ps -l
on macOS [toc]
#15341 from @fdncred adds the following columns to ps -l
on macOS:
user_id
priority
process_threads
LSP: Snippet-style completions [toc]
In #15494, @blindFS added the ability for completions of built-in commands to insert a snippet with placeholders for its arguments.
In addition, you'll find numerous LSP fixes below from @blindFS.
debug --raw-value
[toc]
@fdncred added a --raw-value
option to the debug
command in 15581 to allow retrieval of only the debug string part of the Nushell value.
More info from describe --detailed
[toc]
In #15591, @fdncred added more details to the describe --detailed
output, including the Rust data type, the Nushell data type, and the value.
Support PATHEXT
for additional extensions on Windows [toc]
With the changes in #15611 by @hfrentzel, Nushell will now automatically attempt to execute scripts using any extension found in the PATHEXT
environment variable on Windows.
Execute Nushell scripts on the Path in Windows [toc]
Also, with #15486 from @mztikk, Nushell scripts can be more easily executed from any directory in the Path
.
New flag glob --follow-symlinks
[toc]
@sebasnallar added --follow-symlinks
to ... follow symlinks when globbing (#15626)
Substring match algorithm [toc]
In #15511, @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.
Custom completers already had the ability to use substring matching by setting positional: false
in their options. However, positional
has now been deprecated, and completers should set completion_algorithm: "substring"
to maintain the same behavior.
Breaking changes [toc]
Parse human date time explicitly [toc]
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.
Instead, users can now explicitly choose to opt-in to that functionality using the new date from-human
command added in #15495 by @LoicRiegel.
str join
formatting for datetime
values has changed [toc]
When a datetime
is passed to str join
, the resulting format of the string has changed. With #15629 from @LoicRiegel, it will now format positive dates using RFC2822 and negative dates using RFC3339.
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
.
history
with sqlite uses datetimes now [toc]
Previously, the history
command would return a start_timestamp
with a string
when using the SQLite backend. With #15630, it now returns an actual Nushell datetime
.
If you were previously relying on a string
value from that column, you can easily convert it using format date
.
date
is now datetime
[toc]
The describe
command previously incorrectly reported datetime
values as date
. This has been fixed in #15264.
If you were previously checking the type of a value using describe
, you should change occurrences of date
to datetime
.
Deprecations [toc]
positional
completer option [toc]
The positional
option available to custom completers has been deprecated. See the section about the Substring match algorithm above for details.
Removals [toc]
Removed -s
and -p
in do
[toc]
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 by WindSoilder finally completes this removal.
Bug fixes and other changes [toc]
author | title | link |
---|---|---|
@0x4D5352 | chore: move 'job' to experimental category | #15568 |
@IanManske | Don't collect job output | #15365 |
@LoicRiegel | bugfix: wrong display of human readable string | #15522 |
@LoicRiegel | Bugfix chrono panic + hotifx PR15544 | #15549 |
@MMesch | fix mistake in description of polars pivot command | #15621 |
@Mrfiregem | Fix path add bug when given a record | #15379 |
@NotTheDr01ds | Fixes clip copy stripping control characters when de-ansifying | #15428 |
@SkillFlame | Fix #14660: to md breaks on tables with empty values | #15631 |
@WindSoilder | IR: raising reasonable error when using subexpression with and operator | #15623 |
@WindSoilder | overlay use: keep PWD after activating the overlay thought file. | #15566 |
@ayax79 | Fix output type of polars schema | #15572 |
@ayax79 | fix cannot find issue when performing collect on an eager dataframe | #15577 |
@blindFS | fix(completion): inline defined custom completion | #15318 |
@blindFS | fix(parser): skip eval_const if parsing errors detected to avoid panic | #15364 |
@blindFS | fix(explore): do not create extra layer for empty entries | #15367 |
@blindFS | fix(parser): comments in subexpressions of let /mut | #15375 |
@blindFS | fix: flatten of empty closures | #15374 |
@blindFS | fix: command open sets default flags when calling "from xxx" converters | #15383 |
@blindFS | fix(completion): ls_color for ~/xxx symlinks | #15403 |
@blindFS | feat(lsp): parse_warnings in diagnostics report | #15449 |
@blindFS | fix(completion): completions.external.enable config option not respected | #15443 |
@blindFS | fix(lsp): more accurate PWD: from env -> parent dir of current file | #15470 |
@blindFS | fix(lsp): keywords in completion snippets | #15499 |
@blindFS | fix(lsp): workspace wide ops may panic in certain conditions | #15514 |
@blindFS | fix(lsp): parser_info based id detection for use/overlay keywords | #15517 |
@blindFS | fix(lsp): several edge cases of inaccurate references | #15523 |
@blindFS | fix(lsp): more accurate command name highlight/rename | #15540 |
@blindFS | fix(completion): quoted cell path completion | #15546 |
@blindFS | fix(lsp): a panic caused by completion with decl_id out of range | #15576 |
@blindFS | fix(lsp): regression of semantic tokens of module-prefixed commands | #15603 |
@cosineblast | config commands now add frozen jobs to job table | #15556 |
@fdncred | fix datetime-diff so that it reports ms, us, ns as well | #15537 |
@jjflash95 | Fix #15440 default --empty fails at empty streams | #15562 |
@lazenga | Fix #13546: Outer joins incorrectly removing unmatched rows | #15472 |
@mokurin000 | fix(nu-command): support ACL, SELinux, e.g. in cd have_permission check | #15360 |
@pyz4 | polars into-df /polars into-lazy : --schema will not throw error if only some columns are defined | #15473 |
@pyz4 | FIX polars as-datetime : ignores timezone information on conversion | #15490 |
@pyz4 | fix(polars): cast as date now returns Date type instead of Datetime<ns> | #15574 |
@pyz4 | feat(polars): enable as_date and as_datetime to handle expressions as inputs | #15590 |
@pyz4 | feat(polars): add pow (** ) operator for polars expressions | #15598 |
@pyz4 | fix(custom_value) + fix(polars): map // operator to FloorDivide for custom values and in polars | #15599 |
@pyz4 | fix(polars): remove requirement that pivot columns must be same type in polars pivot | #15608 |
@pyz4 | fix(polars): conversion from nanoseconds to time_units in Datetime and Duration parsing | #15637 |
@sgvictorino | preserve variable capture spans in blocks | #15334 |
@sholderbach | Fix to nuon --serialize of closure | #15357 |
@sgvictorino | reset argument/redirection state after eval_call errors | #15400 |
@sholderbach | Fix to nuon --serialize of closure | #15357 |
@sholderbach | Fix Exbibyte parsing | #15515 |
@sholderbach | Fix future clippy lints | #15519 |
@vansh284 | Improve completions for exact matches (Issue #14794) | #15387 |
@ysthakur | Enable exact match behavior for any path with slashes | #15458 |
@zhiburt | Fix #15394 for table -e wrapping issue | #15407 |
@zhiburt | fix f25525b | #15500 |
Notes for plugin developers [toc]
Convert IoError
into LabeledError
[toc]
In version 0.102.0 IoError
s were added on top of std::io::Error
s. @132ikl made it easier in #15327 to return these in SimplePluginCommand
s.
New Repo for Plugin Examples [toc]
@cptpiepmatz has created a new repository 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.
Hall of fame [toc]
Thanks to all the contributors below for helping us solve issues, improve documentation, refactor code, and more! 🙏
author | title | link |
---|---|---|
@0x4D5352 | replace repeat().take() with repeat_n() | #15575 |
@132ikl | Add compile-time assertion of Value 's size | #15362 |
@132ikl | Add boolean examples to any and all | #15442 |
@AucaCoyan | Add labeler bot | #15627 |
@Bahex | docs(explore): Add ":nu" back to the help text | #15644 |
@IanManske | Remove nu-glob 's dependency on nu-protocol | #15349 |
@LoicRiegel | refactor: ensure range is bounded | #15429 |
@LoicRiegel | Replace some PipelineMismatch by OnlySupportsThisInputType by shell error | #15447 |
@NotTheDr01ds | Ignore problematic overlapping tests for SHLVL | #15430 |
@NotTheDr01ds | Reminder comment to update doc when adding $nu constants | #15481 |
@NotTheDr01ds | Revert "Fix kv set with a closure argument" | #15648 |
@NotTheDr01ds | Renamed join_where to join-where | #15660 |
@Tyarel8 | Fix kv set with a closure argument | #15588 |
@WindSoilder | update shadow-rs to version 1 | #15462 |
@WindSoilder | Update rand and rand_chacha to 0.9 | #15463 |
@WindSoilder | Fix clippy | #15489 |
@WindSoilder | IR: allow subexpression with redirection. | #15617 |
@blindFS | refactor: command identified by name instead of span content | #15471 |
@blindFS | refactor(lsp): align markdown doc string with output of --help | #15508 |
@blindFS | refactor(completion, lsp): include decl_id in suggetion_kind for later usage | #15536 |
@blindFS | refactor(lsp): flat_map with mutable accumulator | #15567 |
@cptpiepmatz | Add --plugins flag to nu-std/testing.nu | #15552 |
@cptpiepmatz | Add cat and get-content to open 's search terms | #15643 |
@fdncred | bump uutils crates to 0.0.30 | #15316 |
@fdncred | update human-date-parser to 3.0 | #15426 |
@fdncred | bump to the latest rust version | #15483 |
@fdncred | Revert "Fix #15394 for table -e wrapping issue" | #15498 |
@fdncred | bump reedline to 75f2c50 | #15659 |
@fennewald | Limit Allowed serde_json Versions to Match Usage | #15504 |
@g2p | Upgrade calamine dependency to fix zip semver breakage | #15657 |
@hustcer | Fix upgrading and checking of typos | #15454 |
@hustcer | Update Nu to 0.103.0 for release workflow and improve Windows OS checks | #15625 |
@kidrigger | Fix examples about RFC3339 format in date now and format date . | #15563 |
@migraine-user | Fix typo in doc_config.nu + small description | #15461 |
@sholderbach | Bump crossbeam-channel | #15541 |
@sholderbach | Fix labelling of plugins through correct glob | #15634 |
@suimong | Improve std/log performance | #15614 |
@whiter001 | create nu_plugin_node_example.js | #15482 |
@ysthakur | Bump to 0.103.1 dev version | #15347 |
@ysthakur | Revert "Improve completions for exact matches (Issue #14794)" | #15457 |
@pyz4 | polars cast : add decimal option for dtype parameter | #15464 |
@pyz4 | polars : extend NuExpression::extract_exprs to handle records | #15553 |
@pyz4 | polars : update get- datetime components commands to allow expressions as inputs | #15557 |
@pyz4 | polars : update polars lit to handle nushell Value::Duration and Value::Date types | #15564 |
@pyz4 | polars : expand polars col to handle multiple columns and by types | #15570 |
@pyz4 | feat(polars): loosen constraints on accepted expressions in polars group-by | #15583 |
@pyz4 | feat(polars): enable parsing decimals in polars schemas | #15632 |
@pyz4 | feat(polars): enable parsing strings as dates and datetime in polars schema | #15645 |
Full changelog [toc]
author | title | link |
---|---|---|
@0x4D5352 | chore: move 'job' to experimental category | #15568 |
@0x4D5352 | replace repeat().take() with repeat_n() | #15575 |
@132ikl | Add From<IoError> for LabeledError | #15327 |
@132ikl | Add compile-time assertion of Value 's size | #15362 |
@132ikl | Add boolean examples to any and all | #15442 |
@AucaCoyan | Add labeler bot | #15627 |
@Bahex | docs(explore): Add ":nu" back to the help text | #15644 |
@Bahex | feat(table): make missing value symbol configurable | #15647 |
@IanManske | Remove nu-glob 's dependency on nu-protocol | #15349 |
@IanManske | Don't collect job output | #15365 |
@LoicRiegel | Math commands can work with bounded ranges and produce list of numbers | #15319 |
@LoicRiegel | Bugfix/into datetime ignores timezone with format | #15370 |
@LoicRiegel | refactor: ensure range is bounded | #15429 |
@LoicRiegel | Replace some PipelineMismatch by OnlySupportsThisInputType by shell error | #15447 |
@LoicRiegel | Feat: construct datetime from record | #15455 |
@LoicRiegel | Move human date parsing into new command date from-human | #15495 |
@LoicRiegel | bugfix: wrong display of human readable string | #15522 |
@LoicRiegel | Bugfix: datetime parsing and local timezones | #15544 |
@LoicRiegel | Bugfix chrono panic + hotifx PR15544 | #15549 |
@LoicRiegel | feat: duration from record | #15600 |
@LoicRiegel | Bugfix/loss of precision when parsing value with unit | #15606 |
@LoicRiegel | bugfix: str join outputs dates consistently (RFC2822 when possible) | #15629 |
@LoicRiegel | history table using sqlite outputs start_timestamp as datetime instead of string | #15630 |
@MMesch | fix mistake in description of polars pivot command | #15621 |
@MMesch | add polars join_where command | #15635 |
@Mrfiregem | Fix path add bug when given a record | #15379 |
@Mrfiregem | Allow spreading arguments of kill command | #15558 |
@NotTheDr01ds | Rename user-facing 'date' to 'datetime' | #15264 |
@NotTheDr01ds | Add current exe directory to default $NU_PLUGIN_DIRS | #15380 |
@NotTheDr01ds | Fixes clip copy stripping control characters when de-ansifying | #15428 |
@NotTheDr01ds | Ignore problematic overlapping tests for SHLVL | #15430 |
@NotTheDr01ds | Reminder comment to update doc when adding $nu constants | #15481 |
@NotTheDr01ds | Add env-conversions helpers to std | #15569 |
@NotTheDr01ds | Revert "Fix kv set with a closure argument" | #15648 |
@NotTheDr01ds | Renamed join_where to join-where | #15660 |
@SkillFlame | Fix #14660: to md breaks on tables with empty values | #15631 |
@Tyarel8 | Fix kv set with a closure argument | #15588 |
@WindSoilder | remove -s, -p in do | #15456 |
@WindSoilder | update shadow-rs to version 1 | #15462 |
@WindSoilder | Update rand and rand_chacha to 0.9 | #15463 |
@WindSoilder | Fix clippy | #15489 |
@WindSoilder | overlay use: keep PWD after activating the overlay thought file. | #15566 |
@WindSoilder | IR: allow subexpression with redirection. | #15617 |
@WindSoilder | IR: raising reasonable error when using subexpression with and operator | #15623 |
@app/dependabot | build(deps): bump mockito from 1.6.1 to 1.7.0 | #15343 |
@app/dependabot | build(deps): bump indexmap from 2.7.0 to 2.8.0 | #15345 |
@app/dependabot | build(deps): bump uuid from 1.12.0 to 1.16.0 | #15346 |
@app/dependabot | build(deps): bump crate-ci/typos from 1.29.10 to 1.30.3 | #15418 |
@app/dependabot | build(deps): bump tokio from 1.43.0 to 1.44.1 | #15419 |
@app/dependabot | build(deps): bump array-init-cursor from 0.2.0 to 0.2.1 | #15460 |
@app/dependabot | build(deps): bump bytesize from 1.3.2 to 1.3.3 | #15468 |
@app/dependabot | build(deps): bump crate-ci/typos from 1.31.0 to 1.31.1 | #15469 |
@app/dependabot | build(deps): bump openssl from 0.10.70 to 0.10.72 | #15493 |
@app/dependabot | build(deps): bump tokio from 1.44.1 to 1.44.2 | #15521 |
@app/dependabot | build(deps): bump titlecase from 3.4.0 to 3.5.0 | #15530 |
@app/dependabot | build(deps): bump indexmap from 2.8.0 to 2.9.0 | #15531 |
@app/dependabot | build(deps): bump rust-embed from 8.6.0 to 8.7.0 | #15579 |
@app/dependabot | build(deps): bump data-encoding from 2.8.0 to 2.9.0 | #15580 |
@ayax79 | Polars binning commands: cut/qcut | #15431 |
@ayax79 | Introduction of NuDataType and polars dtype | #15529 |
@ayax79 | Introducing polars into-schema | #15534 |
@ayax79 | Fix output type of polars schema | #15572 |
@ayax79 | fix cannot find issue when performing collect on an eager dataframe | #15577 |
@blindFS | feat(completion): stdlib virtual path completion & exportable completion | #15270 |
@blindFS | fix(completion): inline defined custom completion | #15318 |
@blindFS | fix(lsp): verbose signature help response for less well supported editors | #15353 |
@blindFS | fix(parser): skip eval_const if parsing errors detected to avoid panic | #15364 |
@blindFS | fix(explore): do not create extra layer for empty entries | #15367 |
@blindFS | fix: flatten of empty closures | #15374 |
@blindFS | fix(parser): comments in subexpressions of let /mut | #15375 |
@blindFS | fix: command open sets default flags when calling "from xxx" converters | #15383 |
@blindFS | fix(completion): ls_color for ~/xxx symlinks | #15403 |
@blindFS | fix(completion): completions.external.enable config option not respected | #15443 |
@blindFS | feat(lsp): parse_warnings in diagnostics report | #15449 |
@blindFS | fix(lsp): more accurate PWD: from env -> parent dir of current file | #15470 |
@blindFS | refactor: command identified by name instead of span content | #15471 |
@blindFS | feat(lsp): snippet style completion for commands | #15494 |
@blindFS | fix(lsp): keywords in completion snippets | #15499 |
@blindFS | refactor(lsp): align markdown doc string with output of --help | #15508 |
@blindFS | fix(lsp): workspace wide ops may panic in certain conditions | #15514 |
@blindFS | fix(lsp): parser_info based id detection for use/overlay keywords | #15517 |
@blindFS | fix(lsp): several edge cases of inaccurate references | #15523 |
@blindFS | refactor(completion, lsp): include decl_id in suggetion_kind for later usage | #15536 |
@blindFS | fix(lsp): more accurate command name highlight/rename | #15540 |
@blindFS | fix(completion): quoted cell path completion | #15546 |
@blindFS | refactor(lsp): flat_map with mutable accumulator | #15567 |
@blindFS | fix(lsp): a panic caused by completion with decl_id out of range | #15576 |
@blindFS | fix(lsp): regression of semantic tokens of module-prefixed commands | #15603 |
@cosineblast | Inter-Job direct messaging | #15253 |
@cosineblast | Add job tags | #15555 |
@cosineblast | config commands now add frozen jobs to job table | #15556 |
@cptpiepmatz | Add --plugins flag to nu-std/testing.nu | #15552 |
@cptpiepmatz | Add cat and get-content to open 's search terms | #15643 |
@fdncred | bump uutils crates to 0.0.30 | #15316 |
@fdncred | add more columns to macos ps -l | #15341 |
@fdncred | update human-date-parser to 3.0 | #15426 |
@fdncred | bump to the latest rust version | #15483 |
@fdncred | Revert "Fix #15394 for table -e wrapping issue" | #15498 |
@fdncred | fix datetime-diff so that it reports ms, us, ns as well | #15537 |
@fdncred | add --raw-value option to debug command | #15581 |
@fdncred | add more details to describe -d | #15591 |
@fdncred | bump reedline to 75f2c50 | #15659 |
@fennewald | Limit Allowed serde_json Versions to Match Usage | #15504 |
@g2p | Upgrade calamine dependency to fix zip semver breakage | #15657 |
@hfrentzel | Run scripts of any file extension in PATHEXT on Windows | #15611 |
@hustcer | Fix upgrading and checking of typos | #15454 |
@hustcer | Update Nu to 0.103.0 for release workflow and improve Windows OS checks | #15625 |
@jjflash95 | Fix #15440 default --empty fails at empty streams | #15562 |
@kidrigger | Fix examples about RFC3339 format in date now and format date . | #15563 |
@lazenga | Fix #13546: Outer joins incorrectly removing unmatched rows | #15472 |
@migraine-user | Fix typo in doc_config.nu + small description | #15461 |
@mokurin000 | fix(nu-command): support ACL, SELinux, e.g. in cd have_permission check | #15360 |
@mztikk | Consider PATH when running command is nuscript in windows | #15486 |
@pyz4 | polars cast : add decimal option for dtype parameter | #15464 |
@pyz4 | polars into-df /polars into-lazy : --schema will not throw error if only some columns are defined | #15473 |
@pyz4 | FIX polars as-datetime : ignores timezone information on conversion | #15490 |
@pyz4 | polars : add new command polars replace-time-zone | #15538 |
@pyz4 | polars : add new command polars convert-time-zone | #15550 |
@pyz4 | polars : add new command polars over | #15551 |
@pyz4 | polars : extend NuExpression::extract_exprs to handle records | #15553 |
@pyz4 | polars : update get- datetime components commands to allow expressions as inputs | #15557 |
@pyz4 | polars : update polars lit to handle nushell Value::Duration and Value::Date types | #15564 |
@pyz4 | polars : expand polars col to handle multiple columns and by types | #15570 |
@pyz4 | fix(polars): cast as date now returns Date type instead of Datetime<ns> | #15574 |
@pyz4 | feat(polars): add polars truncate for rounding datetimes | #15582 |
@pyz4 | feat(polars): loosen constraints on accepted expressions in polars group-by | #15583 |
@pyz4 | feat(polars): enable as_date and as_datetime to handle expressions as inputs | #15590 |
@pyz4 | feat(polars): add pow (** ) operator for polars expressions | #15598 |
@pyz4 | fix(custom_value) + fix(polars): map // operator to FloorDivide for custom values and in polars | #15599 |
@pyz4 | fix(polars): remove requirement that pivot columns must be same type in polars pivot | #15608 |
@pyz4 | feat(polars): enable parsing decimals in polars schemas | #15632 |
@pyz4 | fix(polars): conversion from nanoseconds to time_units in Datetime and Duration parsing | #15637 |
@pyz4 | feat(polars): enable parsing strings as dates and datetime in polars schema | #15645 |
@scarlet-storm | Enable socks proxy support in ureq | #15597 |
@sebasnallar | Add --follow-symlinks flag to glob command (fixes #15559) | #15626 |
@sgvictorino | preserve variable capture spans in blocks | #15334 |
@sgvictorino | enable streaming in random binary /chars | #15361 |
@sgvictorino | reset argument/redirection state after eval_call errors | #15400 |
@sholderbach | Fix to nuon --serialize of closure | #15357 |
@sholderbach | Fix Exbibyte parsing | #15515 |
@sholderbach | Fix future clippy lints | #15519 |
@sholderbach | Bump crossbeam-channel | #15541 |
@sholderbach | Fix labelling of plugins through correct glob | #15634 |
@suimong | Improve std/log performance | #15614 |
@vansh284 | Improve completions for exact matches (Issue #14794) | #15387 |
@vansh284 | Substring Match Algorithm | #15511 |
@whiter001 | create nu_plugin_node_example.js | #15482 |
@ysthakur | Bump to 0.103.1 dev version | #15347 |
@ysthakur | Revert "Improve completions for exact matches (Issue #14794)" | #15457 |
@ysthakur | Enable exact match behavior for any path with slashes | #15458 |
@zhiburt | Fix #15394 for table -e wrapping issue | #15407 |
@zhiburt | fix f25525b | #15500 |