mirror of
https://github.com/nushell/nushell.git
synced 2025-03-14 15:38:29 +01:00
9c6ef1c6d4
1655 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
|
6ebc0fc3ff
|
Switch from serde_yaml to serde_yml (#14630)
# Description This PR fixes #14339. Since [serde_yaml](https://docs.rs/serde_yaml/latest/serde_yaml/) is already deprecated, replaced it with [serde_yml](https://doc.serdeyml.com/serde_yml/). After this change, the `to yaml` boolean parsing issue in #14339 is also fixed. Now the command ``` ['y' 'Y' 'yes' 'Yes' 'YES' 'n' 'N' 'no' 'No' 'No' 'on' 'On' 'ON' 'off' 'Off' 'OFF'] | to yaml ``` will return ``` - 'y' - 'Y' - 'yes' - 'Yes' - 'YES' - 'n' - 'N' - 'no' - 'No' - 'No' - 'on' - 'On' - 'ON' - 'off' - 'Off' - 'OFF' ``` # User-Facing Changes I'm not sure if the yaml spec change is a user-facing change. |
||
|
469e23cae4
|
Add bytes split command (#14652)
Related #10708 # Description Add `bytes split` command. `bytes split` splits its input on the provided separator on binary values _and_ binary streams without collecting. The separator can be a multiple character string or multiple byte binary. It can be used when neither `split row` (not streaming over raw input) nor `lines` (streaming, but can only split on newlines) is right. The backing iterator implemented in this PR, `SplitRead`, can be used to implement a streaming `split row` in the future. # User-Facing Changes `bytes split` command added, which can be used to split binary values and raw streams using a separator. # Tests + Formatting - 🟢 toolkit fmt - 🟢 toolkit clippy - 🟢 toolkit test - 🟢 toolkit test stdlib # After Submitting Mention in release notes. |
||
|
23ba613b00
|
Polars AWS S3 support (#14648)
# Description Provides Amazon S3 support. - Utilizes your existing AWS cli configuration. - Supports AWS SSO - Supports [gimme-aws-creds](https://github.com/Nike-Inc/gimme-aws-creds). - respects the settings of AWS_PROFILE environment variable for selecting profile config - AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_REGION environment variables for configuring without an AWS config Usage: ```nushell polars open s3://bucket/and/path.parquet ``` Supports: - CSV - Parquet - NDJSON / json lines - Arrow Doesn't support: - eager dataframes - Avro - JSON |
||
|
4b1f4e63c3
|
Replace std::time::Instant with web_time::Instant (#14668)
# Description The `std::time::Instant` type panics in the WASM context. To prevent this, I replaced all uses of `std::time::Instant` in WASM-relevant crates with `web_time::Instant`. This ensures commands using `Instant` work in WASM without issues. For non-WASM targets, `web-time` simply reexports `std::time`, so this change doesn’t affect regular builds ([docs](https://docs.rs/web-time/latest/web_time/)). To ensure future code doesn't reintroduce `std::time::Instant` in WASM contexts, I added a `clippy wasm` command to the toolkit. This runs `cargo clippy` with a `clippy.toml` configured to disallow `std::time::Instant`. Since `web-time` aliases `std::time` by default, the `clippy.toml` is stored in `clippy/wasm` and is only loaded when targeting WASM. I also added a new CI job that tests this too. # User-Facing Changes None. |
||
|
d3cbcf401f
|
Bump version to 0.101.1 (#14661)
|
||
|
fb26109049
|
Bump version for 0.101.0 release (#14631)
It's palindromic! |
||
|
5139054325
|
Pin reedline to 0.38.0 release (#14651) | ||
|
8f4feeb119
|
add config flatten command (#14621)
# Description This is supposed to be a Quality-of-Life command that just makes some things easier when dealing with a nushell config. Really all it does is show you the current config in a flattened state. That's it. I was thinking this could be useful when comparing config settings between old and new config files. There are still room for improvements. For instance, closures are listed as an int. They can be updated with a `view source <int>` pipeline but that could all be built in too.  The command works by getting the current configuration, serializing it to json, then flattening that json. BTW, there's a new flatten_json.rs in nu-utils. Theoretically all this mess could be done in a custom command script, but it's proven to be exceedingly difficult based on the work from discord. Here's some more complex items to flatten.  # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
fff0c6e2cb
|
update shadow-rs to 0.37 (#14617) | ||
|
0b96962157
|
run cargo update manually to update dependencies (#14569)
#14556 Seems strange to me, because it downgrade `windows-target` version. So In this pr I tried to update it by hand, and also run `cargo update` manually to see how it goes |
||
|
4f20c370f9
|
Bump scraper from 0.21.0 to 0.22.0 (#14557)
Bumps [scraper](https://github.com/causal-agent/scraper) from 0.21.0 to 0.22.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/causal-agent/scraper/releases">scraper's releases</a>.</em></p> <blockquote> <h2>v0.22.0</h2> <h2>What's Changed</h2> <ul> <li>Make current nightly version of Clippy happy. by <a href="https://github.com/adamreichold"><code>@adamreichold</code></a> in <a href="https://redirect.github.com/rust-scraper/scraper/pull/220">rust-scraper/scraper#220</a></li> <li>RFC: Drop hash table for per-element attributes for more compact sorted vector by <a href="https://github.com/adamreichold"><code>@adamreichold</code></a> in <a href="https://redirect.github.com/rust-scraper/scraper/pull/221">rust-scraper/scraper#221</a></li> <li>Bump ego-tree to version 0.10.0 by <a href="https://github.com/cfvescovo"><code>@cfvescovo</code></a> in <a href="https://redirect.github.com/rust-scraper/scraper/pull/222">rust-scraper/scraper#222</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rust-scraper/scraper/compare/v0.21.0...v0.22.0">https://github.com/rust-scraper/scraper/compare/v0.21.0...v0.22.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
685dc78739
|
update to reedline 9eb3c2d (#14541)
# Description This PR updates nushell to the latest commit of reedline that fixes some rendering issues on window resize. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
05b7c1fffa
|
Update roxmltree from 0.19 to 0.20, the latest version (#14513)
# Description This simply updates `roxmltree` from 0.19.0 to 0.20.0, the latest release, with no code changes required. # User-Facing Changes N/A |
||
|
bf457cd4fc
|
Bump indexmap from 2.6.0 to 2.7.0 (#14505)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.6.0 to 2.7.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md">indexmap's changelog</a>.</em></p> <blockquote> <h2>2.7.0 (2024-11-30)</h2> <ul> <li>Added methods <code>Entry::insert_entry</code> and <code>VacantEntry::insert_entry</code>, returning an <code>OccupiedEntry</code> after insertion.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
88a8e986eb
|
Bump titlecase dependency (#14502)
# Description v3 drops the dependency on joinery, as well as on lazy_static. The MSRV is bumped to 1.70.0 but that is still way below what nushell requires. # User-Facing Changes N/A # Tests + Formatting All tests pass (including nu-command which is the direct user) # After Submitting N/A Signed-off-by: Michel Lind <salimma@fedoraproject.org> |
||
|
5f0567f8df
|
Bump multipart-rs from 0.1.11 to 0.1.13 (#14506)
Bumps [multipart-rs](https://github.com/feliwir/multipart-rs) from 0.1.11 to 0.1.13. <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/feliwir/multipart-rs/commits">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> |
||
|
a980b9d0a6
|
Bump ureq from 2.10.1 to 2.12.0 (#14507)
Bumps [ureq](https://github.com/algesten/ureq) from 2.10.1 to 2.12.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/algesten/ureq/blob/main/CHANGELOG.md">ureq's changelog</a>.</em></p> <blockquote> <h1>2.12.0</h1> <ul> <li>Bump MSRV 1.67 -> 1.71 because rustls will soon adopt it (<a href="https://redirect.github.com/algesten/ureq/issues/905">#905</a>)</li> <li>Unpin rustls dep (>=0.23.19) (<a href="https://redirect.github.com/algesten/ureq/issues/905">#905</a>)</li> </ul> <h1>2.11.0</h1> <ul> <li>Fixes for changes to cargo-deny (<a href="https://redirect.github.com/algesten/ureq/issues/882">#882</a>)</li> <li>Pin rustls dep on 0.23.19 to keep MSRV 1.67 (<a href="https://redirect.github.com/algesten/ureq/issues/878">#878</a>)</li> <li>Bump MSRV 1.63 -> 1.67 due to time crate (<a href="https://redirect.github.com/algesten/ureq/issues/878">#878</a>)</li> <li>Re-export rustls (<a href="https://redirect.github.com/algesten/ureq/issues/813">#813</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
08504f6e06
|
Bump bytes from 1.8.0 to 1.9.0 (#14508)
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.8.0 to 1.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tokio-rs/bytes/releases">bytes's releases</a>.</em></p> <blockquote> <h2>Bytes v1.9.0</h2> <h1>1.9.0 (November 27, 2024)</h1> <h3>Added</h3> <ul> <li>Add <code>Bytes::from_owner</code> to enable externally-allocated memory (<a href="https://redirect.github.com/tokio-rs/bytes/issues/742">#742</a>)</li> </ul> <h3>Documented</h3> <ul> <li>Fix typo in Buf::chunk() comment (<a href="https://redirect.github.com/tokio-rs/bytes/issues/744">#744</a>)</li> </ul> <h3>Internal changes</h3> <ul> <li>Replace BufMut::put with BufMut::put_slice in Writer impl (<a href="https://redirect.github.com/tokio-rs/bytes/issues/745">#745</a>)</li> <li>Rename hex_impl! to fmt_impl! and reuse it for fmt::Debug (<a href="https://redirect.github.com/tokio-rs/bytes/issues/743">#743</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md">bytes's changelog</a>.</em></p> <blockquote> <h1>1.9.0 (November 27, 2024)</h1> <h3>Added</h3> <ul> <li>Add <code>Bytes::from_owner</code> to enable externally-allocated memory (<a href="https://redirect.github.com/tokio-rs/bytes/issues/742">#742</a>)</li> </ul> <h3>Documented</h3> <ul> <li>Fix typo in Buf::chunk() comment (<a href="https://redirect.github.com/tokio-rs/bytes/issues/744">#744</a>)</li> </ul> <h3>Internal changes</h3> <ul> <li>Replace BufMut::put with BufMut::put_slice in Writer impl (<a href="https://redirect.github.com/tokio-rs/bytes/issues/745">#745</a>)</li> <li>Rename hex_impl! to fmt_impl! and reuse it for fmt::Debug (<a href="https://redirect.github.com/tokio-rs/bytes/issues/743">#743</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
a70e77ba48
|
Update procfs and which dependencies to their latest releases (#14489)
# Description This simply updates `procfs` from 0.16.0 to 0.17.0 and `which` from 6.0 to 7.0 – in each case, to the latest release – with no code changes required. # Notes The release notes for `procfs` 0.17.0 are at https://github.com/eminence/procfs/releases/tag/v0.17.0. The release notes for `which` 7.0.0 are at https://github.com/harryfei/which-rs/releases/tag/7.0.0. |
||
|
dfec687a46
|
term query : refactor, add --beginning flag (#14446)
# Description - Refactor code to be simpler. - Make the mentioned changes. - `scopeguard` is added as a direct dependency. Helps simplify the code. Rather than roll an ad-hoc version of it myself, I thought it would be better to use `scopeguard` as it was already an indirect dependency. # User-Facing Changes - Add `--beginning` flag, which is used to validate the response and provide early errors in case of unexpected inputs. - Both `terminator` and `beginning` sequences (when provided) are not included in the command's output. Turns out they are almost always removed from the output, and because they are known beforehand they can be added back by the user. |
||
|
3d5f853b03
|
Start to Add WASM Support Again (#14418)
<!-- if this PR closes one or more issues, you can automatically link the PR with them by using one of the [*linking keywords*](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword), e.g. - this PR should close #xxxx - fixes #xxxx you can also mention related issues, PRs or discussions! --> # Description <!-- Thank you for improving Nushell. Please, check our [contributing guide](../CONTRIBUTING.md) and talk to the core team before making major changes. Description of your pull request goes here. **Provide examples and/or screenshots** if your changes affect the user experience. --> The [nushell/demo](https://github.com/nushell/demo) project successfully demonstrated running Nushell in the browser using WASM. However, the current version of Nushell cannot be easily built for the `wasm32-unknown-unknown` target, the default for `wasm-bindgen`. This PR introduces initial support for the `wasm32-unknown-unknown` target by disabling OS-dependent features such as filesystem access, IO, and platform/system-specific functionality. This separation is achieved using a new `os` feature in the following crates: - `nu-cmd-lang` - `nu-command` - `nu-engine` - `nu-protocol` The `os` feature includes all functionality that interacts with an operating system. It is enabled by default, but can be disabled using `--no-default-features`. All crates that depend on these core crates now use `--no-default-features` to allow compilation for WASM. To demonstrate compatibility, the following script builds all crates expected to work with WASM. Direct user interaction, running external commands, working with plugins, and features requiring `openssl` are out of scope for now due to their complexity or reliance on C libraries, which are difficult to compile and link in a WASM environment. ```nushell [ # compatible crates "nu-cmd-base", "nu-cmd-extra", "nu-cmd-lang", "nu-color-config", "nu-command", "nu-derive-value", "nu-engine", "nu-glob", "nu-json", "nu-parser", "nu-path", "nu-pretty-hex", "nu-protocol", "nu-std", "nu-system", "nu-table", "nu-term-grid", "nu-utils", "nuon" ] | each {cargo build -p $in --target wasm32-unknown-unknown --no-default-features} ``` ## Caveats This PR has a few caveats: 1. **`miette` and `terminal-size` Dependency Issue** `miette` depends on `terminal-size`, which uses `rustix` when the target is not Windows. However, `rustix` requires `std::os::unix`, which is unavailable in WASM. To address this, I opened a [PR](https://github.com/eminence/terminal-size/pull/68) for `terminal-size` to conditionally compile `rustix` only when the target is Unix. For now, the `Cargo.toml` includes patches to: - Use my forked version of `terminal-size`. - ~~Use an unreleased version of `miette` that depends on `terminal-size@0.4`.~~ These patches are temporary and can be removed once the upstream changes are merged and released. 2. **Test Output Adjustments** Due to the slight bump in the `miette` version, one test required adjustments to accommodate minor formatting changes in the error output, such as shifted newlines. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> This shouldn't break anything but allows using some crates for targeting `wasm32-unknown-unknown` to revive the demo page eventually. # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> - 🟢 `toolkit fmt` - 🟢 `toolkit clippy` - 🟢 `toolkit test` - 🟢 `toolkit test stdlib` I did not add any extra tests, I just checked that compiling works, also when using the host target but unselecting the `os` feature. # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> ~~Breaking the wasm support can be easily done by adding some `use`s or by adding a new dependency, we should definitely add some CI that also at least builds against wasm to make sure that building for it keep working.~~ I added a job to build wasm. --------- Co-authored-by: Ian Manske <ian.manske@pm.me> |
||
|
0172ad8461
|
Upgrading to polars 0.44 (#14478)
Upgrading to polars 0.44 |
||
|
6e036ca09a
|
update unicode-width to 0.2 (#14456)
# Description When looking into #14395, I found that `unicode-width` from 0.1 to 0.2 contains a breaking change, the mainly change is it treats newlines as width 1. So relative tests(str stats) are broken. But I think it's ok to adjust the test. # User-Facing Changes The output of `str stats` might change if there are `\n` in the input. ### Before ```nushell > "a\nb" | str stats | get unicode-width 2 ``` ### After ```nushell > "a\nb" | str stats | get unicode-width 3 ``` # Tests + Formatting Adjusted 2 tests. # After Submitting NaN |
||
|
a13a024ac8
|
update miette to 7.3 (#14454)
# Description The test is failed when updating miette from 7.2 to 7.3. After looking into the test, I think it's ok to adjust test. # User-Facing Changes For the given custom command: ```nushell def force_error [ x: any ] { error make { msg: "oh no!" label: { text: "here's the error" span: (metadata $x).span } } } ``` ### Before ``` > force_error "My error" Error: × oh no! ╭─[entry #8:1:13] 1 │ force_error "My error" · ─────┬──── · ╰── here's the error ╰──── ``` ### After ``` > force_error "My error" Error: × oh no! ╭─[entry #9:1:13] 1 │ force_error "My error" · ─────┬──── · ╰── here's the error ╰──── ``` As we can see, the message `oh no!` is output in a new line, and there is one less trailing line. I have makes some testing, and it seems that it only happened on `error make` command. # Tests + Formatting Changed 1 test # After Submitting NaN |
||
|
5e7263cd1a
|
Bump reedline to current main (#14455)
# Description @fdncred mentioned that we should be dogfooding the latest Reedline changes in Nushell. Hoping I got the steps correct. # User-Facing Changes New keybindings for: * Insert Newline: <kbd>Alt</kbd>+<kbd>Enter</kbd> and <kbd>Shift</kbd>+<kbd>Enter</kbd> * Enter: <kbd>Ctrl</kbd>+<kbd>J</kbd> # Tests + Formatting - 🟢 `toolkit fmt` - 🟢 `toolkit clippy` - 🟢 `toolkit test` - 🟢 `toolkit test stdlib` # After Submitting |
||
|
dd3a3a2717
|
remove terminal_size crate everywhere it makes sense (#14423)
# Description This PR removes the `terminal_size` crate everywhere that it made sense. I replaced it with crossterm's version called `size`. The places I didn't remove it were the places that did not have a dependency on crossterm. So, I thought it was "cheaper" to have a dep on term_size vs crossterm in those locations. |
||
|
e63976df7e
|
Bump Calamine (#14403)
This commit upgrades calamine in order to benefit from recent developments, e.g. ignore annotations in column headers (see https://github.com/tafia/calamine/pull/467 for reference). |
||
|
1e7840c376
|
Bump terminal_size from 0.3.0 to 0.4.0 (#14393)
Bumps [terminal_size](https://github.com/eminence/terminal-size) from 0.3.0 to 0.4.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/eminence/terminal-size/releases">terminal_size's releases</a>.</em></p> <blockquote> <h2>v0.4.0</h2> <h2>Breaking changes</h2> <p>The big change in this release is the API change in <a href="https://redirect.github.com/eminence/terminal-size/issues/66">#66</a>:</p> <ul> <li>If you were using the <code>terminal_size_using_fd</code> or <code>terminal_size_using_handle</code> functions, these are now deprecated and unsafe. Instead you should use the <code>terminal_size_of</code> function, which does the same thing but is safer.</li> </ul> <h2>What's Changed</h2> <ul> <li>Add <code>rust-version</code> in Cargo.toml by <a href="https://github.com/cgwalters"><code>@cgwalters</code></a> in <a href="https://redirect.github.com/eminence/terminal-size/pull/60">eminence/terminal-size#60</a></li> <li>Update <code>windows-sys</code> to 0.52 by <a href="https://github.com/barrbrain"><code>@barrbrain</code></a> in <a href="https://redirect.github.com/eminence/terminal-size/pull/62">eminence/terminal-size#62</a></li> <li>Update windows-sys to 0.59 by <a href="https://github.com/eminence"><code>@eminence</code></a> in <a href="https://redirect.github.com/eminence/terminal-size/pull/67">eminence/terminal-size#67</a></li> <li>Update the API for I/O safety by <a href="https://github.com/sunfishcode"><code>@sunfishcode</code></a> in <a href="https://redirect.github.com/eminence/terminal-size/pull/66">eminence/terminal-size#66</a></li> <li>Fix typo, link to docs, update docs by <a href="https://github.com/waywardmonkeys"><code>@waywardmonkeys</code></a> in <a href="https://redirect.github.com/eminence/terminal-size/pull/63">eminence/terminal-size#63</a></li> <li>Update CI: Use current actions, remove unused build step by <a href="https://github.com/waywardmonkeys"><code>@waywardmonkeys</code></a> in <a href="https://redirect.github.com/eminence/terminal-size/pull/64">eminence/terminal-size#64</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/cgwalters"><code>@cgwalters</code></a> made their first contribution in <a href="https://redirect.github.com/eminence/terminal-size/pull/60">eminence/terminal-size#60</a></li> <li><a href="https://github.com/barrbrain"><code>@barrbrain</code></a> made their first contribution in <a href="https://redirect.github.com/eminence/terminal-size/pull/62">eminence/terminal-size#62</a></li> <li><a href="https://github.com/waywardmonkeys"><code>@waywardmonkeys</code></a> made their first contribution in <a href="https://redirect.github.com/eminence/terminal-size/pull/63">eminence/terminal-size#63</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/eminence/terminal-size/compare/v0.3.0...v0.4.0">https://github.com/eminence/terminal-size/compare/v0.3.0...v0.4.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
a6e3470c6f
|
Bump thiserror from 1.0.69 to 2.0.3 (#14394)
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.69 to 2.0.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/thiserror/releases">thiserror's releases</a>.</em></p> <blockquote> <h2>2.0.3</h2> <ul> <li>Support the same Path field being repeated in both Debug and Display representation in error message (<a href="https://redirect.github.com/dtolnay/thiserror/issues/383">#383</a>)</li> <li>Improve error message when a format trait used in error message is not implemented by some field (<a href="https://redirect.github.com/dtolnay/thiserror/issues/384">#384</a>)</li> </ul> <h2>2.0.2</h2> <ul> <li>Fix hang on invalid input inside #[error(...)] attribute (<a href="https://redirect.github.com/dtolnay/thiserror/issues/382">#382</a>)</li> </ul> <h2>2.0.1</h2> <ul> <li>Support errors that contain a dynamically sized final field (<a href="https://redirect.github.com/dtolnay/thiserror/issues/375">#375</a>)</li> <li>Improve inference of trait bounds for fields that are interpolated multiple times in an error message (<a href="https://redirect.github.com/dtolnay/thiserror/issues/377">#377</a>)</li> </ul> <h2>2.0.0</h2> <h2>Breaking changes</h2> <ul> <li> <p>Referencing keyword-named fields by a raw identifier like <code>{r#type}</code> inside a format string is no longer accepted; simply use the unraw name like <code>{type}</code> (<a href="https://redirect.github.com/dtolnay/thiserror/issues/347">#347</a>)</p> <p>This aligns thiserror with the standard library's formatting macros, which gained support for implicit argument capture later than the release of this feature in thiserror 1.x.</p> <pre lang="rust"><code>#[derive(Error, Debug)] #[error("... {type} ...")] // Before: {r#type} pub struct Error { pub r#type: Type, } </code></pre> </li> <li> <p>Trait bounds are no longer inferred on fields whose value is shadowed by an explicit named argument in a format message (<a href="https://redirect.github.com/dtolnay/thiserror/issues/345">#345</a>)</p> <pre lang="rust"><code>// Before: impl<T: Octal> Display for Error<T> // After: impl<T> Display for Error<T> #[derive(Error, Debug)] #[error("{thing:o}", thing = "...")] pub struct Error<T> { thing: T, } </code></pre> </li> <li> <p>Tuple structs and tuple variants can no longer use numerical <code>{0}</code> <code>{1}</code> access at the same time as supplying extra positional arguments for a format message, as this makes it ambiguous whether the number refers to a tuple field vs a different positional arg (<a href="https://redirect.github.com/dtolnay/thiserror/issues/354">#354</a>)</p> <pre lang="rust"><code>#[derive(Error, Debug)] #[error("ambiguous: {0} {}", $N)] // ^^^ Not allowed, use #[error("... {0} {n}", n = $N)] pub struct TupleError(i32); </code></pre> </li> <li> <p>Code containing invocations of thiserror's <code>derive(Error)</code> must now have a direct dependency on the <code>thiserror</code> crate regardless of the error data structure's contents (<a href="https://redirect.github.com/dtolnay/thiserror/issues/368">#368</a>, <a href="https://redirect.github.com/dtolnay/thiserror/issues/369">#369</a>, <a href="https://redirect.github.com/dtolnay/thiserror/issues/370">#370</a>, <a href="https://redirect.github.com/dtolnay/thiserror/issues/372">#372</a>)</p> </li> </ul> <h2>Features</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
582b5f45e8
|
Bump shadow-rs from 0.35.2 to 0.36.0 (#14396)
Bumps [shadow-rs](https://github.com/baoyachi/shadow-rs) from 0.35.2 to 0.36.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/baoyachi/shadow-rs/releases">shadow-rs's releases</a>.</em></p> <blockquote> <h2>v0.36.0</h2> <h2>What's Changed</h2> <ul> <li>feat(HookExt): Add extended hook functionality with custom deny lists by <a href="https://github.com/baoyachi"><code>@baoyachi</code></a> in <a href="https://redirect.github.com/baoyachi/shadow-rs/pull/190">baoyachi/shadow-rs#190</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/baoyachi/shadow-rs/compare/v0.35.2...v0.36.0">https://github.com/baoyachi/shadow-rs/compare/v0.35.2...v0.36.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
6e84ba182e
|
Bump quick-xml to 0.37.0 (#14354)
# Description Bump `quick-xml` to `0.37.0`. This came about rebasing `nushell` in Fedora, which now has `quick-xml` 0.36. There is one breaking change in 0.33 as far as `nu-command` is concerned, in that `Event::PI` is now a dedicated `BytesPI` type: https://github.com/tafia/quick-xml/blob/master/Changelog.md#misc-changes-5 I've tested compiling and testing locally with `0.33.0`, `0.36.0` and `0.37.0` - but let's future-proof by requiring `0.37.0`. # User-Facing Changes N/A # Tests + Formatting No additional tests required, existing tests pass # After Submitting N/A Signed-off-by: Michel Lind <salimma@fedoraproject.org> |
||
|
13ce9e4f64
|
update uutils crates (#14371)
# Description This PR updates the uutils/coreutils crates to the latest version. I hard-coded debug to false, a new uu_mv parameter. It may be interesting to add that but I just wanted to get all the uu crates on the same version. I had to update the tests because --no-clobber works but doesn't say anything when it's not clobbering and previously we were checking for an error message. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
f63f8cb154
|
Add utouch command from uutils/coreutils (#11817)
<!-- if this PR closes one or more issues, you can automatically link the PR with them by using one of the [*linking keywords*](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword), e.g. - this PR should close #xxxx - fixes #xxxx you can also mention related issues, PRs or discussions! --> Part of https://github.com/nushell/nushell/issues/11549 # Description <!-- Thank you for improving Nushell. Please, check our [contributing guide](../CONTRIBUTING.md) and talk to the core team before making major changes. Description of your pull request goes here. **Provide examples and/or screenshots** if your changes affect the user experience. --> This PR adds a `utouch` command that uses the `touch` command from https://github.com/uutils/coreutils. Eventually, `utouch` may be able to replace `touch`. The conflicts in Cargo.lock and Cargo.toml are because I'm using the uutils/coreutils main rather than the latest release, since the changes that expose `uu_touch`'s internal functionality aren't available in the latest release. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> Users will have access to a new `utouch` command with the following flags: todo # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use std testing; testing run-tests --path crates/nu-std"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
7bd801a167
|
Update rstest from 0.18 to 0.23 (the current version) (#14350) | ||
|
636bae2466
|
Bump tempfile from 3.13.0 to 3.14.0 (#14326) | ||
|
739a7ea730
|
Bump mockito from 1.5.0 to 1.6.1 (#14336) | ||
|
948205c8e6
|
Bump serial_test from 3.1.1 to 3.2.0 (#14325) | ||
|
e6f55da080
|
Bump to dev version 0.100.1 (#14328) | ||
|
c9409a2edb
|
Bump version to 0.100.0 (#14312)
<!-- if this PR closes one or more issues, you can automatically link the PR with them by using one of the [*linking keywords*](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword), e.g. - this PR should close #xxxx - fixes #xxxx you can also mention related issues, PRs or discussions! --> # Description <!-- Thank you for improving Nushell. Please, check our [contributing guide](../CONTRIBUTING.md) and talk to the core team before making major changes. Description of your pull request goes here. **Provide examples and/or screenshots** if your changes affect the user experience. --> Bump version to `0.100.0` # User-Facing Changes The new release `v0.100.0` is coming... |
||
|
b857064d65
|
Pin reedline to 0.37.0 release (#14317)
|
||
|
8f9b198d48
|
upgrade bracoxide to v0.1.4 (fixes #14290) (#14296)
I'm sorry I'm not following the PR template but this is a quick fix. Fixes #14290 |
||
|
bdf63420d1
|
update reedline to the latest commit (#14281)
# Description This PR updates reedline to the latest commit. 7a1b344a. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
90bd8c82b7
|
Bump notify-debouncer-full from 0.3.1 to 0.3.2 (#14271)
Bumps [notify-debouncer-full](https://github.com/notify-rs/notify) from 0.3.1 to 0.3.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/notify-rs/notify/releases">notify-debouncer-full's releases</a>.</em></p> <blockquote> <h2>debouncer-full-0.3.2</h2> <h2>What's Changed</h2> <ul> <li>FIX: ordering of debounced events could lead to a panic with Rust 1.81.0 and above by <a href="https://github.com/dfaust"><code>@dfaust</code></a> in <a href="https://redirect.github.com/notify-rs/notify/pull/643">notify-rs/notify#643</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/notify-rs/notify/compare/debouncer-full-0.3.1...debouncer-full-0.3.2">https://github.com/notify-rs/notify/compare/debouncer-full-0.3.1...debouncer-full-0.3.2</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/notify-rs/notify/blob/main/CHANGELOG.md">notify-debouncer-full's changelog</a>.</em></p> <blockquote> <h2>debouncer-full 0.3.2 (2024-09-29)</h2> <ul> <li>FIX: ordering of debounced events could lead to a panic with Rust 1.81.0 and above <a href="https://redirect.github.com/notify-rs/notify/issues/636">#636</a></li> </ul> <p><a href="https://redirect.github.com/notify-rs/notify/issues/636">#636</a>: <a href="https://redirect.github.com/notify-rs/notify/issues/636">notify-rs/notify#636</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
0955e8c5b6
|
Bump scraper from 0.20.0 to 0.21.0 (#14270)
Bumps [scraper](https://github.com/causal-agent/scraper) from 0.20.0 to 0.21.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/causal-agent/scraper/releases">scraper's releases</a>.</em></p> <blockquote> <h2>0.21.0</h2> <h2>What's Changed</h2> <ul> <li>Bump indexmap from 2.3.0 to 2.4.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/rust-scraper/scraper/pull/197">rust-scraper/scraper#197</a></li> <li>Bump ego-tree from 0.6.2 to 0.7.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/rust-scraper/scraper/pull/198">rust-scraper/scraper#198</a></li> <li>migrate once_cell::unsync::OnceCell to std::cell::OnceCell + drop dep… by <a href="https://github.com/LoZack19"><code>@LoZack19</code></a> in <a href="https://redirect.github.com/rust-scraper/scraper/pull/199">rust-scraper/scraper#199</a></li> <li>Introduce workspaces by <a href="https://github.com/LoZack19"><code>@LoZack19</code></a> in <a href="https://redirect.github.com/rust-scraper/scraper/pull/201">rust-scraper/scraper#201</a></li> <li>Now that ego-tree's Traverse is a fused iterator, so are our Select and Text by <a href="https://github.com/adamreichold"><code>@adamreichold</code></a> in <a href="https://redirect.github.com/rust-scraper/scraper/pull/202">rust-scraper/scraper#202</a></li> <li>Bump indexmap from 2.4.0 to 2.5.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/rust-scraper/scraper/pull/204">rust-scraper/scraper#204</a></li> <li>Bump ego-tree from 0.8.0 to 0.9.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/rust-scraper/scraper/pull/205">rust-scraper/scraper#205</a></li> <li>Bump indexmap from 2.5.0 to 2.6.0 by <a href="https://github.com/dependabot"><code>@dependabot</code></a> in <a href="https://redirect.github.com/rust-scraper/scraper/pull/211">rust-scraper/scraper#211</a></li> <li>Bump selectors, cssparser and html5ever by <a href="https://github.com/adamreichold"><code>@adamreichold</code></a> in <a href="https://redirect.github.com/rust-scraper/scraper/pull/214">rust-scraper/scraper#214</a></li> <li>Handle missing Token::Delim variant when rendering errors by <a href="https://github.com/adamreichold"><code>@adamreichold</code></a> in <a href="https://redirect.github.com/rust-scraper/scraper/pull/213">rust-scraper/scraper#213</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/LoZack19"><code>@LoZack19</code></a> made their first contribution in <a href="https://redirect.github.com/rust-scraper/scraper/pull/199">rust-scraper/scraper#199</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rust-scraper/scraper/compare/v0.20.0...v0.21.0">https://github.com/rust-scraper/scraper/compare/v0.20.0...v0.21.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
e172a621f3
|
Consolidate uses of test-case to rstest (#14250)
With #14083 a dependency on `test-case` was introduced, we already depend on the more exp(a/e)nsive `rstest` for our macro-based test case generation (with fixtures on top) To save on some compilation for proc macros unify to `rstest` |
||
|
4907575d3d
|
Bump chrono-tz from 0.8.6 to 0.10.0 (#14205)
Bumps [chrono-tz](https://github.com/chronotope/chrono-tz) from 0.8.6 to 0.10.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/chronotope/chrono-tz/releases">chrono-tz's releases</a>.</em></p> <blockquote> <h2>chrono-tz v0.10.0: 2024b</h2> <p><strong>TZDB</strong> version 2024b (2024-09-05).</p> <h2>Changes</h2> <ul> <li>Make <code>OffsetName::abbreviation</code> return an <code>Option</code>. This reflects that numeric values such as <code>+11</code> are no longer encoded in the upstream TZDB as abbreviations (<a href="https://redirect.github.com/chronotope/chrono-tz/issues/185">#185</a>).</li> </ul> <h2>TZDB 2024b</h2> <blockquote> <p>The 2024b release of the tz code and data is available.</p> <p>This release is prompted by the accumulated weight of many non-urgent changes to both code and data. It changes one timestamp abbreviation, for the long-obsolete System V setting TZ='MET'; see below. Otherwise, the timestamps affected by this release all predate April 2008, so you can skip this release if your application uses only tzdata and does not use older timestamps.</p> <p>This release contains the following changes:</p> <h3>Briefly:</h3> <p>Improve historical data for Mexico, Mongolia, and Portugal. System V names are now obsolescent. The main data form now uses %z. The code now conforms to RFC 8536 for early timestamps. Support POSIX.1-2024, which removes asctime_r and ctime_r. Assume POSIX.2-1992 or later for shell scripts. SUPPORT_C89 now defaults to 1.</p> <h3>Changes to past timestamps</h3> <p>Asia/Choibalsan is now an alias for Asia/Ulaanbaatar rather than being a separate Zone with differing behavior before April 2008. This seems better given our wildly conflicting information about Mongolia's time zone history. (Thanks to Heitor David Pinto.)</p> <p>Historical transitions for Mexico have been updated based on official Mexican decrees. The affected timestamps occur during the years 1921-1927, 1931, 1945, 1949-1970, and 1981-1997. The affected zones are America/Bahia_Banderas, America/Cancun, America/Chihuahua, America/Ciudad_Juarez, America/Hermosillo, America/Mazatlan, America/Merida, America/Mexico_City, America/Monterrey, America/Ojinaga, and America/Tijuana. (Thanks to Heitor David Pinto.)</p> <p>Historical transitions for Portugal, represented by Europe/Lisbon, Atlantic/Azores, and Atlantic/Madeira, have been updated based on a close reading of old Portuguese legislation, replacing previous data mainly originating from Whitman and Shanks & Pottenger. These changes affect a few transitions in 1917-1921, 1924, and 1940 throughout these regions by a few hours or days, and various timestamps between 1977 and 1993 depending on the region. In particular, the Azores and Madeira did not observe DST from 1977 to 1981. Additionally, the adoption of standard zonal time in former Portuguese colonies have been adjusted: Africa/Maputo in 1909, and Asia/Dili by 22 minutes at the start of 1912. (Thanks to Tim Parenti.)</p> <h3>Changes to past tm_isdst flags</h3> <p>The period from 1966-04-03 through 1966-10-02 in Portugal is now modeled as DST, to more closely reflect how contemporaneous changes in law entered into force.</p> <h3>Changes to data</h3> <p>Names present only for compatibility with UNIX System V (last released in the 1990s) have been moved to 'backward'. These names, which for post-1970 timestamps mostly just duplicate data of geographical names, were confusing downstream uses. Names moved to 'backward' are now links to geographical names. This affects behavior for TZ='EET' for some pre-1981 timestamps, for TZ='CET' for some pre-1947 timestamps, and for TZ='WET' for some pre-1996 timestamps. Also, TZ='MET' now behaves like TZ='CET' and so uses the abbreviation "CET" rather than "MET". Those needing the previous TZDB behavior, which does not match any real-world clocks, can find the old entries in 'backzone'. (Problem reported by Justin Grant.)</p> <p>The main source files' time zone abbreviations now use %z, supported by zic since release 2015f and used in vanguard form since release 2022b. For example, America/Sao_Paulo now contains the zone continuation line "-3:00 Brazil %z", which is less error prone than the old "-3:00 Brazil -03/-02". This does not change the represented data: the generated TZif files are unchanged. Rearguard form still avoids %z, to support obsolescent parsers.</p> <p>Asia/Almaty has been removed from zonenow.tab as it now agrees with Asia/Tashkent for future timestamps, due to Kazakhstan's 2024-02-29 time zone change. Similarly, America/Scoresbysund has been removed, as it now agrees with America/Nuuk due to its 2024-03-31 time zone change.</p> </blockquote> <h2>chrono-tz v0.9.0: 2024a</h2> <p><strong>TZDB</strong> version <a href="https://mm.icann.org/pipermail/tz-announce/2024-February/000081.html">2024a</a> (2024-02-01).</p> <h2>Changes</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
a6c2c685bc
|
Bump trash from 5.1.1 to 5.2.0 (#14206)
Bumps [trash](https://github.com/ArturKovacs/trash) from 5.1.1 to 5.2.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/ArturKovacs/trash/releases">trash's releases</a>.</em></p> <blockquote> <h2>v5.2.0</h2> <h3>New Features</h3> <ul> <li> <p>Short circuiting check for empty trash <code>is_empty()</code> is a short circuiting function that checks if the trash is empty on Freedesktop compatible systems and Windows.</p> <p>The main purpose of <code>is_empty()</code> is to avoid evaluating the entire trash context when the caller is only interested in whether the trash is empty or not. This is especially useful for full trashes with many items.</p> </li> </ul> <h3>Commit Statistics</h3> <ul> <li>2 commits contributed to the release.</li> <li>56 days passed between releases.</li> <li>1 commit was understood as <a href="https://www.conventionalcommits.org">conventional</a>.</li> <li>0 issues like '(#ID)' were seen in commit messages</li> </ul> <h3>Commit Details</h3> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <ul> <li><strong>Uncategorized</strong> <ul> <li>Merge pull request <a href="https://redirect.github.com/ArturKovacs/trash/issues/120">#120</a> from joshuamegnauth54/feat-short-circuiting-is-empty (0120bbe)</li> <li>Short circuiting check for empty trash (6d59fa9)</li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Byron/trash-rs/blob/master/CHANGELOG.md">trash's changelog</a>.</em></p> <blockquote> <h2>5.2.0 (2024-10-26)</h2> <h3>New Features</h3> <ul> <li> <p><!-- raw HTML omitted --> Short circuiting check for empty trash <code>is_empty()</code> is a short circuiting function that checks if the trash is empty on Freedesktop compatible systems and Windows.</p> <p>The main purpose of <code>is_empty()</code> is to avoid evaluating the entire trash context when the caller is only interested in whether the trash is empty or not. This is especially useful for full trashes with many items.</p> </li> </ul> <h3>Commit Statistics</h3> <!-- raw HTML omitted --> <ul> <li>2 commits contributed to the release.</li> <li>56 days passed between releases.</li> <li>1 commit was understood as <a href="https://www.conventionalcommits.org">conventional</a>.</li> <li>0 issues like '(#ID)' were seen in commit messages</li> </ul> <h3>Commit Details</h3> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <ul> <li><strong>Uncategorized</strong> <ul> <li>Merge pull request <a href="https://redirect.github.com/ArturKovacs/trash/issues/120">#120</a> from joshuamegnauth54/feat-short-circuiting-is-empty (<a href=" |
||
|
1e2fa68db0
|
Bump fancy-regex from 0.13.0 to 0.14.0 (#14207)
Bumps [fancy-regex](https://github.com/fancy-regex/fancy-regex) from 0.13.0 to 0.14.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/fancy-regex/fancy-regex/releases">fancy-regex's releases</a>.</em></p> <blockquote> <h2>0.14.0</h2> <h3>Added</h3> <ul> <li>Add <code>split</code>, <code>splitn</code> methods to <code>Regex</code> to split a string into substrings (<a href="https://redirect.github.com/fancy-regex/fancy-regex/issues/140">#140</a>)</li> <li>Add <code>case_insensitive</code> method to <code>RegexBuilder</code> to force case-insensitive mode (<a href="https://redirect.github.com/fancy-regex/fancy-regex/issues/132">#132</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Bump bit-set dependency to 0.8 (<a href="https://redirect.github.com/fancy-regex/fancy-regex/issues/139">#139</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/fancy-regex/fancy-regex/blob/main/CHANGELOG.md">fancy-regex's changelog</a>.</em></p> <blockquote> <h2>[0.14.0] - 2024-10-24</h2> <h3>Added</h3> <ul> <li>Add <code>split</code>, <code>splitn</code> methods to <code>Regex</code> to split a string into substrings (<a href="https://redirect.github.com/fancy-regex/fancy-regex/issues/140">#140</a>)</li> <li>Add <code>case_insensitive</code> method to <code>RegexBuilder</code> to force case-insensitive mode (<a href="https://redirect.github.com/fancy-regex/fancy-regex/issues/132">#132</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Bump bit-set dependency to 0.8 (<a href="https://redirect.github.com/fancy-regex/fancy-regex/issues/139">#139</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
599f16f15c
|
Bump unicase from 2.7.0 to 2.8.0 (#14208)
Bumps [unicase](https://github.com/seanmonstar/unicase) from 2.7.0 to 2.8.0. <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
e104bccfb9
|
Drop once_cell dependency (#14198)
This PR drops the `once_cell` dependency from all Nu crates, replacing uses of the [`Lazy`](https://docs.rs/once_cell/latest/once_cell/sync/struct.Lazy.html) type with its `std` equivalent, [`LazyLock`](https://doc.rust-lang.org/std/sync/struct.LazyLock.html). |
||
|
79ea70d4ec
|
Fix quoting in to nuon and refactor quoting functions (#14180)
<!-- if this PR closes one or more issues, you can automatically link the PR with them by using one of the [*linking keywords*](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword), e.g. - this PR should close #xxxx - fixes #xxxx you can also mention related issues, PRs or discussions! --> # Description <!-- Thank you for improving Nushell. Please, check our [contributing guide](../CONTRIBUTING.md) and talk to the core team before making major changes. Description of your pull request goes here. **Provide examples and/or screenshots** if your changes affect the user experience. --> This PR fixes the quoting and escaping of column names in `to nuon`. Before the PR, column names with quotes inside them would get quoted, but not escaped: ```nushell > { 'a"b': 2 } | to nuon { "a"b": 2 } > { 'a"b': 2 } | to nuon | from nuon Error: × error when loading nuon text ╭─[entry #1:1:27] 1 │ { "a\"b": 2 } | to nuon | from nuon · ────┬──── · ╰── could not load nuon text ╰──── Error: × error when parsing nuon text ╭─[entry #1:1:27] 1 │ { "a\"b": 2 } | to nuon | from nuon · ────┬──── · ╰── could not parse nuon text ╰──── Error: × error when parsing ╭──── 1 │ {"a"b": 2} · ┬ · ╰── Unexpected end of code. ╰──── > [['a"b']; [2] [3]] | to nuon [["a"b"]; [2], [3]] > [['a"b']; [2] [3]] | to nuon | from nuon Error: × error when loading nuon text ╭─[entry #1:1:32] 1 │ [['a"b']; [2] [3]] | to nuon | from nuon · ────┬──── · ╰── could not load nuon text ╰──── Error: × error when parsing nuon text ╭─[entry #1:1:32] 1 │ [['a"b']; [2] [3]] | to nuon | from nuon · ────┬──── · ╰── could not parse nuon text ╰──── Error: × error when parsing ╭──── 1 │ [["a"b"]; [2], [3]] · ┬ · ╰── Unexpected end of code. ╰──── ``` After this PR, the quote is escaped properly: ```nushell > { 'a"b': 2 } | to nuon { "a\"b": 2 } > { 'a"b': 2 } | to nuon | from nuon ╭─────┬───╮ │ a"b │ 2 │ ╰─────┴───╯ > [['a"b']; [2] [3]] | to nuon [["a\"b"]; [2], [3]] > [['a"b']; [2] [3]] | to nuon | from nuon ╭─────╮ │ a"b │ ├─────┤ │ 2 │ │ 3 │ ╰─────╯ ``` The cause of the issue was that `to nuon` simply wrapped column names in `'"'` instead of calling `escape_quote_string`. As part of this change, I also moved the functions related to quoting (`needs_quoting` and `escape_quote_string`) into `nu-utils`, since previously they were defined in very ad-hoc places (and, in the case of `escape_quote_string`, it was defined multiple times with the same body!). # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> `to nuon` now properly escapes quotes in column names. # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> All tests pass, including workspace and stdlib tests. # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
f8d4adfb7a
|
Add the history import command (again) (#14083)
# Description This is mainly https://github.com/nushell/nushell/pull/13450 (which got reverted). Additionally: - always clear IDs on import, disallow specifying IDs when piping - added extra tests - create backup of the history # User-Facing Changes New command: `history import` # Tests + Formatting Added mostly integration tests and a few smaller unit tests. |
||
|
88b0982dac
|
allow oem code pages to be used to decode text (#14187)
# Description This PR allows oem code pages to be used in decoding by specifying the code page number. ## Before  ## After (umlauts)  closes https://github.com/nushell/nushell/issues/14168 I abstracted the decoding a bit. Here are my function comments on how/why. ```rust // Since we have two different decoding mechanisms, we allow oem_cp to be // specified by only a number like `open file | decode 850`. If this decode // parameter parses as a usize then we assume it was intentional and use oem_cp // crate. Otherwise, if it doesn't parse as a usize, we assume it was a string // and use the encoding_rs crate to try and decode it. ``` # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
619211c1bf
|
Bump brotli to 6.0.0 (#14161)
This deduplicates our dependency on `brotli` |
||
|
ae54d05930
|
Upgrade to polars 0.43 (#14148)
Upgrades the polars plugin to polars version 0.43 |
||
|
e7c4597ad0
|
Bump uuid from 1.10.0 to 1.11.0 (#14155)
Bumps [uuid](https://github.com/uuid-rs/uuid) from 1.10.0 to 1.11.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/uuid-rs/uuid/releases">uuid's releases</a>.</em></p> <blockquote> <h2>1.11.0</h2> <h2>What's Changed</h2> <ul> <li>Upgrade zerocopy to 0.8 by <a href="https://github.com/yotamofek"><code>@yotamofek</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/771">uuid-rs/uuid#771</a></li> <li>Prepare for 1.11.0 release by <a href="https://github.com/KodrAus"><code>@KodrAus</code></a> in <a href="https://redirect.github.com/uuid-rs/uuid/pull/772">uuid-rs/uuid#772</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/yotamofek"><code>@yotamofek</code></a> made their first contribution in <a href="https://redirect.github.com/uuid-rs/uuid/pull/771">uuid-rs/uuid#771</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/uuid-rs/uuid/compare/1.10.0...1.11.0">https://github.com/uuid-rs/uuid/compare/1.10.0...1.11.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
09c9495015
|
Bump bytes from 1.7.1 to 1.8.0 (#14156)
Bumps [bytes](https://github.com/tokio-rs/bytes) from 1.7.1 to 1.8.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/tokio-rs/bytes/releases">bytes's releases</a>.</em></p> <blockquote> <h2>Bytes 1.8.0</h2> <h1>1.8.0 (October 21, 2024)</h1> <ul> <li>Guarantee address in <code>split_off</code>/<code>split_to</code> for empty slices (<a href="https://redirect.github.com/tokio-rs/bytes/issues/740">#740</a>)</li> </ul> <h2>Bytes 1.7.2</h2> <h1>1.7.2 (September 17, 2024)</h1> <h3>Fixed</h3> <ul> <li>Fix default impl of <code>Buf::{get_int, get_int_le}</code> (<a href="https://redirect.github.com/tokio-rs/bytes/issues/732">#732</a>)</li> </ul> <h3>Documented</h3> <ul> <li>Fix double spaces in comments and doc comments (<a href="https://redirect.github.com/tokio-rs/bytes/issues/731">#731</a>)</li> </ul> <h3>Internal changes</h3> <ul> <li>Ensure BytesMut::advance reduces capacity (<a href="https://redirect.github.com/tokio-rs/bytes/issues/728">#728</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md">bytes's changelog</a>.</em></p> <blockquote> <h1>1.8.0 (October 21, 2024)</h1> <ul> <li>Guarantee address in <code>split_off</code>/<code>split_to</code> for empty slices (<a href="https://redirect.github.com/tokio-rs/bytes/issues/740">#740</a>)</li> </ul> <h1>1.7.2 (September 17, 2024)</h1> <h3>Fixed</h3> <ul> <li>Fix default impl of <code>Buf::{get_int, get_int_le}</code> (<a href="https://redirect.github.com/tokio-rs/bytes/issues/732">#732</a>)</li> </ul> <h3>Documented</h3> <ul> <li>Fix double spaces in comments and doc comments (<a href="https://redirect.github.com/tokio-rs/bytes/issues/731">#731</a>)</li> </ul> <h3>Internal changes</h3> <ul> <li>Ensure BytesMut::advance reduces capacity (<a href="https://redirect.github.com/tokio-rs/bytes/issues/728">#728</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
e05f387632
|
update to reedline commit 9cb1128 (#14146)
# Description Update to the latest reedline commit. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
740fe942c1 |
Reduce duplicate dependencies on the windows crate (#14105)
Nushell currently depends on three different versions of the `windows` crate: `0.44.0`, `0.52.0`, and `0.54.0`. This PR bumps several dependencies so that the `nu` binary only depends on `0.56.0`. On my machine, this PR makes `cargo build` about 10% faster. The polars plugin still uses its own version of the `windows` crate though, which is not ideal. We'll need to bump the `polars` crate to fix that, but it breaks a lot of our code. (`polars 1.0` release anyone?) |
||
|
f061c9a30e
|
Bump to 0.99.2 (#14136) | ||
|
28b6db115a
|
Revert PRs for 0.99.1 patch (#14119)
# Description Temporarily reverts PRs merged after the 0.99.1 bump. |
||
|
5e784d38eb
|
Reduce duplicate dependencies on the windows crate (#14105)
Nushell currently depends on three different versions of the `windows` crate: `0.44.0`, `0.52.0`, and `0.54.0`. This PR bumps several dependencies so that the `nu` binary only depends on `0.56.0`. On my machine, this PR makes `cargo build` about 10% faster. The polars plugin still uses its own version of the `windows` crate though, which is not ideal. We'll need to bump the `polars` crate to fix that, but it breaks a lot of our code. (`polars 1.0` release anyone?) |
||
|
59d6dee3b3
|
Bump to version 0.99.1 (#14100)
Post-release patch bump. |
||
|
91ff57faa7
|
Bump to version 0.99.0 (#14094)
<!-- if this PR closes one or more issues, you can automatically link the PR with them by using one of the [*linking keywords*](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword), e.g. - this PR should close #xxxx - fixes #xxxx you can also mention related issues, PRs or discussions! --> # Description <!-- Thank you for improving Nushell. Please, check our [contributing guide](../CONTRIBUTING.md) and talk to the core team before making major changes. Description of your pull request goes here. **Provide examples and/or screenshots** if your changes affect the user experience. --> # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
b99affba4b
|
bumping reedline to version 0.36 (#14093) | ||
|
389e7d2502
|
make FooterMode::Auto work (#14063)
# Description @Yethal discovered that `FooterMode::Auto` in the config as `$env.config.footer_mode = auto` did not work. This PR attempts to fix that problem by implementing the auto algorithm that was already supposed to work. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
d67120be19
|
update to reedline 5e556bfd (#14034)
# Description This PR updates nushell to the latest commit 5e556bfd. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
ba4becc61c
|
Bump indexmap from 2.5.0 to 2.6.0 (#13983)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.5.0 to 2.6.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md">indexmap's changelog</a>.</em></p> <blockquote> <h2>2.6.0 (2024-10-01)</h2> <ul> <li>Implemented <code>Clone</code> for <code>map::IntoIter</code> and <code>set::IntoIter</code>.</li> <li>Updated the <code>hashbrown</code> dependency to version 0.15.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
98e0864be8
|
update nushell to reedline 871075e (#14017)
# Description update nushell to the latest reedline # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
573a7e2c7b
|
Bump tempfile from 3.12.0 to 3.13.0 (#13984)
Bumps [tempfile](https://github.com/Stebalien/tempfile) from 3.12.0 to 3.13.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md">tempfile's changelog</a>.</em></p> <blockquote> <h2>3.13.0</h2> <ul> <li>Add <code>with_suffix</code> constructors for easily creating new temporary files with a specific suffix (e.g., a specific file extension). Thanks to <a href="https://github.com/Borgerr"><code>@Borgerr</code></a>.</li> <li>Update dependencies (fastrand & rustix).</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
cebbc82322
|
Bump once_cell from 1.19.0 to 1.20.1 (#13982)
Bumps [once_cell](https://github.com/matklad/once_cell) from 1.19.0 to 1.20.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/matklad/once_cell/blob/master/CHANGELOG.md">once_cell's changelog</a>.</em></p> <blockquote> <h2>1.20.1</h2> <ul> <li>Allow using <code>race</code> module using just <code>portable_atomic</code>, without <code>critical_section</code> and provide better error messages on targets without atomic CAS instruction, <a href="https://redirect.github.com/matklad/once_cell/pull/265">#265</a>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
4bd38847c2
|
update human-date-parser crate (#13962)
# Description closes https://github.com/nushell/nushell/issues/13759 and fixes some odd behavior from the human-date-parser crate. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
fc61416c79
|
Fix issue with ls | explore coloring of file names (#13952)
close #13936 The fix seem to be exactly what you've @fdncred described. But I'd recheck that everything is good.  Take care. Have a great week. |
||
|
8195e2d638
|
Bump rustix from 0.38.34 to 0.38.37 (#13878)
Notable this gets https://github.com/bytecodealliance/rustix/pull/1147 which makes things work on Android again. Without this update latest `0.98.0` release gets stuck in a loop outputting the below error due to the `TCGETS2` usage: > Error: Os { code: 13, kind: PermissionDenied, message: "Permission denied" } |
||
|
0d30550950
|
update reedline to the latest 660a5074 (#13909)
# Description This PR updates nushell to the latest reedline commit 660a5074 # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
fb14008f50
|
Bump shadow-rs from 0.34.0 to 0.35.0 (#13863)
Bumps [shadow-rs](https://github.com/baoyachi/shadow-rs) from 0.34.0 to 0.35.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/baoyachi/shadow-rs/releases">shadow-rs's releases</a>.</em></p> <blockquote> <h2>v0.35.0</h2> <h2>What's Changed</h2> <ul> <li>Update time crate by <a href="https://github.com/diniamo"><code>@diniamo</code></a> in <a href="https://redirect.github.com/baoyachi/shadow-rs/pull/182">baoyachi/shadow-rs#182</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/diniamo"><code>@diniamo</code></a> made their first contribution in <a href="https://redirect.github.com/baoyachi/shadow-rs/pull/182">baoyachi/shadow-rs#182</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/baoyachi/shadow-rs/compare/v0.34.0...v0.35.0">https://github.com/baoyachi/shadow-rs/compare/v0.34.0...v0.35.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
18c8c16c5e
|
Bump unicode-segmentation from 1.11.0 to 1.12.0 (#13862)
Bumps [unicode-segmentation](https://github.com/unicode-rs/unicode-segmentation) from 1.11.0 to 1.12.0. <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
299a218de7
|
Bump tango-bench from 0.5.0 to 0.6.0 (#13861)
Bumps [tango-bench](https://github.com/bazhenov/tango) from 0.5.0 to 0.6.0. <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
1a081c09de
|
Bump version to 0.98.1 (#13896) | ||
|
6e1e824473
|
Bump version to 0.98.0 (#13865)
|
||
|
d192d854d6
|
Bump shadow-rs from 0.33.0 to 0.34.0 (#13825)
Bumps [shadow-rs](https://github.com/baoyachi/shadow-rs) from 0.33.0 to 0.34.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/baoyachi/shadow-rs/releases">shadow-rs's releases</a>.</em></p> <blockquote> <h2>v0.34.0</h2> <h2>What's Changed</h2> <ul> <li>Make using the CARGO_METADATA object simpler by <a href="https://github.com/baoyachi"><code>@baoyachi</code></a> in <a href="https://redirect.github.com/baoyachi/shadow-rs/pull/181">baoyachi/shadow-rs#181</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/baoyachi/shadow-rs/compare/v0.33.0...v0.34.0">https://github.com/baoyachi/shadow-rs/compare/v0.33.0...v0.34.0</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
edd69aa283
|
update the latest reedline (#13797)
# Description I swear, I only did `cargo update -p reedline`. However, I feel down the dependency rabbit hole. We need to get nushell on crossterm 28.1 and ratatui on 28.1 but we can't because tabled uses papergrid which uses an older version of unicode-width that can't be upgraded apparently. Ugh. I've opened an issue at the tabled repo about this. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
e7b7c7f39a
|
Bump nix from 0.28.0 to 0.29.0 (#13773)
Bumps [nix](https://github.com/nix-rust/nix) from 0.28.0 to 0.29.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/nix-rust/nix/blob/master/CHANGELOG.md">nix's changelog</a>.</em></p> <blockquote> <h2>[0.29.0] - 2024-05-24</h2> <h3>Added</h3> <ul> <li>Add <code>getregset()/setregset()</code> for Linux/glibc/x86/x86_64/aarch64/riscv64 and <code>getregs()/setregs()</code> for Linux/glibc/aarch64/riscv64 (<a href="https://redirect.github.com/nix-rust/nix/pull/2044">#2044</a>)</li> <li>Add socket option Ipv6Ttl for apple targets. (<a href="https://redirect.github.com/nix-rust/nix/pull/2287">#2287</a>)</li> <li>Add socket option UtunIfname. (<a href="https://redirect.github.com/nix-rust/nix/pull/2325">#2325</a>)</li> <li>make SigAction repr(transparent) & can be converted to the libc raw type (<a href="https://redirect.github.com/nix-rust/nix/pull/2326">#2326</a>)</li> <li>Add <code>From</code> trait implementation for conversions between <code>sockaddr_in</code> and <code>SockaddrIn</code>, <code>sockaddr_in6</code> and <code>SockaddrIn6</code> (<a href="https://redirect.github.com/nix-rust/nix/pull/2328">#2328</a>)</li> <li>Add socket option ReusePortLb for FreeBSD. (<a href="https://redirect.github.com/nix-rust/nix/pull/2332">#2332</a>)</li> <li>Added support for openat2 on linux. (<a href="https://redirect.github.com/nix-rust/nix/pull/2339">#2339</a>)</li> <li>Add if_indextoname function. (<a href="https://redirect.github.com/nix-rust/nix/pull/2340">#2340</a>)</li> <li>Add <code>mount</code> and <code>unmount</code> API for apple targets. (<a href="https://redirect.github.com/nix-rust/nix/pull/2347">#2347</a>)</li> <li>Added <code>_PC_MIN_HOLE_SIZE</code> for <code>pathconf</code> and <code>fpathconf</code>. (<a href="https://redirect.github.com/nix-rust/nix/pull/2349">#2349</a>)</li> <li>Added <code>impl AsFd for pty::PtyMaster</code> (<a href="https://redirect.github.com/nix-rust/nix/pull/2355">#2355</a>)</li> <li>Add <code>open</code> flag <code>O_SEARCH</code> to AIX, Empscripten, FreeBSD, Fuchsia, solarish, WASI (<a href="https://redirect.github.com/nix-rust/nix/pull/2374">#2374</a>)</li> <li>Add prctl function <code>prctl_set_vma_anon_name</code> for Linux/Android. (<a href="https://redirect.github.com/nix-rust/nix/pull/2378">#2378</a>)</li> <li>Add <code>sync(2)</code> for <code>apple_targets/solarish/haiku/aix/hurd</code>, <code>syncfs(2)</code> for <code>hurd</code> and <code>fdatasync(2)</code> for <code>aix/hurd</code> (<a href="https://redirect.github.com/nix-rust/nix/pull/2379">#2379</a>)</li> <li>Add fdatasync support for Apple targets. (<a href="https://redirect.github.com/nix-rust/nix/pull/2380">#2380</a>)</li> <li>Add <code>fcntl::OFlag::O_PATH</code> for FreeBSD and Fuchsia (<a href="https://redirect.github.com/nix-rust/nix/pull/2382">#2382</a>)</li> <li>Added <code>PathconfVar::MIN_HOLE_SIZE</code> for apple_targets. (<a href="https://redirect.github.com/nix-rust/nix/pull/2388">#2388</a>)</li> <li>Add <code>open</code> flag <code>O_SEARCH</code> to apple_targets (<a href="https://redirect.github.com/nix-rust/nix/pull/2391">#2391</a>)</li> <li><code>O_DSYNC</code> may now be used with <code>aio_fsync</code> and <code>fcntl</code> on FreeBSD. (<a href="https://redirect.github.com/nix-rust/nix/pull/2404">#2404</a>)</li> <li>Added <code>Flock::relock</code> for upgrading and downgrading locks. (<a href="https://redirect.github.com/nix-rust/nix/pull/2407">#2407</a>)</li> </ul> <h3>Changed</h3> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
6be458c686
|
Bump itertools from 0.12.1 to 0.13.0 (#13774)
Bumps [itertools](https://github.com/rust-itertools/itertools) from 0.12.1 to 0.13.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/rust-itertools/itertools/blob/master/CHANGELOG.md">itertools's changelog</a>.</em></p> <blockquote> <h2>0.13.0</h2> <h3>Breaking</h3> <ul> <li>Removed implementation of <code>DoubleEndedIterator</code> for <code>ConsTuples</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/853">#853</a>)</li> <li>Made <code>MultiProduct</code> fused and fixed on an empty iterator (<a href="https://redirect.github.com/rust-itertools/itertools/issues/835">#835</a>, <a href="https://redirect.github.com/rust-itertools/itertools/issues/834">#834</a>)</li> <li>Changed <code>iproduct!</code> to return tuples for maxi one iterator too (<a href="https://redirect.github.com/rust-itertools/itertools/issues/870">#870</a>)</li> <li>Changed <code>PutBack::put_back</code> to return the old value (<a href="https://redirect.github.com/rust-itertools/itertools/issues/880">#880</a>)</li> <li>Removed deprecated <code>repeat_call, Itertools::{foreach, step, map_results, fold_results}</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/878">#878</a>)</li> <li>Removed <code>TakeWhileInclusive::new</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/912">#912</a>)</li> </ul> <h3>Added</h3> <ul> <li>Added <code>Itertools::{smallest_by, smallest_by_key, largest, largest_by, largest_by_key}</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/654">#654</a>, <a href="https://redirect.github.com/rust-itertools/itertools/issues/885">#885</a>)</li> <li>Added <code>Itertools::tail</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/899">#899</a>)</li> <li>Implemented <code>DoubleEndedIterator</code> for <code>ProcessResults</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/910">#910</a>)</li> <li>Implemented <code>Debug</code> for <code>FormatWith</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/931">#931</a>)</li> <li>Added <code>Itertools::get</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/891">#891</a>)</li> </ul> <h3>Changed</h3> <ul> <li>Deprecated <code>Itertools::group_by</code> (renamed <code>chunk_by</code>) (<a href="https://redirect.github.com/rust-itertools/itertools/issues/866">#866</a>, <a href="https://redirect.github.com/rust-itertools/itertools/issues/879">#879</a>)</li> <li>Deprecated <code>unfold</code> (use <code>std::iter::from_fn</code> instead) (<a href="https://redirect.github.com/rust-itertools/itertools/issues/871">#871</a>)</li> <li>Optimized <code>GroupingMapBy</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/873">#873</a>, <a href="https://redirect.github.com/rust-itertools/itertools/issues/876">#876</a>)</li> <li>Relaxed <code>Fn</code> bounds to <code>FnMut</code> in <code>diff_with, Itertools::into_group_map_by</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/886">#886</a>)</li> <li>Relaxed <code>Debug/Clone</code> bounds for <code>MapInto</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/889">#889</a>)</li> <li>Documented the <code>use_alloc</code> feature (<a href="https://redirect.github.com/rust-itertools/itertools/issues/887">#887</a>)</li> <li>Optimized <code>Itertools::set_from</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/888">#888</a>)</li> <li>Removed badges in <code>README.md</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/890">#890</a>)</li> <li>Added "no-std" categories in <code>Cargo.toml</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/894">#894</a>)</li> <li>Fixed <code>Itertools::k_smallest</code> on short unfused iterators (<a href="https://redirect.github.com/rust-itertools/itertools/issues/900">#900</a>)</li> <li>Deprecated <code>Itertools::tree_fold1</code> (renamed <code>tree_reduce</code>) (<a href="https://redirect.github.com/rust-itertools/itertools/issues/895">#895</a>)</li> <li>Deprecated <code>GroupingMap::fold_first</code> (renamed <code>reduce</code>) (<a href="https://redirect.github.com/rust-itertools/itertools/issues/902">#902</a>)</li> <li>Fixed <code>Itertools::k_smallest(0)</code> to consume the iterator, optimized <code>Itertools::k_smallest(1)</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/909">#909</a>)</li> <li>Specialized <code>Combinations::nth</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/914">#914</a>)</li> <li>Specialized <code>MergeBy::fold</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/920">#920</a>)</li> <li>Specialized <code>CombinationsWithReplacement::nth</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/923">#923</a>)</li> <li>Specialized <code>FlattenOk::{fold, rfold}</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/927">#927</a>)</li> <li>Specialized <code>Powerset::nth</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/924">#924</a>)</li> <li>Documentation fixes (<a href="https://redirect.github.com/rust-itertools/itertools/issues/882">#882</a>, <a href="https://redirect.github.com/rust-itertools/itertools/issues/936">#936</a>)</li> <li>Fixed <code>assert_equal</code> for iterators longer than <code>i32::MAX</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/932">#932</a>)</li> <li>Updated the <code>must_use</code> message of non-lazy <code>KMergeBy</code> and <code>TupleCombinations</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/939">#939</a>)</li> </ul> <h3>Notable Internal Changes</h3> <ul> <li>Tested iterator laziness (<a href="https://redirect.github.com/rust-itertools/itertools/issues/792">#792</a>)</li> <li>Created <code>CONTRIBUTING.md</code> (<a href="https://redirect.github.com/rust-itertools/itertools/issues/767">#767</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
348c59b740
|
Bump indexmap from 2.4.0 to 2.5.0 (#13772)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.4.0 to 2.5.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md">indexmap's changelog</a>.</em></p> <blockquote> <h2>2.5.0</h2> <ul> <li>Added an <code>insert_before</code> method to <code>IndexMap</code> and <code>IndexSet</code>, as an alternative to <code>shift_insert</code> with different behavior on existing entries.</li> <li>Added <code>first_entry</code> and <code>last_entry</code> methods to <code>IndexMap</code>.</li> <li>Added <code>From</code> implementations between <code>IndexedEntry</code> and <code>OccupiedEntry</code>.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
f4940e115f
|
Remove bincode and use MessagePack instead for plugin custom values (#13745)
# Description This changes the serialization of custom values within the plugin protocol to use MessagePack instead of bincode, removing the dependency on bincode entirely. Bincode does not seem to be very maintained anymore, and the externally tagged enum representation doesn't seem to always work now even though it should. Since we use MessagePack already anyway for the plugin protocol, this seems like an obvious choice. This uses the unnamed variant of the serialization rather than the named variant, which is what the plugin protocol in general uses. The unnamed variant does not include field names, which aren't really required here, so this should give us something that's more or less as efficient as bincode is. Should fix #13743. # User-Facing Changes - Will need to recompile plugins (but always do anyway) - Doesn't technically break the plugin protocol (custom value data is a black box / plugin implementation specific), but breaks compatibility between `nu-plugin-engine` and `nu-plugin` so they do need to both be updated to match. # Tests + Formatting All tests pass. # After Submitting - [ ] release notes |
||
|
7171c9b84a
|
Bump shadow-rs from 0.31.1 to 0.33.0 (#13713) | ||
|
055d7e27e9
|
Use heck instead of convert_case for nu-derive-value (#13708)
<!-- if this PR closes one or more issues, you can automatically link the PR with them by using one of the [*linking keywords*](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword), e.g. - this PR should close #xxxx - fixes #xxxx you can also mention related issues, PRs or discussions! --> # Description <!-- Thank you for improving Nushell. Please, check our [contributing guide](../CONTRIBUTING.md) and talk to the core team before making major changes. Description of your pull request goes here. **Provide examples and/or screenshots** if your changes affect the user experience. --> @sholderbach mentioned that I introduced `convert_case` as a dependency while we already had `heck` for case conversion. So in this PR replaced the use `convert_case` with `heck`. Mostly I rebuilt the `convert_case` API with `heck` to work with it as I like the API of `convert_case` more than `heck`. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> Nothing changed, the use of `convert_case` wasn't exposed anywhere and all case conversions are still available. # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> No new tests required but my tests in `test_derive` captured some errors I made while developing this change, (hurray, tests work 🎉) - 🟢 `toolkit fmt` - 🟢 `toolkit clippy` - 🟢 `toolkit test` - 🟢 `toolkit test stdlib` # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> |
||
|
af76e11dd6
|
Remove str deunicode (#13693)
# Description Closes #13677 Remove the command `str deunicode`, as it has a narrow application, is loosely defined by the data provided by the `deunicode` crate and thus a stabilization liability post-1.0. Furthermore the data to perform the look-up is quite substantial. Removing the command and the `deunicode` dependency saves 0.9 MB of binary data in release mode (~ 2% of total) (checked via `cargo bloat --release` for a linux x86 build) # User-Facing Changes The `str deunicode` command recently added in #13270 is gone |
||
|
525eac1afd
|
[DRAFT] Check fix for emojie, wrap issues (#13430)
Hi there Here I am using latest tabled. My tests shows it does fixes panics, but I am wanna be sure. @fdncred could you verify that it does fixes those panics/errors? Closes #13405 Closes #12786 |
||
|
822007dbbb
|
Remove unused same-file workspace dependency (#13678)
A small no-op change. It was used in a two years old `mv` fix
(
|
||
|
0560826414
|
encode /decode for multiple alphabets (#13428)
Based on the discussion in #13419. ## Description Reworks the `decode`/`encode` commands by adding/changing the following bases: - `base32` - `base32hex` - `hex` - `new-base64` The `hex` base is compatible with the previous version of `hex` out of the box (it only adds more flags). `base64` isn't, so the PR adds a new version and deprecates the old one. All commands have `string -> binary` signature for decoding and `string | binary -> string` signature for encoding. A few `base64` encodings, which are not a part of the [RFC4648](https://datatracker.ietf.org/doc/html/rfc4648#section-6), have been dropped. ## Example usage ```Nushell ~/fork/nushell> "string" | encode base32 | decode base32 | decode string ``` ```Nushell ~/fork/nushell> "ORSXG5A=" | decode base32 # `decode` always returns a binary value Length: 4 (0x4) bytes | printable whitespace ascii_other non_ascii 00000000: 74 65 73 74 test ``` ## User-Facing Changes - New commands: `encode/decode base32/base32hex`. - `encode hex` gets a `--lower` flag. - `encode/decode base64` deprecated in favor of `encode/decode new-base64`. |
||
|
712fec166d
|
Improve working with IntoValue and FromValue for byte collections (#13641)
<!-- if this PR closes one or more issues, you can automatically link the PR with them by using one of the [*linking keywords*](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword), e.g. - this PR should close #xxxx - fixes #xxxx you can also mention related issues, PRs or discussions! --> # Description <!-- Thank you for improving Nushell. Please, check our [contributing guide](../CONTRIBUTING.md) and talk to the core team before making major changes. Description of your pull request goes here. **Provide examples and/or screenshots** if your changes affect the user experience. --> I was working with byte collections like `Vec<u8>` and [`bytes::Bytes`](https://docs.rs/bytes/1.7.1/bytes/struct.Bytes.html), both are currently not possible to be used directly in a struct that derives `IntoValue` and `FromValue` at the same time. The `Vec<u8>` will convert itself into a `Value::List` but expects a `Value::String` or `Value::Binary` to load from. I now also implemented that it can load from `Value::List` just like the other `Vec<uX>` versions. For further working with byte collections the type `bytes::Bytes` is wildly used, therefore I added a implementation for it. `bytes` is already part of the dependency graph as many crates (more than 5000 to crates.io) use it. # User-Facing Changes <!-- List of all changes that impact the user experience here. This helps us keep track of breaking changes. --> User of `nu-protocol` as library, e.g. plugin developers, can now use byte collections more easily in their data structures and derive `IntoValue` and `FromValue` for it. # Tests + Formatting <!-- Don't forget to add tests that cover your changes. Make sure you've run and fixed any issues with these commands: - `cargo fmt --all -- --check` to check standard code formatting (`cargo fmt --all` applies these changes) - `cargo clippy --workspace -- -D warnings -D clippy::unwrap_used` to check that you're using the standard code style - `cargo test --workspace` to check that all tests pass (on Windows make sure to [enable developer mode](https://learn.microsoft.com/en-us/windows/apps/get-started/developer-mode-features-and-debugging)) - `cargo run -- -c "use toolkit.nu; toolkit test stdlib"` to run the tests for the standard library > **Note** > from `nushell` you can also use the `toolkit` as follows > ```bash > use toolkit.nu # or use an `env_change` hook to activate it automatically > toolkit check pr > ``` --> I added a few tests that check that these byte collections are correctly translated in and from `Value`. They live in `test_derive.rs` as part of the `ByteContainer` and I also explicitely tested that `FromValue` for `Vec<u8>` works as expected. - 🟢 `toolkit fmt` - 🟢 `toolkit clippy` - 🟢 `toolkit test` - 🟢 `toolkit test stdlib` # After Submitting <!-- If your PR had any user-facing changes, update [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged, if necessary. This will help us keep the docs up to date. --> Maybe it should be explored if `Value::Binary` should use `bytes::Bytes` instead of `Vec<u8>`. |
||
|
e211b7ba53
|
Bump version to 0.97.2 (#13666) | ||
|
60769ac1ba
|
Bump version to 0.97.1 (#13659)
# Description Bump version to `0.97.1`, which will be the actual next major release. (`0.97.0` had a bug.) |
||
|
d667b3c0bc
|
bumped version number to 0.97 (#13655) | ||
|
621fb25670
|
update to latest reedline f2b4 (#13629)
# Description
Update to the latest reedline comment. BTW `f2b4` sounds like a new star
wars droid. 😆
|
||
|
a80273bd7b
|
Drop unused fs_extra and hamcrest2 dependencies (#13628)
Fixes nushell/nushell#7995 # Description This dependency is no longer used by nushell itself. # User-Facing Changes None. # Tests + Formatting Pased. # After Submitting None. |
||
|
e841fce0f9
|
Bump indexmap from 2.3.0 to 2.4.0 (#13617)
Bumps [indexmap](https://github.com/indexmap-rs/indexmap) from 2.3.0 to 2.4.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/indexmap-rs/indexmap/blob/master/RELEASES.md">indexmap's changelog</a>.</em></p> <blockquote> <h2>2.4.0</h2> <ul> <li>Added methods <code>IndexMap::append</code> and <code>IndexSet::append</code>, moving all items from one map or set into another, and leaving the original capacity for reuse.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
|
d7b0dc1275
|
Bump shadow-rs from 0.30.0 to 0.31.1 (#13616)
Bumps [shadow-rs](https://github.com/baoyachi/shadow-rs) from 0.30.0 to 0.31.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/baoyachi/shadow-rs/releases">shadow-rs's releases</a>.</em></p> <blockquote> <h2>[Improvement] Correct git command directory</h2> <p>ref: <a href="https://redirect.github.com/baoyachi/shadow-rs/issues/170">#170</a></p> <p>Thx <a href="https://github.com/MichaelScofield"><code>@MichaelScofield</code></a></p> <h2>Make build_with function public</h2> <p>ref:<a href="https://redirect.github.com/baoyachi/shadow-rs/issues/169">#169</a></p> <p>Thx <a href="https://github.com/MichaelScofield"><code>@MichaelScofield</code></a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |