Compare commits

...

6 Commits

Author SHA1 Message Date
682d593d3f Bump patch version (#16236)
Bump patch version
2025-07-29 22:19:36 +02:00
c4fed5ea84 Don't import IoError on nu-plugin-core without local-socket (#16279)
When you use `nu-plugin-core` without the `local-socket` feature, you
got the warning:
<img width="1182" height="353" alt="image"
src="https://github.com/user-attachments/assets/dd80af11-4963-4d48-8c93-43e6c2dabafa"
/>

This PR fixes that warning.
2025-07-29 22:19:13 +02:00
27865b9415 Port unsafe_op_in_unsafe_fn fix to FreeBSD (#16275)
Same general idea as https://github.com/nushell/nushell/pull/16266

Fixes the 2024 edition
[`unsafe_op_in_unsafe_fn`](https://doc.rust-lang.org/nightly/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html)
lint for FreeBSD as well

Add safety comments to both implementations and an assertion before
`MaybeUninit::assume_init`
2025-07-29 22:19:13 +02:00
pin
400da3c698 Fix #16261 (#16266)
- this PR should close #16261 
- fixes #16261

Confirmed to build with Rust-1.86 and to yield a working binary.
2025-07-29 22:19:13 +02:00
3729fcf667 fix(get): run_const uses --optional flag (#16268)
`Get::run_const()` was not update along `Get::run()` in #16007.

Co-authored-by: Bahex <17417311+Bahex@users.noreply.github.com>
2025-07-29 22:19:13 +02:00
f390ba1aae fix bare interpolation regression (#16235)
Regression from #16204 

Before:

![](f1995bc71f/before.svg)

After:

![](f1995bc71f/after.svg)

# Tests + Formatting
+1

---------

Co-authored-by: Bahex <17417311+Bahex@users.noreply.github.com>
2025-07-29 22:19:13 +02:00
54 changed files with 396 additions and 299 deletions

76
Cargo.lock generated
View File

@ -3583,7 +3583,7 @@ dependencies = [
[[package]] [[package]]
name = "nu" name = "nu"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"assert_cmd", "assert_cmd",
"crossterm", "crossterm",
@ -3638,7 +3638,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-cli" name = "nu-cli"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"chrono", "chrono",
"crossterm", "crossterm",
@ -3675,7 +3675,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-cmd-base" name = "nu-cmd-base"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"indexmap", "indexmap",
"miette", "miette",
@ -3687,7 +3687,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-cmd-extra" name = "nu-cmd-extra"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"fancy-regex", "fancy-regex",
"heck", "heck",
@ -3713,7 +3713,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-cmd-lang" name = "nu-cmd-lang"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"itertools 0.14.0", "itertools 0.14.0",
"miette", "miette",
@ -3730,7 +3730,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-cmd-plugin" name = "nu-cmd-plugin"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"itertools 0.14.0", "itertools 0.14.0",
"nu-engine", "nu-engine",
@ -3741,7 +3741,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-color-config" name = "nu-color-config"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"nu-ansi-term", "nu-ansi-term",
"nu-engine", "nu-engine",
@ -3753,7 +3753,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-command" name = "nu-command"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"alphanumeric-sort", "alphanumeric-sort",
"base64 0.22.1", "base64 0.22.1",
@ -3871,7 +3871,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-derive-value" name = "nu-derive-value"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"heck", "heck",
"proc-macro-error2", "proc-macro-error2",
@ -3882,7 +3882,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-engine" name = "nu-engine"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"fancy-regex", "fancy-regex",
"log", "log",
@ -3894,7 +3894,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-experimental" name = "nu-experimental"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"itertools 0.14.0", "itertools 0.14.0",
"thiserror 2.0.12", "thiserror 2.0.12",
@ -3902,7 +3902,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-explore" name = "nu-explore"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"ansi-str", "ansi-str",
"anyhow", "anyhow",
@ -3926,14 +3926,14 @@ dependencies = [
[[package]] [[package]]
name = "nu-glob" name = "nu-glob"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"doc-comment", "doc-comment",
] ]
[[package]] [[package]]
name = "nu-json" name = "nu-json"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"fancy-regex", "fancy-regex",
"linked-hash-map", "linked-hash-map",
@ -3949,7 +3949,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-lsp" name = "nu-lsp"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"assert-json-diff", "assert-json-diff",
"crossbeam-channel", "crossbeam-channel",
@ -3976,7 +3976,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-parser" name = "nu-parser"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"bytesize", "bytesize",
"chrono", "chrono",
@ -3993,7 +3993,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-path" name = "nu-path"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"dirs", "dirs",
"omnipath", "omnipath",
@ -4003,7 +4003,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-plugin" name = "nu-plugin"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"log", "log",
"nix 0.29.0", "nix 0.29.0",
@ -4019,7 +4019,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-plugin-core" name = "nu-plugin-core"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"interprocess", "interprocess",
"log", "log",
@ -4033,7 +4033,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-plugin-engine" name = "nu-plugin-engine"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"log", "log",
"nu-engine", "nu-engine",
@ -4049,7 +4049,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-plugin-protocol" name = "nu-plugin-protocol"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"nu-protocol", "nu-protocol",
"nu-utils", "nu-utils",
@ -4061,7 +4061,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-plugin-test-support" name = "nu-plugin-test-support"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"nu-ansi-term", "nu-ansi-term",
"nu-cmd-lang", "nu-cmd-lang",
@ -4079,7 +4079,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-pretty-hex" name = "nu-pretty-hex"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"heapless", "heapless",
"nu-ansi-term", "nu-ansi-term",
@ -4088,7 +4088,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-protocol" name = "nu-protocol"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"brotli", "brotli",
"bytes", "bytes",
@ -4130,7 +4130,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-std" name = "nu-std"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"log", "log",
"miette", "miette",
@ -4141,7 +4141,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-system" name = "nu-system"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"chrono", "chrono",
"itertools 0.14.0", "itertools 0.14.0",
@ -4159,7 +4159,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-table" name = "nu-table"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"fancy-regex", "fancy-regex",
"nu-ansi-term", "nu-ansi-term",
@ -4172,7 +4172,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-term-grid" name = "nu-term-grid"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"nu-utils", "nu-utils",
"unicode-width 0.2.0", "unicode-width 0.2.0",
@ -4180,7 +4180,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-test-support" name = "nu-test-support"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"nu-glob", "nu-glob",
"nu-path", "nu-path",
@ -4192,7 +4192,7 @@ dependencies = [
[[package]] [[package]]
name = "nu-utils" name = "nu-utils"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"crossterm", "crossterm",
"crossterm_winapi", "crossterm_winapi",
@ -4221,7 +4221,7 @@ dependencies = [
[[package]] [[package]]
name = "nu_plugin_example" name = "nu_plugin_example"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"nu-cmd-lang", "nu-cmd-lang",
"nu-plugin", "nu-plugin",
@ -4231,7 +4231,7 @@ dependencies = [
[[package]] [[package]]
name = "nu_plugin_formats" name = "nu_plugin_formats"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"chrono", "chrono",
"eml-parser", "eml-parser",
@ -4246,7 +4246,7 @@ dependencies = [
[[package]] [[package]]
name = "nu_plugin_gstat" name = "nu_plugin_gstat"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"git2", "git2",
"nu-plugin", "nu-plugin",
@ -4255,7 +4255,7 @@ dependencies = [
[[package]] [[package]]
name = "nu_plugin_inc" name = "nu_plugin_inc"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"nu-plugin", "nu-plugin",
"nu-protocol", "nu-protocol",
@ -4264,7 +4264,7 @@ dependencies = [
[[package]] [[package]]
name = "nu_plugin_polars" name = "nu_plugin_polars"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"aws-config", "aws-config",
"aws-credential-types", "aws-credential-types",
@ -4303,7 +4303,7 @@ dependencies = [
[[package]] [[package]]
name = "nu_plugin_query" name = "nu_plugin_query"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"gjson", "gjson",
"nu-plugin", "nu-plugin",
@ -4318,7 +4318,7 @@ dependencies = [
[[package]] [[package]]
name = "nu_plugin_stress_internals" name = "nu_plugin_stress_internals"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"interprocess", "interprocess",
"serde", "serde",
@ -4442,7 +4442,7 @@ checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3"
[[package]] [[package]]
name = "nuon" name = "nuon"
version = "0.106.0" version = "0.106.1"
dependencies = [ dependencies = [
"chrono", "chrono",
"nu-engine", "nu-engine",

View File

@ -11,7 +11,7 @@ license = "MIT"
name = "nu" name = "nu"
repository = "https://github.com/nushell/nushell" repository = "https://github.com/nushell/nushell"
rust-version = "1.86.0" rust-version = "1.86.0"
version = "0.106.0" version = "0.106.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -203,23 +203,23 @@ used_underscore_binding = "warn"
workspace = true workspace = true
[dependencies] [dependencies]
nu-cli = { path = "./crates/nu-cli", version = "0.106.0" } nu-cli = { path = "./crates/nu-cli", version = "0.106.1" }
nu-cmd-base = { path = "./crates/nu-cmd-base", version = "0.106.0" } nu-cmd-base = { path = "./crates/nu-cmd-base", version = "0.106.1" }
nu-cmd-extra = { path = "./crates/nu-cmd-extra", version = "0.106.0" } nu-cmd-extra = { path = "./crates/nu-cmd-extra", version = "0.106.1" }
nu-cmd-lang = { path = "./crates/nu-cmd-lang", version = "0.106.0" } nu-cmd-lang = { path = "./crates/nu-cmd-lang", version = "0.106.1" }
nu-cmd-plugin = { path = "./crates/nu-cmd-plugin", version = "0.106.0", optional = true } nu-cmd-plugin = { path = "./crates/nu-cmd-plugin", version = "0.106.1", optional = true }
nu-command = { path = "./crates/nu-command", version = "0.106.0", default-features = false, features = ["os"] } nu-command = { path = "./crates/nu-command", version = "0.106.1", default-features = false, features = ["os"] }
nu-engine = { path = "./crates/nu-engine", version = "0.106.0" } nu-engine = { path = "./crates/nu-engine", version = "0.106.1" }
nu-experimental = { path = "./crates/nu-experimental", version = "0.106.0" } nu-experimental = { path = "./crates/nu-experimental", version = "0.106.1" }
nu-explore = { path = "./crates/nu-explore", version = "0.106.0" } nu-explore = { path = "./crates/nu-explore", version = "0.106.1" }
nu-lsp = { path = "./crates/nu-lsp/", version = "0.106.0" } nu-lsp = { path = "./crates/nu-lsp/", version = "0.106.1" }
nu-parser = { path = "./crates/nu-parser", version = "0.106.0" } nu-parser = { path = "./crates/nu-parser", version = "0.106.1" }
nu-path = { path = "./crates/nu-path", version = "0.106.0" } nu-path = { path = "./crates/nu-path", version = "0.106.1" }
nu-plugin-engine = { path = "./crates/nu-plugin-engine", optional = true, version = "0.106.0" } nu-plugin-engine = { path = "./crates/nu-plugin-engine", optional = true, version = "0.106.1" }
nu-protocol = { path = "./crates/nu-protocol", version = "0.106.0" } nu-protocol = { path = "./crates/nu-protocol", version = "0.106.1" }
nu-std = { path = "./crates/nu-std", version = "0.106.0" } nu-std = { path = "./crates/nu-std", version = "0.106.1" }
nu-system = { path = "./crates/nu-system", version = "0.106.0" } nu-system = { path = "./crates/nu-system", version = "0.106.1" }
nu-utils = { path = "./crates/nu-utils", version = "0.106.0" } nu-utils = { path = "./crates/nu-utils", version = "0.106.1" }
reedline = { workspace = true, features = ["bashisms", "sqlite"] } reedline = { workspace = true, features = ["bashisms", "sqlite"] }
crossterm = { workspace = true } crossterm = { workspace = true }
@ -248,9 +248,9 @@ nix = { workspace = true, default-features = false, features = [
] } ] }
[dev-dependencies] [dev-dependencies]
nu-test-support = { path = "./crates/nu-test-support", version = "0.106.0" } nu-test-support = { path = "./crates/nu-test-support", version = "0.106.1" }
nu-plugin-protocol = { path = "./crates/nu-plugin-protocol", version = "0.106.0" } nu-plugin-protocol = { path = "./crates/nu-plugin-protocol", version = "0.106.1" }
nu-plugin-core = { path = "./crates/nu-plugin-core", version = "0.106.0" } nu-plugin-core = { path = "./crates/nu-plugin-core", version = "0.106.1" }
assert_cmd = "2.0" assert_cmd = "2.0"
dirs = { workspace = true } dirs = { workspace = true }
tango-bench = "0.6" tango-bench = "0.6"

View File

@ -5,29 +5,29 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-cli"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-cli" name = "nu-cli"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
bench = false bench = false
[dev-dependencies] [dev-dependencies]
nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.0" } nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.1" }
nu-command = { path = "../nu-command", version = "0.106.0" } nu-command = { path = "../nu-command", version = "0.106.1" }
nu-std = { path = "../nu-std", version = "0.106.0" } nu-std = { path = "../nu-std", version = "0.106.1" }
nu-test-support = { path = "../nu-test-support", version = "0.106.0" } nu-test-support = { path = "../nu-test-support", version = "0.106.1" }
rstest = { workspace = true, default-features = false } rstest = { workspace = true, default-features = false }
tempfile = { workspace = true } tempfile = { workspace = true }
[dependencies] [dependencies]
nu-cmd-base = { path = "../nu-cmd-base", version = "0.106.0" } nu-cmd-base = { path = "../nu-cmd-base", version = "0.106.1" }
nu-engine = { path = "../nu-engine", version = "0.106.0", features = ["os"] } nu-engine = { path = "../nu-engine", version = "0.106.1", features = ["os"] }
nu-glob = { path = "../nu-glob", version = "0.106.0" } nu-glob = { path = "../nu-glob", version = "0.106.1" }
nu-path = { path = "../nu-path", version = "0.106.0" } nu-path = { path = "../nu-path", version = "0.106.1" }
nu-parser = { path = "../nu-parser", version = "0.106.0" } nu-parser = { path = "../nu-parser", version = "0.106.1" }
nu-plugin-engine = { path = "../nu-plugin-engine", version = "0.106.0", optional = true } nu-plugin-engine = { path = "../nu-plugin-engine", version = "0.106.1", optional = true }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", features = ["os"] } nu-protocol = { path = "../nu-protocol", version = "0.106.1", features = ["os"] }
nu-utils = { path = "../nu-utils", version = "0.106.0" } nu-utils = { path = "../nu-utils", version = "0.106.1" }
nu-color-config = { path = "../nu-color-config", version = "0.106.0" } nu-color-config = { path = "../nu-color-config", version = "0.106.1" }
nu-ansi-term = { workspace = true } nu-ansi-term = { workspace = true }
reedline = { workspace = true, features = ["bashisms", "sqlite"] } reedline = { workspace = true, features = ["bashisms", "sqlite"] }

View File

@ -5,7 +5,7 @@ edition = "2024"
license = "MIT" license = "MIT"
name = "nu-cmd-base" name = "nu-cmd-base"
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-cmd-base" repository = "https://github.com/nushell/nushell/tree/main/crates/nu-cmd-base"
version = "0.106.0" version = "0.106.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -13,10 +13,10 @@ version = "0.106.0"
workspace = true workspace = true
[dependencies] [dependencies]
nu-engine = { path = "../nu-engine", version = "0.106.0", default-features = false } nu-engine = { path = "../nu-engine", version = "0.106.1", default-features = false }
nu-parser = { path = "../nu-parser", version = "0.106.0" } nu-parser = { path = "../nu-parser", version = "0.106.1" }
nu-path = { path = "../nu-path", version = "0.106.0" } nu-path = { path = "../nu-path", version = "0.106.1" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", default-features = false } nu-protocol = { path = "../nu-protocol", version = "0.106.1", default-features = false }
indexmap = { workspace = true } indexmap = { workspace = true }
miette = { workspace = true } miette = { workspace = true }

View File

@ -5,7 +5,7 @@ edition = "2024"
license = "MIT" license = "MIT"
name = "nu-cmd-extra" name = "nu-cmd-extra"
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-cmd-extra" repository = "https://github.com/nushell/nushell/tree/main/crates/nu-cmd-extra"
version = "0.106.0" version = "0.106.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -16,13 +16,13 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-cmd-base = { path = "../nu-cmd-base", version = "0.106.0" } nu-cmd-base = { path = "../nu-cmd-base", version = "0.106.1" }
nu-engine = { path = "../nu-engine", version = "0.106.0", default-features = false } nu-engine = { path = "../nu-engine", version = "0.106.1", default-features = false }
nu-json = { version = "0.106.0", path = "../nu-json" } nu-json = { version = "0.106.1", path = "../nu-json" }
nu-parser = { path = "../nu-parser", version = "0.106.0" } nu-parser = { path = "../nu-parser", version = "0.106.1" }
nu-pretty-hex = { version = "0.106.0", path = "../nu-pretty-hex" } nu-pretty-hex = { version = "0.106.1", path = "../nu-pretty-hex" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", default-features = false } nu-protocol = { path = "../nu-protocol", version = "0.106.1", default-features = false }
nu-utils = { path = "../nu-utils", version = "0.106.0", default-features = false } nu-utils = { path = "../nu-utils", version = "0.106.1", default-features = false }
# Potential dependencies for extras # Potential dependencies for extras
heck = { workspace = true } heck = { workspace = true }
@ -37,6 +37,6 @@ itertools = { workspace = true }
mime = { workspace = true } mime = { workspace = true }
[dev-dependencies] [dev-dependencies]
nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.0" } nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.1" }
nu-command = { path = "../nu-command", version = "0.106.0" } nu-command = { path = "../nu-command", version = "0.106.1" }
nu-test-support = { path = "../nu-test-support", version = "0.106.0" } nu-test-support = { path = "../nu-test-support", version = "0.106.1" }

View File

@ -6,7 +6,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-cmd-lang"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-cmd-lang" name = "nu-cmd-lang"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
bench = false bench = false
@ -15,12 +15,12 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-engine = { path = "../nu-engine", version = "0.106.0", default-features = false } nu-engine = { path = "../nu-engine", version = "0.106.1", default-features = false }
nu-experimental = { path = "../nu-experimental", version = "0.106.0" } nu-experimental = { path = "../nu-experimental", version = "0.106.1" }
nu-parser = { path = "../nu-parser", version = "0.106.0" } nu-parser = { path = "../nu-parser", version = "0.106.1" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", default-features = false } nu-protocol = { path = "../nu-protocol", version = "0.106.1", default-features = false }
nu-utils = { path = "../nu-utils", version = "0.106.0", default-features = false } nu-utils = { path = "../nu-utils", version = "0.106.1", default-features = false }
nu-cmd-base = { path = "../nu-cmd-base", version = "0.106.0" } nu-cmd-base = { path = "../nu-cmd-base", version = "0.106.1" }
itertools = { workspace = true } itertools = { workspace = true }
shadow-rs = { version = "1.2", default-features = false } shadow-rs = { version = "1.2", default-features = false }

View File

@ -5,7 +5,7 @@ edition = "2024"
license = "MIT" license = "MIT"
name = "nu-cmd-plugin" name = "nu-cmd-plugin"
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-cmd-plugin" repository = "https://github.com/nushell/nushell/tree/main/crates/nu-cmd-plugin"
version = "0.106.0" version = "0.106.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -13,10 +13,10 @@ version = "0.106.0"
workspace = true workspace = true
[dependencies] [dependencies]
nu-engine = { path = "../nu-engine", version = "0.106.0" } nu-engine = { path = "../nu-engine", version = "0.106.1" }
nu-path = { path = "../nu-path", version = "0.106.0" } nu-path = { path = "../nu-path", version = "0.106.1" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", features = ["plugin"] } nu-protocol = { path = "../nu-protocol", version = "0.106.1", features = ["plugin"] }
nu-plugin-engine = { path = "../nu-plugin-engine", version = "0.106.0" } nu-plugin-engine = { path = "../nu-plugin-engine", version = "0.106.1" }
itertools = { workspace = true } itertools = { workspace = true }

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-color-confi
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-color-config" name = "nu-color-config"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
bench = false bench = false
@ -14,12 +14,12 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-protocol = { path = "../nu-protocol", version = "0.106.0", default-features = false } nu-protocol = { path = "../nu-protocol", version = "0.106.1", default-features = false }
nu-engine = { path = "../nu-engine", version = "0.106.0", default-features = false } nu-engine = { path = "../nu-engine", version = "0.106.1", default-features = false }
nu-json = { path = "../nu-json", version = "0.106.0" } nu-json = { path = "../nu-json", version = "0.106.1" }
nu-ansi-term = { workspace = true } nu-ansi-term = { workspace = true }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }
[dev-dependencies] [dev-dependencies]
nu-test-support = { path = "../nu-test-support", version = "0.106.0" } nu-test-support = { path = "../nu-test-support", version = "0.106.1" }

View File

@ -5,7 +5,7 @@ edition = "2024"
license = "MIT" license = "MIT"
name = "nu-command" name = "nu-command"
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-command" repository = "https://github.com/nushell/nushell/tree/main/crates/nu-command"
version = "0.106.0" version = "0.106.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -17,21 +17,21 @@ workspace = true
[dependencies] [dependencies]
nu-ansi-term = { workspace = true } nu-ansi-term = { workspace = true }
nu-cmd-base = { path = "../nu-cmd-base", version = "0.106.0" } nu-cmd-base = { path = "../nu-cmd-base", version = "0.106.1" }
nu-color-config = { path = "../nu-color-config", version = "0.106.0" } nu-color-config = { path = "../nu-color-config", version = "0.106.1" }
nu-engine = { path = "../nu-engine", version = "0.106.0", default-features = false } nu-engine = { path = "../nu-engine", version = "0.106.1", default-features = false }
nu-experimental = { path = "../nu-experimental", version = "0.106.0" } nu-experimental = { path = "../nu-experimental", version = "0.106.1" }
nu-glob = { path = "../nu-glob", version = "0.106.0" } nu-glob = { path = "../nu-glob", version = "0.106.1" }
nu-json = { path = "../nu-json", version = "0.106.0" } nu-json = { path = "../nu-json", version = "0.106.1" }
nu-parser = { path = "../nu-parser", version = "0.106.0" } nu-parser = { path = "../nu-parser", version = "0.106.1" }
nu-path = { path = "../nu-path", version = "0.106.0" } nu-path = { path = "../nu-path", version = "0.106.1" }
nu-pretty-hex = { path = "../nu-pretty-hex", version = "0.106.0" } nu-pretty-hex = { path = "../nu-pretty-hex", version = "0.106.1" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", default-features = false } nu-protocol = { path = "../nu-protocol", version = "0.106.1", default-features = false }
nu-system = { path = "../nu-system", version = "0.106.0" } nu-system = { path = "../nu-system", version = "0.106.1" }
nu-table = { path = "../nu-table", version = "0.106.0" } nu-table = { path = "../nu-table", version = "0.106.1" }
nu-term-grid = { path = "../nu-term-grid", version = "0.106.0" } nu-term-grid = { path = "../nu-term-grid", version = "0.106.1" }
nu-utils = { path = "../nu-utils", version = "0.106.0", default-features = false } nu-utils = { path = "../nu-utils", version = "0.106.1", default-features = false }
nuon = { path = "../nuon", version = "0.106.0" } nuon = { path = "../nuon", version = "0.106.1" }
alphanumeric-sort = { workspace = true } alphanumeric-sort = { workspace = true }
base64 = { workspace = true } base64 = { workspace = true }
@ -227,8 +227,8 @@ sqlite = ["rusqlite"]
trash-support = ["trash"] trash-support = ["trash"]
[dev-dependencies] [dev-dependencies]
nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.0" } nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.1" }
nu-test-support = { path = "../nu-test-support", version = "0.106.0" } nu-test-support = { path = "../nu-test-support", version = "0.106.1" }
dirs = { workspace = true } dirs = { workspace = true }
mockito = { workspace = true, default-features = false } mockito = { workspace = true, default-features = false }

View File

@ -114,13 +114,14 @@ If multiple cell paths are given, this will produce a list of values."#
) -> Result<PipelineData, ShellError> { ) -> Result<PipelineData, ShellError> {
let cell_path: CellPath = call.req_const(working_set, 0)?; let cell_path: CellPath = call.req_const(working_set, 0)?;
let rest: Vec<CellPath> = call.rest_const(working_set, 1)?; let rest: Vec<CellPath> = call.rest_const(working_set, 1)?;
let ignore_errors = call.has_flag_const(working_set, "ignore-errors")?; let optional = call.has_flag_const(working_set, "optional")?
|| call.has_flag_const(working_set, "ignore-errors")?;
let metadata = input.metadata(); let metadata = input.metadata();
action( action(
input, input,
cell_path, cell_path,
rest, rest,
ignore_errors, optional,
working_set.permanent().signals().clone(), working_set.permanent().signals().clone(),
call.head, call.head,
) )

View File

@ -5,7 +5,7 @@ edition = "2024"
license = "MIT" license = "MIT"
name = "nu-derive-value" name = "nu-derive-value"
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-derive-value" repository = "https://github.com/nushell/nushell/tree/main/crates/nu-derive-value"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
proc-macro = true proc-macro = true

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-engine"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-engine" name = "nu-engine"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
bench = false bench = false
@ -14,10 +14,10 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-protocol = { path = "../nu-protocol", version = "0.106.0", default-features = false } nu-protocol = { path = "../nu-protocol", version = "0.106.1", default-features = false }
nu-path = { path = "../nu-path", version = "0.106.0" } nu-path = { path = "../nu-path", version = "0.106.1" }
nu-glob = { path = "../nu-glob", version = "0.106.0" } nu-glob = { path = "../nu-glob", version = "0.106.1" }
nu-utils = { path = "../nu-utils", version = "0.106.0", default-features = false } nu-utils = { path = "../nu-utils", version = "0.106.1", default-features = false }
fancy-regex = { workspace = true } fancy-regex = { workspace = true }
log = { workspace = true } log = { workspace = true }

View File

@ -5,7 +5,7 @@ edition = "2024"
license = "MIT" license = "MIT"
name = "nu-experimental" name = "nu-experimental"
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-experimental" repository = "https://github.com/nushell/nushell/tree/main/crates/nu-experimental"
version = "0.106.0" version = "0.106.1"
[dependencies] [dependencies]
itertools.workspace = true itertools.workspace = true

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-explore"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-explore" name = "nu-explore"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
bench = false bench = false
@ -14,16 +14,16 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-protocol = { path = "../nu-protocol", version = "0.106.0" } nu-protocol = { path = "../nu-protocol", version = "0.106.1" }
nu-parser = { path = "../nu-parser", version = "0.106.0" } nu-parser = { path = "../nu-parser", version = "0.106.1" }
nu-path = { path = "../nu-path", version = "0.106.0" } nu-path = { path = "../nu-path", version = "0.106.1" }
nu-color-config = { path = "../nu-color-config", version = "0.106.0" } nu-color-config = { path = "../nu-color-config", version = "0.106.1" }
nu-engine = { path = "../nu-engine", version = "0.106.0" } nu-engine = { path = "../nu-engine", version = "0.106.1" }
nu-table = { path = "../nu-table", version = "0.106.0" } nu-table = { path = "../nu-table", version = "0.106.1" }
nu-json = { path = "../nu-json", version = "0.106.0" } nu-json = { path = "../nu-json", version = "0.106.1" }
nu-utils = { path = "../nu-utils", version = "0.106.0" } nu-utils = { path = "../nu-utils", version = "0.106.1" }
nu-ansi-term = { workspace = true } nu-ansi-term = { workspace = true }
nu-pretty-hex = { path = "../nu-pretty-hex", version = "0.106.0" } nu-pretty-hex = { path = "../nu-pretty-hex", version = "0.106.1" }
anyhow = { workspace = true } anyhow = { workspace = true }
log = { workspace = true } log = { workspace = true }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "nu-glob" name = "nu-glob"
version = "0.106.0" version = "0.106.1"
authors = ["The Nushell Project Developers", "The Rust Project Developers"] authors = ["The Nushell Project Developers", "The Rust Project Developers"]
license = "MIT/Apache-2.0" license = "MIT/Apache-2.0"
description = """ description = """

View File

@ -8,7 +8,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-json"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-json" name = "nu-json"
version = "0.106.0" version = "0.106.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -24,11 +24,11 @@ linked-hash-map = { version = "0.5", optional = true }
num-traits = { workspace = true } num-traits = { workspace = true }
serde = { workspace = true } serde = { workspace = true }
serde_json = { workspace = true } serde_json = { workspace = true }
nu-utils = { path = "../nu-utils", version = "0.106.0", default-features = false } nu-utils = { path = "../nu-utils", version = "0.106.1", default-features = false }
[dev-dependencies] [dev-dependencies]
nu-test-support = { path = "../nu-test-support", version = "0.106.0" } nu-test-support = { path = "../nu-test-support", version = "0.106.1" }
nu-path = { path = "../nu-path", version = "0.106.0" } nu-path = { path = "../nu-path", version = "0.106.1" }
serde_json = "1.0" serde_json = "1.0"
fancy-regex = "0.14.0" fancy-regex = "0.14.0"
pretty_assertions = { workspace = true } pretty_assertions = { workspace = true }

View File

@ -3,16 +3,16 @@ authors = ["The Nushell Project Developers"]
description = "Nushell's integrated LSP server" description = "Nushell's integrated LSP server"
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-lsp" repository = "https://github.com/nushell/nushell/tree/main/crates/nu-lsp"
name = "nu-lsp" name = "nu-lsp"
version = "0.106.0" version = "0.106.1"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
[dependencies] [dependencies]
nu-cli = { path = "../nu-cli", version = "0.106.0" } nu-cli = { path = "../nu-cli", version = "0.106.1" }
nu-glob = { path = "../nu-glob", version = "0.106.0" } nu-glob = { path = "../nu-glob", version = "0.106.1" }
nu-parser = { path = "../nu-parser", version = "0.106.0" } nu-parser = { path = "../nu-parser", version = "0.106.1" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0" } nu-protocol = { path = "../nu-protocol", version = "0.106.1" }
nu-utils = { path = "../nu-utils", version = "0.106.0" } nu-utils = { path = "../nu-utils", version = "0.106.1" }
crossbeam-channel = { workspace = true } crossbeam-channel = { workspace = true }
lsp-server = { workspace = true } lsp-server = { workspace = true }
@ -26,11 +26,11 @@ serde_json = { workspace = true }
url = { workspace = true } url = { workspace = true }
[dev-dependencies] [dev-dependencies]
nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.0" } nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.1" }
nu-command = { path = "../nu-command", version = "0.106.0" } nu-command = { path = "../nu-command", version = "0.106.1" }
nu-engine = { path = "../nu-engine", version = "0.106.0" } nu-engine = { path = "../nu-engine", version = "0.106.1" }
nu-std = { path = "../nu-std", version = "0.106.0" } nu-std = { path = "../nu-std", version = "0.106.1" }
nu-test-support = { path = "../nu-test-support", version = "0.106.0" } nu-test-support = { path = "../nu-test-support", version = "0.106.1" }
assert-json-diff = "2.0" assert-json-diff = "2.0"

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-parser"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-parser" name = "nu-parser"
version = "0.106.0" version = "0.106.1"
exclude = ["/fuzz"] exclude = ["/fuzz"]
[lib] [lib]
@ -15,11 +15,11 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-engine = { path = "../nu-engine", version = "0.106.0", default-features = false } nu-engine = { path = "../nu-engine", version = "0.106.1", default-features = false }
nu-path = { path = "../nu-path", version = "0.106.0" } nu-path = { path = "../nu-path", version = "0.106.1" }
nu-plugin-engine = { path = "../nu-plugin-engine", optional = true, version = "0.106.0" } nu-plugin-engine = { path = "../nu-plugin-engine", optional = true, version = "0.106.1" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", default-features = false } nu-protocol = { path = "../nu-protocol", version = "0.106.1", default-features = false }
nu-utils = { path = "../nu-utils", version = "0.106.0", default-features = false } nu-utils = { path = "../nu-utils", version = "0.106.1", default-features = false }
bytesize = { workspace = true } bytesize = { workspace = true }
chrono = { default-features = false, features = ['std'], workspace = true } chrono = { default-features = false, features = ['std'], workspace = true }

View File

@ -2004,7 +2004,11 @@ pub fn parse_paren_expr(
if fcp_error_count > starting_error_count { if fcp_error_count > starting_error_count {
let malformed_subexpr = working_set.parse_errors[starting_error_count..] let malformed_subexpr = working_set.parse_errors[starting_error_count..]
.first() .first()
.is_some_and(|e| matches!(e, ParseError::Unclosed(right, _) if right == ")" )); .is_some_and(|e| match e {
ParseError::Unclosed(right, _) if (right == ")") => true,
ParseError::Unbalanced(left, right, _) if left == "(" && right == ")" => true,
_ => false,
});
if malformed_subexpr { if malformed_subexpr {
working_set.parse_errors.truncate(starting_error_count); working_set.parse_errors.truncate(starting_error_count);
parse_string_interpolation(working_set, span) parse_string_interpolation(working_set, span)

View File

@ -1636,6 +1636,46 @@ mod string {
assert_eq!(subexprs[3], &Expr::String("bar".to_string())); assert_eq!(subexprs[3], &Expr::String("bar".to_string()));
} }
/// PR with summary of the issue: https://github.com/nushell/nushell/pull/16235
/// Release Notes Mention: https://www.nushell.sh/blog/2025-07-23-nushell_0_106_0.html#regression-bare-word-interpolation-on-both-sides-does-not-work-toc
#[test]
pub fn parse_string_interpolation_bare_starting_and_ending_subexpr() {
let engine_state = EngineState::new();
let mut working_set = StateWorkingSet::new(&engine_state);
let block = parse(
&mut working_set,
None,
b"(100 + 20 + 3)/bar/(300 + 20 + 1)",
true,
);
assert!(working_set.parse_errors.is_empty(),);
let [pipeline] = block.pipelines.as_slice() else {
panic!("expected 1 pipeline")
};
let [element] = pipeline.elements.as_slice() else {
panic!("expected 1 pipeline element")
};
assert!(element.redirection.is_none());
let Expr::StringInterpolation(expressions) = &element.expr.expr else {
panic!("Expected an `Expr::StringInterpolation`")
};
let subexprs: Vec<_> = expressions.iter().map(|e| &e.expr).collect();
let [
Expr::FullCellPath(..),
Expr::String(s),
Expr::FullCellPath(..),
] = subexprs.as_slice()
else {
panic!("AST does not have the expected structure")
};
assert_eq!(s, "/bar/");
}
#[test] #[test]
pub fn parse_string_interpolation_bare_starting_subexpr_external_arg() { pub fn parse_string_interpolation_bare_starting_subexpr_external_arg() {
let engine_state = EngineState::new(); let engine_state = EngineState::new();

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-path"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-path" name = "nu-path"
version = "0.106.0" version = "0.106.1"
exclude = ["/fuzz"] exclude = ["/fuzz"]
[lib] [lib]

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-plugin-core
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-plugin-core" name = "nu-plugin-core"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
bench = false bench = false
@ -14,8 +14,8 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-protocol = { path = "../nu-protocol", version = "0.106.0" } nu-protocol = { path = "../nu-protocol", version = "0.106.1" }
nu-plugin-protocol = { path = "../nu-plugin-protocol", version = "0.106.0", default-features = false } nu-plugin-protocol = { path = "../nu-plugin-protocol", version = "0.106.1", default-features = false }
rmp-serde = { workspace = true } rmp-serde = { workspace = true }
serde = { workspace = true } serde = { workspace = true }

View File

@ -3,6 +3,7 @@ use std::io::{Stdin, Stdout};
use std::process::{Child, ChildStdin, ChildStdout, Command, Stdio}; use std::process::{Child, ChildStdin, ChildStdout, Command, Stdio};
use nu_protocol::ShellError; use nu_protocol::ShellError;
#[cfg(feature = "local-socket")] // unused without that feature
use nu_protocol::shell_error::io::IoError; use nu_protocol::shell_error::io::IoError;
#[cfg(feature = "local-socket")] #[cfg(feature = "local-socket")]

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-plugin-engi
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-plugin-engine" name = "nu-plugin-engine"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
bench = false bench = false
@ -14,12 +14,12 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-engine = { path = "../nu-engine", version = "0.106.0" } nu-engine = { path = "../nu-engine", version = "0.106.1" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0" } nu-protocol = { path = "../nu-protocol", version = "0.106.1" }
nu-system = { path = "../nu-system", version = "0.106.0" } nu-system = { path = "../nu-system", version = "0.106.1" }
nu-plugin-protocol = { path = "../nu-plugin-protocol", version = "0.106.0" } nu-plugin-protocol = { path = "../nu-plugin-protocol", version = "0.106.1" }
nu-plugin-core = { path = "../nu-plugin-core", version = "0.106.0", default-features = false } nu-plugin-core = { path = "../nu-plugin-core", version = "0.106.1", default-features = false }
nu-utils = { path = "../nu-utils", version = "0.106.0" } nu-utils = { path = "../nu-utils", version = "0.106.1" }
serde = { workspace = true } serde = { workspace = true }
log = { workspace = true } log = { workspace = true }

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-plugin-prot
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-plugin-protocol" name = "nu-plugin-protocol"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
bench = false bench = false
@ -14,8 +14,8 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-protocol = { path = "../nu-protocol", version = "0.106.0", features = ["plugin"] } nu-protocol = { path = "../nu-protocol", version = "0.106.1", features = ["plugin"] }
nu-utils = { path = "../nu-utils", version = "0.106.0" } nu-utils = { path = "../nu-utils", version = "0.106.1" }
rmp-serde = { workspace = true } rmp-serde = { workspace = true }
serde = { workspace = true, features = ["derive"] } serde = { workspace = true, features = ["derive"] }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "nu-plugin-test-support" name = "nu-plugin-test-support"
version = "0.106.0" version = "0.106.1"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
description = "Testing support for Nushell plugins" description = "Testing support for Nushell plugins"
@ -15,14 +15,14 @@ workspace = true
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
nu-engine = { path = "../nu-engine", version = "0.106.0", features = ["plugin"] } nu-engine = { path = "../nu-engine", version = "0.106.1", features = ["plugin"] }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", features = ["plugin"] } nu-protocol = { path = "../nu-protocol", version = "0.106.1", features = ["plugin"] }
nu-parser = { path = "../nu-parser", version = "0.106.0", features = ["plugin"] } nu-parser = { path = "../nu-parser", version = "0.106.1", features = ["plugin"] }
nu-plugin = { path = "../nu-plugin", version = "0.106.0" } nu-plugin = { path = "../nu-plugin", version = "0.106.1" }
nu-plugin-core = { path = "../nu-plugin-core", version = "0.106.0" } nu-plugin-core = { path = "../nu-plugin-core", version = "0.106.1" }
nu-plugin-engine = { path = "../nu-plugin-engine", version = "0.106.0" } nu-plugin-engine = { path = "../nu-plugin-engine", version = "0.106.1" }
nu-plugin-protocol = { path = "../nu-plugin-protocol", version = "0.106.0" } nu-plugin-protocol = { path = "../nu-plugin-protocol", version = "0.106.1" }
nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.0" } nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.1" }
nu-ansi-term = { workspace = true } nu-ansi-term = { workspace = true }
similar = "2.7" similar = "2.7"

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-plugin"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-plugin" name = "nu-plugin"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
bench = false bench = false
@ -14,11 +14,11 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-engine = { path = "../nu-engine", version = "0.106.0", features = ["plugin"] } nu-engine = { path = "../nu-engine", version = "0.106.1", features = ["plugin"] }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", features = ["plugin"] } nu-protocol = { path = "../nu-protocol", version = "0.106.1", features = ["plugin"] }
nu-plugin-protocol = { path = "../nu-plugin-protocol", version = "0.106.0" } nu-plugin-protocol = { path = "../nu-plugin-protocol", version = "0.106.1" }
nu-plugin-core = { path = "../nu-plugin-core", version = "0.106.0", default-features = false } nu-plugin-core = { path = "../nu-plugin-core", version = "0.106.1", default-features = false }
nu-utils = { path = "../nu-utils", version = "0.106.0" } nu-utils = { path = "../nu-utils", version = "0.106.1" }
log = { workspace = true } log = { workspace = true }
thiserror = "2.0.12" thiserror = "2.0.12"

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-pretty-hex"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-pretty-hex" name = "nu-pretty-hex"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
doctest = false doctest = false

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-protocol"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-protocol" name = "nu-protocol"
version = "0.106.0" version = "0.106.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -16,12 +16,12 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-derive-value = { path = "../nu-derive-value", version = "0.106.0" } nu-derive-value = { path = "../nu-derive-value", version = "0.106.1" }
nu-glob = { path = "../nu-glob", version = "0.106.0" } nu-glob = { path = "../nu-glob", version = "0.106.1" }
nu-path = { path = "../nu-path", version = "0.106.0" } nu-path = { path = "../nu-path", version = "0.106.1" }
nu-system = { path = "../nu-system", version = "0.106.0" } nu-system = { path = "../nu-system", version = "0.106.1" }
nu-utils = { path = "../nu-utils", version = "0.106.0", default-features = false } nu-utils = { path = "../nu-utils", version = "0.106.1", default-features = false }
nu-experimental = { path = "../nu-experimental", version = "0.106.0" } nu-experimental = { path = "../nu-experimental", version = "0.106.1" }
brotli = { workspace = true, optional = true } brotli = { workspace = true, optional = true }
bytes = { workspace = true } bytes = { workspace = true }
@ -69,8 +69,8 @@ plugin = [
[dev-dependencies] [dev-dependencies]
serde_json = { workspace = true } serde_json = { workspace = true }
nu-test-support = { path = "../nu-test-support", version = "0.106.0" } nu-test-support = { path = "../nu-test-support", version = "0.106.1" }
nu-utils = { path = "../nu-utils", version = "0.106.0" } nu-utils = { path = "../nu-utils", version = "0.106.1" }
pretty_assertions = { workspace = true } pretty_assertions = { workspace = true }
rstest = { workspace = true } rstest = { workspace = true }
tempfile = { workspace = true } tempfile = { workspace = true }

View File

@ -5,12 +5,12 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-std"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-std" name = "nu-std"
version = "0.106.0" version = "0.106.1"
[dependencies] [dependencies]
nu-parser = { version = "0.106.0", path = "../nu-parser" } nu-parser = { version = "0.106.1", path = "../nu-parser" }
nu-protocol = { version = "0.106.0", path = "../nu-protocol", default-features = false } nu-protocol = { version = "0.106.1", path = "../nu-protocol", default-features = false }
nu-engine = { version = "0.106.0", path = "../nu-engine", default-features = false } nu-engine = { version = "0.106.1", path = "../nu-engine", default-features = false }
miette = { workspace = true, features = ["fancy-no-backtrace"] } miette = { workspace = true, features = ["fancy-no-backtrace"] }
log = "0.4" log = "0.4"

View File

@ -3,7 +3,7 @@ authors = ["The Nushell Project Developers", "procs creators"]
description = "Nushell system querying" description = "Nushell system querying"
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-system" repository = "https://github.com/nushell/nushell/tree/main/crates/nu-system"
name = "nu-system" name = "nu-system"
version = "0.106.0" version = "0.106.1"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"

View File

@ -213,19 +213,39 @@ fn get_proc_args(pid: i32) -> io::Result<Vec<u8>> {
} }
} }
// For getting simple values from the sysctl interface /// For getting simple values from the sysctl interface
///
/// # Safety
/// `T` needs to be of the structure that is expected to be returned by `sysctl` for the given
/// `ctl_name` sequence and will then be assumed to be of correct layout.
/// Thus only use it for primitive types or well defined fixed size types. For variable length
/// arrays that can be returned from `sysctl` use it directly (or write a proper wrapper handling
/// capacity management)
///
/// # Panics
/// If the size of the returned data diverges from the size of the expected `T`
unsafe fn get_ctl<T>(ctl_name: &[i32]) -> io::Result<T> { unsafe fn get_ctl<T>(ctl_name: &[i32]) -> io::Result<T> {
let mut value: MaybeUninit<T> = MaybeUninit::uninit(); let mut value: MaybeUninit<T> = MaybeUninit::uninit();
let mut value_len = mem::size_of_val(&value); let mut value_len = mem::size_of_val(&value);
check(sysctl( // SAFETY: lengths to the pointers is provided, uninitialized data with checked length provided
ctl_name.as_ptr(), // Only assume initialized when the written data doesn't diverge in length, layout is the
ctl_name.len() as u32, // safety responsibility of the caller.
value.as_mut_ptr() as *mut libc::c_void, check(unsafe {
&mut value_len, sysctl(
ptr::null(), ctl_name.as_ptr(),
0, ctl_name.len() as u32,
))?; value.as_mut_ptr() as *mut libc::c_void,
Ok(value.assume_init()) &mut value_len,
ptr::null(),
0,
)
})?;
assert_eq!(
value_len,
mem::size_of_val(&value),
"Data requested from from `sysctl` diverged in size from the expected return type. For variable length data you need to manually truncate the data to the valid returned size!"
);
Ok(unsafe { value.assume_init() })
} }
fn get_pagesize() -> io::Result<libc::c_int> { fn get_pagesize() -> io::Result<libc::c_int> {

View File

@ -93,25 +93,36 @@ fn check(err: libc::c_int) -> std::io::Result<()> {
} }
} }
/// Call `sysctl()` in read mode (i.e. the last two arguments are NULL and zero) /// Call `sysctl()` in read mode (i.e. the last two arguments to set new values are NULL and zero)
///
/// `name` is a flag array.
///
/// # Safety
/// `data` needs to be writable for `data_len` or be a `ptr::null()` paired with `data_len = 0` to
/// poll for the expected length in the `data_len` out parameter.
///
/// For more details see: https://man.netbsd.org/sysctl.3
unsafe fn sysctl_get( unsafe fn sysctl_get(
name: *const i32, name: *const i32,
name_len: u32, name_len: u32,
data: *mut libc::c_void, data: *mut libc::c_void,
data_len: *mut usize, data_len: *mut usize,
) -> i32 { ) -> i32 {
sysctl( // Safety: Call to unsafe function `libc::sysctl`
name, unsafe {
name_len, sysctl(
data, name,
data_len, name_len,
// NetBSD and OpenBSD differ in mutability for this pointer, but it's null anyway data,
#[cfg(target_os = "netbsd")] data_len,
ptr::null(), // NetBSD and OpenBSD differ in mutability for this pointer, but it's null anyway
#[cfg(target_os = "openbsd")] #[cfg(target_os = "netbsd")]
ptr::null_mut(), ptr::null(),
0, #[cfg(target_os = "openbsd")]
) ptr::null_mut(),
0,
)
}
} }
fn get_procs() -> io::Result<Vec<KInfoProc>> { fn get_procs() -> io::Result<Vec<KInfoProc>> {
@ -247,17 +258,37 @@ fn get_proc_args(pid: i32, what: i32) -> io::Result<Vec<u8>> {
} }
} }
// For getting simple values from the sysctl interface /// For getting simple values from the sysctl interface
///
/// # Safety
/// `T` needs to be of the structure that is expected to be returned by `sysctl` for the given
/// `ctl_name` sequence and will then be assumed to be of correct layout.
/// Thus only use it for primitive types or well defined fixed size types. For variable length
/// arrays that can be returned from `sysctl` use it directly (or write a proper wrapper handling
/// capacity management)
///
/// # Panics
/// If the size of the returned data diverges from the size of the expected `T`
unsafe fn get_ctl<T>(ctl_name: &[i32]) -> io::Result<T> { unsafe fn get_ctl<T>(ctl_name: &[i32]) -> io::Result<T> {
let mut value: MaybeUninit<T> = MaybeUninit::uninit(); let mut value: MaybeUninit<T> = MaybeUninit::uninit();
let mut value_len = mem::size_of_val(&value); let mut value_len = mem::size_of_val(&value);
check(sysctl_get( // SAFETY: lengths to the pointers is provided, uninitialized data with checked length provided
ctl_name.as_ptr(), // Only assume initialized when the written data doesn't diverge in length, layout is the
ctl_name.len() as u32, // safety responsibility of the caller.
value.as_mut_ptr() as *mut libc::c_void, check(unsafe {
&mut value_len, sysctl_get(
))?; ctl_name.as_ptr(),
Ok(value.assume_init()) ctl_name.len() as u32,
value.as_mut_ptr() as *mut libc::c_void,
&mut value_len,
)
})?;
assert_eq!(
value_len,
mem::size_of_val(&value),
"Data requested from from `sysctl` diverged in size from the expected return type. For variable length data you need to manually truncate the data to the valid returned size!"
);
Ok(unsafe { value.assume_init() })
} }
fn get_pagesize() -> io::Result<libc::c_int> { fn get_pagesize() -> io::Result<libc::c_int> {

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-table"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-table" name = "nu-table"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
bench = false bench = false
@ -14,13 +14,13 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-protocol = { path = "../nu-protocol", version = "0.106.0", default-features = false } nu-protocol = { path = "../nu-protocol", version = "0.106.1", default-features = false }
nu-utils = { path = "../nu-utils", version = "0.106.0", default-features = false } nu-utils = { path = "../nu-utils", version = "0.106.1", default-features = false }
nu-engine = { path = "../nu-engine", version = "0.106.0", default-features = false } nu-engine = { path = "../nu-engine", version = "0.106.1", default-features = false }
nu-color-config = { path = "../nu-color-config", version = "0.106.0" } nu-color-config = { path = "../nu-color-config", version = "0.106.1" }
nu-ansi-term = { workspace = true } nu-ansi-term = { workspace = true }
fancy-regex = { workspace = true } fancy-regex = { workspace = true }
tabled = { workspace = true, features = ["ansi"], default-features = false } tabled = { workspace = true, features = ["ansi"], default-features = false }
[dev-dependencies] [dev-dependencies]
# nu-test-support = { path="../nu-test-support", version = "0.106.0" } # nu-test-support = { path="../nu-test-support", version = "0.106.1" }

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-term-grid"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-term-grid" name = "nu-term-grid"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
bench = false bench = false
@ -14,6 +14,6 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-utils = { path = "../nu-utils", version = "0.106.0", default-features = false } nu-utils = { path = "../nu-utils", version = "0.106.1", default-features = false }
unicode-width = { workspace = true } unicode-width = { workspace = true }

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu-test-suppor
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu-test-support" name = "nu-test-support"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
doctest = false doctest = false
@ -15,9 +15,9 @@ bench = false
workspace = true workspace = true
[dependencies] [dependencies]
nu-path = { path = "../nu-path", version = "0.106.0" } nu-path = { path = "../nu-path", version = "0.106.1" }
nu-glob = { path = "../nu-glob", version = "0.106.0" } nu-glob = { path = "../nu-glob", version = "0.106.1" }
nu-utils = { path = "../nu-utils", version = "0.106.0" } nu-utils = { path = "../nu-utils", version = "0.106.1" }
num-format = { workspace = true } num-format = { workspace = true }
which = { workspace = true } which = { workspace = true }

View File

@ -5,7 +5,7 @@ edition = "2024"
license = "MIT" license = "MIT"
name = "nu-utils" name = "nu-utils"
repository = "https://github.com/nushell/nushell/tree/main/crates/nu-utils" repository = "https://github.com/nushell/nushell/tree/main/crates/nu-utils"
version = "0.106.0" version = "0.106.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[[bin]] [[bin]]

View File

@ -1,6 +1,6 @@
# Nushell Config File # Nushell Config File
# #
# version = "0.106.0" # version = "0.106.1"
$env.config.color_config = { $env.config.color_config = {
separator: white separator: white
leading_trailing_space_bg: { attr: n } leading_trailing_space_bg: { attr: n }

View File

@ -1,7 +1,7 @@
# Default Nushell Environment Config File # Default Nushell Environment Config File
# These "sensible defaults" are set before the user's `env.nu` is loaded # These "sensible defaults" are set before the user's `env.nu` is loaded
# #
# version = "0.106.0" # version = "0.106.1"
$env.PROMPT_COMMAND = {|| $env.PROMPT_COMMAND = {||
let dir = match (do -i { $env.PWD | path relative-to $nu.home-path }) { let dir = match (do -i { $env.PWD | path relative-to $nu.home-path }) {

View File

@ -3,7 +3,7 @@
# Warning: This file is intended for documentation purposes only and # Warning: This file is intended for documentation purposes only and
# is not intended to be used as an actual configuration file as-is. # is not intended to be used as an actual configuration file as-is.
# #
# version = "0.106.0" # version = "0.106.1"
# #
# A `config.nu` file is used to override default Nushell settings, # A `config.nu` file is used to override default Nushell settings,
# define (or import) custom commands, or run any other startup tasks. # define (or import) custom commands, or run any other startup tasks.

View File

@ -1,6 +1,6 @@
# Nushell Environment Config File Documentation # Nushell Environment Config File Documentation
# #
# version = "0.106.0" # version = "0.106.1"
# #
# Previously, environment variables were typically configured in `env.nu`. # Previously, environment variables were typically configured in `env.nu`.
# In general, most configuration can and should be performed in `config.nu` # In general, most configuration can and should be performed in `config.nu`

View File

@ -1,7 +1,7 @@
# config.nu # config.nu
# #
# Installed by: # Installed by:
# version = "0.106.0" # version = "0.106.1"
# #
# This file is used to override default Nushell settings, define # This file is used to override default Nushell settings, define
# (or import) custom commands, or run any other startup tasks. # (or import) custom commands, or run any other startup tasks.

View File

@ -1,7 +1,7 @@
# env.nu # env.nu
# #
# Installed by: # Installed by:
# version = "0.106.0" # version = "0.106.1"
# #
# Previously, environment variables were typically configured in `env.nu`. # Previously, environment variables were typically configured in `env.nu`.
# In general, most configuration can and should be performed in `config.nu` # In general, most configuration can and should be performed in `config.nu`

View File

@ -10,10 +10,10 @@ name = "nu_plugin_custom_values"
bench = false bench = false
[dependencies] [dependencies]
nu-plugin = { path = "../nu-plugin", version = "0.106.0", features = [] } nu-plugin = { path = "../nu-plugin", version = "0.106.1", features = [] }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", features = ["plugin"] } nu-protocol = { path = "../nu-protocol", version = "0.106.1", features = ["plugin"] }
serde = { workspace = true } serde = { workspace = true }
typetag = "0.2" typetag = "0.2"
[dev-dependencies] [dev-dependencies]
nu-plugin-test-support = { path = "../nu-plugin-test-support", version = "0.106.0" } nu-plugin-test-support = { path = "../nu-plugin-test-support", version = "0.106.1" }

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_exam
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu_plugin_example" name = "nu_plugin_example"
version = "0.106.0" version = "0.106.1"
[[bin]] [[bin]]
name = "nu_plugin_example" name = "nu_plugin_example"
@ -15,9 +15,9 @@ bench = false
bench = false bench = false
[dependencies] [dependencies]
nu-plugin = { path = "../nu-plugin", version = "0.106.0" } nu-plugin = { path = "../nu-plugin", version = "0.106.1" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", features = ["plugin"] } nu-protocol = { path = "../nu-protocol", version = "0.106.1", features = ["plugin"] }
[dev-dependencies] [dev-dependencies]
nu-plugin-test-support = { path = "../nu-plugin-test-support", version = "0.106.0" } nu-plugin-test-support = { path = "../nu-plugin-test-support", version = "0.106.1" }
nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.0" } nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.1" }

View File

@ -5,12 +5,12 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_form
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu_plugin_formats" name = "nu_plugin_formats"
version = "0.106.0" version = "0.106.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
nu-plugin = { path = "../nu-plugin", version = "0.106.0" } nu-plugin = { path = "../nu-plugin", version = "0.106.1" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", features = ["plugin"] } nu-protocol = { path = "../nu-protocol", version = "0.106.1", features = ["plugin"] }
indexmap = { workspace = true } indexmap = { workspace = true }
eml-parser = "0.1" eml-parser = "0.1"
@ -20,4 +20,4 @@ plist = "1.7"
chrono = "0.4" chrono = "0.4"
[dev-dependencies] [dev-dependencies]
nu-plugin-test-support = { path = "../nu-plugin-test-support", version = "0.106.0" } nu-plugin-test-support = { path = "../nu-plugin-test-support", version = "0.106.1" }

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_gsta
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu_plugin_gstat" name = "nu_plugin_gstat"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
doctest = false doctest = false
@ -16,7 +16,7 @@ name = "nu_plugin_gstat"
bench = false bench = false
[dependencies] [dependencies]
nu-plugin = { path = "../nu-plugin", version = "0.106.0" } nu-plugin = { path = "../nu-plugin", version = "0.106.1" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0" } nu-protocol = { path = "../nu-protocol", version = "0.106.1" }
git2 = "0.20" git2 = "0.20"

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_inc"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu_plugin_inc" name = "nu_plugin_inc"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
doctest = false doctest = false
@ -16,7 +16,7 @@ name = "nu_plugin_inc"
bench = false bench = false
[dependencies] [dependencies]
nu-plugin = { path = "../nu-plugin", version = "0.106.0" } nu-plugin = { path = "../nu-plugin", version = "0.106.1" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", features = ["plugin"] } nu-protocol = { path = "../nu-protocol", version = "0.106.1", features = ["plugin"] }
semver = "1.0" semver = "1.0"

View File

@ -6,7 +6,7 @@
# it also allows us to test the plugin interface with something manually implemented in a scripting # it also allows us to test the plugin interface with something manually implemented in a scripting
# language without adding any extra dependencies to our tests. # language without adding any extra dependencies to our tests.
const NUSHELL_VERSION = "0.106.0" const NUSHELL_VERSION = "0.106.1"
const PLUGIN_VERSION = "0.1.1" # bump if you change commands! const PLUGIN_VERSION = "0.1.1" # bump if you change commands!
def main [--stdio] { def main [--stdio] {

View File

@ -5,7 +5,7 @@ edition = "2024"
license = "MIT" license = "MIT"
name = "nu_plugin_polars" name = "nu_plugin_polars"
repository = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_polars" repository = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_polars"
version = "0.106.0" version = "0.106.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
@ -17,10 +17,10 @@ bench = false
bench = false bench = false
[dependencies] [dependencies]
nu-protocol = { path = "../nu-protocol", version = "0.106.0" } nu-protocol = { path = "../nu-protocol", version = "0.106.1" }
nu-plugin = { path = "../nu-plugin", version = "0.106.0" } nu-plugin = { path = "../nu-plugin", version = "0.106.1" }
nu-path = { path = "../nu-path", version = "0.106.0" } nu-path = { path = "../nu-path", version = "0.106.1" }
nu-utils = { path = "../nu-utils", version = "0.106.0" } nu-utils = { path = "../nu-utils", version = "0.106.1" }
# Potential dependencies for extras # Potential dependencies for extras
chrono = { workspace = true, features = [ chrono = { workspace = true, features = [
@ -102,9 +102,9 @@ optional = false
version = "0.49" version = "0.49"
[dev-dependencies] [dev-dependencies]
nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.0" } nu-cmd-lang = { path = "../nu-cmd-lang", version = "0.106.1" }
nu-engine = { path = "../nu-engine", version = "0.106.0" } nu-engine = { path = "../nu-engine", version = "0.106.1" }
nu-parser = { path = "../nu-parser", version = "0.106.0" } nu-parser = { path = "../nu-parser", version = "0.106.1" }
nu-command = { path = "../nu-command", version = "0.106.0" } nu-command = { path = "../nu-command", version = "0.106.1" }
nu-plugin-test-support = { path = "../nu-plugin-test-support", version = "0.106.0" } nu-plugin-test-support = { path = "../nu-plugin-test-support", version = "0.106.1" }
tempfile.workspace = true tempfile.workspace = true

View File

@ -27,7 +27,7 @@ import sys
import json import json
NUSHELL_VERSION = "0.106.0" NUSHELL_VERSION = "0.106.1"
PLUGIN_VERSION = "0.1.1" # bump if you change commands! PLUGIN_VERSION = "0.1.1" # bump if you change commands!

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_quer
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu_plugin_query" name = "nu_plugin_query"
version = "0.106.0" version = "0.106.1"
[lib] [lib]
doctest = false doctest = false
@ -16,8 +16,8 @@ name = "nu_plugin_query"
bench = false bench = false
[dependencies] [dependencies]
nu-plugin = { path = "../nu-plugin", version = "0.106.0" } nu-plugin = { path = "../nu-plugin", version = "0.106.1" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0" } nu-protocol = { path = "../nu-protocol", version = "0.106.1" }
gjson = "0.8" gjson = "0.8"
scraper = { default-features = false, version = "0.23" } scraper = { default-features = false, version = "0.23" }

View File

@ -5,7 +5,7 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nu_plugin_stre
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nu_plugin_stress_internals" name = "nu_plugin_stress_internals"
version = "0.106.0" version = "0.106.1"
[[bin]] [[bin]]
name = "nu_plugin_stress_internals" name = "nu_plugin_stress_internals"

View File

@ -5,15 +5,15 @@ repository = "https://github.com/nushell/nushell/tree/main/crates/nuon"
edition = "2024" edition = "2024"
license = "MIT" license = "MIT"
name = "nuon" name = "nuon"
version = "0.106.0" version = "0.106.1"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies] [dependencies]
nu-parser = { path = "../nu-parser", version = "0.106.0" } nu-parser = { path = "../nu-parser", version = "0.106.1" }
nu-protocol = { path = "../nu-protocol", version = "0.106.0", default-features = false } nu-protocol = { path = "../nu-protocol", version = "0.106.1", default-features = false }
nu-engine = { path = "../nu-engine", version = "0.106.0", default-features = false } nu-engine = { path = "../nu-engine", version = "0.106.1", default-features = false }
nu-utils = { path = "../nu-utils", version = "0.106.0", default-features = false } nu-utils = { path = "../nu-utils", version = "0.106.1", default-features = false }
[dev-dependencies] [dev-dependencies]
chrono = { workspace = true } chrono = { workspace = true }