{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":186024298,"defaultBranch":"main","name":"nushell","ownerLogin":"nushell","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-05-10T16:59:42.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/50749515?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1719574731.0","currentOid":""},"activityList":{"items":[{"before":"a2873336bb81654755b4af8148c9ecbc069aa5a1","after":"69e4790b00b445ad4c39e67de7ce9021ee3bf28c","ref":"refs/heads/main","pushedAt":"2024-06-30T12:38:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"Skip decoration lines for `detect columns --guess` (#13274)\n\n# Description\r\nI introduced a regression in #13272 that resulted in `detect columns\r\n--guess` to panic whenever it had to handle empty, whitespace-only, or\r\nnon-whitespace-only lines that go all the way to the last column (and as\r\nsuch, cannot be considered to be lines that only have entries for the\r\nfirst colum). I fix this by detecting these cases and skipping them,\r\nsince these are usually decoration lines. An example is the second line\r\noutput by `winget list`:\r\n\r\n![image](https://github.com/nushell/nushell/assets/20356389/06c873fb-0a26-45dd-b020-3bcc737d027f)\r\n\r\nWhat we don't want to skip, however, is lines that contain no\r\nwhitespace, and fit into the detected first column, since these lines\r\nrepresent cases where data is only available for the first column, and\r\nare not just decoration lines. For example (made up example, there are\r\nno such entries in `winget lits`'s output), in this output we would not\r\nwant to skip the `Docker Desktop` line :\r\n```\r\nName Id Version Available Source\r\n-------------------------------------------------------------------------------------------------------------------------------------\r\nAMD Software ARPMachineX64AMD Catalyst Install Manager 24.4.1\r\nAMD Ryzen Master ARPMachineX64AMD Ryzen Master 2.13.0.2908\r\nDocker Desktop\r\nMozilla Firefox (x64 en-US) Mozilla.Firefox 127.0.2 winget\r\n```\r\n\r\n![image](https://github.com/nushell/nushell/assets/20356389/12e31995-a7c1-4759-8c62-fb4fb199fd2e)\r\n\r\nNOTE: `winget list | detect columns --guess` does not panic, but sadly\r\nstill does not work as expected. I believe this is not a nushell issue\r\nanymore, but a `winget` one. When being piped, `winget` seems to add\r\nextra whitespace and random `\\r` symbols at the beginning of the text.\r\nThis messes with the column detection, of course.\r\n\r\n![image](https://github.com/nushell/nushell/assets/20356389/7d1b7e5f-17d0-41c8-8d2f-7896e0d73d66)\r\n\r\n![image](https://github.com/nushell/nushell/assets/20356389/56917954-1231-43e7-bacf-e5760e263054)\r\n\r\n![image](https://github.com/nushell/nushell/assets/20356389/630bcfc9-eb78-4a45-9c8f-97efc0c224f4)\r\n\r\n\r\n# User-Facing Changes\r\n`detect columns --guess` should not panic when receiving output from\r\n`winget list` at all anymore.\r\n\r\nA breaking change is the skipping of decoration lines, especially since\r\nscripts probably were doing something like\r\n`winget list | lines | reject 1 | str join \"\\n\" | detect columns\r\n--guess`. This will now cause them to reject a line with valid data.\r\n\r\n# Tests + Formatting\r\nAdded tests that exercise these edge cases, as well as a single-column\r\ntest to make sure that trivial cases keep working.\r\n\r\n# After Submitting\r\n","shortMessageHtmlLink":"Skip decoration lines for detect columns --guess (#13274)"}},{"before":"4fe0f860a8e5aff7b3184d1b3efb24b9851d98fb","after":"a2873336bb81654755b4af8148c9ecbc069aa5a1","ref":"refs/heads/main","pushedAt":"2024-06-29T21:17:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"Fix `do` signature (#13216)\n\nRecommend holding until after #13125 is fully digested and *possibly*\r\nuntil 0.96.\r\n\r\n# Description\r\n\r\nFixes one of the issues described in #13125 \r\n\r\nThe `do` signature included a `SyntaxShape:Any` as one of the possible\r\nfirst-positional types. This is incorrect. `do` only takes a closure as\r\na positional. This had the result of:\r\n\r\n1. Moving what should have been a parser error to evaluation-time\r\n\r\n ## Before\r\n\r\n ```nu\r\n > do 1\r\n Error: nu::shell::cant_convert\r\n\r\n × Can't convert to Closure.\r\n ╭─[entry #26:1:4]\r\n 1 │ do 1\r\n · ┬\r\n · ╰── can't convert int to Closure\r\n ╰────\r\n ```\r\n\r\n ## After\r\n\r\n ```nu\r\n > do 1\r\n Error: nu::parser::parse_mismatch\r\n\r\n × Parse mismatch during operation.\r\n ╭─[entry #5:1:4]\r\n 1 │ do 1\r\n · ┬\r\n · ╰── expected block, closure or record\r\n ╰────\r\n ``` \r\n\r\n2. Masking a bad test in `std assert`\r\n\r\nThis is a bit convoluted, but `std assert` tests included testing\r\n`assert error` to make sure it:\r\n\r\n* Asserts on bad code\r\n* Doesn't assert on good code\r\n\r\nThe good-code test was broken, and was essentially bad-code (really\r\nbad-code) that wasn't getting caught due to the bad signature.\r\n\r\nFixing this resulted in *parse time* failures on every call to\r\n`test_asserts` (not something that particular test was designed to\r\nhandle.\r\n\r\nThis PR also fixes the test case to properly evaluate `std assert error`\r\nagainst a good code path.\r\n\r\n# User-Facing Changes\r\n\r\n* Error-type returned (possible breaking change?)\r\n\r\n# Tests + Formatting\r\n\r\n- :green_circle: `toolkit fmt`\r\n- :green_circle: `toolkit clippy`\r\n- :green_circle: `toolkit test`\r\n- :green_circle: `toolkit test stdlib`\r\n\r\n# After Submitting\r\n\r\nN/A","shortMessageHtmlLink":"Fix do signature (#13216)"}},{"before":"33d0537cae506b1cf1454ff3a5c9b15336e0fb6a","after":"4fe0f860a8e5aff7b3184d1b3efb24b9851d98fb","ref":"refs/heads/main","pushedAt":"2024-06-29T21:13:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"feat: add `query webpage-info` to `plugin_nu_query` (#13252)\n\n# Description\r\n\r\nThis PR adds a new subcommand `query webpage-info` to `plugin_nu_query`.\r\nThe subcommand is a basic wrapper for the\r\n[`webpage`](https://crates.io/crates/webpage) crate.\r\n\r\nUsage:\r\n\r\n```\r\nhttp get https://phoronix.com | query webpage-info\r\n```\r\n\r\nand it returns a `Record` version of\r\n[`webpage::HTML`](https://docs.rs/webpage/latest/webpage/struct.HTML.html).\r\n\r\nThe PR also takes a shot at bringing @lily-mara 's\r\n[nu-serde::to_value](https://github.com/nushell/nushell/pull/3878/files)\r\nback to life, updating it for the latest version of nushell. That's not\r\nthe main focus of the PR though - I just didn't want to have to\r\nimplement a custom converter for `webpage::HTML` 😅. If it looks\r\nreasonable we could move it to `nu_protocol`(?) either in this PR or a\r\nfuture one (along with adding tests for it).\r\n\r\n# User-Facing Changes\r\n\r\nno breaking changes","shortMessageHtmlLink":"feat: add query webpage-info to plugin_nu_query (#13252)"}},{"before":"40e629beb103ed3669a1b0765a12bf8292610132","after":"33d0537cae506b1cf1454ff3a5c9b15336e0fb6a","ref":"refs/heads/main","pushedAt":"2024-06-29T21:12:34.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"add `str deunicode` command (#13270)\n\n# Description\r\n\r\nSometimes it's helpful to deal with only ASCII. This command will take a\r\nunicode string as input and convert it to ASCII using the deunicode\r\ncrate.\r\n\r\n```nushell\r\n❯ \"A…B\" | str deunicode\r\nA...B\r\n```\r\n\r\n# User-Facing Changes\r\n\r\n\r\n# Tests + Formatting\r\n\r\n\r\n# After Submitting\r\n","shortMessageHtmlLink":"add str deunicode command (#13270)"}},{"before":"1b1928c103cef7457a37b1db9f4b010b48e57bc7","after":"40e629beb103ed3669a1b0765a12bf8292610132","ref":"refs/heads/main","pushedAt":"2024-06-29T21:12:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"Fix multibyte codepoint handling in `detect columns --guess` (#13272)\n\n\r\n\r\n# Description\r\n\r\nThis PR fixes #13269. The splitting code in `guess_width.rs` was\r\ncreating slices from char indices, instead of byte indices. This works\r\nperfectly fine for 1-byte code points, but panics or returns wrong\r\nresults as soon as multibyte codepoints appear in the input. I\r\noriginally discovered this by piping `winget list` into `detect columns\r\n--guess`, since winget sometimes uses the unicode ellipsis symbol (`…`)\r\nwhich is 3 bytes long when encoded in utf-8.\r\n\r\n# User-Facing Changes\r\n\r\n`detect columns --guess` should not crash due to multibyte unicode input\r\nanymore\r\n\r\nbefore:\r\n\r\n![image](https://github.com/nushell/nushell/assets/20356389/833cd732-be3b-4158-97f7-0ca2616ce23f)\r\n\r\nafter:\r\n\r\n![image](https://github.com/nushell/nushell/assets/20356389/15358b40-4083-4a33-9f2c-87e63f39d985)\r\n\r\n\r\n# Tests + Formatting\r\n\r\n- Added tests to `guess_width.rs` for testing handling of multibyte as\r\nwell as combining diacritical marks\r\n\r\n# After Submitting\r\n","shortMessageHtmlLink":"Fix multibyte codepoint handling in detect columns --guess (#13272)"}},{"before":"153b45bc63b6b65a34e3efa966a2fb4c8af999ab","after":"1b1928c103cef7457a37b1db9f4b010b48e57bc7","ref":"refs/heads/main","pushedAt":"2024-06-29T08:10:17.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"hustcer","name":"Justin Ma","path":"/hustcer","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1161607?s=80&v=4"},"commit":{"message":"Update Nu version to v0.95 and setup-nu for workflows (#13265)\n\nUpdate Nu version to v0.95 and setup-nu to v3.12 for workflows\r\nThe change has been tested here:\r\nhttps://github.com/nushell/nightly/actions/runs/9722586476","shortMessageHtmlLink":"Update Nu version to v0.95 and setup-nu for workflows (#13265)"}},{"before":"4f8d82bb88c40d7edf13c1247985b6ca0b186c26","after":"153b45bc63b6b65a34e3efa966a2fb4c8af999ab","ref":"refs/heads/main","pushedAt":"2024-06-28T23:11:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"Surprising symlink resolution for std `path add` (#13258)\n\n# Description\r\nThe standard library's `path add` function has some surprising side\r\neffects that I attempt to address in this PR:\r\n\r\n1. Paths added, if they are symbolic links, should not be resolved to\r\ntheir targets. Currently, resolution happens.\r\n\r\n Imagine the following:\r\n\r\n ```nu\r\n# Some time earlier, perhaps even not by the user, a symlink is created\r\n mkdir real-dir\r\n ln -s real-dir link-dir\r\n\r\n # Then, step to now, with link-dir that we want in our PATHS variable\r\n use std\r\n path add link-dir\r\n ```\r\n\r\nIn the current implementation of `path add`, it is _not_ `link-dir` that\r\nwill be added, as has been stated in the command. It is instead\r\n`real-dir`. This is surprising. Users have the agency to do this\r\nresolution if they wish with `path expand` (sans a `--no-symlink` flag):\r\nfor example, `path add (link-dir | path expand)`\r\n\r\nIn particular, when I was trying to set up\r\n[fnm](https://github.com/Schniz/fnm), a Node.js version manager, I was\r\nbitten by this fact when `fnm` told me that an expected path had not\r\nbeen added to the PATHS variable. It was looking for the non-resolved\r\nlink. The user in [this\r\ncomment](https://github.com/Schniz/fnm/issues/463#issuecomment-1710050737)\r\nwas likely affected by this too.\r\n\r\nShells, such as nushell, can handle path symlinks just fine. Binary\r\nlookup is unaffected. Let resolution be opt-in.\r\n\r\nLastly, there is some convention already in place for **not** resolving\r\npath symlinks in the [default $env.ENV_CONVERSIONS\r\ntable](https://github.com/nushell/nushell/blob/57452337ff4e228102433e99b4c6000700a9b3b2/crates/nu-utils/src/sample_config/default_env.nu#L65).\r\n \r\n2. All existing paths in the path variable should be left untouched.\r\nCurrently, they are `path expand`-ed (including symbolic link\r\nresolution).\r\n\r\n Path add should mean just that: prepend/append this path.\r\n\r\nInstead, it currently means that, _plus mutate all other paths in the\r\nvariable_.\r\n\r\nAgain, users have the agency to do this with something like `$env.PATH =\r\n$env.PATH | split row (char esep) | path expand`.\r\n\r\n3. Minorly, I update documentation on running tests in\r\n`crates/nu-std/CONTRIBUTING.md`. The offered command to run the standard\r\nlibrary test suite was no longer functional. Thanks to @weirdan in [this\r\nDiscord\r\nconversation](https://discord.com/channels/601130461678272522/614593951969574961/1256029201119576147)\r\nfor the context.\r\n\r\n# User-Facing Changes\r\n\r\n(Written from the perspective of release notes)\r\n\r\n- The standard library's `path add` function no longer resolves symlinks\r\nin either the newly added paths, nor the other paths already in the\r\nvariable.\r\n\r\n# Tests + Formatting\r\n\r\nA test for the changes working correctly has been added to\r\n`crates/nu-std/tests/test_std.nu` under the test named\r\n`path_add_expand`.\r\n\r\nYou can quickly verify this new test and the existing `path add` test\r\nwith the following command:\r\n\r\n```nu\r\ncargo run -- -c 'use crates/nu-std/testing.nu; NU_LOG_LEVEL=INFO testing run-tests --path crates/nu-std --test path_add'\r\n```\r\n\r\nAll commands suggested in the issue template have been run and complete\r\nwithout error.\r\n\r\n# After Submitting\r\nI'll add a release note to [the\r\ndocumentation](https://github.com/nushell/nushell.github.io) after the\r\nPR is merged.","shortMessageHtmlLink":"Surprising symlink resolution for std path add (#13258)"}},{"before":"720b4cbd01a5e7d31ae42a56d27adb0b06cd5733","after":"4f8d82bb88c40d7edf13c1247985b6ca0b186c26","ref":"refs/heads/main","pushedAt":"2024-06-28T17:50:20.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"Added support for multiple attributes to `query web -a` (#13256)\n\n# Description\r\n\r\nAllows specifying multiple attributes to retrieve from the selected\r\nnodes. E.g. you may want to select both hrefs and targets from the list\r\nof links:\r\n\r\n```nushell\r\n.... | query web --query a --attribute [href target]\r\n```\r\n# User-Facing Changes\r\n\r\n`query web --attribute` previously accepted a string. Now it accepts\r\neither a string or a list of strings.\r\n\r\nThe shape definition for this flag was relaxed temporarily, until\r\nnushell/nushell#13253 is fixed.","shortMessageHtmlLink":"Added support for multiple attributes to query web -a (#13256)"}},{"before":"09325bcc01b52736810e59b87ed0d66d0bbeb966","after":null,"ref":"refs/heads/dependabot/cargo/polars-6f872b8ff1","pushedAt":"2024-06-28T11:38:51.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"a71732ba1262220ce7ff866976c5c60d301ba23f","after":"720b4cbd01a5e7d31ae42a56d27adb0b06cd5733","ref":"refs/heads/main","pushedAt":"2024-06-28T11:37:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"Polars 0.41 Upgrade (#13238)\n\n# Description\r\nUpgrading to Polars 0.41\r\n\r\n# User-Facing Changes\r\n* `polars melt` has been renamed to `polars unpivot` to match the change\r\nin the polars API. Additionally, it now supports lazy dataframes.\r\nIntroduced a `--streamable` option to use the polars streaming engine\r\nfor lazy frames.\r\n* The parameter `outer` has been replaced with `full` in `polars join`\r\nto match polars change.\r\n* `polars value-count` now supports the column (rename count column),\r\nparallelize (multithread), sort, and normalize options.\r\n\r\nThe list of polars changes can be found\r\n[here](https://github.com/pola-rs/polars/releases/tag/rs-0.41.2)","shortMessageHtmlLink":"Polars 0.41 Upgrade (#13238)"}},{"before":"57452337ff4e228102433e99b4c6000700a9b3b2","after":"a71732ba1262220ce7ff866976c5c60d301ba23f","ref":"refs/heads/main","pushedAt":"2024-06-28T06:49:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"devyn","name":"Devyn Cairns","path":"/devyn","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10729?s=80&v=4"},"commit":{"message":"Add context to the I/O error messages in `nu_cmd_plugin::util::modify_plugin_file()` (#13259)\n\n# Description\r\n\r\nThis might help @hustcer debug problems with `setup-nu`. The error\r\nmessages with the file I/O in `modify_plugin_file()` are not currently\r\nnot specific about what file path was involved in the I/O operation.\r\n\r\nThe spans on those errors have also changed to the span of the custom\r\npath if provided.\r\n\r\n# User-Facing Changes\r\n\r\n- Slightly better error","shortMessageHtmlLink":"Add context to the I/O error messages in `nu_cmd_plugin::util::modify…"}},{"before":"1f1f58135712d4d79344a5284c8cb1a71c4e434d","after":"57452337ff4e228102433e99b4c6000700a9b3b2","ref":"refs/heads/main","pushedAt":"2024-06-28T01:47:12.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"WindSoilder","name":"Wind","path":"/WindSoilder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22256154?s=80&v=4"},"commit":{"message":"Restrict strings beginning with quote should also ending with quote (#13131)\n\n# Description\r\nCloses: #13010\r\n\r\nIt adds an additional check inside `parse_string`, and returns\r\n`unbalanced quote` if input string is unbalanced\r\n\r\n# User-Facing Changes\r\nAfter this pr, the following is no longer allowed:\r\n```nushell\r\n❯ \"asdfasdf\"asdfasdf\r\nError: nu::parser::extra_token_after_closing_delimiter\r\n\r\n × Invaild characters after closing delimiter\r\n ╭─[entry #1:1:11]\r\n 1 │ \"asdfasdf\"asdfasdf\r\n · ────┬───\r\n · ╰── invalid characters\r\n ╰────\r\n help: Try removing them.\r\n❯ 'asdfasd'adsfadf\r\nError: nu::parser::extra_token_after_closing_delimiter\r\n\r\n × Invaild characters after closing delimiter\r\n ╭─[entry #2:1:10]\r\n 1 │ 'asdfasd'adsfadf\r\n · ───┬───\r\n · ╰── invalid characters\r\n ╰────\r\n help: Try removing them.\r\n```\r\n\r\n# Tests + Formatting\r\nAdded 1 test","shortMessageHtmlLink":"Restrict strings beginning with quote should also ending with quote (#…"}},{"before":"0d79b637118ac53f27a829fdfbd930f434a6bf0e","after":"1f1f58135712d4d79344a5284c8cb1a71c4e434d","ref":"refs/heads/main","pushedAt":"2024-06-27T23:56:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"Converted perf function to be a macro. Utilized the perf macro within the polars plugin. (#13224)\n\nIn this pull request, I converted the `perf` function within `nu_utils`\r\nto a macro. This change facilitates easier usage within plugins by\r\nallowing the use of `env_logger` and setting `RUST_LOG=nu_plugin_polars`\r\n(or another plugin). Without this conversion, the `RUST_LOG` variable\r\nwould need to be set to `RUST_LOG=nu_utils::utils`, which is less\r\nintuitive and impossible to narrow the perf results to one plugin.","shortMessageHtmlLink":"Converted perf function to be a macro. Utilized the perf macro within…"}},{"before":"46ed69ab126015375d5163972ae321715f34874b","after":"0d79b637118ac53f27a829fdfbd930f434a6bf0e","ref":"refs/heads/main","pushedAt":"2024-06-27T14:46:10.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"Fix find command output bug in the case of taking ByteStream input. (#13246)\n\n\r\n\r\nfixes #13245 \r\n\r\n# Description\r\n\r\n\r\nIn addition to addressing #13245, this PR also updated one of the doc\r\nexample to the `find` command to document that non-regex mode is case\r\ninsensitive, which may surprise some users.\r\n\r\n# User-Facing Changes\r\n\r\n\r\n# Tests + Formatting\r\n\r\n\r\n- :green_circle: `toolkit fmt`\r\n- :green_circle: `toolkit clippy`\r\n- :green_circle: `toolkit test`\r\n- :green_circle: `toolkit test stdlib`\r\n\r\n\r\n# After Submitting\r\n\r\n\r\n---------\r\n\r\nCo-authored-by: Ben Yang \r\nCo-authored-by: Darren Schroeder <343840+fdncred@users.noreply.github.com>","shortMessageHtmlLink":"Fix find command output bug in the case of taking ByteStream input. (#…"}},{"before":"ee74ec742385e0e6608edf3516f6a0cb97ef863e","after":"46ed69ab126015375d5163972ae321715f34874b","ref":"refs/heads/main","pushedAt":"2024-06-26T23:49:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"Add `char nul` (#13241)\n\n# Description\r\n\r\nAdds `char nul`, `char null_byte` and `char zero_byte` named characters.\r\nAll of them generate 0x00 byte.\r\n\r\n# User-Facing Changes\r\nThree new named characters are added:\r\n * `char nul` - generates 0x00 byte\r\n * `char null_byte` - generates 0x00 byte\r\n * `char zero_byte` - generates 0x00 byte","shortMessageHtmlLink":"Add char nul (#13241)"}},{"before":"198aedb6c2bee1a9ba43b3823381d37f5e5bd607","after":"ee74ec742385e0e6608edf3516f6a0cb97ef863e","ref":"refs/heads/main","pushedAt":"2024-06-26T22:51:47.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"Make the subcommands (`from {csv, tsv, ssv}`) 0-based for consistency (#13209)\n\n# Description\r\n\r\nfixed #11678\r\n\r\nThe sub-commands of from command (`from {csv, tsv, ssv}`) name columns\r\nstarting from index 0.\r\nThis behaviour is inconsistent with other commands such as `detect\r\ncolumns`.\r\nThis PR makes the subcommands index 0-based.\r\n\r\n# User-Facing Changes\r\n\r\nThe subcommands (`from {csv, tsv, ssv}`) return a table with the columns\r\nstarting at index 0 if no header data is passed.\r\n\r\n```\r\n~/Development/nushell> \"foo bar baz\" | from ssv -n -m 1 \r\n╭───┬─────────┬─────────┬─────────╮\r\n│ # │ column0 │ column1 │ column2 │\r\n├───┼─────────┼─────────┼─────────┤\r\n│ 0 │ foo │ bar │ baz │\r\n╰───┴─────────┴─────────┴─────────╯\r\n~/Development/nushell> \"foo,bar,baz\" | from csv -n \r\n╭───┬─────────┬─────────┬─────────╮\r\n│ # │ column0 │ column1 │ column2 │\r\n├───┼─────────┼─────────┼─────────┤\r\n│ 0 │ foo │ bar │ baz │\r\n╰───┴─────────┴─────────┴─────────╯\r\n~/Development/nushell> \"foo\\tbar\\tbaz\" | from tsv -n\r\n╭───┬─────────┬─────────┬─────────╮\r\n│ # │ column0 │ column1 │ column2 │\r\n├───┼─────────┼─────────┼─────────┤\r\n│ 0 │ foo │ bar │ baz │\r\n╰───┴─────────┴─────────┴─────────╯\r\n```\r\n\r\n\r\n# Tests + Formatting\r\n\r\nWhen I ran tests, `commands::touch::change_file_mtime_to_reference`\r\nfailed with the following error.\r\nThe error also occurs in the master branch, so it's probably unrelated\r\nto these changes.\r\n(maybe a problem with my dev environment)\r\n\r\n```\r\n$ toolkit check pr\r\n\r\n~~~~~~~~\r\n\r\nfailures:\r\n\r\n---- commands::touch::change_file_mtime_to_reference stdout ----\r\n=== stderr\r\n\r\nthread 'commands::touch::change_file_mtime_to_reference' panicked at crates/nu-command/tests/commands/touch.rs:298:9:\r\nassertion `left == right` failed\r\n left: SystemTime { tv_sec: 1719149697, tv_nsec: 57576929 }\r\n right: SystemTime { tv_sec: 1719149697, tv_nsec: 78219489 }\r\n\r\n\r\nfailures:\r\n commands::touch::change_file_mtime_to_reference\r\n\r\ntest result: FAILED. 1533 passed; 1 failed; 32 ignored; 0 measured; 0 filtered out; finished in 10.87s\r\n\r\nerror: test failed, to rerun pass `-p nu-command --test main`\r\n- :green_circle: `toolkit fmt`\r\n- :green_circle: `toolkit clippy`\r\n- :red_circle: `toolkit test`\r\n- :black_circle: `toolkit test stdlib`\r\n```\r\n\r\n# After Submitting\r\n\r\nnothing","shortMessageHtmlLink":"Make the subcommands (from {csv, tsv, ssv}) 0-based for consistency ("}},{"before":"58e8ea6084831cdc3247b848a0004a41c1312375","after":"198aedb6c2bee1a9ba43b3823381d37f5e5bd607","ref":"refs/heads/main","pushedAt":"2024-06-26T22:50:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"Use `IntoValue` and `FromValue` derive macros in `nu_plugin_example` for example usage (#13220)\n\n\r\n\r\n# Description\r\n\r\nThe derive macros provided by #13031 are very useful for plugin authors.\r\nIn this PR I made use of these macros for two commands.\r\n\r\n# User-Facing Changes\r\n\r\n\r\n# Tests + Formatting\r\n\r\n- :green_circle: `toolkit fmt`\r\n- :green_circle: `toolkit clippy`\r\n- :green_circle: `toolkit test`\r\n- :green_circle: `toolkit test stdlib`\r\n\r\n# After Submitting\r\n\r\nThis Example usage could be highlighted in the changelog for plugin\r\nauthors as this is probably very useful for them.","shortMessageHtmlLink":"Use IntoValue and FromValue derive macros in nu_plugin_example …"}},{"before":"020f4436d95a62003ec10e0ba65d446840b6046a","after":"58e8ea6084831cdc3247b848a0004a41c1312375","ref":"refs/heads/main","pushedAt":"2024-06-26T22:49:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"fdncred","name":"Darren Schroeder","path":"/fdncred","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/343840?s=80&v=4"},"commit":{"message":"Update and add ls examples (#13222)\n\n# Description\r\n\r\nBased on #13219, added several examples to `ls` doc to demonstrate\r\nrecursive directory listings. List of changes in this PR:\r\n\r\n* Add example for `ls **/*` to demonstrate recursive listing using glob\r\npattern\r\n* Add example for `ls ...(glob )`... to demonstrate recursive listing\r\nusing glob command\r\n* Remove `-s` from an example where it had no use (since it was based on\r\nthe current directory and was not recursive)\r\n* Update the description of `ls -a ~ `... to clarify that it lists the\r\nfull path of directories\r\n* Update the description of `ls -as ~ `... (the difference being the\r\n`-s`) to clarify that it lists only the filenames, not paths.\r\n\r\n\r\n# User-Facing Changes\r\n\r\nHelp only\r\n\r\n# Tests + Formatting\r\n\r\n- :green_circle: `toolkit fmt`\r\n- :green_circle: `toolkit clippy`\r\n- :green_circle: `toolkit test`\r\n- :green_circle: `toolkit test stdlib`\r\n\r\n# After Submitting\r\n\r\nN/A","shortMessageHtmlLink":"Update and add ls examples (#13222)"}},{"before":"3178f3e20fda602a57d8e240fb3255958077b262","after":null,"ref":"refs/heads/dependabot/cargo/shadow-rs-0.29.0","pushedAt":"2024-06-26T22:48:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"8a7a407627d3c1f82f1cbde7fccfef278eae4a04","after":"020f4436d95a62003ec10e0ba65d446840b6046a","ref":"refs/heads/main","pushedAt":"2024-06-26T22:48:45.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump shadow-rs from 0.28.0 to 0.29.0 (#13226)","shortMessageHtmlLink":"Bump shadow-rs from 0.28.0 to 0.29.0 (#13226)"}},{"before":"f0d660e1b2aa645cc88a483a9769d3889d25fa1e","after":null,"ref":"refs/heads/dependabot/cargo/ratatui-0.26.3","pushedAt":"2024-06-26T22:48:12.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"b679c2bfa255e6153c5d962cbd541d7a63ba3cab","after":"8a7a407627d3c1f82f1cbde7fccfef278eae4a04","ref":"refs/heads/main","pushedAt":"2024-06-26T22:48:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump ratatui from 0.26.2 to 0.26.3 (#13228)","shortMessageHtmlLink":"Bump ratatui from 0.26.2 to 0.26.3 (#13228)"}},{"before":"c6887ea8cf7dedd16296193d15b5aa2ef4430cae","after":"3178f3e20fda602a57d8e240fb3255958077b262","ref":"refs/heads/dependabot/cargo/shadow-rs-0.29.0","pushedAt":"2024-06-26T06:46:43.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump shadow-rs from 0.28.0 to 0.29.0\n\nBumps [shadow-rs](https://github.com/baoyachi/shadow-rs) from 0.28.0 to 0.29.0.\n- [Release notes](https://github.com/baoyachi/shadow-rs/releases)\n- [Changelog](https://github.com/baoyachi/shadow-rs/blob/master/CHANGELOG.md)\n- [Commits](https://github.com/baoyachi/shadow-rs/compare/v0.28.0...v0.29.0)\n\n---\nupdated-dependencies:\n- dependency-name: shadow-rs\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"Bump shadow-rs from 0.28.0 to 0.29.0"}},{"before":"9b1c826d7c1496e5310f6a0b6edb234af247b930","after":null,"ref":"refs/heads/dependabot/github_actions/crate-ci/typos-1.22.9","pushedAt":"2024-06-26T06:44:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"0fd0e36be87e51f298195791b2627a0fcf5a81ba","after":"b679c2bfa255e6153c5d962cbd541d7a63ba3cab","ref":"refs/heads/main","pushedAt":"2024-06-26T06:44:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"WindSoilder","name":"Wind","path":"/WindSoilder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22256154?s=80&v=4"},"commit":{"message":"Bump crate-ci/typos from 1.22.7 to 1.22.9 (#13229)\n\nBumps [crate-ci/typos](https://github.com/crate-ci/typos) from 1.22.7 to\r\n1.22.9.\r\n
\r\nRelease notes\r\n

Sourced from crate-ci/typos's\r\nreleases.

\r\n
\r\n

v1.22.9

\r\n

[1.22.9] - 2024-06-22

\r\n

Fixes

\r\n
    \r\n
  • Stop correcting reoccurrence
  • \r\n
\r\n

v1.22.8

\r\n

[1.22.8] - 2024-06-21

\r\n

Features

\r\n
    \r\n
  • (action) Add Arm, Mac support
  • \r\n
\r\n
\r\n
\r\n
\r\nChangelog\r\n

Sourced from crate-ci/typos's\r\nchangelog.

\r\n
\r\n

[1.22.9] - 2024-06-22

\r\n

Fixes

\r\n
    \r\n
  • Stop correcting reoccurrence
  • \r\n
\r\n

[1.22.8] - 2024-06-21

\r\n

Features

\r\n
    \r\n
  • (action) Add Arm, Mac support
  • \r\n
\r\n
\r\n
\r\n
\r\nCommits\r\n
    \r\n
  • c16dc8f\r\nchore: Release
  • \r\n
  • c7ac1f9\r\nchore: Release
  • \r\n
  • b34586c\r\ndocs: Update changelog
  • \r\n
  • ceaed5b\r\nMerge pull request #1044\r\nfrom epage/reoccurrence
  • \r\n
  • 038802d\r\nfix(dict): Don't correct reoccurrence
  • \r\n
  • dde4786\r\nchore: Release
  • \r\n
  • 85d76b5\r\ndocs: Update changelog
  • \r\n
  • ab67cbb\r\nMerge pull request #1040\r\nfrom dyc3/action-support-mac-arm
  • \r\n
  • 89fad31\r\nfeat[ci]: add support for mac and arm systems to the github action
  • \r\n
  • ff76542\r\nchore(deps): Update Rust Stable to v1.79 (#1035)
  • \r\n
  • See full diff in compare\r\nview
  • \r\n
\r\n
\r\n
\r\n\r\n\r\n[![Dependabot compatibility\r\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=crate-ci/typos&package-manager=github_actions&previous-version=1.22.7&new-version=1.22.9)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\r\n\r\nDependabot will resolve any conflicts with this PR as long as you don't\r\nalter it yourself. You can also trigger a rebase manually by commenting\r\n`@dependabot rebase`.\r\n\r\n[//]: # (dependabot-automerge-start)\r\n[//]: # (dependabot-automerge-end)\r\n\r\n---\r\n\r\n
\r\nDependabot commands and options\r\n
\r\n\r\nYou can trigger Dependabot actions by commenting on this PR:\r\n- `@dependabot rebase` will rebase this PR\r\n- `@dependabot recreate` will recreate this PR, overwriting any edits\r\nthat have been made to it\r\n- `@dependabot merge` will merge this PR after your CI passes on it\r\n- `@dependabot squash and merge` will squash and merge this PR after\r\nyour CI passes on it\r\n- `@dependabot cancel merge` will cancel a previously requested merge\r\nand block automerging\r\n- `@dependabot reopen` will reopen this PR if it is closed\r\n- `@dependabot close` will close this PR and stop Dependabot recreating\r\nit. You can achieve the same result by closing it manually\r\n- `@dependabot show ignore conditions` will show all\r\nof the ignore conditions of the specified dependency\r\n- `@dependabot ignore this major version` will close this PR and stop\r\nDependabot creating any more for this major version (unless you reopen\r\nthe PR or upgrade to it yourself)\r\n- `@dependabot ignore this minor version` will close this PR and stop\r\nDependabot creating any more for this minor version (unless you reopen\r\nthe PR or upgrade to it yourself)\r\n- `@dependabot ignore this dependency` will close this PR and stop\r\nDependabot creating any more for this dependency (unless you reopen the\r\nPR or upgrade to it yourself)\r\n\r\n\r\n
\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Bump crate-ci/typos from 1.22.7 to 1.22.9 (#13229)"}},{"before":"95ffba211e5b17bce2421297a6684a2660a8bf6f","after":null,"ref":"refs/heads/dependabot/github_actions/softprops/action-gh-release-2.0.6","pushedAt":"2024-06-26T06:44:38.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"38ecb6d3805cbfc7750367435ceeb4c19526f4d4","after":"0fd0e36be87e51f298195791b2627a0fcf5a81ba","ref":"refs/heads/main","pushedAt":"2024-06-26T06:44:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"WindSoilder","name":"Wind","path":"/WindSoilder","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/22256154?s=80&v=4"},"commit":{"message":"Bump softprops/action-gh-release from 2.0.5 to 2.0.6 (#13230)\n\nBumps\r\n[softprops/action-gh-release](https://github.com/softprops/action-gh-release)\r\nfrom 2.0.5 to 2.0.6.\r\n
\r\nRelease notes\r\n

Sourced from softprops/action-gh-release's\r\nreleases.

\r\n
\r\n

v2.0.6

\r\n

maintenance release with updated dependencies

\r\n
\r\n
\r\n
\r\nChangelog\r\n

Sourced from softprops/action-gh-release's\r\nchangelog.

\r\n
\r\n

2.0.6

\r\n
    \r\n
  • maintenance release with updated dependencies
  • \r\n
\r\n
\r\n
\r\n
\r\nCommits\r\n
    \r\n
  • a74c6b7\r\nupdate changelog
  • \r\n
  • b909f76\r\nupdate dist/index.js
  • \r\n
  • e49d08f\r\nchore(deps): bump glob from 8.0.3 to 10.4.2
  • \r\n
  • f12ad25\r\nchore(deps): bump @​octokit/plugin-throttling from 4.3.2 to\r\n9.3.0
  • \r\n
  • 7039a82\r\nchore: release 2.0.6
  • \r\n
  • f9c2b6c\r\nchore: update deps and run build
  • \r\n
  • 73738a6\r\nchore(deps): bump node dep and @types/node
  • \r\n
  • a500a35\r\nBump ts-jest from 29.0.3 to 29.1.4 (#459)
  • \r\n
  • See full diff in compare\r\nview
  • \r\n
\r\n
\r\n
\r\n\r\n
\r\nMost Recent Ignore Conditions Applied to This Pull\r\nRequest\r\n\r\n| Dependency Name | Ignore Conditions |\r\n| --- | --- |\r\n| softprops/action-gh-release | [< 0.2, > 0.1.13] |\r\n
\r\n\r\n\r\n[![Dependabot compatibility\r\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=softprops/action-gh-release&package-manager=github_actions&previous-version=2.0.5&new-version=2.0.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\r\n\r\nDependabot will resolve any conflicts with this PR as long as you don't\r\nalter it yourself. You can also trigger a rebase manually by commenting\r\n`@dependabot rebase`.\r\n\r\n[//]: # (dependabot-automerge-start)\r\n[//]: # (dependabot-automerge-end)\r\n\r\n---\r\n\r\n
\r\nDependabot commands and options\r\n
\r\n\r\nYou can trigger Dependabot actions by commenting on this PR:\r\n- `@dependabot rebase` will rebase this PR\r\n- `@dependabot recreate` will recreate this PR, overwriting any edits\r\nthat have been made to it\r\n- `@dependabot merge` will merge this PR after your CI passes on it\r\n- `@dependabot squash and merge` will squash and merge this PR after\r\nyour CI passes on it\r\n- `@dependabot cancel merge` will cancel a previously requested merge\r\nand block automerging\r\n- `@dependabot reopen` will reopen this PR if it is closed\r\n- `@dependabot close` will close this PR and stop Dependabot recreating\r\nit. You can achieve the same result by closing it manually\r\n- `@dependabot show ignore conditions` will show all\r\nof the ignore conditions of the specified dependency\r\n- `@dependabot ignore this major version` will close this PR and stop\r\nDependabot creating any more for this major version (unless you reopen\r\nthe PR or upgrade to it yourself)\r\n- `@dependabot ignore this minor version` will close this PR and stop\r\nDependabot creating any more for this minor version (unless you reopen\r\nthe PR or upgrade to it yourself)\r\n- `@dependabot ignore this dependency` will close this PR and stop\r\nDependabot creating any more for this dependency (unless you reopen the\r\nPR or upgrade to it yourself)\r\n\r\n\r\n
\r\n\r\nSigned-off-by: dependabot[bot] \r\nCo-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>","shortMessageHtmlLink":"Bump softprops/action-gh-release from 2.0.5 to 2.0.6 (#13230)"}},{"before":"4607fcb33a2cf053478222184e8d950c503a919c","after":null,"ref":"refs/heads/dependabot/cargo/uuid-1.9.1","pushedAt":"2024-06-26T06:43:47.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"}},{"before":"c5a00ca3f1d7457ce607648ebd216197acd992b2","after":"38ecb6d3805cbfc7750367435ceeb4c19526f4d4","ref":"refs/heads/main","pushedAt":"2024-06-26T06:43:46.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"Bump uuid from 1.8.0 to 1.9.1 (#13227)","shortMessageHtmlLink":"Bump uuid from 1.8.0 to 1.9.1 (#13227)"}},{"before":"5a486029dbe2d33a690d325a6cc59639f07eb74f","after":"c5a00ca3f1d7457ce607648ebd216197acd992b2","ref":"refs/heads/main","pushedAt":"2024-06-26T02:14:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ayax79","name":"Jack Wright","path":"/ayax79","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/56345?s=80&v=4"},"commit":{"message":"update lock via cargo check to fix ci (#13233)","shortMessageHtmlLink":"update lock via cargo check to fix ci (#13233)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEcvwxpwA","startCursor":null,"endCursor":null}},"title":"Activity · nushell/nushell"}