)]}'
{
  "log": [
    {
      "commit": "31d3246e0e8d3a80d4a90b54aa48ff180adb408b",
      "tree": "f26c949e0b18300cacdd00a9d24009ca500669d9",
      "parents": [
        "749d85d9fc53250737d2d8ba0d431a00c44982bb",
        "4b5f61898f57c3a6f0eec743194b498aacd4fc43"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Tue Oct 27 13:54:39 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 27 13:54:39 2026 +0000"
      },
      "message": "Warn about conflicting proc-macro manifest settings (#17641)\n\nThis adds the warning discussed in #17579 for `[lib]` settings that\ncombine `proc-macro \u003d true` with a non-proc-macro `crate-type`. The\nwarning explains that this will become an error and suggests removing\none of the settings.\n\nI’ve kept this on the existing local manifest-warning path, so it\ndoesn’t appear in `cargo report future-incompat`. Compilation behavior\nstays the same.\n\ncc #17579\n"
    },
    {
      "commit": "4b5f61898f57c3a6f0eec743194b498aacd4fc43",
      "tree": "1a9dfe51c6e81b39cb3ba2b9b99a311c166d88ca",
      "parents": [
        "20cf2a303871a3e60534b044c99e93b2b81550a4"
      ],
      "author": {
        "name": "darkraider01",
        "email": "ishanghosh0111@gmail.com",
        "time": "Tue Oct 27 02:09:19 2026 +0530"
      },
      "committer": {
        "name": "darkraider01",
        "email": "ishanghosh0111@gmail.com",
        "time": "Tue Oct 27 13:23:47 2026 +0530"
      },
      "message": "Warn about conflicting proc-macro manifest settings\n"
    },
    {
      "commit": "749d85d9fc53250737d2d8ba0d431a00c44982bb",
      "tree": "757dd90b6ca4c529a958ccf600179613a1c7404a",
      "parents": [
        "a4590e45f7d55450412f82766c0a6e4de9109385",
        "a2530ed8f2d055c3fb662bef70201deeddea221b"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Mon Oct 26 22:55:00 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 26 22:55:00 2026 +0000"
      },
      "message": "docs: use latest `resolver` and `edition` in examples (#17644)\n\n### What does this PR try to resolve?\n\nJust realized these old default in book may be a cause that agents still\nlove adding `resolver \u003d \"2\"` and old editions.\n\nDownside is that we then need to keep them up-to-date whenever a new\nvalue is out.\n\n### Notes to reviewers\n\n---\n\n🤖 LLM involvement: LLM helped me found some of them and I wrote the doc\nby myself.\n"
    },
    {
      "commit": "a4590e45f7d55450412f82766c0a6e4de9109385",
      "tree": "0973856dac5e29fe25edf3ab498a3ec77ad76b7e",
      "parents": [
        "b57863321f8d0a0f76fcf9ad636b6e39b024d0c0",
        "df7af8d33355eb10828f32e1c571d97eaf3a59ce"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Mon Oct 26 22:51:44 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 26 22:51:44 2026 +0000"
      },
      "message": "docs(hints): write mostly-unused docs as end-user documentation (#17549)\n\n### What does this PR try to resolve?\n\nInspired by\nhttps://github.com/rust-lang/cargo/pull/17368#discussion_r3833468352.\n\nSo I added the end-user documentation for it.\n\n### How to test and review this PR?\n\nr?@ghost\n\nCheck the docs.\n\n\u003e LLM disclosure: Used for grammar fixes and polishing my words.\n"
    },
    {
      "commit": "20cf2a303871a3e60534b044c99e93b2b81550a4",
      "tree": "d3fdbcbec7a4a315c9fadb8fe897315173b73c0f",
      "parents": [
        "b57863321f8d0a0f76fcf9ad636b6e39b024d0c0"
      ],
      "author": {
        "name": "darkraider01",
        "email": "ishanghosh0111@gmail.com",
        "time": "Tue Oct 27 02:08:40 2026 +0530"
      },
      "committer": {
        "name": "darkraider01",
        "email": "ishanghosh0111@gmail.com",
        "time": "Tue Oct 27 02:08:40 2026 +0530"
      },
      "message": "Test conflicting proc-macro manifest settings\n"
    },
    {
      "commit": "df7af8d33355eb10828f32e1c571d97eaf3a59ce",
      "tree": "0973856dac5e29fe25edf3ab498a3ec77ad76b7e",
      "parents": [
        "b57863321f8d0a0f76fcf9ad636b6e39b024d0c0"
      ],
      "author": {
        "name": "0xPoe",
        "email": "poe.liu@pm.me",
        "time": "Mon Oct 05 15:38:16 2026 +0200"
      },
      "committer": {
        "name": "0xPoe",
        "email": "poe.liu@pm.me",
        "time": "Mon Oct 26 21:03:38 2026 +0100"
      },
      "message": "docs(hints): write mostly-unused docs as end-user documentation\n\nSigned-off-by: 0xPoe \u003cpoe.liu@pm.me\u003e\n"
    },
    {
      "commit": "a2530ed8f2d055c3fb662bef70201deeddea221b",
      "tree": "6ecc9056b38f95bc7cd18e9573e442bf75d348af",
      "parents": [
        "d6d1fcf8fa7453c4723a094eb6df537c3a140ab1"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 26 12:24:46 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 26 13:43:46 2026 -0400"
      },
      "message": "docs: clarify MSRV for resolver v3\n"
    },
    {
      "commit": "d6d1fcf8fa7453c4723a094eb6df537c3a140ab1",
      "tree": "833ee4830e51698d48b5dc75f22bf2d93a019be4",
      "parents": [
        "cb0f69c7b3efe4a49cdfde4c047d8c74e2577d93"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 26 13:42:53 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 26 13:43:46 2026 -0400"
      },
      "message": "docs: use double quotes for easier grepping\n"
    },
    {
      "commit": "cb0f69c7b3efe4a49cdfde4c047d8c74e2577d93",
      "tree": "d2ee77fff571e71466ae4fa54c00874758fc4bd0",
      "parents": [
        "478f31aa726825ef49c7b6deb9fbb4649543c1dc"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 26 13:10:54 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 26 13:41:54 2026 -0400"
      },
      "message": "docs: add `edition` field for examples\n"
    },
    {
      "commit": "478f31aa726825ef49c7b6deb9fbb4649543c1dc",
      "tree": "32f21304702ff927a6cd726540be0c5a7fc93761",
      "parents": [
        "b57863321f8d0a0f76fcf9ad636b6e39b024d0c0"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 26 12:24:46 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 26 13:41:53 2026 -0400"
      },
      "message": "docs: use `resolver \u003d \"3\"` in examples\n"
    },
    {
      "commit": "b57863321f8d0a0f76fcf9ad636b6e39b024d0c0",
      "tree": "5356af9b475ed8ed585b0aeacaaa9cf692e23c58",
      "parents": [
        "0f958632a72dbd5505cd9815ad1d615b0eab4af9",
        "249471c6491d26ba17c445307d3c289790ae4458"
      ],
      "author": {
        "name": "rustbot",
        "email": "47979223+rustbot@users.noreply.github.com",
        "time": "Sun Oct 25 01:26:58 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Oct 25 01:26:58 2026 +0000"
      },
      "message": "refactor(help): embed man pages without a tarball  (#17640)\n\n### What does this PR try to resolve?\n\nInspired by \u003chttps://github.com/rust-lang/cargo/pull/17637\u003e.\n\nTwo things\n\n* Move the build.rs embedded man pages generation logic to a xtask Rust\nfile generation\n* Drop the tgz compression and use direct string `include_str!` to embed\nthose help texts. (as suggested in\n\u003chttps://github.com/rust-lang/cargo/pull/17640#issuecomment-6387999828\u003e)\n\nThis shows that we can move build time code generation to xtask :)\n\n### Notes to reviewers\n\nBinary size benchmark result (LLM assisted):\n\n| Binary | raw | gzip -9 | xz -6 | xz -9e |\n|---|---|---|---|---|\n| master | 32,585,520 | 11,536,545 | 7,387,624 | 7,288,568 |\n| this PR | 33,245,408 | 11,531,622 | 7,341,252 | 7,240,164 |\n| diff | +659,888 | −4,923 | −46,372 | −48,404 |\n\nso, about 644 KiB larger on disk, but about 4.8 KiB smaller gzipped and\nabout 45-47 KB smaller xz-compressed. I think compressed size may matter\nmore for downloads, unless we are going to expand our help man pages ten\ntimes more in the future.\n\nBTW, in the future we should probably move some of our CI check to\n(snapshot) tests.\nThat is a pattern we kinda want to advocate.\n\n---\n\n🤖 LLM involvement: Help verify everything is the same and working well,\nas well as the binary size benchmark.\n"
    },
    {
      "commit": "249471c6491d26ba17c445307d3c289790ae4458",
      "tree": "5356af9b475ed8ed585b0aeacaaa9cf692e23c58",
      "parents": [
        "31142e978ccace0ea05f09e69727d48aa7e13776"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Oct 24 18:52:57 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Oct 24 20:49:48 2026 -0400"
      },
      "message": "refactor(help): embed man pages without a tarball\n"
    },
    {
      "commit": "31142e978ccace0ea05f09e69727d48aa7e13776",
      "tree": "3bf971b52aa2a49bc8a9fb1c290fd48d0bcbb509",
      "parents": [
        "0f958632a72dbd5505cd9815ad1d615b0eab4af9"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Oct 24 18:55:34 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Oct 24 20:49:47 2026 -0400"
      },
      "message": "refactor(help): move `help.rs` to a mod.rs\n"
    },
    {
      "commit": "0f958632a72dbd5505cd9815ad1d615b0eab4af9",
      "tree": "4aee43bc59b8d270df1a7064f240fc594ada40c7",
      "parents": [
        "8bdfbfc6373a077e2545db902f91f2028d9f6b3d",
        "2a7dc5350aa764e55b407f5af30d7d6e7b329ec1"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 24 14:56:44 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 24 14:56:44 2026 +0000"
      },
      "message": "refactor(cargo-test-support): remove build.rs (#17638)\n\n### What does this PR try to resolve?\n\nInspired by \u003chttps://github.com/rust-lang/cargo/pull/17637\u003e.\nWe should do it and demonstrate how to.\n\n### Notes to reviewers\n\nOne small behavior difference is that the `NATIVE_ARCH` env var was\nstatic and determined at compile time, while `rustc_host` now look at\nrustc host string. I don\u0027t think anyone really cross-compile\n`cargo-test-support` though.\n\n---\n\n🤖 LLM involvement: None\n"
    },
    {
      "commit": "2a7dc5350aa764e55b407f5af30d7d6e7b329ec1",
      "tree": "565620388aed4122dcdcd739a78c626d900c9ece",
      "parents": [
        "52574feacffcc716933aa45a9e98f6c2a4cbc7e5"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Oct 24 09:01:49 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Oct 24 10:06:41 2026 -0400"
      },
      "message": "refactor(cargo-test-support): remove build.rs\n"
    },
    {
      "commit": "8bdfbfc6373a077e2545db902f91f2028d9f6b3d",
      "tree": "fee07257189be2ba990dbbbd90069fb299826dd4",
      "parents": [
        "52574feacffcc716933aa45a9e98f6c2a4cbc7e5",
        "20319b9c23978ba630b838654378beccab20ec83"
      ],
      "author": {
        "name": "Ross Sullivan",
        "email": "rosssullivan101@gmail.com",
        "time": "Sat Oct 24 14:00:54 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 24 14:00:54 2026 +0000"
      },
      "message": "fix: exclude abspath of path deps from `-Cmetadata` hash (#17624)\n\n### What does this PR try to resolve?\n\n`-Cmetadata` is for rustc to uniquely identify different crates in a\ncrate graph. Without `trim-paths`, the binaries embeds absolute paths\nanyway. Dropping the path from `-Cmetadata` doesn\u0027t make any difference.\n\nNow we `trim-paths` we can aggressively drop those absolute paths,\nso that binaries are now more reproducible.\n\n### Notes to reviewers\n\nSee\n\u003chttps://github.com/rust-lang/cargo/issues/13586#issuecomment-3299052534\u003e.\n\nAnd I believe if this got merged it fixes rust-lang/cargo#13586 anyway.\n\nThis doesn\u0027t really help caching (yet),\nas `unit_id` hash still hold those absolute paths (and may need\nchecksum-freshness to make it work)\n\n---\n\n🤖 LLM involvement: Tests were initially generated though LLM did pretty\nbad at parameterizing those so I rewrote quite a bit.\n"
    },
    {
      "commit": "20319b9c23978ba630b838654378beccab20ec83",
      "tree": "8e47d210f1d9630eeb9c3b022ce116f2290d81d4",
      "parents": [
        "4114bfc310215e2eab6515b100d6df0b165c83fc"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu Oct 22 21:34:17 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Oct 24 08:17:00 2026 -0400"
      },
      "message": "fix: exclude abspath of path deps from `-Cmetadata` hash\n\n`-Cmetadata` is for rustc to uniquely identify different crates in a\ncrate graph. Without `trim-paths`, the binaries embeds absolute paths\nanyway. Dropping the path from `-Cmetadata` doesn\u0027t make any difference.\n\nNow we `trim-paths` we can aggressively drop those absolute paths,\nso that binaries are now more reproducible.\n"
    },
    {
      "commit": "4114bfc310215e2eab6515b100d6df0b165c83fc",
      "tree": "8f643d44baeb67522ab9f3b7f26b52c36574c4f7",
      "parents": [
        "13efd4678c8de60f3703c9a2581e974c84cc18e5"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu Oct 22 21:34:02 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Oct 24 08:17:00 2026 -0400"
      },
      "message": "refactor: diverge pkd id hasing for `-Cmetadata` and unit_id \n"
    },
    {
      "commit": "13efd4678c8de60f3703c9a2581e974c84cc18e5",
      "tree": "1cdae1c7013c0a27419110ad51d048783814d18c",
      "parents": [
        "22ebeb1c4fc9bfe96a22745b429145676a039044"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu Oct 22 21:33:33 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Oct 24 08:17:00 2026 -0400"
      },
      "message": "refactor: move hash_metadata closer to diverge location\n\nthey will diverge later\n"
    },
    {
      "commit": "22ebeb1c4fc9bfe96a22745b429145676a039044",
      "tree": "d132b7941eacba5f1b7a224483fef0850eb15664",
      "parents": [
        "aa57709063021a01495903e2af15fd88553c1cb3"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu Oct 22 21:32:30 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Oct 24 08:17:00 2026 -0400"
      },
      "message": "refactor: extract package id hashing logic\n"
    },
    {
      "commit": "aa57709063021a01495903e2af15fd88553c1cb3",
      "tree": "a7276829f3e6d8b758be10b13d5847a3a157f629",
      "parents": [
        "cad07cf8e597397fff5d0f6cb79c9f870c0b1dd2"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Wed Oct 14 00:59:23 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Oct 24 08:16:59 2026 -0400"
      },
      "message": "test(trim-paths): non-reproducible when path dep outside ws moved\n"
    },
    {
      "commit": "52574feacffcc716933aa45a9e98f6c2a4cbc7e5",
      "tree": "c61f709c90df0c54f0731eeefd1bf360ac275306",
      "parents": [
        "cad07cf8e597397fff5d0f6cb79c9f870c0b1dd2",
        "a7d8adb09e05bf07e0517a584329dd5f3f59d061"
      ],
      "author": {
        "name": "rustbot",
        "email": "47979223+rustbot@users.noreply.github.com",
        "time": "Sat Oct 24 12:15:54 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 24 12:15:54 2026 +0000"
      },
      "message": "use build-rs for buildscripts (#17637)\n\n### What does this PR try to resolve?\n\nWe maintain the build-rs crate because using a Rust API to talk\nbuildscript input/output is cleaner than directly accessing environment\nvariables and printing stdout directives. So we should use it to clean\nup our buildscripts.\n\n### Notes to reviewers\n\nThis is, ultimately, a style choice. But it seems reasonable to dogfood\nthe build-rs crate API outside of tests.\n\n---\n\n🤖 LLM involvement: None\n"
    },
    {
      "commit": "a7d8adb09e05bf07e0517a584329dd5f3f59d061",
      "tree": "c61f709c90df0c54f0731eeefd1bf360ac275306",
      "parents": [
        "cad07cf8e597397fff5d0f6cb79c9f870c0b1dd2"
      ],
      "author": {
        "name": "Crystal Durham",
        "email": "cad97@cad97.com",
        "time": "Fri Oct 23 14:55:47 2026 -0500"
      },
      "committer": {
        "name": "Crystal Durham",
        "email": "cad97@cad97.com",
        "time": "Fri Oct 23 21:16:16 2026 -0500"
      },
      "message": "use build-rs for buildscripts\n"
    },
    {
      "commit": "cad07cf8e597397fff5d0f6cb79c9f870c0b1dd2",
      "tree": "03073d67797ed6e610bc226427bc38a94b5ddd80",
      "parents": [
        "7adb012ee6fe2a3bed8d35f400cc545f0bbd065e",
        "94a7c6b5808ff09496d00ae2553a3c911cde4b20"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Fri Oct 23 22:04:58 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 23 22:04:58 2026 +0000"
      },
      "message": "build-rs: rename `cargo_target_family` to `cargo_cfg_target_family` (#17636)\n\n### What does this PR try to resolve?\n\nThis improves consistency in build-rs\u0027s naming.\n\n### Notes to reviewers\n\n- See:\nhttps://github.com/rust-lang/cargo/pull/17632#pullrequestreview-5634222236\n\nr? @weihanglo\n\n---\n\n🤖 LLM involvement: None\n"
    },
    {
      "commit": "7adb012ee6fe2a3bed8d35f400cc545f0bbd065e",
      "tree": "5f034ae9afe229dae304906941e7a7282bca2487",
      "parents": [
        "5a03665355a9cbb5fcd569aa2eb0f0c3c811a76d",
        "5617f0c177c2f1b6ebf8d00b45ea2fab3da43d5b"
      ],
      "author": {
        "name": "Scott Schafer",
        "email": "scott@scottschafer.dev",
        "time": "Fri Oct 23 21:50:32 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 23 21:50:32 2026 +0000"
      },
      "message": "chore: replace `cfg(any())` with `cfg(false)` (#17633)\n\n### What does this PR try to resolve?\n\nNow that this is allowed (1.88), this syntax more clearly communicates\nthe intent.\n\n### Notes to reviewers\n\nNo functional change.\n\n---\n\n🤖 LLM involvement: None.\n"
    },
    {
      "commit": "94a7c6b5808ff09496d00ae2553a3c911cde4b20",
      "tree": "d04a9fe5d9c5716371f452e933ac8d654cc6df84",
      "parents": [
        "5a03665355a9cbb5fcd569aa2eb0f0c3c811a76d"
      ],
      "author": {
        "name": "Crystal Durham",
        "email": "cad97@cad97.com",
        "time": "Fri Oct 23 16:25:09 2026 -0500"
      },
      "committer": {
        "name": "Crystal Durham",
        "email": "cad97@cad97.com",
        "time": "Fri Oct 23 16:25:09 2026 -0500"
      },
      "message": "build-rs: rename cargo_target_family to cargo_cfg_target_family\n"
    },
    {
      "commit": "5617f0c177c2f1b6ebf8d00b45ea2fab3da43d5b",
      "tree": "d777870bfa25d339691d828179c82aefa1b2de7f",
      "parents": [
        "03f7f2adf32dadc9a2db02cf4dc744a5f334c735"
      ],
      "author": {
        "name": "Crystal Durham",
        "email": "cad97@cad97.com",
        "time": "Fri Oct 23 14:23:01 2026 -0500"
      },
      "committer": {
        "name": "Crystal Durham",
        "email": "cad97@cad97.com",
        "time": "Fri Oct 23 16:18:34 2026 -0500"
      },
      "message": "replace cfg(any()) with cfg(false)\n"
    },
    {
      "commit": "5a03665355a9cbb5fcd569aa2eb0f0c3c811a76d",
      "tree": "42ec3ec089f8a4dc6f8bde230eeda3166f36f432",
      "parents": [
        "3fcd5d664f70186dfc865cd495c3886d870647c3",
        "d0b5b4b7e05f19bff8a63d185b266adbd1a03db9"
      ],
      "author": {
        "name": "Scott Schafer",
        "email": "scott@scottschafer.dev",
        "time": "Fri Oct 23 20:45:45 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 23 20:45:45 2026 +0000"
      },
      "message": "feat(timings): peak memory as a column in unit table (#17631)\n\n### What does this PR try to resolve?\n\nThis contains two changes:\n\n* merges memory (peak RSS) column into the unit table\n* make column sortable -\u003e this is insta-stable\n\nPart of https://github.com/rust-lang/cargo/issues/17577\n\n### Notes to reviewers\n\nSome screenshots\n\n\u003cimg width\u003d\"400\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/5abff33d-c447-4855-9659-52f08ffe05dc\"\n/\u003e\n\n\u003cimg width\u003d\"400\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/1f8890cf-f020-443b-b739-1769c8482fcd\"\n/\u003e\n\n---\n\n🤖 LLM involvement: Code are generated by LLM and I split them to a\nreviewable state. I\u0027ve reviewed most of the code, though I cannot\nguarantee JavaScript and CSS are 100% good.\n\nr? Muscraft\n"
    },
    {
      "commit": "3fcd5d664f70186dfc865cd495c3886d870647c3",
      "tree": "d6b1ae47ade73615ed5081abe2a44710a1e339bd",
      "parents": [
        "03f7f2adf32dadc9a2db02cf4dc744a5f334c735",
        "645cb41e0217ee2acd856758403014caff28c9e6"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Fri Oct 23 20:42:20 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 23 20:42:20 2026 +0000"
      },
      "message": "Change `build_rs::input::cargo_cfg_target_env` to return `Option` (#17632)\n\n### What does this PR try to resolve?\n\nThis matches the semantics better as well as how the other \"for\nhistorical reasons\" `fn cargo_cfg_target_abi` which was exposed to\nreturn `Option`.\n\nIt\u0027s my fault from during the 0.1 to 0.2 refactor that these two\ndiverge. `cargo_cfg_target_env` was copied over from 0.1 with the\noriginal design of only mapping to `Option` for maybe-undefined\nenvironment variables and wasn\u0027t caught in the refactor that mapped\nempty-means-none environment variables to `Option`, whereas newly added\n`cargo_cfg_target_abi` post-refactor got the new convention.\n\n### Notes to reviewers\n\nThe build-rs crate is meant to be light such that having duplicated\nmajor versions of it in the build tree has a minimal compile-time impact\neven on a cold build. Even with that said, though, it\u0027s up to the\nmaintainers if this change should merit bumping to a new\nsemver-incompatible version.\n\nIf it doesn\u0027t, it probably merits a source comment noting why the\nconvention differs from `cargo_cfg_target_abi`.\n\n---\n\n🤖 LLM involvement: None.\n"
    },
    {
      "commit": "645cb41e0217ee2acd856758403014caff28c9e6",
      "tree": "d6b1ae47ade73615ed5081abe2a44710a1e339bd",
      "parents": [
        "03f7f2adf32dadc9a2db02cf4dc744a5f334c735"
      ],
      "author": {
        "name": "Crystal Durham",
        "email": "crystal.durham@canonical.com",
        "time": "Fri Oct 23 13:46:29 2026 -0500"
      },
      "committer": {
        "name": "Crystal Durham",
        "email": "cad97@cad97.com",
        "time": "Fri Oct 23 14:18:22 2026 -0500"
      },
      "message": "make build_rs::input::cargo_cfg_target_env() return Option\n\nThis matches the semantics better as well as how the other \"for\nhistorical reasons\" fn cargo_cfg_target_abi which was exposed to\nreturn Option.\n\nIt\u0027s my fault from during the 0.1 to 0.2 refactor that these two\ndiverge. cargo_cfg_target_env was copied over from 0.1 with the\noriginal design of only mapping to Option for maybe-undefined\nenvironment variables and wasn\u0027t caught in the refactor that mapped\nempty-means-none environment variables to Option, whereas newly\nadded cargo_cfg_target_abi post-refactor got the new convention.\n"
    },
    {
      "commit": "d0b5b4b7e05f19bff8a63d185b266adbd1a03db9",
      "tree": "d237ad04da213435be9d70496212e516e2f1d3ba",
      "parents": [
        "65560f0f328de9d9a96633b7f29c1f7ed94404d0"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Oct 23 13:23:14 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Oct 23 14:44:16 2026 -0400"
      },
      "message": "feat(timings): sort unit table by column header\n"
    },
    {
      "commit": "65560f0f328de9d9a96633b7f29c1f7ed94404d0",
      "tree": "9f354082f61a7e7f99c363ab5f2adec570fe1f00",
      "parents": [
        "31c7c646d6f0f0336df7e4757cc69227878b1b4c"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Oct 23 14:08:20 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Oct 23 14:44:16 2026 -0400"
      },
      "message": "refactor(timings): destructure unit fields\n"
    },
    {
      "commit": "31c7c646d6f0f0336df7e4757cc69227878b1b4c",
      "tree": "70bbe04a3a69ba651f79eed2f0e8271415eb8278",
      "parents": [
        "6422e66c73578b84926cc92266e6ab5a51eb8e74"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Oct 23 14:03:23 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Oct 23 14:44:16 2026 -0400"
      },
      "message": "refactor(timings): render whole cell in section_cell\n"
    },
    {
      "commit": "6422e66c73578b84926cc92266e6ab5a51eb8e74",
      "tree": "c87cf4061c21c56a091581e476b680604c52c09c",
      "parents": [
        "1dd6c6c281fc42c3d74db37d375dc782fae015ab"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Oct 23 13:21:42 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Oct 23 14:44:15 2026 -0400"
      },
      "message": "feat(timings): peak memory as a column in unit table\n"
    },
    {
      "commit": "03f7f2adf32dadc9a2db02cf4dc744a5f334c735",
      "tree": "dc13d5f7f4e22a4ee1031f47d22e2d56ef27bbe2",
      "parents": [
        "1dd6c6c281fc42c3d74db37d375dc782fae015ab",
        "b6e0f8e3311d089f151cc82d2daad5e5cb1e41b1"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Fri Oct 23 17:52:05 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 23 17:52:05 2026 +0000"
      },
      "message": "Update gix to 0.90.0 and adapt Git error recovery (#17578)\n\n## Tasks\n\n- [ ] refackiew\n\n----\nCreated by Codex on behalf of Byron. Byron will review before this is\nready to merge.\n\nUpdate to the latest version with major error handling improvements, and\nlots of fixes.\nPlenty of dependencies were removed, and SHA-1 is fast again and pure\nRust.\n\n### Tasks\n\n* [x] refactor/review\n\n### Notes for the reviewer\n\n* Two tests were added, which might not fit into the test strategy\nanymore. I don\u0027t know to what extend that `gix` backend for fetches is\nstill tested. As I am still working towards getting the missing piece in\nplace that would allow the entire journey of fetching + checkout/reset\nto be done with `gix`, I think it\u0027s worth keeping these tests or\nsomething in their vein.\n* In some places, unit-tests were added. And while they are good to see\nwhat the code does, maybe they are too specific and already covered in\nsome way by the integration tests.\n\nBelow the line is generated text.\n\n---\n\nUpgrade gix from 0.85.0 to 0.90.0 and refresh its dependency graph.\nAlign the test-only gix-transport requirement with 0.62.0 so\nhttp-client-insecure-credentials is enabled\non the same transport used by gix; otherwise HTTP authentication tests\ncannot send credentials to their local test server.\n\nAdapt Cargo to the upstream changes:\n\n- gix removed operation-specific error aliases and the fetch collation\n  enum, and standardized public failures on gix::Error. Use that shared\n  error type, remove obsolete conversions, and inspect retained causes\n  and classifications instead of matching the removed enum variants.\n\nhttps://github.com/GitoxideLabs/gitoxide/commit/2176245d4618faf4acd0da81e3608f4eba453192\n\nhttps://github.com/GitoxideLabs/gitoxide/commit/9a5777e0a3285349794201628c10dd538d116596\n\n- The protocol error migration removed Credentials, InvalidCredentials,\n  and LockShallowFile variants. Preserve credential-helper failures with\n  a local error wrapper, use AuthenticationRequired to identify rejected\n  HTTP credentials, and retain Cargo\u0027s existing authentication/network\n  hints and original causes. Recover stale shallow locks only when an\n  AlreadyExists I/O cause accompanies an existing shallow.lock file.\n\nhttps://github.com/GitoxideLabs/gitoxide/commit/5d71252e4acc161924de66d11b07888b13a142b2\n\n- The transport error migration removed IsSpuriousError. Use gix\u0027s\n  can_retry_lenient policy for transient I/O and classified failures,\n  while respecting cancellation.\n\nhttps://github.com/GitoxideLabs/gitoxide/commit/2c373b2e1789fa3ffb4140f0978080152028a520\n\n- Path conversions now return encoding errors instead of panicking.\nPropagate those errors in package file discovery, VCS status pathspecs,\n  and shallow-fetch assertions. is_shallow and shallow_file became\n  fallible as part of the same change.\n\nhttps://github.com/GitoxideLabs/gitoxide/commit/029c5971cd984b9eb6d2494c5f27211194c47d1e\n\nAdd focused coverage for authentication hints, original error causes,\ntransient/permanent/cancelled retry decisions, and shallow-lock\nrecovery.\nAn HTTP authentication integration test also checks credential exchange\nand the transport feature alignment. Existing shallow-fetch tests cover\nrecovery after an interrupted fetch.\n\nEarlier validation with gix 0.89.0 on aarch64-apple-darwin:\n- cargo test --workspace --locked --offline --no-fail-fast (stable):\npass;\n  Cargo integration tests: 4058 passed, 374 ignored.\n- cargo +nightly test --workspace --locked --no-fail-fast: pass;\n  Cargo integration tests: 4401 passed, 31 ignored.\n- build-rs/build-rs-test-lib unstable feature tests: pass.\n- cargo-util-schemas unstable-schema tests: pass.\n- Stable workspace Clippy with warnings denied: pass.\n- Reqwest transport library check, rustfmt, lockfile check: pass.\n\nPublic-network, container, real build-std, and other-platform runs were\nnot\nperformed; the suites retain their documented skips. Additional nightly\nClippy found an existing unused libloading manifest dependency in the\nLinux-only cargo-credential-libsecret crate on macOS.\n\nCurrent-head validation with gix 0.90.0 (`b6e0f8e33`) on\naarch64-apple-darwin:\n- All 190 Cargo unit tests passed with the default curl transport.\n- Affected Git, authentication, shallow-fetch, packaging, path, and\npublish\n  integration suites: 490 passed, 6 ignored.\n- Reqwest transport: 36 focused unit tests and 26\nshallow-fetch/authentication\n  integration tests passed; 1 documented stale-lock CLI test ignored.\n- Rustfmt and diff whitespace checks passed.\n- Removed the two ignored SourceId ambiguity tests as agreed in review;\n  the existing ambiguity is deferred to a follow-up.\n\nLLM disclosure: Implemented and tested by Codex at Byron\u0027s request.\n"
    },
    {
      "commit": "1dd6c6c281fc42c3d74db37d375dc782fae015ab",
      "tree": "798d9498658a376146b4ec818dfeb13ac961d287",
      "parents": [
        "07999b69c031c29852957e6d6eafc117c9310a94",
        "a528d8f819c137cf333cc5e87ce2a51663e54a12"
      ],
      "author": {
        "name": "Scott Schafer",
        "email": "scott@scottschafer.dev",
        "time": "Fri Oct 23 14:08:28 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Oct 23 14:08:28 2026 +0000"
      },
      "message": "Fix unused dep annotation (#17625)\n\n### What does this PR try to resolve?\n\n#17609 showed that when an unused dependency was written as a table,\nCargo would lint the `]` after the dependency name. This was happening\nbecause Cargo tried to annotate the toml key and value of the unused\ndependency, and when the dep was written as a table, the span for the\nvalue would be the whole table, i.e. `[dependencies.foo]`. To fix this,\nI decided it was best if Cargo just annotated the key (name) of the\ndependency, since that is the part that really matters.\n\n---\n\n🤖 LLM involvement: An LLM was used to help find the original manifest so\nthat I could test changes against it\n\nFixes #17609\n"
    },
    {
      "commit": "a528d8f819c137cf333cc5e87ce2a51663e54a12",
      "tree": "7842ef89e7ca4aa13fbfc20108fc23287f317470",
      "parents": [
        "cb0685b2df9aaa72233a27347a6396863a69ecbe"
      ],
      "author": {
        "name": "Scott Schafer",
        "email": "schaferjscott@gmail.com",
        "time": "Thu Oct 22 22:14:16 2026 -0600"
      },
      "committer": {
        "name": "Scott Schafer",
        "email": "schaferjscott@gmail.com",
        "time": "Thu Oct 22 22:49:07 2026 -0600"
      },
      "message": "fix: Only annotate dep name for unused_dependencies lint\n"
    },
    {
      "commit": "cb0685b2df9aaa72233a27347a6396863a69ecbe",
      "tree": "d04fa9388381342fc0129529863768009229bff0",
      "parents": [
        "9135d1561b432c6644682cc7c62d437943ec8e42"
      ],
      "author": {
        "name": "Scott Schafer",
        "email": "schaferjscott@gmail.com",
        "time": "Thu Oct 22 22:37:14 2026 -0600"
      },
      "committer": {
        "name": "Scott Schafer",
        "email": "schaferjscott@gmail.com",
        "time": "Thu Oct 22 22:49:02 2026 -0600"
      },
      "message": "test: Annotating unused dependency written in table format\n"
    },
    {
      "commit": "07999b69c031c29852957e6d6eafc117c9310a94",
      "tree": "632edc04476ea759e4e034489933e9ab8c652378",
      "parents": [
        "cf29d0e0b1f7b03c4ceda5211cc4dc493bfc542e",
        "dd0becfa7fe440beca91f78df85ab766d499613b"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Thu Oct 22 21:44:46 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Oct 22 21:44:46 2026 +0000"
      },
      "message": "fix!: stop uplifting rlibs on nightly  (#17621)\n\n### What does this PR try to resolve?\n\nFrom\n\u003chttps://rust-lang.zulipchat.com/#narrow/channel/246057-t-cargo/topic/Usage.20of.20-Zno-embed-metadata/near/633481654\u003e\n\n\u003e we discussed whether we should stop lifting rlib as final artifacts\nfirst,\n\u003e so that splitting metadata then is no longer considered breaking.\n\u003e\n\u003e Our conclusion is yes we should do it first\n\u003e before stabilization -Zembed-metadata on Cargo side,\n\u003e and to minimize the scope,\n\u003e we\u0027d like to focus on rlib use cases first.\n\u003e\n\u003e The plan we discussed was roughly like this:\n\u003e\n\u003e 1. We stop lifting rlib for nightly only now as a fast track,\n\u003e    and be ready to revert aggressively if there are real use cases,\n\u003e    and discuss then and perhaps un-revert.\n\u003e 2. After next nightly cutoff we do an FCP\n\u003e    for stabilizing the \"stop-uplifting\" behavior.\n\u003e 3. We would perhaps do another blog post about why the benefits of\nthis\n\u003e    (so that we can do more aggressive rlib/metadata experiment,\n\u003e    like also some check/build reuse cases)\n\u003e 4. Once we stop uplifting rlibs,\n\u003e    we are free to split rlib and metadata.\n\ncc rust-lang/cargo#17278\n\n### Notes to reviewers\n\nWhether we want a `__CARGO_TEMPORARY_STOP_RLIB_UPLIFT_OPT_OUT` env var\nto opt-out.\nThis change also affects `--artifact-dir` output, though we currently\nopt-out for existing tests so the behavior in our test suite doesn\u0027t\nshow the diff.\n\n---\n\n🤖 LLM involvement: Generating that single test.\n"
    },
    {
      "commit": "dd0becfa7fe440beca91f78df85ab766d499613b",
      "tree": "ed754e864a1aabf27d8fc3b5a7cc5c2d2bf23b7c",
      "parents": [
        "f7ccea0db528c0052cff483be0b7e7e5129bd31a"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Oct 20 20:44:26 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu Oct 22 16:11:34 2026 -0400"
      },
      "message": "fix!: stop uplifting rlibs on nightly\n\nFrom \u003chttps://rust-lang.zulipchat.com/#narrow/channel/246057-t-cargo/topic/Usage.20of.20-Zno-embed-metadata/near/633481654\u003e\n\n\u003e we discussed whether we should stop lifting rlib as final artifacts first,\n\u003e so that splitting metadata then is no longer considered breaking.\n\u003e \n\u003e Our conclusion is yes we should do it first\n\u003e before stabilization -Zembed-metadata on Cargo side,\n\u003e and to minimize the scope,\n\u003e we\u0027d like to focus on rlib use cases first.\n\u003e \n\u003e The plan we discussed was roughly like this:\n\u003e \n\u003e 1. We stop lifting rlib for nightly only now as a fast track,\n\u003e    and be ready to revert aggressively if there are real use cases,\n\u003e    and discuss then and perhaps un-revert.\n\u003e 2. After next nightly cutoff we do an FCP\n\u003e    for stabilizing the \"stop-uplifting\" behavior.\n\u003e 3. We would perhaps do another blog post about why the benefits of this\n\u003e    (so that we can do more aggressive rlib/metadata experiment,\n\u003e    like also some check/build reuse cases)\n\u003e 4. Once we stop uplifting rlibs,\n\u003e    we are free to split rlib and metadata.\n"
    },
    {
      "commit": "f7ccea0db528c0052cff483be0b7e7e5129bd31a",
      "tree": "57b24a3d6db0c1b08d86c90311307e6bb0b05062",
      "parents": [
        "25e6c15fba552b68784b1f8095c4c9aec22e5303"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Oct 20 20:35:00 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu Oct 22 16:11:33 2026 -0400"
      },
      "message": "test: capture the current rlib artifact location\n"
    },
    {
      "commit": "25e6c15fba552b68784b1f8095c4c9aec22e5303",
      "tree": "a161e71f589bb22271d4e79ef89cd9ff82126261",
      "parents": [
        "09857c58430e3946170dc6a7d80e70c7ac67267b"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu Oct 22 15:45:07 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu Oct 22 16:11:33 2026 -0400"
      },
      "message": "test: honor channel override for nightly toolchain check\n\nThis makes `is_nightly_toolchain` also exercise with\n`masquerade_as_nightly_cargo`\n\nSome tests changes (adding ommissions and masquerade)\nbecause we want to avoid matching more `Compiling` rebuild status.\n"
    },
    {
      "commit": "09857c58430e3946170dc6a7d80e70c7ac67267b",
      "tree": "d3a0e439ba7899b24ac0d8892a6e7670ac1c8dd7",
      "parents": [
        "d4a2c5853b02b51f9136d245a1d24b68fc0acb70"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu Oct 22 15:30:47 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu Oct 22 16:09:56 2026 -0400"
      },
      "message": "refactor: extract nightly toolchain check\n"
    },
    {
      "commit": "b6e0f8e3311d089f151cc82d2daad5e5cb1e41b1",
      "tree": "26723e37f3676f21ea979c1bc86b07b8d53823a0",
      "parents": [
        "3fd1fb9843b66aacb6c4ebde2c6cbc5d6d89ff0c"
      ],
      "author": {
        "name": "Byron",
        "email": "sebastian.thiel@icloud.com",
        "time": "Sun Oct 11 10:44:38 2026 +0200"
      },
      "committer": {
        "name": "Byron",
        "email": "sebastian.thiel@icloud.com",
        "time": "Thu Oct 22 17:08:39 2026 +0200"
      },
      "message": "Update gix to 0.90.0 and adapt Git error recovery\n\nThis update is motivated by greatly improved error handling, and of course\nplenty of fixes, also security related.\n\n\u003c!-- agent --\u003e\nUpgrade gix from 0.85.0 to 0.90.0 and refresh its dependency graph.\nAlign the test-only gix-transport requirement with 0.62.0 so http-client-insecure-credentials is enabled\non the same transport used by gix; otherwise HTTP authentication tests\ncannot send credentials to their local test server.\n\nAdapt Cargo to the upstream changes:\n\n- gix removed operation-specific error aliases and the fetch collation\n  enum, and standardized public failures on gix::Error. Use that shared\n  error type, remove obsolete conversions, and inspect retained causes\n  and classifications instead of matching the removed enum variants.\n  https://github.com/GitoxideLabs/gitoxide/commit/2176245d4618faf4acd0da81e3608f4eba453192\n  https://github.com/GitoxideLabs/gitoxide/commit/9a5777e0a3285349794201628c10dd538d116596\n\n- The protocol error migration removed Credentials, InvalidCredentials,\n  and LockShallowFile variants. Preserve credential-helper failures with\n  a local error wrapper, use AuthenticationRequired to identify rejected\n  HTTP credentials, and retain Cargo\u0027s existing authentication/network\n  hints and original causes. Recover stale shallow locks only when an\n  AlreadyExists I/O cause accompanies an existing shallow.lock file.\n  https://github.com/GitoxideLabs/gitoxide/commit/5d71252e4acc161924de66d11b07888b13a142b2\n\n- The transport error migration removed IsSpuriousError. Use gix\u0027s\n  can_retry_lenient policy for transient I/O and classified failures,\n  while respecting cancellation.\n  https://github.com/GitoxideLabs/gitoxide/commit/2c373b2e1789fa3ffb4140f0978080152028a520\n\n- Path conversions now return encoding errors instead of panicking.\n  Propagate those errors in package file discovery, VCS status pathspecs,\n  and shallow-fetch assertions. is_shallow and shallow_file became\n  fallible as part of the same change.\n  https://github.com/GitoxideLabs/gitoxide/commit/029c5971cd984b9eb6d2494c5f27211194c47d1e\n\n- Lossless SSH serialization now retains SCP syntax for relative paths,\n  even when alternate-form serialization is disabled. Make the path\n  absolute only in Cargo\u0027s internal cache URL so it can be parsed by\n  SourceId, while preserving the original SCP URL for the actual fetch.\n  https://github.com/GitoxideLabs/gitoxide/commit/ae22b8716200a1274b4acd378ce79e0b8884f0af\n\nMigrate the preceding commit\u0027s authentication, retry, and shallow-lock\nerror fixtures to gix 0.90.0. Keep its HTTP credential-exchange and SCP\ncache-URL tests unchanged so they cover behavior across the update.\nExisting shallow-fetch tests cover recovery after an interrupted fetch.\n\nThe SCP cache-URL test passes on both dependency versions and fails on\ngix 0.89.0 when the leading-slash adaptation is removed: serialization\nretains `git@github.com:foo/bar.git`, which SourceId cannot parse. Tilde\npaths already have a lossless canonical SSH spelling and need no mutation.\nSee https://github.com/rust-lang/cargo/pull/17484#discussion_r4099898595.\n\nValidation with gix 0.90.0: all 190 Cargo unit tests and 490 affected\nintegration tests passed with the default curl transport. The reqwest\ntransport passed 36 focused unit tests and 26 shallow-fetch/authentication\nintegration tests. Formatting and diff whitespace checks passed.\n\nLLM disclosure: Implemented and tested by Codex at Byron\u0027s request.\n\nAssisted-by: GPT 6.1 Sol\n"
    },
    {
      "commit": "cf29d0e0b1f7b03c4ceda5211cc4dc493bfc542e",
      "tree": "653f2a67865a8eac989e01a4542f3c5bba26bb67",
      "parents": [
        "ce886c7f2994c7cdfa455786ada6d52a383bca3a",
        "9d6a94a55e727e47b80352f393eb188033f4b53d"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Wed Oct 21 17:58:48 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 17:58:48 2026 +0000"
      },
      "message": "refactor(config): Pull out the ConfigStore into its own module (#17614)\n\n### What does this PR try to resolve?\n\nThis is part of #12883\n\nBy pulling out the raw ConfigStore API into its own module, we get a\nclearer picture of cross-module boundaries for what will eventually be\ncross-package boundaries.\n\nThe next step is to pull out deserialization. Once that is done, there\nis enough value to pull this all out into a separate package.\n\n### Notes to reviewers\n\n---\n\n🤖 LLM involvement: for trivial refactor steps\n"
    },
    {
      "commit": "ce886c7f2994c7cdfa455786ada6d52a383bca3a",
      "tree": "03d0691441a88c6af17d5d5e4d84336c7603e5cd",
      "parents": [
        "d4a2c5853b02b51f9136d245a1d24b68fc0acb70",
        "9697dfa381e43b5bf2bee709025e033086af5308"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed Oct 21 02:40:08 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Oct 21 02:40:08 2026 +0000"
      },
      "message": "test: simplify file content assertions (#17617)\n\n### What does this PR try to resolve?\n\nAs requested in\n\u003chttps://github.com/rust-lang/cargo/pull/17613#discussion_r4326774305\u003e\n\n### Notes to reviewers\n\n---\n\n🤖 LLM involvement: This is a trivial test change, so most of them are\nLLM assisted except the doc ocmment.\n"
    },
    {
      "commit": "9697dfa381e43b5bf2bee709025e033086af5308",
      "tree": "03d0691441a88c6af17d5d5e4d84336c7603e5cd",
      "parents": [
        "a61bfc2a5a9679520a242bc657e87b0d8d764c18"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Oct 20 21:33:50 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Oct 20 21:59:33 2026 -0400"
      },
      "message": "test: simplify build artifact assertions\n"
    },
    {
      "commit": "a61bfc2a5a9679520a242bc657e87b0d8d764c18",
      "tree": "8f834e1ab94d9e097442078dde2fe9cbd65ac61f",
      "parents": [
        "288811be907712e370c92599b09c6f1af605e0d7"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Oct 20 21:33:50 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Oct 20 21:59:33 2026 -0400"
      },
      "message": "test: simplify Rust file assertions\n"
    },
    {
      "commit": "288811be907712e370c92599b09c6f1af605e0d7",
      "tree": "90c4d857a0f8ed5679422e86bdafb04b9e24ec24",
      "parents": [
        "b988c1ece9a34456bd2f5b6c0252eee16e51d500"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Oct 20 21:33:50 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Oct 20 21:59:33 2026 -0400"
      },
      "message": "test: simplify Cargo.toml assertions\n"
    },
    {
      "commit": "b988c1ece9a34456bd2f5b6c0252eee16e51d500",
      "tree": "293e569a865daa8c6bcb6501bce9972fb19887cd",
      "parents": [
        "da4888f38891fac57c0039d495b81783194c1345"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Oct 20 21:33:50 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Oct 20 21:59:33 2026 -0400"
      },
      "message": "test: simplify lockfile assertions\n"
    },
    {
      "commit": "da4888f38891fac57c0039d495b81783194c1345",
      "tree": "5cf03558f7fb7889e6442957d49bf857a21fdb2b",
      "parents": [
        "d4a2c5853b02b51f9136d245a1d24b68fc0acb70"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Oct 20 21:05:59 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Oct 20 21:59:33 2026 -0400"
      },
      "message": "feat(test-support): add `Project::assert_file`\n"
    },
    {
      "commit": "9d6a94a55e727e47b80352f393eb188033f4b53d",
      "tree": "8b713dee77709c8a9b6421c11d10f2c3a59d3405",
      "parents": [
        "48cdfcdbc97677533712c393823420e94b96c9fe"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 12:12:48 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 19:21:06 2026 -0500"
      },
      "message": "refactor(config): Pull out the ConfigStore\n"
    },
    {
      "commit": "48cdfcdbc97677533712c393823420e94b96c9fe",
      "tree": "5d123f84967079c83610873aceb8c417588c401d",
      "parents": [
        "18aa3309caba6b7124c2fffe358d6b924d218f2b"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 12:06:51 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 19:21:06 2026 -0500"
      },
      "message": "refactor(config): Pull Definition out\n"
    },
    {
      "commit": "18aa3309caba6b7124c2fffe358d6b924d218f2b",
      "tree": "c732b360d830511ccf2669716f79565f0efd6ee7",
      "parents": [
        "f2bdc44698772c7bcdccc3fce33914eb16542299"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 10:58:31 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 19:21:06 2026 -0500"
      },
      "message": "refactor(config): Rename ConfigValues to ConfigStore\n\nIn working to move `ConfigStore` out,\nI realized I had left behind the `config.rs` name instead of naming it\n`config_values.rs`.\nIn preparing that, I realized I should have used a more distinct name\nrather than being one letter off from `ConfigValue`.\n\nMy main aim for the name is to convey that this is not the actual config\n(that is deserialized) but the raw data.\n"
    },
    {
      "commit": "f2bdc44698772c7bcdccc3fce33914eb16542299",
      "tree": "91d6e49692fc7946c40ab838720b5eec6f18d45c",
      "parents": [
        "eeba6ee7014bbb14b2b3393b47a141b25cf5e234"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 10:56:35 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 19:20:54 2026 -0500"
      },
      "message": "refactor(config): Rename config to config_store\n"
    },
    {
      "commit": "eeba6ee7014bbb14b2b3393b47a141b25cf5e234",
      "tree": "24d29190601372dcabb5e40896b6d6221d0407c6",
      "parents": [
        "f40ee2d0a70c38c0f7bf55a939494da7ee328e26"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 08:58:53 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 19:20:54 2026 -0500"
      },
      "message": "refactor(config): Add ConfigValues::read_layer\n"
    },
    {
      "commit": "f40ee2d0a70c38c0f7bf55a939494da7ee328e26",
      "tree": "3f979ccbbd48ee92fbc7bd16670b127d80fb63bb",
      "parents": [
        "043b96f8c991671d50d42a1a968ff584d5e8e2da"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 08:51:04 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 19:20:54 2026 -0500"
      },
      "message": "refactor(config): Expose DefinitionKind like we do Definition\n"
    },
    {
      "commit": "043b96f8c991671d50d42a1a968ff584d5e8e2da",
      "tree": "b44cdfbba7b405c8d55fae6f062cbf41a4624c31",
      "parents": [
        "289e7b3559d224c54f9885602de521dffe0982f4"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 08:48:35 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 19:20:54 2026 -0500"
      },
      "message": "refactor(config): Match Definition\u0027s naming\n"
    },
    {
      "commit": "289e7b3559d224c54f9885602de521dffe0982f4",
      "tree": "c0910853d13ab79c78dd89f8726c1d4cc217547f",
      "parents": [
        "efc121b3028ad9726010cc4642068a1e75a78c03"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 08:47:33 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 19:20:54 2026 -0500"
      },
      "message": "refactor(config): Match Definitions variants\n"
    },
    {
      "commit": "efc121b3028ad9726010cc4642068a1e75a78c03",
      "tree": "438bbd6aa6aa938006a264978eb7034220bb3aa9",
      "parents": [
        "d4a2c5853b02b51f9136d245a1d24b68fc0acb70"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 08:47:16 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 19:20:54 2026 -0500"
      },
      "message": "refactor(config): Move WhyLoad\n"
    },
    {
      "commit": "d4a2c5853b02b51f9136d245a1d24b68fc0acb70",
      "tree": "db6f496bb94caf030b6b515eefc687ba3be9602c",
      "parents": [
        "042352a65b1d05303947fcb3593df432c65979bf",
        "d053b8a3bed9f00a2b15acb91c714b32cbbaea7a"
      ],
      "author": {
        "name": "Scott Schafer",
        "email": "scott@scottschafer.dev",
        "time": "Tue Oct 20 21:20:33 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 21:20:33 2026 +0000"
      },
      "message": "perf(context): Don\u0027t initialize windows-specific code on all platforms (#17615)\n\n### What does this PR try to resolve?\n\nCleanup I noticed on my work on #12883\n\n### Notes to reviewers\n\n---\n\n🤖 LLM involvement: none\n"
    },
    {
      "commit": "042352a65b1d05303947fcb3593df432c65979bf",
      "tree": "9cee4af8c03a4f66b06766e9c2e4a30586068985",
      "parents": [
        "15be64aa0859b5c36f7a86d52f7aa0db44ba4d84",
        "8c3385881d0d56893ba76299fae98a16d448a361"
      ],
      "author": {
        "name": "rustbot",
        "email": "47979223+rustbot@users.noreply.github.com",
        "time": "Tue Oct 20 20:01:28 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 20:01:28 2026 +0000"
      },
      "message": "refactor(context): Remove RLS-specific function (#17616)\n\n### What does this PR try to resolve?\n\nCleanup I noticed on my work on\nhttps://github.com/rust-lang/cargo/issues/12883\n\n### Notes to reviewers\n\n---\n\n🤖 LLM involvement: none\n"
    },
    {
      "commit": "8c3385881d0d56893ba76299fae98a16d448a361",
      "tree": "e8ecee82078c5ad6104e1534020cd8536b167314",
      "parents": [
        "587d7ab286a3197dbe8bbe3d0658668d20b9b096"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 14:20:38 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 14:20:38 2026 -0500"
      },
      "message": "refactor(context): Remove RLS-specific function\n"
    },
    {
      "commit": "d053b8a3bed9f00a2b15acb91c714b32cbbaea7a",
      "tree": "50ed1fb76531022bb49f3c091bdc60ed3d8b5fc6",
      "parents": [
        "b79f401f1f29057bdb68410d1e30e87aab4e659c"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 14:11:28 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 14:11:28 2026 -0500"
      },
      "message": "refactor(context): Put primary item first in env mod\n"
    },
    {
      "commit": "b79f401f1f29057bdb68410d1e30e87aab4e659c",
      "tree": "93437b87105797556fae79d3538e44ca48e86e0e",
      "parents": [
        "f80364306873d0104b2ac31feb32cd581d2ca24e"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 14:10:56 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 14:10:56 2026 -0500"
      },
      "message": "perf(context): Don\u0027t initialize windows-specific code on all platforms\n"
    },
    {
      "commit": "f80364306873d0104b2ac31feb32cd581d2ca24e",
      "tree": "d0d6bdf82f4ff7a63ca8a0fbb121a8f44c3e2a62",
      "parents": [
        "51194406bec121e6e79f04e0dbb7c07c0fbcb438"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 14:09:03 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 14:09:03 2026 -0500"
      },
      "message": "refactor(context): Centralize env initialization\n"
    },
    {
      "commit": "51194406bec121e6e79f04e0dbb7c07c0fbcb438",
      "tree": "437edee2b8c0c93650c31f534da443fcaed79ecb",
      "parents": [
        "587d7ab286a3197dbe8bbe3d0658668d20b9b096"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 14:05:05 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 14:05:05 2026 -0500"
      },
      "message": "refactor(context): Split env initialization\n"
    },
    {
      "commit": "15be64aa0859b5c36f7a86d52f7aa0db44ba4d84",
      "tree": "4e1364123c9783425c3972edff07b3468b95c0e5",
      "parents": [
        "b1a8a7eb9ebd5c016385ed98a49113fdc1236849",
        "22c94396629b59b6d16864e59a10b5115544f5a3"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue Oct 20 16:03:21 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 16:03:21 2026 +0000"
      },
      "message": "feat(prerelease): support `[patch]` with `-Zprerelease` (#17613)\n\n### What does this PR try to resolve?\n\nWith `-Zprerelease`,\nuse pre-release matching when matching the version requirment\nfrom the `[patch]` entry\u0027s manifest.\n\ncc rust-lang/cargo#13290\n\n### Notes to reviewers\n\nI planned to do this when I did\n\u003chttps://github.com/rust-lang/cargo/pull/17464\u003e.\nThis is the remaining consumption side that didn\u0027t respect\nlocked/selected pre-releases.\n\nI feel like they should be shipped together with\n\u003chttps://github.com/rust-lang/cargo/pull/17464\u003e when stabilized,\notherwise it is pretty inconsistent.\n\nAlso, we don\u0027t touch `[replace]` as its requirement is always exact from\n`[replace]` itself.\n\n---\n\n🤖 LLM involvement: Tests are a mix of LLM generated and hand-tweaked.\n"
    },
    {
      "commit": "22c94396629b59b6d16864e59a10b5115544f5a3",
      "tree": "48103519feec6dc526da5345034bc90b4ed1c7be",
      "parents": [
        "2cb4c4cdef3a9060d90ca3b270ddffa92c5b090e"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Sep 04 18:44:05 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 19 22:53:25 2026 -0400"
      },
      "message": "feat(prerelease): support `[patch]` with `-Zprerelease`\n\nWith `-Zprerelease`,\nuse pre-release matching when matching the version requirment\nfrom the `[patch]` entry\u0027s manifest.\n\nWe don\u0027t touch `[replace]`\nas its requirement is always exact from `[replace]` itself.\n"
    },
    {
      "commit": "2cb4c4cdef3a9060d90ca3b270ddffa92c5b090e",
      "tree": "af8a77ed7d0612376f628269fdb4ca1ac0b9529a",
      "parents": [
        "7f3ddc68d150941b8d3a073f6c110bb9592f2448"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu Sep 10 11:18:20 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 19 22:48:52 2026 -0400"
      },
      "message": "refactor: parameterize dependency version locking\n"
    },
    {
      "commit": "7f3ddc68d150941b8d3a073f6c110bb9592f2448",
      "tree": "03e95e088777a77fc916401c761acc4f8362f5d1",
      "parents": [
        "d8a7d62b181f45df43a13e7f4499f7231a68d7af"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sun Oct 18 12:17:39 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 19 22:48:51 2026 -0400"
      },
      "message": "refactor: extract `-Zprerelease` version matching mode\n"
    },
    {
      "commit": "d8a7d62b181f45df43a13e7f4499f7231a68d7af",
      "tree": "b14cabc0b41178e90c2cc92d95792bd5c1368c61",
      "parents": [
        "51f140a9206b2ec22f9a664c69701521070e6ef1"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sun Oct 18 08:54:09 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 19 22:37:28 2026 -0400"
      },
      "message": "test(prerelease): show `[replace]` behavior\n"
    },
    {
      "commit": "51f140a9206b2ec22f9a664c69701521070e6ef1",
      "tree": "f6256d47bdf2d38e6249d7eb7347e87e354d0661",
      "parents": [
        "46b449fe82a932f07e23598d64151bb5da820a18"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Sep 04 18:37:31 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 19 22:37:28 2026 -0400"
      },
      "message": "test(prerelease): show `[patch]` behavior\n"
    },
    {
      "commit": "b1a8a7eb9ebd5c016385ed98a49113fdc1236849",
      "tree": "ec754c1de36fb362ceac81385183f17e3d4cc6f8",
      "parents": [
        "587d7ab286a3197dbe8bbe3d0658668d20b9b096",
        "a1f03e5628deb7698ebea9a82c79208eb980f90c"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Tue Oct 20 01:16:48 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Oct 20 01:16:48 2026 +0000"
      },
      "message": "chore(gh): Overhaul PR template (#17612)\n\n### What does this PR try to resolve?\n\nThis is based on template experiments in my own repos\n- Welcome message was removed in favor of triagebot\n- Motivation description was shortened\n- The second section was modified for how I use it in my own PRs\n- \"How to test\" is not very specific and can lead people to saying what\nCI will just do which is unintetesting\n- Switched LLM \"disclosure\" to \"involvement\" which makes it more open\nended and less judgemental.\n  - I\u0027ve seen people give very good but brief descriptions\n- Removed the \"remove this if no LLM\" because that is ambiguous if its\nmissing and some LLM-looking PR descriptions have it missing\n- Shortened the description, including removing the policy link since\ntriagebot will show it\n\n### Notes to reviewers\n\n---\n\n🤖 LLM disclosure: none\n"
    },
    {
      "commit": "46b449fe82a932f07e23598d64151bb5da820a18",
      "tree": "ee0c43efc0ed01ae2b6a361a62fb7297e2612536",
      "parents": [
        "3022244f7ba6d509b2db1fc65900f4bdda1d52a9"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 19 21:00:10 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Mon Oct 19 21:14:10 2026 -0400"
      },
      "message": "test(prerelease): snapshot lockfile matches\n"
    },
    {
      "commit": "a1f03e5628deb7698ebea9a82c79208eb980f90c",
      "tree": "ec754c1de36fb362ceac81385183f17e3d4cc6f8",
      "parents": [
        "587d7ab286a3197dbe8bbe3d0658668d20b9b096"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon Oct 19 19:32:27 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon Oct 19 19:32:27 2026 -0500"
      },
      "message": "chore(gh): Overhaul PR template\n\nThis is based on template experiments in my own repos\n- Welcome message was removed in favor of triagebot\n- Motivation description was shortened\n- The second section was modified for how I use it in my own PRs\n  - \"How to test\" is not very specific  and can lead people to saying\n    what CI will just do which is unintetesting\n- Switched LLM \"disclosure\" to \"involvement\" which makes it more open\n  ended and less judgemental.\n  - I\u0027ve seen people give very good but brief descriptions\n  - Removed the \"remove this if no LLM\" because that is ambiguous if its\n    missing and some LLM-looking PR descriptions have it missing\n  - Shortened the description, including removing the policy link since\n    triagebot will show it"
    },
    {
      "commit": "587d7ab286a3197dbe8bbe3d0658668d20b9b096",
      "tree": "07b4c1ba87c54945bd988d6a10bdde23d876c1f6",
      "parents": [
        "9135d1561b432c6644682cc7c62d437943ec8e42",
        "d156475066932864feb46cd92c6ac438416f45b6"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Mon Oct 19 20:00:48 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 20:00:48 2026 +0000"
      },
      "message": "fix(util-schemas): compile out the file-path hint where url can\u0027t build it (#17600)\n\nPart of https://github.com/rust-lang/cargo/issues/17595.\n\n### What does this PR try to resolve?\n\n`cargo-util-schemas` is consumed by third-party tools, some of which run\non targets with no filesystem, environment, or network, such as\n`wasm32-unknown-unknown`. `PackageIdSpec::parse` probed the current\ndirectory to suggest a `file://` URL for specs that look like paths, and\nthat does not compile there: `url` only provides `Url::from_file_path`\non unix, windows, redox, wasi, and hermit.\n\nThe hint is purely diagnostic, so it is now compiled out behind the same\n`cfg` that `url` uses. Behavior is unchanged on every target that built\nbefore.\n\n### How to test and review this PR?\n\nA new CI job checks that `cargo-util-schemas` builds for\n`wasm32-unknown-unknown`; locally that is `cargo check -p\ncargo-util-schemas --all-features --target wasm32-unknown-unknown`. The\nexisting `pkgid` tests cover the hint on supported targets.\n"
    },
    {
      "commit": "d156475066932864feb46cd92c6ac438416f45b6",
      "tree": "2277a1f6e9de2a3ec9911c60df3f523c9af9494e",
      "parents": [
        "0892e1e1c21e3f68ee7c542a2347ad30690ef363"
      ],
      "author": {
        "name": "UebelAndre",
        "email": "github@uebelandre.com",
        "time": "Fri Oct 16 19:14:56 2026 -0700"
      },
      "committer": {
        "name": "UebelAndre",
        "email": "github@uebelandre.com",
        "time": "Mon Oct 19 12:21:43 2026 -0700"
      },
      "message": "fix(util-schemas): compile out the file-path hint where `url` can\u0027t build it\n\n`cargo-util-schemas` is consumed by third-party tools, some of which run\non targets like `wasm32-unknown-unknown` that have no filesystem. There\n`Url::from_file_path` doesn\u0027t exist, so the crate failed to compile.\nThe hint that suggests a `file://` URL for a path-like spec is purely\ndiagnostic, so gate it on the same `cfg` `url` uses.\n"
    },
    {
      "commit": "9135d1561b432c6644682cc7c62d437943ec8e42",
      "tree": "823235a2357720e47b616409b1bcacb479621889",
      "parents": [
        "09725a52891bf1559bb5c50169136fd818fef3ec",
        "d0e39b002f7f393fa1452afa493f5f01d5946f52"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Mon Oct 19 18:45:06 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 18:45:06 2026 +0000"
      },
      "message": "feat(build-std): Add build.build-std.when and crates config keys (#17602)\n\n### What does this PR try to resolve?\n\nAs part of https://github.com/rust-lang/rust/issues/155363 this PR adds\nthe new build-std UI config keys specified in the\n[`build-std\u003dalways`](https://rust-lang.github.io/rfcs/3874-build-std-always.html#proposal)\nRFC. The keys currently don\u0027t do anything, but their behaviour will be\ngated on an unstable `-Z` flag in a later patch.\n\nNot explicitly mentioned in the RFC is the perma-unstable ability to\nsupply a custom list of crates to `build.build-std.crates`. However\n`-Zbuild-std` already allows custom crate names, so this addition allows\nparity with that flag [Explicit builtin dependencies\n\n](https://rust-lang.github.io/rfcs/3875-build-std-explicit-dependencies.html#why-unstably-allow-all-names-for-builtin-crates)\nwill allow any name of crate for builtins under a perma-unstable feature\nso I feel this feature does not add a significant maintenance burden to\nCargo.\n\nThe plan is to use the new config keys to unblock merging of implicit\nbuiltin dependencies to enable build-std to work with explicit builtin\ndependencies. At some point in the future `-Zbuild-std` will be removed\nand these keys will replace it.\n\n### How to test and review this PR?\n\nCommit by commit - all commits pass tests and rustfmt.\n"
    },
    {
      "commit": "09725a52891bf1559bb5c50169136fd818fef3ec",
      "tree": "697ca89a0b502bc379cd71b30db1e38de5352259",
      "parents": [
        "3022244f7ba6d509b2db1fc65900f4bdda1d52a9",
        "b3c03d3ffd43338d2eef54c7dd1a5a8afa1a53ec"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon Oct 19 16:40:41 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Oct 19 16:40:41 2026 +0000"
      },
      "message": "refactor(confg): Create a config abstraction (#17606)\n\n### What does this PR try to resolve?\n\nThis is part of #12883\n\nThis creates what I\u0027m hoping will be the core API of the new crate and\npulls out some fundamental APIs that clean up the current code.\nThis stopped short of pulling everything in like\n- deserialization from `CV`s to structs which requires figuring out a\ndesign for environment variables and knowing some unstable features\n- loading of config which pulls in a lot more logic like home dir, etc.\n\nThis felt like a clean line for a \"this improves things independent of\n#12883\" before tipping into \"this exists solely for #12883\".\nFollow up PRs will deal with the latter.\n\n### How to test and review this PR?\n\n---\n\n🤖 LLM disclosure: helped with renames, logic moves, logic extraction,\netc\n"
    },
    {
      "commit": "d0e39b002f7f393fa1452afa493f5f01d5946f52",
      "tree": "18efefd09268e0aaf6aa30c949b7fead59ca8fa8",
      "parents": [
        "bb01a56eb93b946a8ea3813f98a8c265f1ce2784"
      ],
      "author": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 14:32:53 2026 +0100"
      },
      "committer": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 14:32:53 2026 +0100"
      },
      "message": "doc(unstable): Mention the new build-std UI\n"
    },
    {
      "commit": "bb01a56eb93b946a8ea3813f98a8c265f1ce2784",
      "tree": "33c5bbd95ea60fd5bb2ccd87e6dca6c2d80423cc",
      "parents": [
        "5049bca7190d875598766790c0642eb0a71751d8"
      ],
      "author": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 13:14:22 2026 +0100"
      },
      "committer": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 14:06:41 2026 +0100"
      },
      "message": "feat(config): Allow passing a custom list of crate names\n"
    },
    {
      "commit": "5049bca7190d875598766790c0642eb0a71751d8",
      "tree": "6b3e6fb665868e51c9b8772d9caf2fa12d30fb97",
      "parents": [
        "f9ee91d8b64102340d9997ef889095616fcb06fb"
      ],
      "author": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 13:14:04 2026 +0100"
      },
      "committer": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 14:02:48 2026 +0100"
      },
      "message": "test(config): Test for custom list of crate names\n"
    },
    {
      "commit": "f9ee91d8b64102340d9997ef889095616fcb06fb",
      "tree": "218fccf25ad1a0431b6e9b03763f92f2f028b847",
      "parents": [
        "e8be3c8502441556645dc6e8833de26402139641"
      ],
      "author": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 13:37:38 2026 +0100"
      },
      "committer": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 14:01:29 2026 +0100"
      },
      "message": "test(config): Reject invalid values for build-std.crates\n"
    },
    {
      "commit": "e8be3c8502441556645dc6e8833de26402139641",
      "tree": "4babc18554b61bb75b8b6df44508536562abb712",
      "parents": [
        "66707f745138d56e47b23a4fcf8640a02be8173c"
      ],
      "author": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Fri Oct 16 17:16:21 2026 +0100"
      },
      "committer": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 14:01:24 2026 +0100"
      },
      "message": "feat(config): Add build.build-std.crates config key\n"
    },
    {
      "commit": "66707f745138d56e47b23a4fcf8640a02be8173c",
      "tree": "d0d9f16afc9e23992b2ae6bae6ed2f92822ddc5f",
      "parents": [
        "79ae2b42dd8ce434e974729739d50fb4fe19c865"
      ],
      "author": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Fri Oct 16 17:13:18 2026 +0100"
      },
      "committer": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 14:00:15 2026 +0100"
      },
      "message": "test(config): Test build-std.crates config key\n"
    },
    {
      "commit": "79ae2b42dd8ce434e974729739d50fb4fe19c865",
      "tree": "2838c5fce6eea9df8ed01fc671cdb2404cf79e9a",
      "parents": [
        "a1b91b61853f6de8abcaa0d7e116303f3ee1e565"
      ],
      "author": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 13:27:59 2026 +0100"
      },
      "committer": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 13:52:36 2026 +0100"
      },
      "message": "test(config): Reject invalid strings for build-std.when\n"
    },
    {
      "commit": "a1b91b61853f6de8abcaa0d7e116303f3ee1e565",
      "tree": "75203f30beae85305e55375319e6179a6a5da582",
      "parents": [
        "894246ded5bece6ca6bcda51d0e712dce8358da4"
      ],
      "author": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Fri Oct 16 16:07:03 2026 +0100"
      },
      "committer": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 13:52:36 2026 +0100"
      },
      "message": "feat(config): Add build.build-std.when config field\n"
    },
    {
      "commit": "894246ded5bece6ca6bcda51d0e712dce8358da4",
      "tree": "cb8e86dae0ccab77fbcf5db4b107845fd2fb8fe6",
      "parents": [
        "3022244f7ba6d509b2db1fc65900f4bdda1d52a9"
      ],
      "author": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Fri Oct 16 15:54:34 2026 +0100"
      },
      "committer": {
        "name": "Adam Gemmell",
        "email": "adam.gemmell@arm.com",
        "time": "Mon Oct 19 13:52:31 2026 +0100"
      },
      "message": "test(config): Add build.build-std.when config option\n"
    },
    {
      "commit": "b3c03d3ffd43338d2eef54c7dd1a5a8afa1a53ec",
      "tree": "697ca89a0b502bc379cd71b30db1e38de5352259",
      "parents": [
        "b334c175c6153b1f62bfdad7cb0702737a238902"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 20:58:57 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 20:58:57 2026 -0500"
      },
      "message": "refactor(config): Update names for new organization\n"
    },
    {
      "commit": "b334c175c6153b1f62bfdad7cb0702737a238902",
      "tree": "1671aa9a979fe0828a49488bb4f8964dcb98b537",
      "parents": [
        "8a64aa90e179e244a95012cff93413678358810d"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 20:53:48 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 20:53:48 2026 -0500"
      },
      "message": "refactor(config): Move rest of loading to ConfigValues\n"
    },
    {
      "commit": "8a64aa90e179e244a95012cff93413678358810d",
      "tree": "43fa4f27ebc9aeb60044ee9799ee8c445274acca",
      "parents": [
        "f4a3ddba07d7213d779572e3c0034c49f46fc419"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 20:01:56 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 20:37:16 2026 -0500"
      },
      "message": "refactor(config): Represent the CLI as a Config\n"
    },
    {
      "commit": "f4a3ddba07d7213d779572e3c0034c49f46fc419",
      "tree": "e2b3c0e24fd9c60ba02ac73a9238998109c9efa6",
      "parents": [
        "ed4f746647595fadab41b637d0dd0defc7c4efb4"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 19:54:54 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 20:37:15 2026 -0500"
      },
      "message": "refactor(config): Rename functions to better communicate config is loaded"
    },
    {
      "commit": "ed4f746647595fadab41b637d0dd0defc7c4efb4",
      "tree": "1d135067fe70fa77bd96e5a61613cf065b8b6867",
      "parents": [
        "b6d145467f18afc615be89f6c3b0891341d364e6"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 19:54:07 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 20:37:15 2026 -0500"
      },
      "message": "refactor(config): Load a config directly\n"
    },
    {
      "commit": "b6d145467f18afc615be89f6c3b0891341d364e6",
      "tree": "c7004d53bcd6dddf14bd67b8a2ef2327a4a73b41",
      "parents": [
        "16f0d1e84adb0aaa7ecbfa3cb6adb8a858282c84"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 20:36:11 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 20:36:11 2026 -0500"
      },
      "message": "refactor(config): Clean up layer merging\n"
    },
    {
      "commit": "16f0d1e84adb0aaa7ecbfa3cb6adb8a858282c84",
      "tree": "883a17f7d3234097dc5644e80fbc6ef081498734",
      "parents": [
        "efeaf7b58a0e3052e8f18f5fb66a855648b245b7"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 11:34:33 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Oct 17 11:34:33 2026 -0500"
      },
      "message": "refactor(config): Add layer merging to the config api\n"
    },
    {
      "commit": "3022244f7ba6d509b2db1fc65900f4bdda1d52a9",
      "tree": "38ab30b37a98f0a452bdb33ba61e6b4a561722af",
      "parents": [
        "cf423f68a8c95c5b4c5e97470d706af7e6c19b17",
        "32855785a04ba767735be2774379f8db6126508b"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Sat Oct 17 11:57:21 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 11:57:21 2026 +0000"
      },
      "message": "fix(config): Apply dotted tuple support for rustflags (#17594)\n\nThe fallback introduced with #17536 didn\u0027t cover rustflags yet.\n\n### What does this PR try to resolve?\n\nCloses #17593\n"
    },
    {
      "commit": "cf423f68a8c95c5b4c5e97470d706af7e6c19b17",
      "tree": "60e4f6baa70cfc1d54fa4feeb2f76947f3ca4f76",
      "parents": [
        "70fe93bacce9ced1db28c813a307a309840cc415",
        "c8021adb1681abd8e0fc28e6af90b9aee3ff073a"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Sat Oct 17 11:50:22 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Oct 17 11:50:22 2026 +0000"
      },
      "message": "Feat: Shell completion show all the packages having the feature (#17574)\n\n*[View all\ncomments](https://triagebot.infra.rust-lang.org/gh-comments/rust-lang/cargo/pull/17574)*\n\n### What does this PR try to resolve?\n closes #17448\n\u003cimg width\u003d\"1883\" height\u003d\"278\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/95c37df8-6198-4dcc-a292-962ca9e035a8\"\n/\u003e\ndedupe from fish removes one of package entry of `unstable`\n**Solution:**\nIf a feature is present in multiple crates, combine them into one entry\nlike this\n```\nfoo    -- from crate_a, crate_b\n```\nTo do this instead of having a `Vec\u003c(feature, package name)\u003e` we now use\n`Map\u003cfeature, Vec\u003cpackage name\u003e\u003e` (Used `IndexMap` to make tests\nreliable and reproducible)\n\n### How to test and review this PR?\n\nRun `cargo test --test testsuite -- complete`\n\nSee it in action (I use fish shell)\n```\n~/Projects/cargo duplicate\n❯ RUSTC_BOOTSTRAP\u003d1 CARGO_COMPLETE\u003dfish ./target/debug/cargo -- cargo check --features \"\"\n\nunstable        from build-rs, build-rs-test-lib\nunstable-schema from cargo-util-schemas\nall-static      from cargo\ndefault from cargo\nhttp-transport-curl     from cargo\nhttp-transport-reqwest  from cargo\nopenssl from cargo\nopenssl-src     from cargo\nvendored-libgit2        from cargo\nvendored-openssl        from cargo\n```\n\u003cimg width\u003d\"1620\" height\u003d\"302\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/93751436-7c15-48ce-b6b3-8e0a0cfe5b09\"\n/\u003e\n\nLLM disclosure: Used LLMs to know how to bypass fish shell default\ncompletion and use our cargo completion.\n"
    },
    {
      "commit": "32855785a04ba767735be2774379f8db6126508b",
      "tree": "deb9297b73079bdd3e3e7af46cb5328b6e5f68e7",
      "parents": [
        "1e41b00bfa0a0e77d49c60dc27e271eed25d041b"
      ],
      "author": {
        "name": "Jan Niehusmann",
        "email": "jan@gondor.com",
        "time": "Thu Oct 15 11:48:49 2026 +0000"
      },
      "committer": {
        "name": "Jan Niehusmann",
        "email": "jan@gondor.com",
        "time": "Sat Oct 17 11:21:13 2026 +0000"
      },
      "message": "fix(config): Apply dotted tuple support for rustflags\n\nThe fallback introduced with #17536 didn\u0027t cover rustflags yet.\n"
    },
    {
      "commit": "1e41b00bfa0a0e77d49c60dc27e271eed25d041b",
      "tree": "8789dcd9f11f5b7f574999b975054acfd7d67b1e",
      "parents": [
        "01b026f0a6119442b1104b7eec298da835b22d5b"
      ],
      "author": {
        "name": "Jan Niehusmann",
        "email": "jan@gondor.com",
        "time": "Sat Oct 17 10:39:33 2026 +0000"
      },
      "committer": {
        "name": "Jan Niehusmann",
        "email": "jan@gondor.com",
        "time": "Sat Oct 17 11:00:15 2026 +0000"
      },
      "message": "test(config): Show rustflags are not applied for targets containing dots\n\nNote that the actual test output and error code depend on whether\nthe `thumbv8m.main-none-eabihf` target is installed. So as-is this\nis not a good test case.\n\nHowever, the correct behavior is be to fail with\n\"[ERROR] unknown unstable option: `bogus`\". So this test case will\nbe replaced with the next commit anyway.\n"
    }
  ],
  "next": "efeaf7b58a0e3052e8f18f5fb66a855648b245b7"
}
