)]}'
{
  "log": [
    {
      "commit": "fc06365c652a3e422a91eea3561373aa18d9a1cc",
      "tree": "8ccb22a1d4a7d32f17f4fb226edaedeeb505eb10",
      "parents": [
        "a94c6c9d30a1f6aa8c6e8d6b261d77530cf7f85e",
        "62ed162805403e5c1d8091738deb57a5277d52b7"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Fri Jun 12 18:51:20 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 18:51:20 2026 +0000"
      },
      "message": "refactor: remove cargo-util-terminal from bump-check exclusions (#17098)\n\nhttps://crates.io/crates/cargo-util-terminal is already published.\n"
    },
    {
      "commit": "a94c6c9d30a1f6aa8c6e8d6b261d77530cf7f85e",
      "tree": "489e6b1ed62dd5ab9ac429518bbd499e5517f165",
      "parents": [
        "fe63976b245b8a649c3f2949bf89fdc307bfbae4",
        "2a06b573f86a380747ca6abf1a432bf547f84797"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Fri Jun 12 17:31:24 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 12 17:31:24 2026 +0000"
      },
      "message": "fix(diag): Report all errors, in order (#17095)\n\n### What does this PR try to resolve?\n\nThis makes the two existing passes more consistent.\nThe downside is that if there is an error, that might not be the final\nmessage.\nThis is already the case with `--keep-going` (see [#t-cargo \u003e\n\u0026#96;--keep-going\u0026#96; and compilation errors @\n💬](https://rust-lang.zulipchat.com/#narrow/channel/246057-t-cargo/topic/.60--keep-going.60.20and.20compilation.20errors/near/595741468)).\n\nWe may want to iterate on this further and stop after the current\nmanifest/package unless `--keep-going` is provided.\n\n### How to test and review this PR?\n"
    },
    {
      "commit": "62ed162805403e5c1d8091738deb57a5277d52b7",
      "tree": "2eaf14a2c0f1047645d5e3a1678b67854f51cb4f",
      "parents": [
        "fe63976b245b8a649c3f2949bf89fdc307bfbae4"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Jun 12 12:38:53 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Jun 12 12:39:58 2026 -0400"
      },
      "message": "refactor: remove cargo-util-terminal from bump-check exclusions\n\nIt now has a published release to baseline against, so it no longer\nneeds to be skipped. Document the purpose of `crates_not_checked`.\n"
    },
    {
      "commit": "2a06b573f86a380747ca6abf1a432bf547f84797",
      "tree": "489e6b1ed62dd5ab9ac429518bbd499e5517f165",
      "parents": [
        "e5d4531d85017eff8fcd368ac27a83eb8d4f769f"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Thu Jun 11 15:15:19 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Thu Jun 11 21:21:08 2026 -0500"
      },
      "message": "fix(diag): Report all errors, in order\n\nThis makes the two existing passes more consistent.\nThe downside is that if there is an error, that might not be the final\nmessage.\nThis is the case with `--keep-going` (see https://rust-lang.zulipchat.com/#narrow/channel/246057-t-cargo/topic/.60--keep-going.60.20and.20compilation.20errors/near/595741468).\n\nWe may want to iterate on this further and make stop after the current\nmanifest/package unless `--keep-going` is provided."
    },
    {
      "commit": "e5d4531d85017eff8fcd368ac27a83eb8d4f769f",
      "tree": "7a7c2d5afebe804fa650fbfdfdb6c61fdcdff117",
      "parents": [
        "c99d8bb2bc2cd7cc50b2c594c183fd01e854883a"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Thu Jun 11 15:06:46 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Thu Jun 11 21:21:07 2026 -0500"
      },
      "message": "refactor(diag): Split stats into scoped and global\n"
    },
    {
      "commit": "c99d8bb2bc2cd7cc50b2c594c183fd01e854883a",
      "tree": "6d8a70b602cf683a5fd5819c5fb31a24909c7eb1",
      "parents": [
        "fe63976b245b8a649c3f2949bf89fdc307bfbae4"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Thu Jun 11 14:56:30 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Thu Jun 11 14:56:30 2026 -0500"
      },
      "message": "refactor(diag): Be more specific in stats tracked\n"
    },
    {
      "commit": "fe63976b245b8a649c3f2949bf89fdc307bfbae4",
      "tree": "be2ff8ef00d3c23b1ab7e4e806ac2986a5dd8b23",
      "parents": [
        "d96bca107a55b7b83b73ed8e49c28a6a32f135ce",
        "8fa6e6ff8f10dd897925d150530d75fe2f47611e"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Thu Jun 11 09:17:57 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 09:17:57 2026 +0000"
      },
      "message": "refactor: reduce use `Summary::{as_summary,into_summary}` (#17092)\n\n### What does this PR try to resolve?\n\n`Summary::{as_summary,into_summary}` are easy to misuse.\n\n* Removed `into_summary` as it has only one caller.\n* Changed the visibility of `as_summary` and renamed it to\n`as_summary_unchecked`.\n\nThis is a follow-up of https://github.com/rust-lang/cargo/pull/17083\n\n### How to test and review this PR?\n"
    },
    {
      "commit": "d96bca107a55b7b83b73ed8e49c28a6a32f135ce",
      "tree": "4a0574be879d00c89aa0cad4ccf4df3144da7d9c",
      "parents": [
        "605f661c9fefcd6d34ec3609399d9be9e16f630c",
        "fdd4441eaaece34318b834f93a07f00930436c86"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Thu Jun 11 04:24:10 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 04:24:10 2026 +0000"
      },
      "message": "docs(diag): Provide jumping off points for writing diagnostics and passes (#17090)\n\n### What does this PR try to resolve?\n\nThis delegates a lot of implementation details to the parse pass API,\nthe parse pass as an example, existing rules as examples, and tests for\nstyle enforcement.\n\nThis is part of #12235\n\n### How to test and review this PR?\n\nI expect we\u0027ll iterate on this as we get more contributions\n"
    },
    {
      "commit": "8fa6e6ff8f10dd897925d150530d75fe2f47611e",
      "tree": "7164b2fbc698828dc9de5fef3e83ade4a96ff246",
      "parents": [
        "4cd8d37b1da529f66b90f7646f54802083183ab4"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Wed Jun 10 21:36:43 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Wed Jun 10 22:38:05 2026 -0400"
      },
      "message": "refactor: rename `as_summary` to `as_summary_unchecked`\n\nAlso reduce the visibility to avoid misuse.\n"
    },
    {
      "commit": "4cd8d37b1da529f66b90f7646f54802083183ab4",
      "tree": "461ab3eee5290e9c7f54c0754a88be5b6433726e",
      "parents": [
        "1d74820061bc5f7184e4b5e60edf10d3efa4be3f"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Wed Jun 10 21:36:43 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Wed Jun 10 22:38:04 2026 -0400"
      },
      "message": "refactor: impl Hash for IndexSummary\n\nso that it can be stored in hash map in overlay source dedup\n"
    },
    {
      "commit": "1d74820061bc5f7184e4b5e60edf10d3efa4be3f",
      "tree": "35f81a15a932fb4d7cc43b6f99abb228e4008b7e",
      "parents": [
        "88c25f0c32eb695e47624947abe85528e47a6650"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Wed Jun 10 21:36:43 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Wed Jun 10 22:38:04 2026 -0400"
      },
      "message": "refactor: reduce the use of `as_summary`\n"
    },
    {
      "commit": "88c25f0c32eb695e47624947abe85528e47a6650",
      "tree": "e58045ddc563d82792107124538c91302de76aba",
      "parents": [
        "605f661c9fefcd6d34ec3609399d9be9e16f630c"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Wed Jun 10 20:36:06 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Wed Jun 10 22:38:03 2026 -0400"
      },
      "message": "refactor(registry): remove into_summary to avoid misuse\n\nWe want caller to be aware of all variants hence so.\n"
    },
    {
      "commit": "605f661c9fefcd6d34ec3609399d9be9e16f630c",
      "tree": "ec747a502ed65a192e5fed9d5cb8b27405fce634",
      "parents": [
        "3fd89878add62c1373f6b128cd61589e397efca0",
        "af27c5acb4d1ebcafd849250cccfd94fc0893e70"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Thu Jun 11 00:17:02 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 11 00:17:02 2026 +0000"
      },
      "message": "refactor(source): drop `Source::is_yanked` (#17091)\n\n### What does this PR try to resolve?\n\n`cargo_package::check_yanked` is the only external caller.\nReplace it with a direct `Source::query` instead\nsince we want `Source` to be yanked-naive.\n\nThis is an follow-up of https://github.com/rust-lang/cargo/pull/17083\n\n### How to test and review this PR?\n"
    },
    {
      "commit": "af27c5acb4d1ebcafd849250cccfd94fc0893e70",
      "tree": "ec747a502ed65a192e5fed9d5cb8b27405fce634",
      "parents": [
        "8df4f8bebd2da7760aef5e5a3238d4447dc1c627"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sun Jun 07 14:44:49 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Wed Jun 10 19:35:50 2026 -0400"
      },
      "message": "fix(install): rustc-style yanked-package warning\n"
    },
    {
      "commit": "8df4f8bebd2da7760aef5e5a3238d4447dc1c627",
      "tree": "8bcae8fdfcc37f0af42985cd61095321d8de7267",
      "parents": [
        "6c3a6578b5a6a83beece4e12ca4f5d95c6e91639"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sun Jun 07 10:29:25 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Wed Jun 10 18:48:42 2026 -0400"
      },
      "message": "refactor(source): drop `is_yanked`\n\n`cargo_package::check_yanked` is the only external caller.\nReplace it with a direct `Source::query` instead.\n"
    },
    {
      "commit": "6c3a6578b5a6a83beece4e12ca4f5d95c6e91639",
      "tree": "4542b9078dafc1cb2a268bd7531d87920aaf748c",
      "parents": [
        "3fd89878add62c1373f6b128cd61589e397efca0"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sun Jun 07 11:03:33 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Wed Jun 10 18:48:41 2026 -0400"
      },
      "message": "test(install): ensure yank hint not fire extra query\n"
    },
    {
      "commit": "fdd4441eaaece34318b834f93a07f00930436c86",
      "tree": "d524f5cee1ce6399c2cf85b5f651a4444ce796b3",
      "parents": [
        "3ddc827746fd73532741394f9395738c21acfdbe"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed Jun 10 17:33:59 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed Jun 10 17:33:59 2026 -0500"
      },
      "message": "docs(diag): Provide jumping off points for writing diagnostics and passes\n\nThis delegates a lot of implementation details to the parse pass API, the parse\npass as an example, existing rules as examples, and tests for style\nenforcement.\n\nThis is part of #12235"
    },
    {
      "commit": "3fd89878add62c1373f6b128cd61589e397efca0",
      "tree": "9c095ea532cd3e36608ba7b9b667507538e10a93",
      "parents": [
        "b50aa179d3d1099b53548bc8693dd17ddd019ab4",
        "9041c48a66834aacb476309a7c0486a9d1ffa701"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed Jun 10 20:59:52 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 20:59:52 2026 +0000"
      },
      "message": "refactor(resolver): move yank policy to resolver layer  (#17083)\n\n### What does this PR try to resolve?\n\nThis PR moves move yank policy to resolver layer from source layer.\n\nWe mostly preserve the old `Source::query` behavior that filter out\nyanked by default.\n\nThe yanking policy logic doesn\u0027t go into `VersionPreferences` or\n`sort_summaries` yet because\n\n* We want to minimize the refactor change. Changing the order of query\nand filter may change existing diagnostics\n* `[replace]` resolution should not see yanked candidates either\n* A future `VersionPreferences` predicate may still need to be invoked\nat this same point.\n\ncc https://github.com/rust-lang/cargo/pull/17012,\nhttps://github.com/rust-lang/cargo/pull/17014#issuecomment-4489862200\n\n### How to test and review this PR?\n\nThree tests are added to pin down more existing tests, along with\nrust-lang/cargo#17082\n\nHere is the list of all call site I audit:\n\n| Call site | Yanked versions handling |\n| --------- | ------------------------ |\n| [`core/resolver/dep_cache.rs`\n`query`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/resolver/dep_cache.rs#L64)\n| Filter |\n| [`core/resolver/dep_cache.rs` `[replace]`\noverride](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/resolver/dep_cache.rs#L91)\n| Filter |\n| [`core/registry.rs` `patch`\ncollection](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/registry.rs#L383)\n| Filter |\n| [`core/registry.rs`\n`query_overrides`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/registry.rs#L553)\n| Filter |\n| [`core/registry.rs` `summary_for_patch`\nunlocked-retry](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/registry.rs#L965)\n| Filter |\n| [`core/registry.rs` `summary_for_patch` name-only\ndiagnostic](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/registry.rs#L998)\n| Filter |\n| [`core/resolver/errors.rs`\n`alt_versions`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/resolver/errors.rs#L432)\n| Filter |\n| [`core/resolver/errors.rs`\n`rejected_versions`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/resolver/errors.rs#L450)\n| Keep |\n| [`core/resolver/errors.rs`\n`alt_names`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/resolver/errors.rs#L469)\n| Keep |\n| [`ops/common_for_install_and_uninstall.rs` `select_dep_pkg`\n(x2)](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/common_for_install_and_uninstall.rs#L611)\n| Filter |\n| [`ops/cargo_update.rs`\n`upgrade_dependency`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/cargo_update.rs#L373)\n| Filter |\n| [`ops/cargo_update.rs` `report_latest`\n(x4)](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/cargo_update.rs#L791)\n| Filter |\n| [`ops/cargo_add/mod.rs`\n`get_latest_dependency`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/cargo_add/mod.rs#L823)\n| Filter |\n| [`ops/cargo_add/mod.rs`\n`select_package`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/cargo_add/mod.rs#L952)\n| Filter |\n| [`ops/cargo_add/mod.rs`\n`populate_available_features`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/cargo_add/mod.rs#L1180)\n| Filter |\n| [`ops/registry/info/mod.rs`\n`query_summaries`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/registry/info/mod.rs#L215)\n| Filter |\n| [`ops/registry/publish.rs`\n`poll_one_package`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/registry/publish.rs#L439)\n| Filter |\n| [`ops/registry/publish.rs`\n`verify_unpublished`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/registry/publish.rs#L451)\n| Filter |\n| [`core/compiler/future_incompat.rs`\n`get_updates`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/compiler/future_incompat.rs#L334)\n| Filter |\n| [`crates/xtask-bump-check/src/xtask.rs`\n`check`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/crates/xtask-bump-check/src/xtask.rs#L448)\n| Filter |\n"
    },
    {
      "commit": "9041c48a66834aacb476309a7c0486a9d1ffa701",
      "tree": "ad399b0852cd9df6854a6b68b537b2ad7a7c94a6",
      "parents": [
        "2adb4a816abed2420929e19da99ae929c89c225f"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Jun 09 19:53:27 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Jun 09 23:52:23 2026 -0400"
      },
      "message": "fix(publish): bail when target version exists but yanked\n"
    },
    {
      "commit": "2adb4a816abed2420929e19da99ae929c89c225f",
      "tree": "4ff8b04a0895ddeb4330ccfc74389bb6a73e0e75",
      "parents": [
        "111b5c2b40948407c56f624a8e516577c7830a4c"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Jun 06 12:50:00 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Jun 09 23:52:23 2026 -0400"
      },
      "message": "fix(install): better error when pkg is yanked\n"
    },
    {
      "commit": "111b5c2b40948407c56f624a8e516577c7830a4c",
      "tree": "c7433933722596be21fe7800549547cbca7c5fa9",
      "parents": [
        "9bc7940b9bce53421750c2aa123c8a6f9f2164df"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Jun 06 12:50:00 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Jun 09 23:52:23 2026 -0400"
      },
      "message": "refactor(resolver): move yank policy to resolver layer\n\nSince this is a refactor, \nwe preserve the old `Source::query` behavior that filter out yanked by\ndefault. Some queries actually can live without filter to get better\ndiagnostics, though those will be in follow-up fixes.\n\nHere is the list of all call site I audit:\n\n| Call site | Yanked versions handling |\n| --------- | ------------------------ |\n| [`core/resolver/dep_cache.rs` `query`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/resolver/dep_cache.rs#L64) | Filter |\n| [`core/resolver/dep_cache.rs` `[replace]` override](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/resolver/dep_cache.rs#L91) | Filter |\n| [`core/registry.rs` `patch` collection](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/registry.rs#L383) | Filter |\n| [`core/registry.rs` `query_overrides`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/registry.rs#L553) | Filter |\n| [`core/registry.rs` `summary_for_patch` unlocked-retry](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/registry.rs#L965) | Filter |\n| [`core/registry.rs` `summary_for_patch` name-only diagnostic](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/registry.rs#L998) | Filter |\n| [`core/resolver/errors.rs` `alt_versions`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/resolver/errors.rs#L432) | Filter |\n| [`core/resolver/errors.rs` `rejected_versions`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/resolver/errors.rs#L450) | Keep |\n| [`core/resolver/errors.rs` `alt_names`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/resolver/errors.rs#L469) | Keep |\n| [`ops/common_for_install_and_uninstall.rs` `select_dep_pkg` (x2)](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/common_for_install_and_uninstall.rs#L611) | Filter |\n| [`ops/cargo_update.rs` `upgrade_dependency`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/cargo_update.rs#L373) | Filter |\n| [`ops/cargo_update.rs` `report_latest` (x4)](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/cargo_update.rs#L791) | Filter |\n| [`ops/cargo_add/mod.rs` `get_latest_dependency`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/cargo_add/mod.rs#L823) | Filter |\n| [`ops/cargo_add/mod.rs` `select_package`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/cargo_add/mod.rs#L952) | Filter |\n| [`ops/cargo_add/mod.rs` `populate_available_features`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/cargo_add/mod.rs#L1180) | Filter |\n| [`ops/registry/info/mod.rs` `query_summaries`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/registry/info/mod.rs#L215) | Filter |\n| [`ops/registry/publish.rs` `poll_one_package`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/registry/publish.rs#L439) | Filter |\n| [`ops/registry/publish.rs` `verify_unpublished`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/ops/registry/publish.rs#L451) | Filter |\n| [`core/compiler/future_incompat.rs` `get_updates`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/src/cargo/core/compiler/future_incompat.rs#L334) | Filter |\n| [`crates/xtask-bump-check/src/xtask.rs` `check`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/crates/xtask-bump-check/src/xtask.rs#L448) | Filter |\n\nThis doesn\u0027t go into `VersionPreferences` or `sort_summaries` yet because\n\n* We want to minimize the refactor change. Changing the order of\n  query and filter may change lots of diagnostics\n* `[replace]` resolution should not see yanked candidates either\n* A future `VersionPreferences` predicate may still need to be invoked\n  at this same point.\n"
    },
    {
      "commit": "9bc7940b9bce53421750c2aa123c8a6f9f2164df",
      "tree": "9350d13a0d19bc5a99bc05e4421bb56129f66526",
      "parents": [
        "89a5dfc16b8623dde2b89dbd2fdab1e7ee9bcd33"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Jun 06 12:50:00 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Tue Jun 09 23:46:04 2026 -0400"
      },
      "message": "refactor(resolver): extract `should_prefer` function\n"
    },
    {
      "commit": "b50aa179d3d1099b53548bc8693dd17ddd019ab4",
      "tree": "fe933f053f6bdd3a80e9cc6f104efb169a30db28",
      "parents": [
        "3ddc827746fd73532741394f9395738c21acfdbe",
        "ae3b65ddaeefa2cb8a51b2fc544b936e264dcb78"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed Jun 10 00:59:00 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Jun 10 00:59:00 2026 +0000"
      },
      "message": "fix(publish): avoid false deadlock when to_confirm is non-empty (#17071)\n\nFixes #17028\n\nPR #16722 introduced a check that fires an internal error when `ready`\nis empty inside the publish loop. It fired even when packages were still\nlegitimately waiting for registry confirmation in `to_confirm`, causing\nvalid workspace publishes to fail with a false deadlock error. A true\ndeadlock only exists when both `ready` and `to_confirm` are empty.\n"
    },
    {
      "commit": "3ddc827746fd73532741394f9395738c21acfdbe",
      "tree": "57cd95f5ca423076cecca39b09b7187e8c156f25",
      "parents": [
        "0140b9b8fa7ac2f965c1cfd7688c31560f3276a4",
        "8dbdb50a26af4f546b01e566034e220ab80e8ae9"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Tue Jun 09 18:26:18 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Jun 09 18:26:18 2026 +0000"
      },
      "message": "doc(guide): use fresh actions/checkout version in GH actions examples (#17087)\n\n### What does this PR try to resolve?\n\nUpdate `actions/checkout` version to the actual one in examples of\nGitHub actions code\n\n### How to test and review this PR?\n\nCheck actual action version https://github.com/actions/checkout/tags\n"
    },
    {
      "commit": "8dbdb50a26af4f546b01e566034e220ab80e8ae9",
      "tree": "57cd95f5ca423076cecca39b09b7187e8c156f25",
      "parents": [
        "0140b9b8fa7ac2f965c1cfd7688c31560f3276a4"
      ],
      "author": {
        "name": "Dmitry Marakasov",
        "email": "amdmi3@amdmi3.ru",
        "time": "Tue Jun 09 19:17:32 2026 +0300"
      },
      "committer": {
        "name": "Dmitry Marakasov",
        "email": "amdmi3@amdmi3.ru",
        "time": "Tue Jun 09 19:17:32 2026 +0300"
      },
      "message": "doc(guide): use fresh actions/checkout version in GH actions examples\n"
    },
    {
      "commit": "ae3b65ddaeefa2cb8a51b2fc544b936e264dcb78",
      "tree": "2c907733ebe30a5a6bdc4be54fd1921a7619915e",
      "parents": [
        "340af81a2f6cc8f0905577e8af8af10d66bfdf1a"
      ],
      "author": {
        "name": "Raushan kumar",
        "email": "raushansinghrajpoot687@gmail.com",
        "time": "Sun Jun 07 05:16:39 2026 +0000"
      },
      "committer": {
        "name": "Raushan kumar",
        "email": "raushansinghrajpoot687@gmail.com",
        "time": "Tue Jun 09 14:04:02 2026 +0000"
      },
      "message": "fix(publish): avoid false deadlock when to_confirm is non-empty\n"
    },
    {
      "commit": "340af81a2f6cc8f0905577e8af8af10d66bfdf1a",
      "tree": "a8650bb97af60a685e8ba585efd82590650dd5b1",
      "parents": [
        "0140b9b8fa7ac2f965c1cfd7688c31560f3276a4"
      ],
      "author": {
        "name": "Raushan kumar",
        "email": "raushansinghrajpoot687@gmail.com",
        "time": "Sun Jun 07 05:08:06 2026 +0000"
      },
      "committer": {
        "name": "Raushan kumar",
        "email": "raushansinghrajpoot687@gmail.com",
        "time": "Tue Jun 09 14:03:47 2026 +0000"
      },
      "message": "test(publish): add regression test for false deadlock in workspace publish\n"
    },
    {
      "commit": "0140b9b8fa7ac2f965c1cfd7688c31560f3276a4",
      "tree": "6abf66ff026e00f126ed2d05e95a59e3433bbf54",
      "parents": [
        "8dc563b42d53e51c357457ac7fd87845962abb8a",
        "62a0c3a02475b40f6455efdd21c8477736a18d33"
      ],
      "author": {
        "name": "Arlo Siemsen",
        "email": "arkixml@gmail.com",
        "time": "Mon Jun 08 19:46:00 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 08 19:46:00 2026 +0000"
      },
      "message": "fix: strip CR from `cargo:token-from-stdout` (#17081)\n\n### What does this PR try to resolve?\n\nHelpers on Windows commonly emit a token terminated by `\\r\\n`.\nThe adaptor only strips `\\n` and leaves leaving a trailing `\\r`.\nIn 1.96 the registry network refactor started using `http::HeaderValue`,\nand it rejects trailing `\\r` when constructing the request.\nSo, users see a confusing \"failed to parse header value\" message.\nThey are stuck and cannot send the request.\n\nThis fix simply trims trailing `\\r` after trimming `\\n`.\n\nI have no idea how AWS CodeArtifact works with trailing `\\r` before.\nPerhaps it trims those as well.\n\nFixes rust-lang/cargo#14073\nFixes rust-lang/cargo#17072\n\n### How to test and review this PR?\n\nOne regression test is added.\n\nAlso, before \u003chttps://github.com/rust-lang/cargo/pull/16745\u003e Cargo\nconstructed request as-is and didn\u0027t reject invalid headers (and libcurl\ndoesn\u0027t seem to check it?). Since `http::HeaderValue` started doing a\nstricter validation, probably we should take the advantage and apply\n[`check_token`](https://github.com/rust-lang/cargo/blob/71b70c095bb15e278ab9f0f808397c8033079888/crates/crates-io/lib.rs?plain\u003d1#L496-L516)\nto all alternate registries?\n"
    },
    {
      "commit": "89a5dfc16b8623dde2b89dbd2fdab1e7ee9bcd33",
      "tree": "4d16e16054d07a6589c33a33af1c4586a72104a7",
      "parents": [
        "7bb68a2a2361d046d8b2c82afa18ae64de6770f9"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sun Jun 07 08:53:00 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sun Jun 07 11:02:51 2026 -0400"
      },
      "message": "test(replace): `[replace]` override path against yanked\n"
    },
    {
      "commit": "7bb68a2a2361d046d8b2c82afa18ae64de6770f9",
      "tree": "47be57ec9e4e31e39d2d87c05be1170af3ea216d",
      "parents": [
        "cc50bcd491ca00231e6ed9f18dc0dc6f137660e0"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sun Jun 07 01:03:51 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sun Jun 07 11:02:50 2026 -0400"
      },
      "message": "test(publish): duplicate-version check skips yanked versions\n"
    },
    {
      "commit": "cc50bcd491ca00231e6ed9f18dc0dc6f137660e0",
      "tree": "bf7408cee7fd58bdc9b5af8b783375d6238e107b",
      "parents": [
        "8dc563b42d53e51c357457ac7fd87845962abb8a"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Jun 06 23:51:48 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sun Jun 07 09:08:56 2026 -0400"
      },
      "message": "test(install): show yanked-only install error messages\n\nError message is not helpful here because `source::query` has filtered\nout yanked versions. Later install didn\u0027t know how to recover from that.\nOnly exact requirement has informative error message.\n\nThis will be improved when moving yanked version handling to resolver\n"
    },
    {
      "commit": "8dc563b42d53e51c357457ac7fd87845962abb8a",
      "tree": "fa915f31e91310773b999b51d5d84c3161c995b3",
      "parents": [
        "28e7f9916dc5f9d54d0b99c3596c369429f9a62c",
        "9df81ada613f2b98825e64c8188e2527ede31d61"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sun Jun 07 01:34:11 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Jun 07 01:34:11 2026 +0000"
      },
      "message": "test: show some odd `--precise` cases (#17082)\n\n### What does this PR try to resolve?\n\nUnsure if these cases show the intended behavior or bugs\nThis PR just pins down today\u0027s behavior.\n\n(And yeah we don\u0027t like `--precise` 😬)\n\n\u003csup\u003eThis was found during my experiment of moving yanked handling out\nfrom source query.\u003c/sup\u003e\n\n### How to test and review this PR?\n"
    },
    {
      "commit": "28e7f9916dc5f9d54d0b99c3596c369429f9a62c",
      "tree": "adcd2e7c8cccd97aeaecba91cb45e643d023d378",
      "parents": [
        "71b70c095bb15e278ab9f0f808397c8033079888",
        "22e71a160aa3427e6ac3944d4b8c8fad55cbd358"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat Jun 06 23:04:15 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Jun 06 23:04:15 2026 +0000"
      },
      "message": "chore(deps): update rust crate gix to 0.84.0 (#17063)\n\nThis PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [gix](https://redirect.github.com/GitoxideLabs/gitoxide) |\nworkspace.dependencies | minor | `0.83.0` → `0.84.0` |\n\n---\n\n### Release Notes\n\n\u003cdetails\u003e\n\u003csummary\u003eGitoxideLabs/gitoxide (gix)\u003c/summary\u003e\n\n###\n[`v0.84.0`](https://redirect.github.com/GitoxideLabs/gitoxide/releases/tag/gix-v0.84.0):\ngix v0.84.0\n\n[Compare\nSource](https://redirect.github.com/GitoxideLabs/gitoxide/compare/gix-v0.83.0...gix-v0.84.0)\n\n##### New Features (BREAKING)\n\n- Allow checkouts of empty repositories\n  Also make turn `destination_must_be_empty` into `Option\u003cbool\u003e`\n\n##### New Features\n\n- Add `SHA-256` support for object-format parsing.\n\n##### Bug Fixes\n\n- Follow submodule gitdir files when opening and perform basic\nvalidation\nModern submodules store a .git file in the worktree whose gitdir: value\npoints\nat the repository to open. The previous resolver treated every\nnon-directory\n.git path like an uninitialized submodule and fell back to\n.git/modules/\u003cname\u003e,\nwhich can open the wrong repository after a submodule gitdir is\nrelocated or\nrenamed. That shows up as phantom submodule HEAD changes in gix status.\n\n  Git baseline: Git setup.c::read\\_gitfile\\_gently() parses gitdir:\n  files and resolves relative targets against the .git file location;\nsubmodule.c::submodule\\_to\\_gitdir() consults that gitfile before\nfalling back to\n  the name-derived .git/modules path.\n\nUpdate Submodule::git\\_dir\\_try\\_old\\_form() to validate the submodule\nname, then\nfollow worktree .git files when present while preserving the old-form\ndirectory\nand uninitialized fallback behavior. Validate present gitdir file\ntargets for\ndirect state/open/status queries so broken submodule checkouts are\nreported\n  if the gitlink doesn\u0027t point to a directory.\nFor status ignore\u003dall, still parse valid gitdir files to keep state\naccurate,\nbut skip target validation and fall back without error if the gitdir\nfile itself\nis malformed or unreadable. Derive State::is\\_old\\_form directly from\nwhether\nthe worktree .git path is a directory so a divergent modern gitlink is\nnot\n  misclassified as old form.\n- `Repository::is_dirty()` won\u0027t fail on unborn repositories\n\n##### Commit Statistics\n\n- 37 commits contributed to the release over the course of 28 calendar\ndays.\n- 28 days passed between releases.\n- 4 commits were understood as\n[conventional](https://www.conventionalcommits.org).\n- 2 unique issues were worked on: #,\n[#\u0026#8203;2585](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2585)\n\n##### Commit Details\n\n\u003ccsr-read-only-do-not-edit/\u003e\n\n\u003cdetails\u003e\u003csummary\u003eview details\u003c/summary\u003e\n\n- **#**\n- `Repository::is_dirty()` won\u0027t fail on unborn repositories\n([`1f82a9f`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/1f82a9f))\n-\n**[#\u0026#8203;2585](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2585)**\n- Follow submodule gitdir files when opening and perform basic\nvalidation\n([`82c483a`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/82c483a))\n- **Uncategorized**\n- Merge pull request\n[#\u0026#8203;2595](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2595)\nfrom cruessler/add-hex-to-id-sha1-only\n([`87433ed`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/87433ed))\n- Review\n([`f962ed1`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/f962ed1))\n- Add hex\\_to\\_id\\_sha1\\_only, use in SHA-1 only tests\n([`d80c534`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/d80c534))\n- Merge pull request\n[#\u0026#8203;2508](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2508)\nfrom j-walther/feat/allow-empty-dir\n([`9013c3f`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/9013c3f))\n- Review\n([`8606b7a`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/8606b7a))\n- Allow checkouts of empty repositories\n([`e75fbfa`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/e75fbfa))\n- Merge pull request\n[#\u0026#8203;2578](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2578)\nfrom cruessler/run-gix-tests-with-sha-256\n([`2d4a6f2`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/2d4a6f2))\n- Review\n([`31c2de3`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/31c2de3))\n- Return SHA-1 when there\u0027s no corresponding SHA-256\n([`b8510b2`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/b8510b2))\n- Feat! add `object_hash` to `gix::create::Options`\n([`b123b4c`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/b123b4c))\n- Merge pull request\n[#\u0026#8203;2588](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2588)\nfrom GitoxideLabs/fix/gix-status-phantom-submodule-modifications-2585\n([`db925ec`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/db925ec))\n- Merge pull request\n[#\u0026#8203;2589](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2589)\nfrom GitoxideLabs/fix-status-in-unborn-repo\n([`ba7d9a4`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/ba7d9a4))\n- Address auto-review\n([`5a37fbd`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/5a37fbd))\n- Add another test to learn what `is_dirty()` does when there are\nmodifications.\n([`3406b1d`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/3406b1d))\n- Merge pull request\n[#\u0026#8203;2581](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2581)\nfrom GitoxideLabs/improvements\n([`8af2691`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/8af2691))\n- Add `SHA-256` support for object-format parsing.\n([`011316e`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/011316e))\n- Merge pull request\n[#\u0026#8203;2583](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2583)\nfrom tisonkun/patch-1\n([`a791ea3`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/a791ea3))\n- Improve comment in object/commit.rs\n([`a8f7717`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/a8f7717))\n- Merge pull request\n[#\u0026#8203;2573](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2573)\nfrom cruessler/run-gix-traverse-tests-with-sha-256\n([`278d7ec`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/278d7ec))\n- Address auto-review\n([`0ec3bb7`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/0ec3bb7))\n- Cleanup the `justfile` and automate feature tests\n([`db7b97b`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/db7b97b))\n- Cleanup `sha1` feature in `gix` to just set what\u0027s needed.\n([`16a6fc4`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/16a6fc4))\n- Merge pull request\n[#\u0026#8203;2575](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2575)\nfrom SarthakB11/fix/issue-2316\n([`4743361`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/4743361))\n- Review\n([`1980190`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/1980190))\n- Document why each fixture archive is .gitignored\n([`e3d5a04`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/e3d5a04))\n- Merge pull request\n[#\u0026#8203;2568](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2568)\nfrom GitoxideLabs/dependabot/cargo/cargo-56d6b174d8\n([`ab2fee1`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/ab2fee1))\n- Update crates to Rust 2024 edition\n([`2cb17b2`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/2cb17b2))\n- Raise MSRV for hash dependency updates\n([`3675a8d`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/3675a8d))\n- Merge pull request\n[#\u0026#8203;2559](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2559)\nfrom\nGitoxideLabs/fix/symlink-prefix-reuse-worktree-escape-ghsa-f89h-2fjh-2r9q\n([`3af9b4a`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/3af9b4a))\n- Release gix-fs v0.21.1\n([`d3e4c17`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/d3e4c17))\n- Address auto-review\n([`1d9bae2`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/1d9bae2))\n- Add clone reproducer for symlink prefix reuse checkout escape\n([`c2ae6cd`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/c2ae6cd))\n- Merge pull request\n[#\u0026#8203;2543](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2543)\nfrom cruessler/run-gix-worktree-stream-tests-with-sha-256\n([`23af41a`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/23af41a))\n- Adapt to changes in `gix_object::Data`\n([`4309fa4`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/4309fa4))\n- Merge pull request\n[#\u0026#8203;2546](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2546)\nfrom GitoxideLabs/fix-2545\n([`adb8328`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/adb8328))\n\n\u003c/details\u003e\n\n\u003c/details\u003e\n\n---\n\n### Configuration\n\n📅 **Schedule**: (UTC)\n\n- Branch creation\n  - \"before 5am on the first day of the month\"\n- Automerge\n  - At any time (no schedule defined)\n\n🚦 **Automerge**: Disabled by config. Please merge this manually once you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR and you won\u0027t be reminded about this update\nagain.\n\n---\n\n- [ ] \u003c!-- rebase-check --\u003eIf you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).\nView the [repository job\nlog](https://developer.mend.io/github/rust-lang/cargo).\n\n\u003c!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwMi4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0\u003d--\u003e\n"
    },
    {
      "commit": "9df81ada613f2b98825e64c8188e2527ede31d61",
      "tree": "9ef1f7a5309bf632b9db3d928c2839be837d101c",
      "parents": [
        "c1b1de64debb26f1b747be6c6680b3ae13f6e43c"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Jun 06 10:39:59 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Jun 06 18:24:00 2026 -0400"
      },
      "message": "test: show `--precise` behavior with `[patch]`\n"
    },
    {
      "commit": "c1b1de64debb26f1b747be6c6680b3ae13f6e43c",
      "tree": "08bef78f849d2b6923713824edf5a0608501b0d2",
      "parents": [
        "71b70c095bb15e278ab9f0f808397c8033079888"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sun May 31 20:45:15 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Jun 06 18:23:59 2026 -0400"
      },
      "message": "test: show `--precise` behavior with multiple specs\n"
    },
    {
      "commit": "62a0c3a02475b40f6455efdd21c8477736a18d33",
      "tree": "85bc8e7ea0337d5710a7e30a4778ee99c6f95550",
      "parents": [
        "a641409baa8dbaab270aaf5d88d89ce841d59dc2"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Jun 05 23:22:51 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Jun 06 00:07:59 2026 -0400"
      },
      "message": "fix: strip CR from `cargo:token-from-stdout`\n\nHelpers on Windows commonly emit a token terminated by `\\r\\n`.\nThe adaptor only strips `\\n` and leaves leaving a trailing `\\r`.\nIn 1.96 the registry network refactor started using `http::HeaderValue`,\nand it rejects trailing `\\r` when constructing the request.\nSo, users see a confusing \"failed to parse header value\" message.\nThey are stuck and cannot send the request.\n\nThis fix simply trims trailing `\\r` after trimming `\\n`.\n\nI have no idea how AWS CodeArtifact works with trailing `\\r` before.\nPerhaps it trims those as well.\n\nFixes rust-lang/cargo#14073\nFixes rust-lang/cargo#17072\n"
    },
    {
      "commit": "a641409baa8dbaab270aaf5d88d89ce841d59dc2",
      "tree": "312c53868576562c28c58d20ab8b9bb04eda53ba",
      "parents": [
        "71b70c095bb15e278ab9f0f808397c8033079888"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri Jun 05 23:21:43 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Sat Jun 06 00:05:40 2026 -0400"
      },
      "message": "test: CRLF behavior of `cargo:token-from-stdout`\n\nHelpers on Windows commonly emit a token terminated by `\\r\\n`.\nThe adaptor only strips `\\n` and leaves leaving a trailing `\\r`.\nIn 1.96 the registry network refactor started using `http::HeaderValue`,\nand it rejects trailing `\\r` when constructing the request.\nSo, users see a confusing \"failed to parse header value\" message.\nThey are stuck and cannot send the request.\n"
    },
    {
      "commit": "71b70c095bb15e278ab9f0f808397c8033079888",
      "tree": "608a4767b1b635da6950f0ed295a2e0f60ffc72f",
      "parents": [
        "d6900d00af2644ea1c0068c5694d9dbe11a3ab39",
        "5e4eb15592e535223e864a035d3c62281966b78e"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Fri Jun 05 04:43:31 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Jun 05 04:43:31 2026 +0000"
      },
      "message": "refactor: drop `yanked_whitelist` from source loading (#17014)\n\n### What does this PR try to resolve?\n\nSplit off from \u003chttps://github.com/rust-lang/cargo/pull/17012\u003e for an\neasier review experience I guess.\n\nMost call sites constructed with an empty allowlist,\nand `PackageRegistry::load` was the only place that passed a real list\nso we do a post construction after `PackageRegistry` in `load`.\nThe parameter was only load-bearing for `PackageRegistry`.\n\n### How to test and review this PR?\n\nThis has no user-facing behavior change.\n"
    },
    {
      "commit": "d6900d00af2644ea1c0068c5694d9dbe11a3ab39",
      "tree": "d22fea32e9b8ae1901dd5f7520e6a6042b228ea9",
      "parents": [
        "0b1123a48825309b697312b44fdb64b3df00c958",
        "449b4410adbc8c12cc785f7db45cb09b6f3b8350"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Thu Jun 04 01:56:59 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Jun 04 01:56:59 2026 +0000"
      },
      "message": "chore(deps): update msrv to v1.96 (#17041)\n\nThis PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n| [MSRV:1](https://redirect.github.com/rust-lang/rust) | minor | `1.95`\n→ `1.96` |\n\n---\n\n### Release Notes\n\n\u003cdetails\u003e\n\u003csummary\u003erust-lang/rust (MSRV:1)\u003c/summary\u003e\n\n###\n[`v1.96`](https://redirect.github.com/rust-lang/rust/blob/HEAD/RELEASES.md#Version-1960-2026-05-28)\n\n[Compare\nSource](https://redirect.github.com/rust-lang/rust/compare/1.95.0...1.96.0)\n\n\\\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\n\u003ca id\u003d\"1.96.0-Language\"\u003e\u003c/a\u003e\n\n## Language\n\n- [Allow passing `expr` metavariable to\n`cfg`](https://redirect.github.com/rust-lang/rust/pull/146961)\n- [Always coerce never types in tuple\nexpressions](https://redirect.github.com/rust-lang/rust/pull/147834)\n- [Avoid incorrect inference guidance of function arguments in rare\ncases](https://redirect.github.com/rust-lang/rust/pull/150316)\n- [Support s390x vector registers in inline\nassembly](https://redirect.github.com/rust-lang/rust/pull/154184)\n- [Allow using constants of type `ManuallyDrop` as patterns (fixing a\nregression introduced in\n1.94.0)](https://redirect.github.com/rust-lang/rust/pull/154891)\n\n\u003ca id\u003d\"1.96.0-Compiler\"\u003e\u003c/a\u003e\n\n## Compiler\n\n- [Enable link relaxation feature for LoongArch Linux\ntargets](https://redirect.github.com/rust-lang/rust/pull/153427)\n- [Update `riscv64gc-unknown-fuchsia` baseline to RVA22 +\nvector](https://redirect.github.com/rust-lang/rust/pull/155072)\n\n\u003ca id\u003d\"1.96.0-Libraries\"\u003e\u003c/a\u003e\n\n## Libraries\n\n- [Support iterating over ranges of `NonZero`\nintegers](https://redirect.github.com/rust-lang/rust/pull/127534)\n- [refactor \u0027valid for read/write\u0027 definition: exclude null; add that as\nan exception on individual methods\ninstead](https://redirect.github.com/rust-lang/rust/pull/152615)\n- [Fix SGX delayed host lookup via\nToSocketAddr](https://redirect.github.com/rust-lang/rust/pull/152851)\n\n\u003ca id\u003d\"1.96.0-Stabilized-APIs\"\u003e\u003c/a\u003e\n\n## Stabilized APIs\n\n-\n[`assert_matches!`](https://doc.rust-lang.org/stable/std/macro.assert_matches.html)\n-\n[`debug_assert_matches!`](https://doc.rust-lang.org/stable/std/macro.debug_assert_matches.html)\n- [`From\u003cT\u003e for\nAssertUnwindSafe\u003cT\u003e`](https://doc.rust-lang.org/stable/std/panic/struct.AssertUnwindSafe.html#impl-From%3CT%3E-for-AssertUnwindSafe%3CT%3E)\n- [`From\u003cT\u003e for LazyCell\u003cT,\nF\u003e`](https://doc.rust-lang.org/stable/std/cell/struct.LazyCell.html#impl-From%3CT%3E-for-LazyCell%3CT,+F%3E)\n- [`From\u003cT\u003e for LazyLock\u003cT,\nF\u003e`](https://doc.rust-lang.org/stable/std/sync/struct.LazyLock.html#impl-From%3CT%3E-for-LazyLock%3CT,+F%3E)\n-\n[`core::range::RangeToInclusive`](https://doc.rust-lang.org/stable/core/range/struct.RangeToInclusive.html)\n-\n[`core::range::RangeToInclusiveIter`](https://doc.rust-lang.org/stable/core/range/struct.RangeToInclusiveIter.html)\n-\n[`core::range::RangeFrom`](https://doc.rust-lang.org/stable/core/ops/struct.RangeFrom.html)\n-\n[`core::range::RangeFromIter`](https://doc.rust-lang.org/stable/core/ops/struct.RangeFromIter.html)\n-\n[`core::range::Range`](https://doc.rust-lang.org/stable/std/range/struct.Range.html)\n-\n[`core::range::RangeIter`](https://doc.rust-lang.org/stable/std/range/struct.RangeIter.html)\n\n\u003ca id\u003d\"1.96.0-Cargo\"\u003e\u003c/a\u003e\n\n## Cargo\n\n- [Allow a dependency to specify both a git repository and an alternate\nregistry.](https://redirect.github.com/rust-lang/cargo/pull/16810/) Just\nlike with crates.io, the git repository will be used locally, but the\nregistry version will be used when published.\n- [Added `target.\u0027cfg(..)\u0027.rustdocflags` support in\nconfiguration.](https://redirect.github.com/rust-lang/cargo/pull/16846)\n- Fixed\n[CVE-2026-5222](https://blog.rust-lang.org/2026/05/25/cve-2026-5222/)\nand\n[CVE-2026-5223](https://blog.rust-lang.org/2026/05/25/cve-2026-5223/).\n\n\u003ca id\u003d\"1.96-Rustdoc\"\u003e\u003c/a\u003e\n\n## Rustdoc\n\n- [Deprecation notes are now rendered like any other\ndocumentation](https://redirect.github.com/rust-lang/rust/pull/149931).\nPreviously they used the css `white-space: pre-wrap;` property and\nstripped any `\u003cp\u003e` elements from the rendered html, however this caused\nissues and unintuitive behavior. The new behavior should be more\npredictable, however some multi-line deprecation notes will now be\nrendered as as single lines. If this is undesirable, you can use the\nstandard markdown method of forcing a linebreak, which is two spaces\nfollowed by a newline (`\"\\n\"`).\n- [Don\u0027t emit rustdoc `missing_doc_code_examples` lint on impl\nitems](https://redirect.github.com/rust-lang/rust/pull/154048)\n- [Separate methods and associated functions in\nsidebar](https://redirect.github.com/rust-lang/rust/pull/154644)\n\n\u003ca id\u003d\"1.96.0-Compatibility-Notes\"\u003e\u003c/a\u003e\n\n## Compatibility Notes\n\n- [Fix layout of `#[repr(Int)]` enums in some edge cases involving\nfields of uninhabited zero-sized\ntypes](https://redirect.github.com/rust-lang/rust/pull/146989)\n- [Prevent unsize-coercing into `Pin\u003cFoo\u003e` where `Foo` doesn\u0027t implement\n`Deref`. Some such coercions were previously allowed, but produce a type\nwith no useful public\nAPI.](https://redirect.github.com/rust-lang/rust/pull/149218)\n- [rustc: Stop passing `--allow-undefined` on wasm\ntargets](https://redirect.github.com/rust-lang/rust/pull/149868)\n- [Gate the accidentally stabilized `#![reexport_test_harness_main]`\nattribute](https://redirect.github.com/rust-lang/rust/pull/152210)\n- [Error on return-position-impl-trait-in-traits whose types are too\nprivate](https://redirect.github.com/rust-lang/rust/pull/152543)\n- [Report the `uninhabited_static` lint in dependencies and make it\ndeny-by-default](https://redirect.github.com/rust-lang/rust/pull/152853)\n- [Distributed builds now contain non-split debuginfo for\nwindows-gnu](https://redirect.github.com/rust-lang/rust/pull/152870)\nThis appears to improve the quality of backtraces. This change has no\neffect on the defaults for the output of rustc/cargo on these targets.\n- [Check const generic arguments are correctly typed in more\npositions](https://redirect.github.com/rust-lang/rust/pull/152931)\n- [Remove\n`-Csoft-float`](https://redirect.github.com/rust-lang/rust/pull/152973)\n- [Importing structs with `::{self [as name]}`, e.g., `struct S {}; use\nS::{self as Other};`, is now no longer permitted because `{self}`\nimports require a module\nparent.](https://redirect.github.com/rust-lang/rust/pull/152996)\n- [For `export_name`, `link_name`, and `link_section` attributes, if\nmultiple of the same attribute is present, the first one now takes\nprecedence.](https://redirect.github.com/rust-lang/rust/pull/153041)\n- [Update the minimum external LLVM to\n21](https://redirect.github.com/rust-lang/rust/pull/153684)\n- On `avr` targets, C\u0027s `double` type is 32-bit by default, so [change\n`c_double` to `f32` on `avr` targets to\nmatch](https://redirect.github.com/rust-lang/rust/pull/154647). This is\na breaking change, but necessary to make `c_double` match C\u0027s double.\n\n\u003ca id\u003d\"1.96.0-Internal-Changes\"\u003e\u003c/a\u003e\n\n## Internal Changes\n\nThese changes do not affect any public interfaces of Rust, but they\nrepresent\nsignificant improvements to the performance or internals of rustc and\nrelated\ntools.\n\n- [JSON targets: `aarch64` softfloat targets now have to have\n`rustc_abi` set to\n`\"softfloat\"`](https://redirect.github.com/rust-lang/rust/pull/152941)\n- [target specs: stricter checks for LLVM ABI values, and correlate that\nwith\n`cfg(target_abi)`](https://redirect.github.com/rust-lang/rust/pull/153769)\n\n\u003c/details\u003e\n\n---\n\n### Configuration\n\n📅 **Schedule**: (UTC)\n\n- Branch creation\n  - Every minute (`* * * * *`)\n- Automerge\n  - At any time (no schedule defined)\n\n🚦 **Automerge**: Disabled by config. Please merge this manually once you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR and you won\u0027t be reminded about this update\nagain.\n\n---\n\n- [ ] \u003c!-- rebase-check --\u003eIf you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).\nView the [repository job\nlog](https://developer.mend.io/github/rust-lang/cargo).\n\n\u003c!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xOTguMCIsInVwZGF0ZWRJblZlciI6IjQzLjIwOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0\u003d--\u003e\n"
    },
    {
      "commit": "449b4410adbc8c12cc785f7db45cb09b6f3b8350",
      "tree": "d22fea32e9b8ae1901dd5f7520e6a6042b228ea9",
      "parents": [
        "a7c3a1d02659388f21d569944be14fb4ca999731"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed Jun 03 20:19:42 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed Jun 03 20:19:49 2026 -0500"
      },
      "message": "chore: Bump versions\n"
    },
    {
      "commit": "a7c3a1d02659388f21d569944be14fb4ca999731",
      "tree": "56e705e5136c5bcf86536a3773c125694d254acc",
      "parents": [
        "0b1123a48825309b697312b44fdb64b3df00c958"
      ],
      "author": {
        "name": "renovate[bot]",
        "email": "29139614+renovate[bot]@users.noreply.github.com",
        "time": "Mon Jun 01 15:03:58 2026 +0000"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed Jun 03 20:19:49 2026 -0500"
      },
      "message": "chore(deps): update msrv (1 version) to v1.96"
    },
    {
      "commit": "0b1123a48825309b697312b44fdb64b3df00c958",
      "tree": "fa36fa1d8feb700ab776cb39e8e6e2a8081df641",
      "parents": [
        "8b241a6b6e197f61dde0f1478e405d7f994c6092",
        "e5fe33aa93b7da23e8ae13fa18dc29d22656584c"
      ],
      "author": {
        "name": "Eric Huss",
        "email": "eric@huss.org",
        "time": "Mon Jun 01 21:20:28 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 21:20:28 2026 +0000"
      },
      "message": "chore(deps): update rust crate git2 to 0.21.0 (#17060)\n\nThis PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [git2](https://redirect.github.com/rust-lang/git2-rs) |\nworkspace.dependencies | minor | `0.20.4` → `0.21.0` |\n\n---\n\n### Release Notes\n\n\u003cdetails\u003e\n\u003csummary\u003erust-lang/git2-rs (git2)\u003c/summary\u003e\n\n###\n[`v0.21.0`](https://redirect.github.com/rust-lang/git2-rs/blob/HEAD/CHANGELOG.md#0210---TBD)\n\n[Compare\nSource](https://redirect.github.com/rust-lang/git2-rs/compare/git2-0.20.4...git2-0.21.0)\n\n[0.20.4...main](https://redirect.github.com/rust-lang/git2-rs/compare/git2-0.20.4...main)\n\n##### Added\n\n- Added experimental SHA256 repository support behind the new\n`unstable-sha256` Cargo feature,\n  along with `*_ext` API variants that accept an `ObjectFormat`.\n[#\u0026#8203;1206](https://redirect.github.com/rust-lang/git2-rs/pull/1206)\n- Added `opts::set_cache_max_size()` and `opts::get_cached_memory()`.\n[#\u0026#8203;1188](https://redirect.github.com/rust-lang/git2-rs/pull/1188)\n- Added `Repository::object_format()` and a new `ObjectFormat` enum.\n[#\u0026#8203;1204](https://redirect.github.com/rust-lang/git2-rs/pull/1204)\n- Added `Repository::set_config()`.\n[#\u0026#8203;1208](https://redirect.github.com/rust-lang/git2-rs/pull/1208)\n- Added `merge_file()` along with `MergeFileInput`.\n[#\u0026#8203;1210](https://redirect.github.com/rust-lang/git2-rs/pull/1210)\n- Added `Repository::refdb_compress()` for packing loose refs.\n[#\u0026#8203;1221](https://redirect.github.com/rust-lang/git2-rs/pull/1221)\n- Added public `Refdb` type, along with `Repository::refdb()` and\n`Repository::set_refdb()`. `Repository::refdb_compress()` now delegates\nto `Refdb::compress()`.\n[#\u0026#8203;1228](https://redirect.github.com/rust-lang/git2-rs/pull/1228)\n- Added `Revspec::into_objects()`.\n[#\u0026#8203;1230](https://redirect.github.com/rust-lang/git2-rs/pull/1230)\n- Added `BlameHunk::final_committer()`, `BlameHunk::orig_committer()`,\n`BlameHunk::summary()`, and `BlameHunk::summary_bytes()`.\n[#\u0026#8203;1231](https://redirect.github.com/rust-lang/git2-rs/pull/1231)\n- Implemented `Clone` for `Reference`.\n[#\u0026#8203;1233](https://redirect.github.com/rust-lang/git2-rs/pull/1233)\n- Added `Repository::author_from_env()` and\n`Repository::committer_from_env()`.\n[#\u0026#8203;1237](https://redirect.github.com/rust-lang/git2-rs/pull/1237)\n- Added `impl From\u003cUtf8Error\u003e for Error`.\n[#\u0026#8203;1239](https://redirect.github.com/rust-lang/git2-rs/pull/1239)\n\n##### Changed\n\n- ❗ The `ssh`, `https`, and `cred` Cargo features are no longer enabled\nby default.\n  Previously `default \u003d [\"ssh\", \"https\"]`; now `default \u003d []`.\nEnable them explicitly if you rely on credential helpers or transport\nsupport.\n[#\u0026#8203;1168](https://redirect.github.com/rust-lang/git2-rs/pull/1168)\n- ❗ `CredentialHelper` and the `url` dependency are now gated behind the\nnew `cred` Cargo feature.\n  Enabling `ssh` or `https` transitively enables `cred`.\n[#\u0026#8203;1168](https://redirect.github.com/rust-lang/git2-rs/pull/1168)\n- ❗ Updated to the 2021 edition.\n[#\u0026#8203;1173](https://redirect.github.com/rust-lang/git2-rs/pull/1173)\n- ❗ Many string accessors that previously returned `Option\u003c\u0026str\u003e`\n  now return `Result\u003c\u0026str, Error\u003e` or `Result\u003cOption\u003c\u0026str\u003e, Error\u003e`,\n  so callers can distinguish a missing value from a non-UTF-8 one.\n[#\u0026#8203;1241](https://redirect.github.com/rust-lang/git2-rs/pull/1241)\n- ❗ `BlameHunk::final_signature`, `BlameHunk::final_committer`,\n`BlameHunk::orig_signature`, and `BlameHunk::orig_committer`\nnow return `Option` to avoid segfaults when signature information is\nmissing.\n[#\u0026#8203;1254](https://redirect.github.com/rust-lang/git2-rs/pull/1254)\n- Bumped requirement to libgit2-sys 0.18.4, which updates libgit2 to\n1.9.3.\n[#\u0026#8203;1242](https://redirect.github.com/rust-lang/git2-rs/pull/1242)\n\n##### Fixed\n\n- Fixed `MergeOptions::skip_reuc()` to use the correct\n`GIT_MERGE_SKIP_REUC` flag.\n[#\u0026#8203;1194](https://redirect.github.com/rust-lang/git2-rs/pull/1194)\n- `Repository::submodules()` now returns an `Error` when the underlying\n`git_submodule_lookup()` call to libgit2 fails, rather than panicking\nwith a failed assertion.\n[#\u0026#8203;1220](https://redirect.github.com/rust-lang/git2-rs/pull/1220)\n- `Reference::is_valid_name()` now propagates errors from `CString`\nconversion instead of panicking.\n[#\u0026#8203;1229](https://redirect.github.com/rust-lang/git2-rs/pull/1229)\n- Fixed `Remote::list()` to return an empty list instead of erroring\n  when the remote advertises no refs.\n[#\u0026#8203;1250](https://redirect.github.com/rust-lang/git2-rs/pull/1250)\n- `ReferenceNames` now returns an `Err` for non-UTF-8 branch names\ninstead of panicking.\n[#\u0026#8203;1239](https://redirect.github.com/rust-lang/git2-rs/pull/1239)\n\n##### Documentation\n\n- Added note regarding potentially confusing behavior of\n`git_checkout_head`.\n[#\u0026#8203;1149](https://redirect.github.com/rust-lang/git2-rs/pull/1149)\n- Added comments describing the `IndexAddOption` flags.\n[#\u0026#8203;1163](https://redirect.github.com/rust-lang/git2-rs/pull/1163)\n- Updated README note about the `ssh` feature.\n[#\u0026#8203;1187](https://redirect.github.com/rust-lang/git2-rs/pull/1187)\n- Improved function docs for `Repository::tag_foreach()`.\n[#\u0026#8203;1190](https://redirect.github.com/rust-lang/git2-rs/pull/1190)\n- Fixed doc comment typo in `StatusOptions`.\n[#\u0026#8203;1199](https://redirect.github.com/rust-lang/git2-rs/pull/1199)\n- Fixed missing period in module documentation.\n[#\u0026#8203;1219](https://redirect.github.com/rust-lang/git2-rs/pull/1219)\n- Small wording fix in `Signature::from_raw_const()` docs.\n[#\u0026#8203;1222](https://redirect.github.com/rust-lang/git2-rs/pull/1222)\n- Replaced discussion of missing gist in README.\n[#\u0026#8203;1223](https://redirect.github.com/rust-lang/git2-rs/pull/1223)\n- Documented the bitflag methods for checking flags.\n[#\u0026#8203;1224](https://redirect.github.com/rust-lang/git2-rs/pull/1224)\n- Clarified `CheckoutBuilder::update_index()` documentation.\n[#\u0026#8203;1232](https://redirect.github.com/rust-lang/git2-rs/pull/1232)\n- Added more missing documentation.\n[#\u0026#8203;1235](https://redirect.github.com/rust-lang/git2-rs/pull/1235)\n- Fixed typo in `Repository::stash_save_ext()` docs.\n[#\u0026#8203;1245](https://redirect.github.com/rust-lang/git2-rs/pull/1245)\n- Added example showing retrieval of the latest commit for a file.\n[#\u0026#8203;1243](https://redirect.github.com/rust-lang/git2-rs/pull/1243)\n- Replaced comma with period in `CheckoutBuilder::refresh()` docs.\n[#\u0026#8203;1252](https://redirect.github.com/rust-lang/git2-rs/pull/1252)\n\n##### Internals\n\n- Dropped `civet`/`conduit` from dev-dependencies.\n[#\u0026#8203;1170](https://redirect.github.com/rust-lang/git2-rs/pull/1170)\n- Updated dependencies.\n[#\u0026#8203;1171](https://redirect.github.com/rust-lang/git2-rs/pull/1171)\n- Fixed lockfile verification in CI.\n[#\u0026#8203;1177](https://redirect.github.com/rust-lang/git2-rs/pull/1177)\n- Updated CI and documentation to cover feature combinations.\n[#\u0026#8203;1182](https://redirect.github.com/rust-lang/git2-rs/pull/1182)\n- Listed all examples that may need HTTP and SSH.\n[#\u0026#8203;1196](https://redirect.github.com/rust-lang/git2-rs/pull/1196)\n- Allowed publishing from any ref in the publish workflow.\n[#\u0026#8203;1198](https://redirect.github.com/rust-lang/git2-rs/pull/1198)\n- Bumped `time` from 0.3.41 to 0.3.47.\n[#\u0026#8203;1215](https://redirect.github.com/rust-lang/git2-rs/pull/1215)\n- Added end-to-end test for branch name on initialization.\n[#\u0026#8203;1244](https://redirect.github.com/rust-lang/git2-rs/pull/1244)\n- Added end-to-end test for stash count.\n[#\u0026#8203;1246](https://redirect.github.com/rust-lang/git2-rs/pull/1246)\n- Added end-to-end tests demonstrating use of `Repository::statuses()`.\n[#\u0026#8203;1251](https://redirect.github.com/rust-lang/git2-rs/pull/1251)\n- Internal refactors preparing for experimental SHA256 OID support.\n[#\u0026#8203;1201](https://redirect.github.com/rust-lang/git2-rs/pull/1201)\n[#\u0026#8203;1205](https://redirect.github.com/rust-lang/git2-rs/pull/1205)\n\n\u003c/details\u003e\n\n---\n\n### Configuration\n\n📅 **Schedule**: (UTC)\n\n- Branch creation\n  - \"before 5am on the first day of the month\"\n- Automerge\n  - At any time (no schedule defined)\n\n🚦 **Automerge**: Disabled by config. Please merge this manually once you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR and you won\u0027t be reminded about this update\nagain.\n\n---\n\n- [ ] \u003c!-- rebase-check --\u003eIf you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).\nView the [repository job\nlog](https://developer.mend.io/github/rust-lang/cargo).\n\n\u003c!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwMi4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0\u003d--\u003e\n"
    },
    {
      "commit": "e5fe33aa93b7da23e8ae13fa18dc29d22656584c",
      "tree": "7b6e0d95b07eff65dfc4eb772ce0095c30337189",
      "parents": [
        "6c2795e6a01b91704a0e46aa7282e82141a9f65c"
      ],
      "author": {
        "name": "renovate[bot]",
        "email": "29139614+renovate[bot]@users.noreply.github.com",
        "time": "Mon Jun 01 03:19:13 2026 +0000"
      },
      "committer": {
        "name": "Eric Huss",
        "email": "eric@huss.org",
        "time": "Mon Jun 01 13:43:23 2026 -0700"
      },
      "message": "chore(deps): update rust crate git2 to 0.21.0\n"
    },
    {
      "commit": "8b241a6b6e197f61dde0f1478e405d7f994c6092",
      "tree": "c69fd6c9886a2688344d90e5847ccae69dc45198",
      "parents": [
        "abab377559abe279c0c5588c4fd77898b28e3caa",
        "810206e80e3ec0fbc1523b11d895e802671dbbd3"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Mon Jun 01 18:20:14 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 18:20:14 2026 +0000"
      },
      "message": "chore(deps): update compatible (#17057)\n\nThis PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n|\n[annotate-snippets](https://redirect.github.com/rust-lang/annotate-snippets-rs)\n| workspace.dependencies | patch | `0.12.15` → `0.12.16` |\n| [clap_complete](https://redirect.github.com/clap-rs/clap) |\nworkspace.dependencies | patch | `4.6.3` → `4.6.5` |\n| [filetime](https://redirect.github.com/alexcrichton/filetime) |\nworkspace.dependencies | patch | `0.2.27` → `0.2.29` |\n| [futures-timer](https://redirect.github.com/async-rs/futures-timer) |\nworkspace.dependencies | patch | `3.0.3` → `3.0.4` |\n| [gix-transport](https://redirect.github.com/GitoxideLabs/gitoxide) |\nworkspace.dependencies | patch | `0.57.0` → `0.57.1` |\n| [handlebars](https://redirect.github.com/sunng87/handlebars-rust) |\nworkspace.dependencies | patch | `6.4.0` → `6.4.1` |\n| [http](https://redirect.github.com/hyperium/http) |\nworkspace.dependencies | patch | `1.4.0` → `1.4.1` |\n| [jiff](https://redirect.github.com/BurntSushi/jiff) |\nworkspace.dependencies | patch | `0.2.24` → `0.2.28` |\n| [libgit2-sys](https://redirect.github.com/rust-lang/git2-rs) |\nworkspace.dependencies | patch | `0.18.3+1.9.2` → `0.18.5` |\n| [memchr](https://redirect.github.com/BurntSushi/memchr) |\nworkspace.dependencies | patch | `2.8.0` → `2.8.1` |\n| [openssl](https://redirect.github.com/rust-openssl/rust-openssl) |\nworkspace.dependencies | patch | `0.10.78` → `0.10.80` |\n| [os_info](https://redirect.github.com/stanislav-tkach/os_info) |\nworkspace.dependencies | minor | `3.14.0` → `3.15.0` |\n| [pulldown-cmark](https://redirect.github.com/raphlinus/pulldown-cmark)\n| workspace.dependencies | patch | `0.13.3` → `0.13.4` |\n| [serde_json](https://redirect.github.com/serde-rs/json) |\nworkspace.dependencies | patch | `1.0.149` → `1.0.150` |\n| [snapbox](https://redirect.github.com/assert-rs/snapbox) |\nworkspace.dependencies | patch | `1.2.1` → `1.2.2` |\n| [tar](https://redirect.github.com/composefs/tar-rs) |\nworkspace.dependencies | patch | `0.4.45` → `0.4.46` |\n| [toml_edit](https://redirect.github.com/toml-rs/toml) |\nworkspace.dependencies | patch | `0.25.11+spec-1.1.0` → `0.25.12` |\n| [winnow](https://redirect.github.com/winnow-rs/winnow) |\nworkspace.dependencies | patch | `1.0.2` → `1.0.3` |\n\n---\n\n### Release Notes\n\n\u003cdetails\u003e\n\u003csummary\u003erust-lang/annotate-snippets-rs (annotate-snippets)\u003c/summary\u003e\n\n###\n[`v0.12.16`](https://redirect.github.com/rust-lang/annotate-snippets-rs/blob/HEAD/CHANGELOG.md#01216---2026-05-06)\n\n[Compare\nSource](https://redirect.github.com/rust-lang/annotate-snippets-rs/compare/0.12.15...0.12.16)\n\n##### Fixed\n\n- Correctly format suggestion paths when DecorStyle::Unicode\n[#\u0026#8203;414](https://redirect.github.com/rust-lang/annotate-snippets-rs/pull/414)\n- Correctly highlight multi-line removals that leave only whitespace\n[#\u0026#8203;413](https://redirect.github.com/rust-lang/annotate-snippets-rs/pull/413)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eclap-rs/clap (clap_complete)\u003c/summary\u003e\n\n###\n[`v4.6.5`](https://redirect.github.com/clap-rs/clap/compare/clap_complete-v4.6.4...clap_complete-v4.6.5)\n\n[Compare\nSource](https://redirect.github.com/clap-rs/clap/compare/clap_complete-v4.6.4...clap_complete-v4.6.5)\n\n###\n[`v4.6.4`](https://redirect.github.com/clap-rs/clap/compare/clap_complete-v4.6.3...clap_complete-v4.6.4)\n\n[Compare\nSource](https://redirect.github.com/clap-rs/clap/compare/clap_complete-v4.6.3...clap_complete-v4.6.4)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ealexcrichton/filetime (filetime)\u003c/summary\u003e\n\n###\n[`v0.2.29`](https://redirect.github.com/alexcrichton/filetime/compare/0.2.28...0.2.29)\n\n[Compare\nSource](https://redirect.github.com/alexcrichton/filetime/compare/0.2.28...0.2.29)\n\n###\n[`v0.2.28`](https://redirect.github.com/alexcrichton/filetime/compare/0.2.27...0.2.28)\n\n[Compare\nSource](https://redirect.github.com/alexcrichton/filetime/compare/0.2.27...0.2.28)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003easync-rs/futures-timer (futures-timer)\u003c/summary\u003e\n\n###\n[`v3.0.4`](https://redirect.github.com/async-rs/futures-timer/blob/HEAD/CHANGELOG.md#304)\n\n[Compare\nSource](https://redirect.github.com/async-rs/futures-timer/compare/v3.0.3...v3.0.4)\n\n##### Bug Fixes\n\n- Handle potential overflow gracefully\n([#\u0026#8203;68](https://redirect.github.com/async-rs/futures-timer/pull/68))\n\n##### Changes\n\n- Upgrade dependencies\n([#\u0026#8203;72](https://redirect.github.com/async-rs/futures-timer/pull/72))\n- cfg-gate wasm dependencies for wasm32 targets\n([#\u0026#8203;75](https://redirect.github.com/async-rs/futures-timer/pull/75))\n- Fix compilation warnings\n([#\u0026#8203;83](https://redirect.github.com/async-rs/futures-timer/pull/83))\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eGitoxideLabs/gitoxide (gix-transport)\u003c/summary\u003e\n\n###\n[`v0.57.1`](https://redirect.github.com/GitoxideLabs/gitoxide/releases/tag/gix-transport-v0.57.1):\ngix-transport v0.57.1\n\n[Compare\nSource](https://redirect.github.com/GitoxideLabs/gitoxide/compare/gix-transport-v0.57.0...gix-transport-v0.57.1)\n\n##### Commit Statistics\n\n- 7 commits contributed to the release over the course of 28 calendar\ndays.\n- 28 days passed between releases.\n- 0 commits were understood as\n[conventional](https://www.conventionalcommits.org).\n- 0 issues like \u0027(#ID)\u0027 were seen in commit messages\n\n##### Commit Details\n\n\u003ccsr-read-only-do-not-edit/\u003e\n\n\u003cdetails\u003e\u003csummary\u003eview details\u003c/summary\u003e\n\n- **Uncategorized**\n- Merge pull request\n[#\u0026#8203;2573](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2573)\nfrom cruessler/run-gix-traverse-tests-with-sha-256\n([`278d7ec`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/278d7ec))\n- Cleanup the `justfile` and automate feature tests\n([`db7b97b`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/db7b97b))\n- Merge pull request\n[#\u0026#8203;2568](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2568)\nfrom GitoxideLabs/dependabot/cargo/cargo-56d6b174d8\n([`ab2fee1`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/ab2fee1))\n- Update crates to Rust 2024 edition\n([`2cb17b2`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/2cb17b2))\n- Remove rust\\_2018\\_idioms lint declarations\n([`e10d5f6`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/e10d5f6))\n- Raise MSRV for hash dependency updates\n([`3675a8d`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/3675a8d))\n- Merge pull request\n[#\u0026#8203;2546](https://redirect.github.com/GitoxideLabs/gitoxide/issues/2546)\nfrom GitoxideLabs/fix-2545\n([`adb8328`](https://redirect.github.com/GitoxideLabs/gitoxide/commit/adb8328))\n\n\u003c/details\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003esunng87/handlebars-rust (handlebars)\u003c/summary\u003e\n\n###\n[`v6.4.1`](https://redirect.github.com/sunng87/handlebars-rust/blob/HEAD/CHANGELOG.md#641---2026-05-16)\n\n[Compare\nSource](https://redirect.github.com/sunng87/handlebars-rust/compare/v6.4.0...v6.4.1)\n\n- \\[Fixed] Allow using `@partial-block` with block include and fallback\ntemplate\n\\[[#\u0026#8203;752](https://redirect.github.com/sunng87/handlebars-rust/issues/752)]\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ehyperium/http (http)\u003c/summary\u003e\n\n###\n[`v1.4.1`](https://redirect.github.com/hyperium/http/blob/HEAD/CHANGELOG.md#141-May-25-2026)\n\n[Compare\nSource](https://redirect.github.com/hyperium/http/compare/v1.4.0...v1.4.1)\n\n- Fix `PathAndQuery::from_static()` and `from_shared()` to reject inputs\nthat do not start with `/`.\n- Fix `Extend` for `HeaderMap` to clamp max size hint and not overflow.\n- Fix `header::IntoIter` that could use-after-free if the generic value\ntype could panic on drop.\n- Fix `header::{IterMut, ValuesIterMut}` to not violate stacked borrows.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eBurntSushi/jiff (jiff)\u003c/summary\u003e\n\n###\n[`v0.2.28`](https://redirect.github.com/BurntSushi/jiff/blob/HEAD/CHANGELOG.md#0228-2026-05-28)\n\n\\\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThis is a small release with a fix for test failures on 32-bit targets\nin\n`no-alloc` environments.\n\nBug fixes:\n\n- [#\u0026#8203;573](https://redirect.github.com/BurntSushi/jiff/issues/573):\n  Fix test failure on 32-bit targets in `no-alloc` environments.\n\n###\n[`v0.2.27`](https://redirect.github.com/BurntSushi/jiff/blob/HEAD/CHANGELOG.md#0227-2026-05-26)\n\n\\\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThis is a small release with a bug fix for build errors on Windows for\nvery old\nversions of Rust.\n\nBug fixes:\n\n- [#\u0026#8203;566](https://redirect.github.com/BurntSushi/jiff/issues/566):\n  Fix build error on Windows for very old versions of Rust (e.g., 1.71).\n\n###\n[`v0.2.26`](https://redirect.github.com/BurntSushi/jiff/blob/HEAD/CHANGELOG.md#0226-2026-05-25)\n\n[Compare\nSource](https://redirect.github.com/BurntSushi/jiff/compare/0.2.25...0.2.26)\n\n\\\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThis release has a couple enhancements.\n\nFirstly, Jiff now uses `windows-link` for calling FFI routines on\nWindows\ninstead of `windows-sys`. Using `windows-link` means less churn and\nfewer\nduplicates in the dependency graph.\n\nSecondly, a new `jiff-sqlx 0.2.0` release has been put out to support\n`sqlx 0.9.0`.\n\nEnhancements:\n\n- [#\u0026#8203;538](https://redirect.github.com/BurntSushi/jiff/pull/538):\n  Replace use of `windows-sys` with `windows-link` and inline bindings.\n- [#\u0026#8203;561](https://redirect.github.com/BurntSushi/jiff/pull/561):\n  Update `jiff-sqlx` to use `sqlx 0.9.0` and release `jiff-sqlx 0.2.0`.\n\nBug fixes:\n\n- [#\u0026#8203;548](https://redirect.github.com/BurntSushi/jiff/pull/548):\nAbsolutetize incorrect relative size terms in the documentation of\n`RoundMode`.\n\n###\n[`v0.2.25`](https://redirect.github.com/BurntSushi/jiff/blob/HEAD/CHANGELOG.md#0225-2026-05-24)\n\n[Compare\nSource](https://redirect.github.com/BurntSushi/jiff/compare/0.2.24...0.2.25)\n\n\\\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nThis release updates Jiff\u0027s bundled copy of the \\[IANA Time Zone\nDatabase]\nto `2026b`. See the [`2026b` release announcement] for more details.\n\n[`2026b` release announcement]:\nhttps://lists.iana.org//hyperkitty/list/tz-announce@iana.org/thread/VX2Z3CBO6KHTYZNBBKFFWM7ZCI6TVCXP/\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003erust-lang/git2-rs (libgit2-sys)\u003c/summary\u003e\n\n###\n[`v0.18.5`](https://redirect.github.com/rust-lang/git2-rs/compare/libgit2-sys-0.18.4+1.9.3...libgit2-sys-0.18.5+1.9.4)\n\n[Compare\nSource](https://redirect.github.com/rust-lang/git2-rs/compare/libgit2-sys-0.18.4+1.9.3...libgit2-sys-0.18.5+1.9.4)\n\n###\n[`v0.18.4`](https://redirect.github.com/rust-lang/git2-rs/blob/HEAD/CHANGELOG.md#0210---2026-05-18)\n\n[Compare\nSource](https://redirect.github.com/rust-lang/git2-rs/compare/libgit2-sys-0.18.3+1.9.2...libgit2-sys-0.18.4+1.9.3)\n\n[0.20.4...main](https://redirect.github.com/rust-lang/git2-rs/compare/git2-0.20.4...main)\n\n##### Added\n\n- Added experimental SHA256 repository support behind the new\n`unstable-sha256` Cargo feature,\n  along with `*_ext` API variants that accept an `ObjectFormat`.\n[#\u0026#8203;1206](https://redirect.github.com/rust-lang/git2-rs/pull/1206)\n- Added `opts::set_cache_max_size()` and `opts::get_cached_memory()`.\n[#\u0026#8203;1188](https://redirect.github.com/rust-lang/git2-rs/pull/1188)\n- Added `Repository::object_format()` and a new `ObjectFormat` enum.\n[#\u0026#8203;1204](https://redirect.github.com/rust-lang/git2-rs/pull/1204)\n- Added `Repository::set_config()`.\n[#\u0026#8203;1208](https://redirect.github.com/rust-lang/git2-rs/pull/1208)\n- Added `merge_file()` along with `MergeFileInput`.\n[#\u0026#8203;1210](https://redirect.github.com/rust-lang/git2-rs/pull/1210)\n- Added `Repository::refdb_compress()` for packing loose refs.\n[#\u0026#8203;1221](https://redirect.github.com/rust-lang/git2-rs/pull/1221)\n- Added public `Refdb` type, along with `Repository::refdb()` and\n`Repository::set_refdb()`. `Repository::refdb_compress()` now delegates\nto `Refdb::compress()`.\n[#\u0026#8203;1228](https://redirect.github.com/rust-lang/git2-rs/pull/1228)\n- Added `Revspec::into_objects()`.\n[#\u0026#8203;1230](https://redirect.github.com/rust-lang/git2-rs/pull/1230)\n- Added `BlameHunk::final_committer()`, `BlameHunk::orig_committer()`,\n`BlameHunk::summary()`, and `BlameHunk::summary_bytes()`.\n[#\u0026#8203;1231](https://redirect.github.com/rust-lang/git2-rs/pull/1231)\n- Implemented `Clone` for `Reference`.\n[#\u0026#8203;1233](https://redirect.github.com/rust-lang/git2-rs/pull/1233)\n- Added `Repository::author_from_env()` and\n`Repository::committer_from_env()`.\n[#\u0026#8203;1237](https://redirect.github.com/rust-lang/git2-rs/pull/1237)\n- Added `impl From\u003cUtf8Error\u003e for Error`.\n[#\u0026#8203;1239](https://redirect.github.com/rust-lang/git2-rs/pull/1239)\n\n##### Changed\n\n- ❗ The `ssh`, `https`, and `cred` Cargo features are no longer enabled\nby default.\n  Previously `default \u003d [\"ssh\", \"https\"]`; now `default \u003d []`.\nEnable them explicitly if you rely on credential helpers or transport\nsupport.\n[#\u0026#8203;1168](https://redirect.github.com/rust-lang/git2-rs/pull/1168)\n- ❗ `CredentialHelper` and the `url` dependency are now gated behind the\nnew `cred` Cargo feature.\n  Enabling `ssh` or `https` transitively enables `cred`.\n[#\u0026#8203;1168](https://redirect.github.com/rust-lang/git2-rs/pull/1168)\n- ❗ Updated to the 2021 edition.\n[#\u0026#8203;1173](https://redirect.github.com/rust-lang/git2-rs/pull/1173)\n- ❗ Many string accessors that previously returned `Option\u003c\u0026str\u003e`\n  now return `Result\u003c\u0026str, Error\u003e` or `Result\u003cOption\u003c\u0026str\u003e, Error\u003e`,\n  so callers can distinguish a missing value from a non-UTF-8 one.\n[#\u0026#8203;1241](https://redirect.github.com/rust-lang/git2-rs/pull/1241)\n- ❗ `BlameHunk::final_signature`, `BlameHunk::final_committer`,\n`BlameHunk::orig_signature`, and `BlameHunk::orig_committer`\nnow return `Option` to avoid segfaults when signature information is\nmissing.\n[#\u0026#8203;1254](https://redirect.github.com/rust-lang/git2-rs/pull/1254)\n- Bumped requirement to libgit2-sys 0.18.4, which updates libgit2 to\n1.9.3.\n[#\u0026#8203;1242](https://redirect.github.com/rust-lang/git2-rs/pull/1242)\n\n##### Fixed\n\n- Fixed `MergeOptions::skip_reuc()` to use the correct\n`GIT_MERGE_SKIP_REUC` flag.\n[#\u0026#8203;1194](https://redirect.github.com/rust-lang/git2-rs/pull/1194)\n- `Repository::submodules()` now returns an `Error` when the underlying\n`git_submodule_lookup()` call to libgit2 fails, rather than panicking\nwith a failed assertion.\n[#\u0026#8203;1220](https://redirect.github.com/rust-lang/git2-rs/pull/1220)\n- `Reference::is_valid_name()` now propagates errors from `CString`\nconversion instead of panicking.\n[#\u0026#8203;1229](https://redirect.github.com/rust-lang/git2-rs/pull/1229)\n- Fixed `Remote::list()` to return an empty list instead of erroring\n  when the remote advertises no refs.\n[#\u0026#8203;1250](https://redirect.github.com/rust-lang/git2-rs/pull/1250)\n- `ReferenceNames` now returns an `Err` for non-UTF-8 branch names\ninstead of panicking.\n[#\u0026#8203;1239](https://redirect.github.com/rust-lang/git2-rs/pull/1239)\n\n##### Documentation\n\n- Added note regarding potentially confusing behavior of\n`git_checkout_head`.\n[#\u0026#8203;1149](https://redirect.github.com/rust-lang/git2-rs/pull/1149)\n- Added comments describing the `IndexAddOption` flags.\n[#\u0026#8203;1163](https://redirect.github.com/rust-lang/git2-rs/pull/1163)\n- Updated README note about the `ssh` feature.\n[#\u0026#8203;1187](https://redirect.github.com/rust-lang/git2-rs/pull/1187)\n- Improved function docs for `Repository::tag_foreach()`.\n[#\u0026#8203;1190](https://redirect.github.com/rust-lang/git2-rs/pull/1190)\n- Fixed doc comment typo in `StatusOptions`.\n[#\u0026#8203;1199](https://redirect.github.com/rust-lang/git2-rs/pull/1199)\n- Fixed missing period in module documentation.\n[#\u0026#8203;1219](https://redirect.github.com/rust-lang/git2-rs/pull/1219)\n- Small wording fix in `Signature::from_raw_const()` docs.\n[#\u0026#8203;1222](https://redirect.github.com/rust-lang/git2-rs/pull/1222)\n- Replaced discussion of missing gist in README.\n[#\u0026#8203;1223](https://redirect.github.com/rust-lang/git2-rs/pull/1223)\n- Documented the bitflag methods for checking flags.\n[#\u0026#8203;1224](https://redirect.github.com/rust-lang/git2-rs/pull/1224)\n- Clarified `CheckoutBuilder::update_index()` documentation.\n[#\u0026#8203;1232](https://redirect.github.com/rust-lang/git2-rs/pull/1232)\n- Added more missing documentation.\n[#\u0026#8203;1235](https://redirect.github.com/rust-lang/git2-rs/pull/1235)\n- Fixed typo in `Repository::stash_save_ext()` docs.\n[#\u0026#8203;1245](https://redirect.github.com/rust-lang/git2-rs/pull/1245)\n- Added example showing retrieval of the latest commit for a file.\n[#\u0026#8203;1243](https://redirect.github.com/rust-lang/git2-rs/pull/1243)\n- Replaced comma with period in `CheckoutBuilder::refresh()` docs.\n[#\u0026#8203;1252](https://redirect.github.com/rust-lang/git2-rs/pull/1252)\n\n##### Internals\n\n- Dropped `civet`/`conduit` from dev-dependencies.\n[#\u0026#8203;1170](https://redirect.github.com/rust-lang/git2-rs/pull/1170)\n- Updated dependencies.\n[#\u0026#8203;1171](https://redirect.github.com/rust-lang/git2-rs/pull/1171)\n- Fixed lockfile verification in CI.\n[#\u0026#8203;1177](https://redirect.github.com/rust-lang/git2-rs/pull/1177)\n- Updated CI and documentation to cover feature combinations.\n[#\u0026#8203;1182](https://redirect.github.com/rust-lang/git2-rs/pull/1182)\n- Listed all examples that may need HTTP and SSH.\n[#\u0026#8203;1196](https://redirect.github.com/rust-lang/git2-rs/pull/1196)\n- Allowed publishing from any ref in the publish workflow.\n[#\u0026#8203;1198](https://redirect.github.com/rust-lang/git2-rs/pull/1198)\n- Bumped `time` from 0.3.41 to 0.3.47.\n[#\u0026#8203;1215](https://redirect.github.com/rust-lang/git2-rs/pull/1215)\n- Added end-to-end test for branch name on initialization.\n[#\u0026#8203;1244](https://redirect.github.com/rust-lang/git2-rs/pull/1244)\n- Added end-to-end test for stash count.\n[#\u0026#8203;1246](https://redirect.github.com/rust-lang/git2-rs/pull/1246)\n- Added end-to-end tests demonstrating use of `Repository::statuses()`.\n[#\u0026#8203;1251](https://redirect.github.com/rust-lang/git2-rs/pull/1251)\n- Internal refactors preparing for experimental SHA256 OID support.\n[#\u0026#8203;1201](https://redirect.github.com/rust-lang/git2-rs/pull/1201)\n[#\u0026#8203;1205](https://redirect.github.com/rust-lang/git2-rs/pull/1205)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eBurntSushi/memchr (memchr)\u003c/summary\u003e\n\n###\n[`v2.8.1`](https://redirect.github.com/BurntSushi/memchr/compare/2.8.0...2.8.1)\n\n[Compare\nSource](https://redirect.github.com/BurntSushi/memchr/compare/2.8.0...2.8.1)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003erust-openssl/rust-openssl (openssl)\u003c/summary\u003e\n\n###\n[`v0.10.80`](https://redirect.github.com/rust-openssl/rust-openssl/releases/tag/openssl-v0.10.80)\n\n[Compare\nSource](https://redirect.github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.79...openssl-v0.10.80)\n\n#### What\u0027s Changed\n\n- Prefer Homebrew openssl\\@\u0026#8203;4 and stop looking for\nopenssl\\@\u0026#8203;1.1 by [@\u0026#8203;alex](https://redirect.github.com/alex)\nin\n[#\u0026#8203;2633](https://redirect.github.com/rust-openssl/rust-openssl/pull/2633)\n- Fix output buffer overflow in cipher\\_update\\_inplace for AES\nkey-wrap-with-padding by\n[@\u0026#8203;alex](https://redirect.github.com/alex) in\n[#\u0026#8203;2638](https://redirect.github.com/rust-openssl/rust-openssl/pull/2638)\n- Release openssl 0.10.80 and openssl-sys 0.9.116 by\n[@\u0026#8203;alex](https://redirect.github.com/alex) in\n[#\u0026#8203;2639](https://redirect.github.com/rust-openssl/rust-openssl/pull/2639)\n\n**Full Changelog**:\n\u003chttps://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.79...openssl-v0.10.80\u003e\n\n###\n[`v0.10.79`](https://redirect.github.com/rust-openssl/rust-openssl/releases/tag/openssl-v0.10.79)\n\n[Compare\nSource](https://redirect.github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.78...openssl-v0.10.79)\n\n##### What\u0027s Changed\n\n- Bump actions/cache from 5.0.4 to 5.0.5 by\n[@\u0026#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in\n[#\u0026#8203;2610](https://redirect.github.com/rust-openssl/rust-openssl/pull/2610)\n- Try to fix OpenSSL 1.1.0l download by\n[@\u0026#8203;botovq](https://redirect.github.com/botovq) in\n[#\u0026#8203;2614](https://redirect.github.com/rust-openssl/rust-openssl/pull/2614)\n- Require \\\u0026mut BigNumContextRef for EcPointRef mul/invert by\n[@\u0026#8203;alex](https://redirect.github.com/alex) in\n[#\u0026#8203;2615](https://redirect.github.com/rust-openssl/rust-openssl/pull/2615)\n- Fix UB in EcGroupRef::generator on groups without a generator by\n[@\u0026#8203;alex](https://redirect.github.com/alex) in\n[#\u0026#8203;2617](https://redirect.github.com/rust-openssl/rust-openssl/pull/2617)\n- Replace `use libc::*;` with targeted imports in openssl-sys by\n[@\u0026#8203;alex](https://redirect.github.com/alex) in\n[#\u0026#8203;2618](https://redirect.github.com/rust-openssl/rust-openssl/pull/2618)\n- Add PKeyRef::is\\_a and KeyType for name-based key identification by\n[@\u0026#8203;reaperhulk](https://redirect.github.com/reaperhulk) in\n[#\u0026#8203;2619](https://redirect.github.com/rust-openssl/rust-openssl/pull/2619)\n- Add PKey::{public,private}\\_key\\_from\\_raw\\_bytes\\_ex by\n[@\u0026#8203;reaperhulk](https://redirect.github.com/reaperhulk) in\n[#\u0026#8203;2620](https://redirect.github.com/rust-openssl/rust-openssl/pull/2620)\n- Bump MSRV to 1.80 by\n[@\u0026#8203;reaperhulk](https://redirect.github.com/reaperhulk) in\n[#\u0026#8203;2622](https://redirect.github.com/rust-openssl/rust-openssl/pull/2622)\n- Drop once\\_cell in favor of std::sync::{LazyLock, OnceLock} by\n[@\u0026#8203;reaperhulk](https://redirect.github.com/reaperhulk) in\n[#\u0026#8203;2623](https://redirect.github.com/rust-openssl/rust-openssl/pull/2623)\n- Add PKey::private\\_key\\_from\\_seed for ML-DSA/ML-KEM key import by\n[@\u0026#8203;reaperhulk](https://redirect.github.com/reaperhulk) in\n[#\u0026#8203;2621](https://redirect.github.com/rust-openssl/rust-openssl/pull/2621)\n- parallelize more builds in CI for cold caches by\n[@\u0026#8203;reaperhulk](https://redirect.github.com/reaperhulk) in\n[#\u0026#8203;2625](https://redirect.github.com/rust-openssl/rust-openssl/pull/2625)\n- Add PKeyRef::seed\\_into for ML-DSA/ML-KEM seed extraction by\n[@\u0026#8203;reaperhulk](https://redirect.github.com/reaperhulk) in\n[#\u0026#8203;2626](https://redirect.github.com/rust-openssl/rust-openssl/pull/2626)\n- Fix process abort when verify/PSK callbacks fire after SSL\\_CTX swap\nby [@\u0026#8203;alex](https://redirect.github.com/alex) in\n[#\u0026#8203;2624](https://redirect.github.com/rust-openssl/rust-openssl/pull/2624)\n- Bind OSSL\\_PARAM\\_modified and use it for seed\\_into by\n[@\u0026#8203;reaperhulk](https://redirect.github.com/reaperhulk) in\n[#\u0026#8203;2628](https://redirect.github.com/rust-openssl/rust-openssl/pull/2628)\n- Add PkeyCtxRef::set\\_context\\_string for ML-DSA by\n[@\u0026#8203;reaperhulk](https://redirect.github.com/reaperhulk) in\n[#\u0026#8203;2629](https://redirect.github.com/rust-openssl/rust-openssl/pull/2629)\n- Reject non-UTF-8 OCSP responder URLs in X509Ref::ocsp\\_responders by\n[@\u0026#8203;alex](https://redirect.github.com/alex) in\n[#\u0026#8203;2631](https://redirect.github.com/rust-openssl/rust-openssl/pull/2631)\n- Fix output buffer overflow for AES key-wrap-with-padding ciphers by\n[@\u0026#8203;alex](https://redirect.github.com/alex) in\n[#\u0026#8203;2630](https://redirect.github.com/rust-openssl/rust-openssl/pull/2630)\n- Release openssl 0.10.79 and openssl-sys 0.9.115 by\n[@\u0026#8203;reaperhulk](https://redirect.github.com/reaperhulk) in\n[#\u0026#8203;2632](https://redirect.github.com/rust-openssl/rust-openssl/pull/2632)\n\n**Full Changelog**:\n\u003chttps://github.com/rust-openssl/rust-openssl/compare/openssl-v0.10.78...openssl-v0.10.79\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003estanislav-tkach/os_info (os_info)\u003c/summary\u003e\n\n###\n[`v3.15.0`](https://redirect.github.com/stanislav-tkach/os_info/blob/HEAD/CHANGELOG.md#3150-2026-05-19)\n\n[Compare\nSource](https://redirect.github.com/stanislav-tkach/os_info/compare/v3.14.0...v3.15.0)\n\n- KDE neon support has been added.\n([#\u0026#8203;433](https://redirect.github.com/stanislav-tkach/os_info/issues/433))\n\n- Hurd support has been added.\n([#\u0026#8203;434](https://redirect.github.com/stanislav-tkach/os_info/issues/434))\n\n- Bazzite support has been added.\n([#\u0026#8203;435](https://redirect.github.com/stanislav-tkach/os_info/issues/435))\n\n- The codename detection from files has been fixed.\n([#\u0026#8203;436](https://redirect.github.com/stanislav-tkach/os_info/issues/436))\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eraphlinus/pulldown-cmark (pulldown-cmark)\u003c/summary\u003e\n\n###\n[`v0.13.4`](https://redirect.github.com/pulldown-cmark/pulldown-cmark/releases/tag/v0.13.4):\n0.13.4\n\n[Compare\nSource](https://redirect.github.com/raphlinus/pulldown-cmark/compare/v0.13.3...v0.13.4)\n\nFix `panic` in specific cases with `TightParagraph`.\n\n#### What\u0027s Changed\n\n- fix: panic in parser iterator for `TightParagraph` in some cases by\n[@\u0026#8203;Martin1887](https://redirect.github.com/Martin1887) in\n[pulldown-cmark#1096](https://redirect.github.com/pulldown-cmark/pulldown-cmark/pull/1096)\n\n**Full Changelog**:\n\u003chttps://github.com/pulldown-cmark/pulldown-cmark/compare/v0.13.3...v0.13.4\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eserde-rs/json (serde_json)\u003c/summary\u003e\n\n###\n[`v1.0.150`](https://redirect.github.com/serde-rs/json/releases/tag/v1.0.150)\n\n[Compare\nSource](https://redirect.github.com/serde-rs/json/compare/v1.0.149...v1.0.150)\n\n- Reject non-string enum object keys\n([#\u0026#8203;1324](https://redirect.github.com/serde-rs/json/issues/1324),\nthanks\n[@\u0026#8203;puneetdixit200](https://redirect.github.com/puneetdixit200))\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eassert-rs/snapbox (snapbox)\u003c/summary\u003e\n\n###\n[`v1.2.2`](https://redirect.github.com/assert-rs/snapbox/compare/snapbox-v1.2.1...snapbox-v1.2.2)\n\n[Compare\nSource](https://redirect.github.com/assert-rs/snapbox/compare/snapbox-v1.2.1...snapbox-v1.2.2)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ecomposefs/tar-rs (tar)\u003c/summary\u003e\n\n###\n[`v0.4.46`](https://redirect.github.com/composefs/tar-rs/releases/tag/0.4.46)\n\n[Compare\nSource](https://redirect.github.com/composefs/tar-rs/compare/0.4.45...0.4.46)\n\n#### Security\n\n- archive: Fix another PAX header desync (GHSA-3cv2-h65g-fgmm) by\n[@\u0026#8203;cgwalters](https://redirect.github.com/cgwalters) in\n[#\u0026#8203;454](https://redirect.github.com/composefs/tar-rs/pull/454)\n\nSee also\n\u003chttps://github.com/astral-sh/tokio-tar/security/advisories/GHSA-3cv2-h65g-fgmm\u003e\n\n#### Other changes\n\n- ci: Fix and re-enable reverse dependency testing by\n[@\u0026#8203;cgwalters](https://redirect.github.com/cgwalters) in\n[#\u0026#8203;444](https://redirect.github.com/composefs/tar-rs/pull/444)\n- Update astral-tokio-tar requirement from 0.5 to 0.6 by\n[@\u0026#8203;dependabot](https://redirect.github.com/dependabot)\\[bot] in\n[#\u0026#8203;446](https://redirect.github.com/composefs/tar-rs/pull/446)\n- Update some links by\n[@\u0026#8203;atouchet](https://redirect.github.com/atouchet) in\n[#\u0026#8203;445](https://redirect.github.com/composefs/tar-rs/pull/445)\n- Add support of absolute paths by\n[@\u0026#8203;zxvfc](https://redirect.github.com/zxvfc) in\n[#\u0026#8203;426](https://redirect.github.com/composefs/tar-rs/pull/426)\n- docs: Expand notes on concurrent mutations and following symlinks by\n[@\u0026#8203;cgwalters](https://redirect.github.com/cgwalters) in\n[#\u0026#8203;453](https://redirect.github.com/composefs/tar-rs/pull/453)\n- Update repo links by\n[@\u0026#8203;cgwalters](https://redirect.github.com/cgwalters) in\n[#\u0026#8203;451](https://redirect.github.com/composefs/tar-rs/pull/451)\n- ci: Add crates.io trusted publishing workflow by\n[@\u0026#8203;cgwalters](https://redirect.github.com/cgwalters) in\n[#\u0026#8203;456](https://redirect.github.com/composefs/tar-rs/pull/456)\n- Release 0.4.46 by\n[@\u0026#8203;cgwalters](https://redirect.github.com/cgwalters) in\n[#\u0026#8203;455](https://redirect.github.com/composefs/tar-rs/pull/455)\n\n#### New Contributors\n\n- [@\u0026#8203;dependabot](https://redirect.github.com/dependabot)\\[bot]\nmade their first contribution in\n[#\u0026#8203;446](https://redirect.github.com/composefs/tar-rs/pull/446)\n- [@\u0026#8203;atouchet](https://redirect.github.com/atouchet) made their\nfirst contribution in\n[#\u0026#8203;445](https://redirect.github.com/composefs/tar-rs/pull/445)\n- [@\u0026#8203;zxvfc](https://redirect.github.com/zxvfc) made their first\ncontribution in\n[#\u0026#8203;426](https://redirect.github.com/composefs/tar-rs/pull/426)\n\n**Full Changelog**:\n\u003chttps://github.com/composefs/tar-rs/compare/0.4.45...0.4.46\u003e\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003etoml-rs/toml (toml_edit)\u003c/summary\u003e\n\n###\n[`v0.25.12`](https://redirect.github.com/toml-rs/toml/compare/v0.25.11...v0.25.12)\n\n[Compare\nSource](https://redirect.github.com/toml-rs/toml/compare/v0.25.11...v0.25.12)\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003ewinnow-rs/winnow (winnow)\u003c/summary\u003e\n\n###\n[`v1.0.3`](https://redirect.github.com/winnow-rs/winnow/blob/HEAD/CHANGELOG.md#103---2026-05-14)\n\n[Compare\nSource](https://redirect.github.com/winnow-rs/winnow/compare/v1.0.2...v1.0.3)\n\n##### Fixes\n\n- Remove unused `AsBStr` bound on `ascii::float`\n\n\u003c/details\u003e\n\n---\n\n### Configuration\n\n📅 **Schedule**: (UTC)\n\n- Branch creation\n  - \"before 5am on the first day of the month\"\n- Automerge\n  - At any time (no schedule defined)\n\n🚦 **Automerge**: Disabled by config. Please merge this manually once you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the\nrebase/retry checkbox.\n\n👻 **Immortal**: This PR will be recreated if closed unmerged. Get\n[config\nhelp](https://redirect.github.com/renovatebot/renovate/discussions) if\nthat\u0027s undesired.\n\n---\n\n- [ ] \u003c!-- rebase-check --\u003eIf you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).\nView the [repository job\nlog](https://developer.mend.io/github/rust-lang/cargo).\n\n\u003c!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwMi4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0\u003d--\u003e\n"
    },
    {
      "commit": "abab377559abe279c0c5588c4fd77898b28e3caa",
      "tree": "30725a34421f48d15e1f57718203fc438b31a725",
      "parents": [
        "697003e8471f1704fead3bf06aca8f0f5090f800",
        "ab55d193d48a76b76a44d3209751dd40d5641dba"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Mon Jun 01 14:24:36 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 14:24:36 2026 +0000"
      },
      "message": "fix(util): constant type for Redox OS  (#17064)\n\n### What does this PR try to resolve?\n\nThis fixes compilation to Redox platform due to `mode_t` being `i32`.\nThis patch has been used in Redox cargo fork downstream for years.\n\n+\n[mode_t](https://github.com/rust-lang/libc/blob/main/src/unix/redox/mod.rs#L13)\nand\n[constants](https://github.com/rust-lang/libc/blob/main/src/unix/redox/mod.rs#L722)\nin libc\n+ [downstream\npatch](https://gitlab.redox-os.org/redox-os/cargo/-/merge_requests/2)\n\n### How to test and review this PR?\n\n```\ncargo install --git https://gitlab.redox-os.org/redox-os/redoxer.git\nredoxer pkg curl\nredoxer build --release\n```\n"
    },
    {
      "commit": "ab55d193d48a76b76a44d3209751dd40d5641dba",
      "tree": "30725a34421f48d15e1f57718203fc438b31a725",
      "parents": [
        "697003e8471f1704fead3bf06aca8f0f5090f800"
      ],
      "author": {
        "name": "Wildan M",
        "email": "willnode@wellosoft.net",
        "time": "Mon Jun 01 15:24:04 2026 +0200"
      },
      "committer": {
        "name": "Wildan M",
        "email": "willnode@wellosoft.net",
        "time": "Mon Jun 01 15:24:04 2026 +0200"
      },
      "message": "fix(util): constant type for Redox OS\n"
    },
    {
      "commit": "22e71a160aa3427e6ac3944d4b8c8fad55cbd358",
      "tree": "88d56d4b3edaed3bb87f58bc652404358c68db3a",
      "parents": [
        "6c2795e6a01b91704a0e46aa7282e82141a9f65c"
      ],
      "author": {
        "name": "renovate[bot]",
        "email": "29139614+renovate[bot]@users.noreply.github.com",
        "time": "Mon Jun 01 04:58:05 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 04:58:05 2026 +0000"
      },
      "message": "chore(deps): update rust crate gix to 0.84.0"
    },
    {
      "commit": "697003e8471f1704fead3bf06aca8f0f5090f800",
      "tree": "23ed0f89538ffd073d0269f68b3f9893ada6cdab",
      "parents": [
        "6c2795e6a01b91704a0e46aa7282e82141a9f65c",
        "85d81bf8dffc61b03a43b5b6cee3811276c81c43"
      ],
      "author": {
        "name": "Eric Huss",
        "email": "eric@huss.org",
        "time": "Mon Jun 01 04:56:54 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 04:56:54 2026 +0000"
      },
      "message": "chore(deps): update crate-ci/typos action to v1.47.0 (#17059)\n\nThis PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n| [crate-ci/typos](https://redirect.github.com/crate-ci/typos) | action\n| minor | `v1.44.0` → `v1.47.0` |\n\n---\n\n### Release Notes\n\n\u003cdetails\u003e\n\u003csummary\u003ecrate-ci/typos (crate-ci/typos)\u003c/summary\u003e\n\n###\n[`v1.47.0`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.47.0)\n\n[Compare\nSource](https://redirect.github.com/crate-ci/typos/compare/v1.46.3...v1.47.0)\n\n#### \\[1.47.0] - 2026-05-29\n\n##### Features\n\n- Updated the dictionary with the [May\n2026](https://redirect.github.com/crate-ci/typos/issues/1545) changes\n\n###\n[`v1.46.3`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.46.3)\n\n[Compare\nSource](https://redirect.github.com/crate-ci/typos/compare/v1.46.2...v1.46.3)\n\n#### \\[1.46.3] - 2026-05-23\n\n##### Fixes\n\n- Don\u0027t correct to `sequentials`\n- Don\u0027t correct to `subdolder`\n\n###\n[`v1.46.2`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.46.2)\n\n[Compare\nSource](https://redirect.github.com/crate-ci/typos/compare/v1.46.1...v1.46.2)\n\n#### \\[1.46.2] - 2026-05-16\n\n##### Fixes\n\n- Don\u0027t correct to `criterias`\n- Don\u0027t correct to `replaceables`\n\n###\n[`v1.46.1`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.46.1)\n\n[Compare\nSource](https://redirect.github.com/crate-ci/typos/compare/v1.46.0...v1.46.1)\n\n#### \\[1.46.1] - 2026-05-08\n\n##### Fixes\n\n- Don\u0027t correct to `confidentials`\n\n###\n[`v1.46.0`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.46.0)\n\n[Compare\nSource](https://redirect.github.com/crate-ci/typos/compare/v1.45.2...v1.46.0)\n\n#### \\[1.46.0] - 2026-04-30\n\n##### Features\n\n- Updated the dictionary with the [April\n2026](https://redirect.github.com/crate-ci/typos/issues/1531) changes\n\n###\n[`v1.45.2`](https://redirect.github.com/crate-ci/typos/releases/tag/v1.45.2)\n\n[Compare\nSource](https://redirect.github.com/crate-ci/typos/compare/v1.45.1...v1.45.2)\n\n##### \\[1.45.2] - 2026-04-27\n\n##### Fixes\n\n- Ignore ssh\n[`ed25519`](https://redirect.github.com/crate-ci/typos/commit/ed25519)\npublic keys\n\n###\n[`v1.45.1`](https://redirect.github.com/crate-ci/typos/blob/HEAD/CHANGELOG.md#014---2019-11-03)\n\n[Compare\nSource](https://redirect.github.com/crate-ci/typos/compare/v1.45.0...v1.45.1)\n\n##### Bug Fixes\n\n- Ignore numbers as identifiers\n([a00831c8](https://redirect.github.com/crate-ci/typos/commit/a00831c847b7efd81be520ea9b5d02f70555351f))\n- Improve the organization of --help\n([a48a457c](https://redirect.github.com/crate-ci/typos/commit/a48a457cc3ca817850118e2a2fb8b20fecdd40b8))\n\n##### Features\n\n- Dump files, identifiers, and words\n([ce365ae1](https://redirect.github.com/crate-ci/typos/commit/ce365ae12e12fddfb6fc42a7f1e5ea71834d6051),\ncloses\n[#\u0026#8203;41](https://redirect.github.com/crate-ci/typos/issues/41))\n- Give control over allowed identifier characters for leading vs rest\n([107308a6](https://redirect.github.com/crate-ci/typos/commit/107308a655a425eb593bf5e4928572c16e6a9bdd))\n\n##### Performance\n\n- Use standard identifier rules to avoid doing umber checks\n([107308a6](https://redirect.github.com/crate-ci/typos/commit/107308a655a425eb593bf5e4928572c16e6a9bdd))\n- Only do hex check if digits are in identifiers\n([68cd36d0](https://redirect.github.com/crate-ci/typos/commit/68cd36d0de90226dbc9d31c2ce6d8bf6b69adb5c))\n\n\u003c!-- next-url --\u003e\n\n[Unreleased]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.45.1...HEAD\n\n[1.45.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.45.0...v1.45.1\n\n[1.45.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.44.0...v1.45.0\n\n[1.44.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.43.5...v1.44.0\n\n[1.43.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.43.4...v1.43.5\n\n[1.43.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.43.3...v1.43.4\n\n[1.43.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.43.2...v1.43.3\n\n[1.43.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.43.1...v1.43.2\n\n[1.43.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.43.0...v1.43.1\n\n[1.43.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.42.3...v1.43.0\n\n[1.42.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.42.2...v1.42.3\n\n[1.42.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.42.1...v1.42.2\n\n[1.42.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.42.0...v1.42.1\n\n[1.42.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.41.0...v1.42.0\n\n[1.41.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.40.1...v1.41.0\n\n[1.40.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.40.0...v1.40.1\n\n[1.40.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.39.2...v1.40.0\n\n[1.39.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.39.1...v1.39.2\n\n[1.39.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.39.0...v1.39.1\n\n[1.39.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.38.1...v1.39.0\n\n[1.38.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.38.0...v1.38.1\n\n[1.38.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.37.3...v1.38.0\n\n[1.37.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.37.2...v1.37.3\n\n[1.37.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.37.1...v1.37.2\n\n[1.37.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.37.0...v1.37.1\n\n[1.37.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.36.3...v1.37.0\n\n[1.36.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.36.2...v1.36.3\n\n[1.36.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.36.1...v1.36.2\n\n[1.36.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.36.0...v1.36.1\n\n[1.36.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.8...v1.36.0\n\n[1.35.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.7...v1.35.8\n\n[1.35.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.6...v1.35.7\n\n[1.35.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.5...v1.35.6\n\n[1.35.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.4...v1.35.5\n\n[1.35.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.3...v1.35.4\n\n[1.35.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.2...v1.35.3\n\n[1.35.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.1...v1.35.2\n\n[1.35.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.0...v1.35.1\n\n[1.35.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.34.0...v1.35.0\n\n[1.34.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.33.1...v1.34.0\n\n[1.33.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.33.0...v1.33.1\n\n[1.33.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.32.0...v1.33.0\n\n[1.32.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.31.2...v1.32.0\n\n[1.31.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.31.1...v1.31.2\n\n[1.31.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.31.0...v1.31.1\n\n[1.31.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.30.3...v1.31.0\n\n[1.30.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.30.2...v1.30.3\n\n[1.30.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.30.1...v1.30.2\n\n[1.30.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.30.0...v1.30.1\n\n[1.30.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.10...v1.30.0\n\n[1.29.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.9...v1.29.10\n\n[1.29.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.8...v1.29.9\n\n[1.29.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.7...v1.29.8\n\n[1.29.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.6...v1.29.7\n\n[1.29.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.5...v1.29.6\n\n[1.29.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.4...v1.29.5\n\n[1.29.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.3...v1.29.4\n\n[1.29.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.2...v1.29.3\n\n[1.29.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.1...v1.29.2\n\n[1.29.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.0...v1.29.1\n\n[1.29.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.28.4...v1.29.0\n\n[1.28.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.28.3...v1.28.4\n\n[1.28.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.28.2...v1.28.3\n\n[1.28.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.28.1...v1.28.2\n\n[1.28.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.28.0...v1.28.1\n\n[1.28.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.27.3...v1.28.0\n\n[1.27.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.27.2...v1.27.3\n\n[1.27.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.27.1...v1.27.2\n\n[1.27.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.27.0...v1.27.1\n\n[1.27.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.8...v1.27.0\n\n[1.26.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.7...v1.26.8\n\n[1.26.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.6...v1.26.7\n\n[1.26.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.5...v1.26.6\n\n[1.26.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.4...v1.26.5\n\n[1.26.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.3...v1.26.4\n\n[1.26.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.2...v1.26.3\n\n[1.26.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.1...v1.26.2\n\n[1.26.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.0...v1.26.1\n\n[1.26.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.25.0...v1.26.0\n\n[1.25.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.6...v1.25.0\n\n[1.24.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.5...v1.24.6\n\n[1.24.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.4...v1.24.5\n\n[1.24.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.3...v1.24.4\n\n[1.24.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.2...v1.24.3\n\n[1.24.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.1...v1.24.2\n\n[1.24.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.0...v1.24.1\n\n[1.24.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.7...v1.24.0\n\n[1.23.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.6...v1.23.7\n\n[1.23.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.5...v1.23.6\n\n[1.23.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.4...v1.23.5\n\n[1.23.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.3...v1.23.4\n\n[1.23.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.2...v1.23.3\n\n[1.23.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.1...v1.23.2\n\n[1.23.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.0...v1.23.1\n\n[1.23.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.9...v1.23.0\n\n[1.22.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.8...v1.22.9\n\n[1.22.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.7...v1.22.8\n\n[1.22.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.6...v1.22.7\n\n[1.22.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.5...v1.22.6\n\n[1.22.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.4...v1.22.5\n\n[1.22.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.3...v1.22.4\n\n[1.22.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.2...v1.22.3\n\n[1.22.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.1...v1.22.2\n\n[1.22.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.0...v1.22.1\n\n[1.22.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.21.0...v1.22.0\n\n[1.21.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.10...v1.21.0\n\n[1.20.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.9...v1.20.10\n\n[1.20.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.8...v1.20.9\n\n[1.20.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.7...v1.20.8\n\n[1.20.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.6...v1.20.7\n\n[1.20.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.5...v1.20.6\n\n[1.20.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.4...v1.20.5\n\n[1.20.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.3...v1.20.4\n\n[1.20.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.2...v1.20.3\n\n[1.20.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.1...v1.20.2\n\n[1.20.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.0...v1.20.1\n\n[1.20.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.19.0...v1.20.0\n\n[1.19.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.18.2...v1.19.0\n\n[1.18.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.18.1...v1.18.2\n\n[1.18.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.18.0...v1.18.1\n\n[1.18.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.17.2...v1.18.0\n\n[1.17.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.17.1...v1.17.2\n\n[1.17.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.17.0...v1.17.1\n\n[1.17.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.26...v1.17.0\n\n[1.16.26]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.25...v1.16.26\n\n[1.16.25]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.24...v1.16.25\n\n[1.16.24]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.23...v1.16.24\n\n[1.16.23]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.22...v1.16.23\n\n[1.16.22]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.21...v1.16.22\n\n[1.16.21]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.20...v1.16.21\n\n[1.16.20]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.19...v1.16.20\n\n[1.16.19]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.18...v1.16.19\n\n[1.16.18]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.17...v1.16.18\n\n[1.16.17]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.16...v1.16.17\n\n[1.16.16]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.15...v1.16.16\n\n[1.16.15]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.14...v1.16.15\n\n[1.16.14]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.13...v1.16.14\n\n[1.16.13]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.12...v1.16.13\n\n[1.16.12]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.11...v1.16.12\n\n[1.16.11]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.10...v1.16.11\n\n[1.16.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.9...v1.16.10\n\n[1.16.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.8...v1.16.9\n\n[1.16.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.7...v1.16.8\n\n[1.16.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.6...v1.16.7\n\n[1.16.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.5...v1.16.6\n\n[1.16.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.4...v1.16.5\n\n[1.16.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.3...v1.16.4\n\n[1.16.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.2...v1.16.3\n\n[1.16.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.1...v1.16.2\n\n[1.16.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.0...v1.16.1\n\n[1.16.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.10...v1.16.0\n\n[1.15.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.9...v1.15.10\n\n[1.15.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.8...v1.15.9\n\n[1.15.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.7...v1.15.8\n\n[1.15.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.6...v1.15.7\n\n[1.15.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.5...v1.15.6\n\n[1.15.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.4...v1.15.5\n\n[1.15.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.3...v1.15.4\n\n[1.15.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.2...v1.15.3\n\n[1.15.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.1...v1.15.2\n\n[1.15.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.0...v1.15.1\n\n[1.15.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.12...v1.15.0\n\n[1.14.12]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.11...v1.14.12\n\n[1.14.11]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.10...v1.14.11\n\n[1.14.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.9...v1.14.10\n\n[1.14.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.8...v1.14.9\n\n[1.14.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.7...v1.14.8\n\n[1.14.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.6...v1.14.7\n\n[1.14.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.5...v1.14.6\n\n[1.14.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.4...v1.14.5\n\n[1.14.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.3...v1.14.4\n\n[1.14.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.2...v1.14.3\n\n[1.14.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.1...v1.14.2\n\n[1.14.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.0...v1.14.1\n\n[1.14.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.26...v1.14.0\n\n[1.13.26]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.25...v1.13.26\n\n[1.13.25]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.24...v1.13.25\n\n[1.13.24]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.23...v1.13.24\n\n[1.13.23]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.22...v1.13.23\n\n[1.13.22]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.21...v1.13.22\n\n[1.13.21]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.20...v1.13.21\n\n[1.13.20]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.19...v1.13.20\n\n[1.13.19]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.18...v1.13.19\n\n[1.13.18]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.17...v1.13.18\n\n[1.13.17]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.16...v1.13.17\n\n[1.13.16]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.15...v1.13.16\n\n[1.13.15]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.14...v1.13.15\n\n[1.13.14]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.13...v1.13.14\n\n[1.13.13]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.12...v1.13.13\n\n[1.13.12]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.11...v1.13.12\n\n[1.13.11]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.10...v1.13.11\n\n[1.13.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.9...v1.13.10\n\n[1.13.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.8...v1.13.9\n\n[1.13.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.7...v1.13.8\n\n[1.13.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.6...v1.13.7\n\n[1.13.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.5...v1.13.6\n\n[1.13.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.4...v1.13.5\n\n[1.13.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.3...v1.13.4\n\n[1.13.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.2...v1.13.3\n\n[1.13.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.1...v1.13.2\n\n[1.13.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.0...v1.13.1\n\n[1.13.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.14...v1.13.0\n\n[1.12.14]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.13...v1.12.14\n\n[1.12.13]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.12...v1.12.13\n\n[1.12.12]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.11...v1.12.12\n\n[1.12.11]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.10...v1.12.11\n\n[1.12.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.9...v1.12.10\n\n[1.12.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.8...v1.12.9\n\n[1.12.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.7...v1.12.8\n\n[1.12.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.6...v1.12.7\n\n[1.12.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.5...v1.12.6\n\n[1.12.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.4...v1.12.5\n\n[1.12.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.3...v1.12.4\n\n[1.12.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.2...v1.12.3\n\n[1.12.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.1...v1.12.2\n\n[1.12.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.0...v1.12.1\n\n[1.12.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.11.5...v1.12.0\n\n[1.11.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.11.4...v1.11.5\n\n[1.11.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.11.3...v1.11.4\n\n[1.11.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.11.2...v1.11.3\n\n[1.11.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.11.1...v1.11.2\n\n[1.11.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.11.0...v1.11.1\n\n[1.11.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.10.3...v1.11.0\n\n[1.10.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.10.2...v1.10.3\n\n[1.10.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.10.1...v1.10.2\n\n[1.10.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.10.0...v1.10.1\n\n[1.10.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.9.0...v1.10.0\n\n[1.9.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.8.1...v1.9.0\n\n[1.8.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.8.0...v1.8.1\n\n[1.8.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.7.3...v1.8.0\n\n[1.7.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.7.2...v1.7.3\n\n[1.7.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.7.1...v1.7.2\n\n[1.7.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.7.0...v1.7.1\n\n[1.7.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.6.0...v1.7.0\n\n[1.6.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.5.0...v1.6.0\n\n[1.5.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.4.1...v1.5.0\n\n[1.4.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.4.0...v1.4.1\n\n[1.4.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.9...v1.4.0\n\n[1.3.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.8...v1.3.9\n\n[1.3.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.7...v1.3.8\n\n[1.3.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.6...v1.3.7\n\n[1.3.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.5...v1.3.6\n\n[1.3.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.4...v1.3.5\n\n[1.3.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.3...v1.3.4\n\n[1.3.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.2...v1.3.3\n\n[1.3.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.1...v1.3.2\n\n[1.3.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.0...v1.3.1\n\n[1.3.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.2.1...v1.3.0\n\n[1.2.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.2.0...v1.2.1\n\n[1.2.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.9...v1.2.0\n\n[1.1.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.8...v1.1.9\n\n[1.1.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.7...v1.1.8\n\n[1.1.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.6...v1.1.7\n\n[1.1.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.5...v1.1.6\n\n[1.1.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.4...v1.1.5\n\n[1.1.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.3...v1.1.4\n\n[1.1.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.2...v1.1.3\n\n[1.1.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.1...v1.1.2\n\n[1.1.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.0...v1.1.1\n\n[1.1.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.11...v1.1.0\n\n[1.0.11]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.10...v1.0.11\n\n[1.0.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.9...v1.0.10\n\n[1.0.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.8...v1.0.9\n\n[1.0.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.7...v1.0.8\n\n[1.0.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.6...v1.0.7\n\n[1.0.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.5...v1.0.6\n\n[1.0.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.4...v1.0.5\n\n[1.0.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.3...v1.0.4\n\n[1.0.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.2...v1.0.3\n\n[1.0.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.1...v1.0.2\n\n[1.0.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.0...v1.0.1\n\n[1.0.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v0.4.0...v1.0.0\n\n[0.4.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v0.3.0...v0.4.0\n\n[0.3.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v0.2.0...v0.3.0\n\n[0.2.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v0.1.4...v0.2.0\n\n###\n[`v1.45.0`](https://redirect.github.com/crate-ci/typos/blob/HEAD/CHANGELOG.md#014---2019-11-03)\n\n[Compare\nSource](https://redirect.github.com/crate-ci/typos/compare/v1.44.0...v1.45.0)\n\n##### Bug Fixes\n\n- Ignore numbers as identifiers\n([a00831c8](https://redirect.github.com/crate-ci/typos/commit/a00831c847b7efd81be520ea9b5d02f70555351f))\n- Improve the organization of --help\n([a48a457c](https://redirect.github.com/crate-ci/typos/commit/a48a457cc3ca817850118e2a2fb8b20fecdd40b8))\n\n##### Features\n\n- Dump files, identifiers, and words\n([ce365ae1](https://redirect.github.com/crate-ci/typos/commit/ce365ae12e12fddfb6fc42a7f1e5ea71834d6051),\ncloses\n[#\u0026#8203;41](https://redirect.github.com/crate-ci/typos/issues/41))\n- Give control over allowed identifier characters for leading vs rest\n([107308a6](https://redirect.github.com/crate-ci/typos/commit/107308a655a425eb593bf5e4928572c16e6a9bdd))\n\n##### Performance\n\n- Use standard identifier rules to avoid doing umber checks\n([107308a6](https://redirect.github.com/crate-ci/typos/commit/107308a655a425eb593bf5e4928572c16e6a9bdd))\n- Only do hex check if digits are in identifiers\n([68cd36d0](https://redirect.github.com/crate-ci/typos/commit/68cd36d0de90226dbc9d31c2ce6d8bf6b69adb5c))\n\n\u003c!-- next-url --\u003e\n\n[Unreleased]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.45.0...HEAD\n\n[1.45.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.44.0...v1.45.0\n\n[1.44.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.43.5...v1.44.0\n\n[1.43.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.43.4...v1.43.5\n\n[1.43.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.43.3...v1.43.4\n\n[1.43.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.43.2...v1.43.3\n\n[1.43.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.43.1...v1.43.2\n\n[1.43.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.43.0...v1.43.1\n\n[1.43.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.42.3...v1.43.0\n\n[1.42.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.42.2...v1.42.3\n\n[1.42.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.42.1...v1.42.2\n\n[1.42.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.42.0...v1.42.1\n\n[1.42.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.41.0...v1.42.0\n\n[1.41.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.40.1...v1.41.0\n\n[1.40.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.40.0...v1.40.1\n\n[1.40.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.39.2...v1.40.0\n\n[1.39.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.39.1...v1.39.2\n\n[1.39.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.39.0...v1.39.1\n\n[1.39.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.38.1...v1.39.0\n\n[1.38.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.38.0...v1.38.1\n\n[1.38.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.37.3...v1.38.0\n\n[1.37.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.37.2...v1.37.3\n\n[1.37.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.37.1...v1.37.2\n\n[1.37.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.37.0...v1.37.1\n\n[1.37.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.36.3...v1.37.0\n\n[1.36.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.36.2...v1.36.3\n\n[1.36.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.36.1...v1.36.2\n\n[1.36.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.36.0...v1.36.1\n\n[1.36.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.8...v1.36.0\n\n[1.35.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.7...v1.35.8\n\n[1.35.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.6...v1.35.7\n\n[1.35.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.5...v1.35.6\n\n[1.35.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.4...v1.35.5\n\n[1.35.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.3...v1.35.4\n\n[1.35.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.2...v1.35.3\n\n[1.35.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.1...v1.35.2\n\n[1.35.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.35.0...v1.35.1\n\n[1.35.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.34.0...v1.35.0\n\n[1.34.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.33.1...v1.34.0\n\n[1.33.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.33.0...v1.33.1\n\n[1.33.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.32.0...v1.33.0\n\n[1.32.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.31.2...v1.32.0\n\n[1.31.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.31.1...v1.31.2\n\n[1.31.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.31.0...v1.31.1\n\n[1.31.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.30.3...v1.31.0\n\n[1.30.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.30.2...v1.30.3\n\n[1.30.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.30.1...v1.30.2\n\n[1.30.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.30.0...v1.30.1\n\n[1.30.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.10...v1.30.0\n\n[1.29.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.9...v1.29.10\n\n[1.29.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.8...v1.29.9\n\n[1.29.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.7...v1.29.8\n\n[1.29.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.6...v1.29.7\n\n[1.29.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.5...v1.29.6\n\n[1.29.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.4...v1.29.5\n\n[1.29.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.3...v1.29.4\n\n[1.29.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.2...v1.29.3\n\n[1.29.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.1...v1.29.2\n\n[1.29.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.29.0...v1.29.1\n\n[1.29.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.28.4...v1.29.0\n\n[1.28.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.28.3...v1.28.4\n\n[1.28.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.28.2...v1.28.3\n\n[1.28.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.28.1...v1.28.2\n\n[1.28.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.28.0...v1.28.1\n\n[1.28.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.27.3...v1.28.0\n\n[1.27.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.27.2...v1.27.3\n\n[1.27.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.27.1...v1.27.2\n\n[1.27.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.27.0...v1.27.1\n\n[1.27.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.8...v1.27.0\n\n[1.26.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.7...v1.26.8\n\n[1.26.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.6...v1.26.7\n\n[1.26.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.5...v1.26.6\n\n[1.26.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.4...v1.26.5\n\n[1.26.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.3...v1.26.4\n\n[1.26.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.2...v1.26.3\n\n[1.26.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.1...v1.26.2\n\n[1.26.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.26.0...v1.26.1\n\n[1.26.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.25.0...v1.26.0\n\n[1.25.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.6...v1.25.0\n\n[1.24.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.5...v1.24.6\n\n[1.24.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.4...v1.24.5\n\n[1.24.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.3...v1.24.4\n\n[1.24.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.2...v1.24.3\n\n[1.24.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.1...v1.24.2\n\n[1.24.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.24.0...v1.24.1\n\n[1.24.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.7...v1.24.0\n\n[1.23.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.6...v1.23.7\n\n[1.23.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.5...v1.23.6\n\n[1.23.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.4...v1.23.5\n\n[1.23.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.3...v1.23.4\n\n[1.23.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.2...v1.23.3\n\n[1.23.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.1...v1.23.2\n\n[1.23.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.23.0...v1.23.1\n\n[1.23.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.9...v1.23.0\n\n[1.22.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.8...v1.22.9\n\n[1.22.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.7...v1.22.8\n\n[1.22.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.6...v1.22.7\n\n[1.22.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.5...v1.22.6\n\n[1.22.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.4...v1.22.5\n\n[1.22.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.3...v1.22.4\n\n[1.22.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.2...v1.22.3\n\n[1.22.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.1...v1.22.2\n\n[1.22.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.22.0...v1.22.1\n\n[1.22.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.21.0...v1.22.0\n\n[1.21.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.10...v1.21.0\n\n[1.20.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.9...v1.20.10\n\n[1.20.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.8...v1.20.9\n\n[1.20.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.7...v1.20.8\n\n[1.20.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.6...v1.20.7\n\n[1.20.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.5...v1.20.6\n\n[1.20.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.4...v1.20.5\n\n[1.20.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.3...v1.20.4\n\n[1.20.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.2...v1.20.3\n\n[1.20.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.1...v1.20.2\n\n[1.20.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.20.0...v1.20.1\n\n[1.20.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.19.0...v1.20.0\n\n[1.19.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.18.2...v1.19.0\n\n[1.18.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.18.1...v1.18.2\n\n[1.18.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.18.0...v1.18.1\n\n[1.18.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.17.2...v1.18.0\n\n[1.17.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.17.1...v1.17.2\n\n[1.17.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.17.0...v1.17.1\n\n[1.17.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.26...v1.17.0\n\n[1.16.26]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.25...v1.16.26\n\n[1.16.25]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.24...v1.16.25\n\n[1.16.24]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.23...v1.16.24\n\n[1.16.23]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.22...v1.16.23\n\n[1.16.22]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.21...v1.16.22\n\n[1.16.21]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.20...v1.16.21\n\n[1.16.20]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.19...v1.16.20\n\n[1.16.19]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.18...v1.16.19\n\n[1.16.18]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.17...v1.16.18\n\n[1.16.17]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.16...v1.16.17\n\n[1.16.16]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.15...v1.16.16\n\n[1.16.15]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.14...v1.16.15\n\n[1.16.14]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.13...v1.16.14\n\n[1.16.13]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.12...v1.16.13\n\n[1.16.12]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.11...v1.16.12\n\n[1.16.11]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.10...v1.16.11\n\n[1.16.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.9...v1.16.10\n\n[1.16.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.8...v1.16.9\n\n[1.16.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.7...v1.16.8\n\n[1.16.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.6...v1.16.7\n\n[1.16.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.5...v1.16.6\n\n[1.16.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.4...v1.16.5\n\n[1.16.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.3...v1.16.4\n\n[1.16.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.2...v1.16.3\n\n[1.16.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.1...v1.16.2\n\n[1.16.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.16.0...v1.16.1\n\n[1.16.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.10...v1.16.0\n\n[1.15.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.9...v1.15.10\n\n[1.15.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.8...v1.15.9\n\n[1.15.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.7...v1.15.8\n\n[1.15.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.6...v1.15.7\n\n[1.15.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.5...v1.15.6\n\n[1.15.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.4...v1.15.5\n\n[1.15.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.3...v1.15.4\n\n[1.15.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.2...v1.15.3\n\n[1.15.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.1...v1.15.2\n\n[1.15.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.15.0...v1.15.1\n\n[1.15.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.12...v1.15.0\n\n[1.14.12]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.11...v1.14.12\n\n[1.14.11]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.10...v1.14.11\n\n[1.14.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.9...v1.14.10\n\n[1.14.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.8...v1.14.9\n\n[1.14.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.7...v1.14.8\n\n[1.14.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.6...v1.14.7\n\n[1.14.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.5...v1.14.6\n\n[1.14.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.4...v1.14.5\n\n[1.14.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.3...v1.14.4\n\n[1.14.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.2...v1.14.3\n\n[1.14.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.1...v1.14.2\n\n[1.14.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.14.0...v1.14.1\n\n[1.14.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.26...v1.14.0\n\n[1.13.26]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.25...v1.13.26\n\n[1.13.25]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.24...v1.13.25\n\n[1.13.24]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.23...v1.13.24\n\n[1.13.23]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.22...v1.13.23\n\n[1.13.22]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.21...v1.13.22\n\n[1.13.21]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.20...v1.13.21\n\n[1.13.20]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.19...v1.13.20\n\n[1.13.19]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.18...v1.13.19\n\n[1.13.18]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.17...v1.13.18\n\n[1.13.17]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.16...v1.13.17\n\n[1.13.16]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.15...v1.13.16\n\n[1.13.15]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.14...v1.13.15\n\n[1.13.14]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.13...v1.13.14\n\n[1.13.13]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.12...v1.13.13\n\n[1.13.12]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.11...v1.13.12\n\n[1.13.11]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.10...v1.13.11\n\n[1.13.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.9...v1.13.10\n\n[1.13.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.8...v1.13.9\n\n[1.13.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.7...v1.13.8\n\n[1.13.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.6...v1.13.7\n\n[1.13.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.5...v1.13.6\n\n[1.13.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.4...v1.13.5\n\n[1.13.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.3...v1.13.4\n\n[1.13.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.2...v1.13.3\n\n[1.13.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.1...v1.13.2\n\n[1.13.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.13.0...v1.13.1\n\n[1.13.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.14...v1.13.0\n\n[1.12.14]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.13...v1.12.14\n\n[1.12.13]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.12...v1.12.13\n\n[1.12.12]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.11...v1.12.12\n\n[1.12.11]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.10...v1.12.11\n\n[1.12.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.9...v1.12.10\n\n[1.12.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.8...v1.12.9\n\n[1.12.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.7...v1.12.8\n\n[1.12.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.6...v1.12.7\n\n[1.12.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.5...v1.12.6\n\n[1.12.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.4...v1.12.5\n\n[1.12.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.3...v1.12.4\n\n[1.12.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.2...v1.12.3\n\n[1.12.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.1...v1.12.2\n\n[1.12.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.12.0...v1.12.1\n\n[1.12.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.11.5...v1.12.0\n\n[1.11.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.11.4...v1.11.5\n\n[1.11.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.11.3...v1.11.4\n\n[1.11.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.11.2...v1.11.3\n\n[1.11.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.11.1...v1.11.2\n\n[1.11.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.11.0...v1.11.1\n\n[1.11.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.10.3...v1.11.0\n\n[1.10.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.10.2...v1.10.3\n\n[1.10.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.10.1...v1.10.2\n\n[1.10.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.10.0...v1.10.1\n\n[1.10.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.9.0...v1.10.0\n\n[1.9.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.8.1...v1.9.0\n\n[1.8.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.8.0...v1.8.1\n\n[1.8.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.7.3...v1.8.0\n\n[1.7.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.7.2...v1.7.3\n\n[1.7.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.7.1...v1.7.2\n\n[1.7.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.7.0...v1.7.1\n\n[1.7.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.6.0...v1.7.0\n\n[1.6.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.5.0...v1.6.0\n\n[1.5.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.4.1...v1.5.0\n\n[1.4.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.4.0...v1.4.1\n\n[1.4.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.9...v1.4.0\n\n[1.3.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.8...v1.3.9\n\n[1.3.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.7...v1.3.8\n\n[1.3.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.6...v1.3.7\n\n[1.3.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.5...v1.3.6\n\n[1.3.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.4...v1.3.5\n\n[1.3.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.3...v1.3.4\n\n[1.3.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.2...v1.3.3\n\n[1.3.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.1...v1.3.2\n\n[1.3.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.3.0...v1.3.1\n\n[1.3.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.2.1...v1.3.0\n\n[1.2.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.2.0...v1.2.1\n\n[1.2.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.9...v1.2.0\n\n[1.1.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.8...v1.1.9\n\n[1.1.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.7...v1.1.8\n\n[1.1.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.6...v1.1.7\n\n[1.1.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.5...v1.1.6\n\n[1.1.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.4...v1.1.5\n\n[1.1.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.3...v1.1.4\n\n[1.1.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.2...v1.1.3\n\n[1.1.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.1...v1.1.2\n\n[1.1.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.1.0...v1.1.1\n\n[1.1.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.11...v1.1.0\n\n[1.0.11]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.10...v1.0.11\n\n[1.0.10]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.9...v1.0.10\n\n[1.0.9]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.8...v1.0.9\n\n[1.0.8]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.7...v1.0.8\n\n[1.0.7]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.6...v1.0.7\n\n[1.0.6]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.5...v1.0.6\n\n[1.0.5]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.4...v1.0.5\n\n[1.0.4]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.3...v1.0.4\n\n[1.0.3]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.2...v1.0.3\n\n[1.0.2]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.1...v1.0.2\n\n[1.0.1]:\nhttps://redirect.github.com/crate-ci/typos/compare/v1.0.0...v1.0.1\n\n[1.0.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v0.4.0...v1.0.0\n\n[0.4.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v0.3.0...v0.4.0\n\n[0.3.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v0.2.0...v0.3.0\n\n[0.2.0]:\nhttps://redirect.github.com/crate-ci/typos/compare/v0.1.4...v0.2.0\n\n\u003c/details\u003e\n\n---\n\n### Configuration\n\n📅 **Schedule**: (UTC)\n\n- Branch creation\n  - \"before 5am on the first day of the month\"\n- Automerge\n  - At any time (no schedule defined)\n\n🚦 **Automerge**: Disabled by config. Please merge this manually once you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR and you won\u0027t be reminded about this update\nagain.\n\n---\n\n- [ ] \u003c!-- rebase-check --\u003eIf you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).\nView the [repository job\nlog](https://developer.mend.io/github/rust-lang/cargo).\n\n\u003c!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwMi4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0\u003d--\u003e\n"
    },
    {
      "commit": "85d81bf8dffc61b03a43b5b6cee3811276c81c43",
      "tree": "23ed0f89538ffd073d0269f68b3f9893ada6cdab",
      "parents": [
        "6c2795e6a01b91704a0e46aa7282e82141a9f65c"
      ],
      "author": {
        "name": "renovate[bot]",
        "email": "29139614+renovate[bot]@users.noreply.github.com",
        "time": "Mon Jun 01 03:18:10 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 03:18:10 2026 +0000"
      },
      "message": "chore(deps): update crate-ci/typos action to v1.47.0"
    },
    {
      "commit": "6c2795e6a01b91704a0e46aa7282e82141a9f65c",
      "tree": "bb045e24c1bf69d771c170bfe205cb89cf7db799",
      "parents": [
        "772b57e1561b14e60d2c9b3cc484d055fabb965b",
        "25fd5258b62d176c9fb6fff19a1c30708009acba"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Mon Jun 01 00:43:58 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 00:43:58 2026 +0000"
      },
      "message": "chore(deps): update embarkstudios/cargo-deny-action action to v2.0.20 (#17058)\n\nThis PR contains the following updates:\n\n| Package | Type | Update | Change |\n|---|---|---|---|\n|\n[EmbarkStudios/cargo-deny-action](https://redirect.github.com/EmbarkStudios/cargo-deny-action)\n| action | patch | `v2.0.17` → `v2.0.20` |\n\n---\n\n### Release Notes\n\n\u003cdetails\u003e\n\u003csummary\u003eEmbarkStudios/cargo-deny-action\n(EmbarkStudios/cargo-deny-action)\u003c/summary\u003e\n\n###\n[`v2.0.20`](https://redirect.github.com/EmbarkStudios/cargo-deny-action/releases/tag/v2.0.20):\nRelease 2.0.20 - cargo-deny 0.19.8\n\n[Compare\nSource](https://redirect.github.com/EmbarkStudios/cargo-deny-action/compare/v2.0.19...v2.0.20)\n\n##### Fixed\n\n-\n[PR#864](https://redirect.github.com/EmbarkStudios/cargo-deny/pull/864)\nfixed matching of `^` and `~` with on prerelease versions for when\nchecking if a crate is affected by an advisory. As of the time of the\nPR, this literally affected none of published versions of any crate with\nan advisory, but this just ensures such a case will be handled in the\nfuture.\n\n###\n[`v2.0.19`](https://redirect.github.com/EmbarkStudios/cargo-deny-action/releases/tag/v2.0.19):\nRelease 2.0.19 - cargo-deny 0.19.7\n\n[Compare\nSource](https://redirect.github.com/EmbarkStudios/cargo-deny-action/compare/v2.0.18...v2.0.19)\n\n##### Changed\n\n-\n[PR#860](https://redirect.github.com/EmbarkStudios/cargo-deny/pull/860)\nupdated crates, resolving\n[krates#111](https://redirect.github.com/EmbarkStudios/krates/issues/111).\n\n###\n[`v2.0.18`](https://redirect.github.com/EmbarkStudios/cargo-deny-action/releases/tag/v2.0.18):\nRelease 2.0.18 - cargo-deny 0.19.5\n\n[Compare\nSource](https://redirect.github.com/EmbarkStudios/cargo-deny-action/compare/v2.0.17...v2.0.18)\n\n##### Fixed\n\n-\n[PR#857](https://redirect.github.com/EmbarkStudios/cargo-deny/pull/857)\nfixed a segfault reported in\n[#\u0026#8203;855](https://redirect.github.com/EmbarkStudios/cargo-deny/issues/855).\n\n\u003c/details\u003e\n\n---\n\n### Configuration\n\n📅 **Schedule**: (UTC)\n\n- Branch creation\n  - \"before 5am on the first day of the month\"\n- Automerge\n  - At any time (no schedule defined)\n\n🚦 **Automerge**: Disabled by config. Please merge this manually once you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR and you won\u0027t be reminded about this update\nagain.\n\n---\n\n- [ ] \u003c!-- rebase-check --\u003eIf you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).\nView the [repository job\nlog](https://developer.mend.io/github/rust-lang/cargo).\n\n\u003c!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwMi4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0\u003d--\u003e\n"
    },
    {
      "commit": "25fd5258b62d176c9fb6fff19a1c30708009acba",
      "tree": "86556d9ffce274a2306662c7fa67acf804b99616",
      "parents": [
        "d195531d7f561018e3b4e162c772145f096ef4a1"
      ],
      "author": {
        "name": "renovate[bot]",
        "email": "29139614+renovate[bot]@users.noreply.github.com",
        "time": "Mon Jun 01 00:10:34 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 00:10:34 2026 +0000"
      },
      "message": "chore(deps): update embarkstudios/cargo-deny-action action to v2.0.20"
    },
    {
      "commit": "810206e80e3ec0fbc1523b11d895e802671dbbd3",
      "tree": "78e4b1ab30d572ff9fa971f2197b6ebe12dcca46",
      "parents": [
        "d195531d7f561018e3b4e162c772145f096ef4a1"
      ],
      "author": {
        "name": "renovate[bot]",
        "email": "29139614+renovate[bot]@users.noreply.github.com",
        "time": "Mon Jun 01 00:10:26 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 00:10:26 2026 +0000"
      },
      "message": "chore(deps): update compatible"
    },
    {
      "commit": "772b57e1561b14e60d2c9b3cc484d055fabb965b",
      "tree": "3b71dbee673b91c4540c6c2ac3c501ba2cb3a67b",
      "parents": [
        "d195531d7f561018e3b4e162c772145f096ef4a1",
        "24e53ee6dbea1566bbd50549bc48ce9796a43c19"
      ],
      "author": {
        "name": "Eric Huss",
        "email": "eric@huss.org",
        "time": "Mon Jun 01 00:08:53 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Jun 01 00:08:53 2026 +0000"
      },
      "message": "chore(deps): update cargo-semver-checks to v0.48.0 (#17054)\n\nThis PR contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|\n[cargo-semver-checks](https://redirect.github.com/obi1kenobi/cargo-semver-checks)\n| minor | `0.47.0` → `0.48.0` |\n\n---\n\n### Release Notes\n\n\u003cdetails\u003e\n\u003csummary\u003eobi1kenobi/cargo-semver-checks (cargo-semver-checks)\u003c/summary\u003e\n\n###\n[`v0.48.0`](https://redirect.github.com/obi1kenobi/cargo-semver-checks/compare/v0.47.0...v0.48.0)\n\n[Compare\nSource](https://redirect.github.com/obi1kenobi/cargo-semver-checks/compare/v0.47.0...v0.48.0)\n\n\u003c/details\u003e\n\n---\n\n### Configuration\n\n📅 **Schedule**: (UTC)\n\n- Branch creation\n  - Every minute (`* * * * *`)\n- Automerge\n  - At any time (no schedule defined)\n\n🚦 **Automerge**: Disabled by config. Please merge this manually once you\nare satisfied.\n\n♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the\nrebase/retry checkbox.\n\n🔕 **Ignore**: Close this PR and you won\u0027t be reminded about this update\nagain.\n\n---\n\n- [ ] \u003c!-- rebase-check --\u003eIf you want to rebase/retry this PR, check\nthis box\n\n---\n\nThis PR was generated by [Mend Renovate](https://mend.io/renovate/).\nView the [repository job\nlog](https://developer.mend.io/github/rust-lang/cargo).\n\n\u003c!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMDIuMSIsInVwZGF0ZWRJblZlciI6IjQzLjIwMi4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbXX0\u003d--\u003e\n"
    },
    {
      "commit": "24e53ee6dbea1566bbd50549bc48ce9796a43c19",
      "tree": "3b71dbee673b91c4540c6c2ac3c501ba2cb3a67b",
      "parents": [
        "d195531d7f561018e3b4e162c772145f096ef4a1"
      ],
      "author": {
        "name": "renovate[bot]",
        "email": "29139614+renovate[bot]@users.noreply.github.com",
        "time": "Sun May 31 17:36:12 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun May 31 17:36:12 2026 +0000"
      },
      "message": "chore(deps): update cargo-semver-checks to v0.48.0"
    },
    {
      "commit": "d195531d7f561018e3b4e162c772145f096ef4a1",
      "tree": "23527ca7c4fba8568ac0229d0755f2ec1baad649",
      "parents": [
        "3d37489fd7ebbb1d8858cfe4f74db023510f7cbb",
        "0352ba09391bc8ab0ee4e1f5786d9abc406d55b9"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Fri May 29 13:30:36 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 13:30:36 2026 +0000"
      },
      "message": "chore: bump to 0.99.0; update changelog (#17049)\n\n[rendered](https://github.com/weihanglo/cargo/blob/version-bump/src/doc/src/CHANGELOG.md)\n\nor preview through `mdbook serve src/doc`\n"
    },
    {
      "commit": "0352ba09391bc8ab0ee4e1f5786d9abc406d55b9",
      "tree": "a4ab22d49a14e573239c7b55dcf3422d9b70c6d7",
      "parents": [
        "18de38c7f10873329197429f08919760030eac4d"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu May 28 18:57:57 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri May 29 08:57:31 2026 -0400"
      },
      "message": "docs(changelog): 1.98.0 update\n"
    },
    {
      "commit": "18de38c7f10873329197429f08919760030eac4d",
      "tree": "91ace2e37ccd9b04dc7eee6ede99d298214674fe",
      "parents": [
        "134c825286e0bb32d23573f7fc3cd37e8f12efd4"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu May 28 18:57:57 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri May 29 08:57:30 2026 -0400"
      },
      "message": "docs(changelog): 1.97.0 update\n"
    },
    {
      "commit": "134c825286e0bb32d23573f7fc3cd37e8f12efd4",
      "tree": "7d4638f5c3543590c7abe7053c10ee1b0075b3c3",
      "parents": [
        "1c009522c16da8d08fc314f34181da15cb3a47d2"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu May 28 18:57:57 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri May 29 08:14:06 2026 -0400"
      },
      "message": "docs(changelog): 1.96.0 update\n"
    },
    {
      "commit": "1c009522c16da8d08fc314f34181da15cb3a47d2",
      "tree": "e0ce2f542d64ab35654076175e5960e58e8875e9",
      "parents": [
        "dbe53f2d0b69b477b7f80b3734588f1d449a9b5d"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Thu May 28 18:57:13 2026 -0400"
      },
      "committer": {
        "name": "Weihang Lo",
        "email": "me@weihanglo.tw",
        "time": "Fri May 29 08:13:57 2026 -0400"
      },
      "message": "chore: bump to 0.99.0\n"
    },
    {
      "commit": "3d37489fd7ebbb1d8858cfe4f74db023510f7cbb",
      "tree": "87c9c68f51456651f058c5e23c05e6e1b6785ff7",
      "parents": [
        "dbe53f2d0b69b477b7f80b3734588f1d449a9b5d",
        "e2b29ce9922812ffb596d3126547b202d9284fd0"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Fri May 29 03:13:35 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri May 29 03:13:35 2026 +0000"
      },
      "message": "Bump cargo-util-schemas to 0.14.2 (#17048)\n\nBumps cargo-util-schemas to 0.14.2 due to the bump of toml 0.9 to toml\n1.0 which was a semver-breaking change.\n"
    },
    {
      "commit": "e2b29ce9922812ffb596d3126547b202d9284fd0",
      "tree": "87c9c68f51456651f058c5e23c05e6e1b6785ff7",
      "parents": [
        "dbe53f2d0b69b477b7f80b3734588f1d449a9b5d"
      ],
      "author": {
        "name": "Eric Huss",
        "email": "eric@huss.org",
        "time": "Thu May 28 19:17:29 2026 -0700"
      },
      "committer": {
        "name": "Eric Huss",
        "email": "eric@huss.org",
        "time": "Thu May 28 19:17:29 2026 -0700"
      },
      "message": "Bump cargo-util-schemas to 0.14.2\n\nBumps cargo-util-schemas to 0.14.2 due to the bump of toml 0.9 to toml\n1.0 which was a semver-breaking change.\n"
    },
    {
      "commit": "dbe53f2d0b69b477b7f80b3734588f1d449a9b5d",
      "tree": "4ab13252a97f1b2bf161bee5f814ff58c68daa41",
      "parents": [
        "3663fefb9176295ce434df1be84ebc53d6d1792e",
        "f1137680c20431e37873bab4b444834fb08378cc"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Thu May 28 20:04:12 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 20:04:12 2026 +0000"
      },
      "message": "feat: Add edition for scripts anytime we mutate the manifest (#17038)\n\n### What does this PR try to resolve?\n\nThis is an experiment in finding a middle ground between two opposite\nperspectives\n- `cargo fix` resolves the no-edition warning by setting it\n- `cargo` automatically injects the edition whenever running a cargo\nscript\n\nThis is instead \"if we\u0027re already doing edits, we might as well inject\nthe edition\". This is still limited because (1) people or IDEs can do\ndirect edits and (2) `cargo add -M script.rs serde` is a big more\ncumbersome than `cargo add serde`.\n\nWe could possibly take this a step further to \"all mutations\" and\ninclude `cargo update` and `cargo generate-lockfile`.\n\nThis does not include a \"pinning\" status message at this time.\n\n### How to test and review this PR?\n"
    },
    {
      "commit": "3663fefb9176295ce434df1be84ebc53d6d1792e",
      "tree": "12ceb0d920c68efb10acdb8d8f374496aa26ed00",
      "parents": [
        "5d9c85d94d81c40629ae538570517b4f276e06e0",
        "835f2a796e87ae9340e74bc7e1acb5d9c04c54da"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Thu May 28 13:21:52 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu May 28 13:21:52 2026 +0000"
      },
      "message": "docs: clarify on crate removal post RFC 3660 (#17036)\n\nCrates can be removed soon after publishing or if they are not widely\nused (impact is minimal)\n\n- https://rust-lang.github.io/rfcs/3660-crates-io-crate-deletions.html\n- https://blog.rust-lang.org/2025/02/05/crates-io-development-update/\n\n_Thanks for the pull request 🎉!_\n_Please read the contribution guide: \u003chttps://doc.crates.io/contrib/\u003e._\n\n### What does this PR try to resolve?\n\nPeople are confusing when the actual behavior contradicts the documented\none:\n\nhttps://www.reddit.com/r/rust/comments/1towtbg/why_did_the_nagami_crate_disappear_from_cratesio/oo4k75j/\n\n### How to test and review this PR?\n\nNo testing. Well, harper is still complaining about passive voice all\nover the place. But I checked the text carefully I guess.\n"
    },
    {
      "commit": "5d9c85d94d81c40629ae538570517b4f276e06e0",
      "tree": "9674c838acb235c6ddabf99e415a5e811f78af9f",
      "parents": [
        "91c86c03d73574f21f38ec285b87b925c4bc0bb9",
        "13c59498ce3faaaa82b9cccaca8cfd2f8954895a"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Wed May 27 19:11:01 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 19:11:01 2026 +0000"
      },
      "message": "feat: Add --output-format\u003djson to cargo doc as an unstable option (#17025)\n\n### What does this PR try to resolve?\n\nIn https://github.com/rust-lang/cargo/issues/13283, the issue of naming\nconflict between doc artefacts was raised as a reason to wait before\nadding `--output-format` support to `cargo doc`.\nGiven the changes in https://github.com/rust-lang/cargo/pull/16773, I\nargue we shouldn\u0027t treat that oustanding design question as a blocker:\nsince JSON doc output is now locked in to use the new build directory\nlayout, we get benefits from first-class support in `cargo doc` even if\nthe conflicts in the target directory remain unresolved.\nNamely, it becomes possible to compute the JSON docs for the whole\nworkspace at once and then retrieve the artefacts directly from the\nbuild directory. This would significantly speed up tools like\n[cheadergen](github.com/LukeMathWalker/cheadergen) when launched on\nworkspaces that inevitably have multiple versions of the same crate in\ntheir dependency tree.\n\n### How to test and review this PR?\n\nI followed the same testing approach used in\nhttps://github.com/rust-lang/cargo/pull/16773 to ease review. Happy to\nadd more test cases if we deem they are necessary.\n"
    },
    {
      "commit": "91c86c03d73574f21f38ec285b87b925c4bc0bb9",
      "tree": "86a38ab4d51ddc732be049803167abece0f8a0ac",
      "parents": [
        "5f2412be43b4338915beb4d6ec42b2a1aab6c2db",
        "3d9c7cf973ee210c707774bacb370850f3ecb32f"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Wed May 27 19:05:24 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 19:05:24 2026 +0000"
      },
      "message": "feat(diag): Add the \u0027cargo::default\u0027 group (#17033)\n\n### What does this PR try to resolve?\n\nAdds a \"visible by default\" lint group to mirror `clippy::all` which\nshould gain a `clippy::default` alias.\n\nPersonally, my motivation is to reduce noise in tests by making it easy\nto disable all lints except those under tests.\n\n### How to test and review this PR?\n"
    },
    {
      "commit": "3d9c7cf973ee210c707774bacb370850f3ecb32f",
      "tree": "86a38ab4d51ddc732be049803167abece0f8a0ac",
      "parents": [
        "8f699edfeb3eb7f26ae13080e89915d0252853a5"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 07:51:03 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 13:32:23 2026 -0500"
      },
      "message": "test(diag): Test lints independent of each other\n"
    },
    {
      "commit": "8f699edfeb3eb7f26ae13080e89915d0252853a5",
      "tree": "664fc3a76d1b8a7ca4a148312e1ba4d9774e1142",
      "parents": [
        "4354e130cbce107d94603b99dc813f58a5fbc971"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 07:29:20 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 13:32:23 2026 -0500"
      },
      "message": "docs(diag): Order groups more like clippy\n"
    },
    {
      "commit": "4354e130cbce107d94603b99dc813f58a5fbc971",
      "tree": "47f74b763673129d04ba540d1940bd313216ec80",
      "parents": [
        "819a95807535b6ed1e0548d7df3444901ca6c647"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 07:22:37 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 13:32:22 2026 -0500"
      },
      "message": "feat(diag): Add the \u0027cargo::default\u0027 group\n\nThis is meant to mimic `clippy::all` which should soon be aliased to\n`clippy::default`."
    },
    {
      "commit": "819a95807535b6ed1e0548d7df3444901ca6c647",
      "tree": "8518530ac21f255fffde7a7b0717054feb81fa1b",
      "parents": [
        "d4bff438d2d7e2388a22a418c91ca9b40f93e117"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 07:08:31 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 13:32:22 2026 -0500"
      },
      "message": "refactor(diag): Process a list of lint causes\n"
    },
    {
      "commit": "d4bff438d2d7e2388a22a418c91ca9b40f93e117",
      "tree": "14ee07fab7570b37b64280c1e5bcbec6e43ab124",
      "parents": [
        "5f2412be43b4338915beb4d6ec42b2a1aab6c2db"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 14:00:45 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 13:32:22 2026 -0500"
      },
      "message": "test(diag): Provide baseline for default group\n"
    },
    {
      "commit": "f1137680c20431e37873bab4b444834fb08378cc",
      "tree": "4ab13252a97f1b2bf161bee5f814ff58c68daa41",
      "parents": [
        "bc483bbbfc6100f88657fb34d599d0fe5b8e694a"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 08:09:40 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 13:32:00 2026 -0500"
      },
      "message": "feat(rm): Add edition for scripts\n"
    },
    {
      "commit": "bc483bbbfc6100f88657fb34d599d0fe5b8e694a",
      "tree": "c7af93caf9f1eb9a96a75f438214ee996f44947e",
      "parents": [
        "4470c05b15a373a3562f494100b419aed5e5884d"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 08:09:32 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 13:32:00 2026 -0500"
      },
      "message": "feat(add): Add edition for scripts\n"
    },
    {
      "commit": "4470c05b15a373a3562f494100b419aed5e5884d",
      "tree": "434698ebc554790b462774ed413fb4b5659be480",
      "parents": [
        "f1e7191baf89d5e8a6a533bcc6a2f185cebb785a"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue May 26 11:45:41 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 13:32:00 2026 -0500"
      },
      "message": "refactor(fix): Simplify edition edition\n"
    },
    {
      "commit": "f1e7191baf89d5e8a6a533bcc6a2f185cebb785a",
      "tree": "e5584aba1a69d029b1071e4dadf9b5667ca107e7",
      "parents": [
        "b29c29dc9095b1a48ccdb5ffe7de05bd1041f17e"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue May 26 11:44:13 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 13:32:00 2026 -0500"
      },
      "message": "refactor(fix): Extract edition editing\n"
    },
    {
      "commit": "b29c29dc9095b1a48ccdb5ffe7de05bd1041f17e",
      "tree": "8d2e3515420b361f277d932eb2fbc2397a3000e0",
      "parents": [
        "3663fefb9176295ce434df1be84ebc53d6d1792e"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 09:49:51 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 13:32:00 2026 -0500"
      },
      "message": "test(rm): Parent edition under package\n"
    },
    {
      "commit": "5f2412be43b4338915beb4d6ec42b2a1aab6c2db",
      "tree": "30ce2e5738991951a86f320930750f67fbd4ad6d",
      "parents": [
        "9799fa3433a0fbc0653b5ac336b52c16689d6ec7",
        "2d19d01047ea8cadbef1f53ca3e3a257c19958e0"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Wed May 27 16:20:48 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 16:20:48 2026 +0000"
      },
      "message": "fix(add): Ensure erros are lower case (#17037)\n\n### What does this PR try to resolve?\n\nThis is mostly so they don\u0027t show up in search results when auditing for\nerrors that don\u0027t conform to the style guide.\n\nThe add/rm errors are most likely to show up for internal errors because\nusually Cargo parses first.\n\nI also changed two tests.\n\n### How to test and review this PR?\n"
    },
    {
      "commit": "2d19d01047ea8cadbef1f53ca3e3a257c19958e0",
      "tree": "8ad1a734d5e09d35c121274838251098ebe465d1",
      "parents": [
        "2da24c9172cd638f63713aa191c9aff51c16f476"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 10:06:38 2026 -0500"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Wed May 27 10:06:38 2026 -0500"
      },
      "message": "fix(add): Ensure erros are lower case\n\nThe add/rm errors are most likely to show up for internal errors because\nusually Cargo parses first.\n\nI also changed two tests.\n\nThis is mostly so they don\u0027t show up in search results when auditing for\nerrors that don\u0027t conform to the style guide."
    },
    {
      "commit": "835f2a796e87ae9340e74bc7e1acb5d9c04c54da",
      "tree": "de81746b099dc97bdfc17a1892ad51b58b4f7352",
      "parents": [
        "fbb61be30e5f9ac3a6ad58e56a5c0f5db2d2b3ef"
      ],
      "author": {
        "name": "Michael Baikov",
        "email": "manpacket@gmail.com",
        "time": "Wed May 27 07:26:58 2026 -0400"
      },
      "committer": {
        "name": "Michael Baikov",
        "email": "manpacket@gmail.com",
        "time": "Wed May 27 07:55:24 2026 -0400"
      },
      "message": "docs: clarify on crate removal post RFC 3660\n\nCrates can be removed soon after publishing or if they are not widely\nused (impact is minimal)\n\n- https://rust-lang.github.io/rfcs/3660-crates-io-crate-deletions.html\n- https://blog.rust-lang.org/2025/02/05/crates-io-development-update/\n"
    },
    {
      "commit": "9799fa3433a0fbc0653b5ac336b52c16689d6ec7",
      "tree": "f9b8143c95faf128bd85533a6c1ec3a36389b44d",
      "parents": [
        "fbb61be30e5f9ac3a6ad58e56a5c0f5db2d2b3ef",
        "f9d1dfcfe209380b299a693e3372bc1c82cf835e"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Wed May 27 10:54:23 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed May 27 10:54:23 2026 +0000"
      },
      "message": "fix(diag): Report summaries for unused_deps (#17034)\n\n### What does this PR try to resolve?\n\nThis aims to bring unused dependencies more inline with parse pass lints\nin terms of\n- handling of `build.warnings`\n- lint summary reporting\n- code structure\n\n### How to test and review this PR?\n\nIt doesn\u0027t create a formal pass function yet but that helps highlight\nthat there are more structural things that will need to be changed (e.g.\nsummary reports) that is best left for when we have a better idea of\nwhat else will be run in that pass.\n"
    },
    {
      "commit": "fbb61be30e5f9ac3a6ad58e56a5c0f5db2d2b3ef",
      "tree": "857e5b19fa2ce9ae64a8f1f3a31042698ccdc112",
      "parents": [
        "03cb632e247389fc4555ea7d97b8ea9905be69b1",
        "d681940d45ece6f0ac9975772e44b496b7569cf9"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Tue May 26 15:08:03 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue May 26 15:08:03 2026 +0000"
      },
      "message": "fix(compiler): forward verbose flag to rustc for local crates (#17006)\n\nFixes #16531\n\nThis PR forwards the `--verbose` flag to `rustc` when compiling local\npackages. This ensures users can see full, untruncated diagnostics (such\nas detailed linker errors) when running `cargo build --verbose`.\n\n**Note on caching:** We intentionally do not track this verbosity state\nin the fingerprint/cache. Since compiler/linker errors are not cached by\nCargo anyway, simply forwarding the flag is sufficient to reveal the\nfull error output without unnecessarily thrashing the cache for\nsuccessful builds.\n"
    },
    {
      "commit": "f9d1dfcfe209380b299a693e3372bc1c82cf835e",
      "tree": "135dfa0294e5e2bb508a0ccf212ae3001af7ff4a",
      "parents": [
        "d40d0cf14af85cb60dd059965432b72ef98d6230"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:54:28 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:54:28 2026 +0200"
      },
      "message": "fix(diag): Report summaries for unused_deps\n"
    },
    {
      "commit": "d40d0cf14af85cb60dd059965432b72ef98d6230",
      "tree": "099b14a776009a4a94546b7925d88dfb55731768",
      "parents": [
        "640f23677ccf9559f399064802179230592e0ddd"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:46:30 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:46:30 2026 +0200"
      },
      "message": "refactor(diag): Separate global/pkg stat accum in unused_deps\n"
    },
    {
      "commit": "640f23677ccf9559f399064802179230592e0ddd",
      "tree": "ea20ce04ac81d306d3b006def40b41e589681f90",
      "parents": [
        "e2345467f595efdb1510ced45112c310376910fb"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:37:21 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:37:21 2026 +0200"
      },
      "message": "refactor(diag): Clarify the type of stats involved\n"
    },
    {
      "commit": "e2345467f595efdb1510ced45112c310376910fb",
      "tree": "c3834edc760f17e7ae9934a0ae4ef576c5cf2ddd",
      "parents": [
        "3b7d657709f33b0132d87817068c4d719f522d47"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:25:34 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:25:34 2026 +0200"
      },
      "message": "refactor(diag): Split out package-only processing\n"
    },
    {
      "commit": "3b7d657709f33b0132d87817068c4d719f522d47",
      "tree": "61eb394f48f14318646ace5d70530553a717fb60",
      "parents": [
        "0b5e112578a8452267beee93e86c6a7a0719fb10"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat May 23 19:18:51 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:07:18 2026 +0200"
      },
      "message": "fix(diag): Remove unequal build.warnings support from build result pass\n"
    },
    {
      "commit": "0b5e112578a8452267beee93e86c6a7a0719fb10",
      "tree": "7762830f80e0fb5fa25e770e335765a1674bdef7",
      "parents": [
        "f4693c18c7e869ebda01cd1efa627bf91930996b"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat May 23 13:53:50 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:07:18 2026 +0200"
      },
      "message": "refactor(diag): Track lint warnings as a subset of warnings\n"
    },
    {
      "commit": "f4693c18c7e869ebda01cd1efa627bf91930996b",
      "tree": "3cd71d75d2df7fc981ba832ed96e33f522f81010",
      "parents": [
        "b1c38e7837af143db0a92842d5f46b19d068ebde"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Fri May 22 19:27:21 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:07:18 2026 +0200"
      },
      "message": "refactor(diag): Switch unused deps to Stats\n"
    },
    {
      "commit": "b1c38e7837af143db0a92842d5f46b19d068ebde",
      "tree": "6c79357b16663dbbee07623e059f8e3ca669b692",
      "parents": [
        "214ccc5f5da49f39a3bd2b1f2ff9af2f9f040586"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Fri May 22 19:12:47 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:07:18 2026 +0200"
      },
      "message": "refactor(compiler): Move out unused deps lint\n"
    },
    {
      "commit": "214ccc5f5da49f39a3bd2b1f2ff9af2f9f040586",
      "tree": "db5dcaeb2a5fc1c4b81d5442463b836b140c8c23",
      "parents": [
        "2d6b1e8d0b40e20baa906a1e9a10ae479d3d63ac"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Fri May 22 18:07:23 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:07:18 2026 +0200"
      },
      "message": "refactor(compile): Generalize the param to lint_build_results\n"
    },
    {
      "commit": "2d6b1e8d0b40e20baa906a1e9a10ae479d3d63ac",
      "tree": "f4ba77c0dc7d95eb6e8dd867d0ef0729d7478825",
      "parents": [
        "9465ca1465c089e575d67a2a716ae77e52ea797f"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Fri May 22 18:03:29 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:07:18 2026 +0200"
      },
      "message": "refactor(lint): Rename the lint function\n"
    },
    {
      "commit": "9465ca1465c089e575d67a2a716ae77e52ea797f",
      "tree": "85e6b31733fd657894fa6b8fd3eb7dffe0e9e828",
      "parents": [
        "dd20bd25c365740e50f5c39eabc2851d381362f5"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Fri May 22 18:01:59 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:07:18 2026 +0200"
      },
      "message": "refactor(compile): Pull out the unused deps lint as a function\n"
    },
    {
      "commit": "dd20bd25c365740e50f5c39eabc2851d381362f5",
      "tree": "d4e9319fd52df8b8b45b71cb7e4d421052733732",
      "parents": [
        "e686b959f646a265f25ee436b1a9730fdb1cc173"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Fri May 22 17:37:19 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:07:18 2026 +0200"
      },
      "message": "refactor(compile): Move UnusedDepState to BuildRunner\n\nThis would make a standardized lint pass take generic state.\n\nAlready, this type collects a lot of post-build information."
    },
    {
      "commit": "e686b959f646a265f25ee436b1a9730fdb1cc173",
      "tree": "2c09da71880f46d23c9eafad70f724ee9c8ff68f",
      "parents": [
        "344851886b2e2686ef9bfff0150e5fec89b49e75"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Fri May 22 17:35:22 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:07:18 2026 +0200"
      },
      "message": "refactor(compile): Reduce the requirements for UnitDepState\n"
    },
    {
      "commit": "344851886b2e2686ef9bfff0150e5fec89b49e75",
      "tree": "759d2884e25b5a6e26c3d4cda6621b0006e0e09e",
      "parents": [
        "2da24c9172cd638f63713aa191c9aff51c16f476"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:06:51 2026 +0200"
      },
      "committer": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Mon May 25 13:07:17 2026 +0200"
      },
      "message": "test(diag): Check unused_deps deny behavior\n\nThis lint does error processing different from any other so we need to\ncover it specifically"
    },
    {
      "commit": "03cb632e247389fc4555ea7d97b8ea9905be69b1",
      "tree": "43f7f4e832430b2042f0d5398fd84b61f6a11cb7",
      "parents": [
        "39fad254a4717170c6a3dfe201ca1315591c9c59",
        "285cebf58911eca5b7f177f5d0b1c53e1f646577"
      ],
      "author": {
        "name": "Weihang Lo",
        "email": "weihanglo@users.noreply.github.com",
        "time": "Mon May 25 10:28:08 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon May 25 10:28:08 2026 +0000"
      },
      "message": "Fix CVE-2026-5222 and CVE-2026-5223 (#17031)\n\nSee the advisories for\n[CVE-2026-5222](https://blog.rust-lang.org/2026/05/25/cve-2026-5222/)\nand\n[CVE-2026-5223](https://blog.rust-lang.org/2026/05/25/cve-2026-5223/).\n\nThe first commit has been reviewed privately by @ehuss, @weihanglo and\nmyself. The second commit has been reviewed privately by @arlosi.\n"
    },
    {
      "commit": "285cebf58911eca5b7f177f5d0b1c53e1f646577",
      "tree": "43f7f4e832430b2042f0d5398fd84b61f6a11cb7",
      "parents": [
        "c4d63a44234de22dc745231c416b80ed848d997f"
      ],
      "author": {
        "name": "Josh Triplett",
        "email": "josh@joshtriplett.org",
        "time": "Mon Mar 30 10:35:55 2026 -0700"
      },
      "committer": {
        "name": "Emily Albini",
        "email": "emily@emilyalbini.it",
        "time": "Mon May 25 10:50:52 2026 +0200"
      },
      "message": "CVE-2026-5223: prohibit unpacking symlinks and other unexpected entries\n\nCargo has historically not allowed creating .crate packages containing\nsymlinks. (It packages the symlink target in place of the symlink,\ninstead.) So, any package containing a symlink would have to be\nhand-constructed. Such packages are also not allowed on crates.io, so it\ncould only come from an alternate registry.\n\nRather than dealing with symlink traversal attacks when unpacking a\ncrate, just prohibit symlinks entirely.\n\nIn the process, also prohibit other kinds of unusual entries. As an\nexception, allow character devices but warn about them, because some\nexist in crates on crates.io.\n"
    },
    {
      "commit": "c4d63a44234de22dc745231c416b80ed848d997f",
      "tree": "6f807ba3e8e249d0172a449c9cd792be6810f3f6",
      "parents": [
        "39fad254a4717170c6a3dfe201ca1315591c9c59"
      ],
      "author": {
        "name": "Arlo Siemsen",
        "email": "arkixml@gmail.com",
        "time": "Mon May 25 09:49:43 2026 +0200"
      },
      "committer": {
        "name": "Emily Albini",
        "email": "emily@emilyalbini.it",
        "time": "Mon May 25 10:50:52 2026 +0200"
      },
      "message": "CVE-2026-5222: avoid stripping .git suffix when for non git registries\n"
    },
    {
      "commit": "d681940d45ece6f0ac9975772e44b496b7569cf9",
      "tree": "7b165206fe9a40621c8ff58ad7b4204e448dfda5",
      "parents": [
        "7f1545eba1331316b57e7bd31a5582b7031c6dfc"
      ],
      "author": {
        "name": "Raushan kumar",
        "email": "raushansinghrajpoot687@gmail.com",
        "time": "Tue May 19 05:35:26 2026 +0000"
      },
      "committer": {
        "name": "Raushan kumar",
        "email": "raushansinghrajpoot687@gmail.com",
        "time": "Sun May 24 08:10:17 2026 +0000"
      },
      "message": "fix(compiler): forward verbose flag to rustc for local crates\n\nForwards the verbose flag to rustc when compiling local packages.\nEnsures users can see full untruncated diagnostics when running cargo build with the verbose flag.\n\nFixes #16531\n"
    },
    {
      "commit": "7f1545eba1331316b57e7bd31a5582b7031c6dfc",
      "tree": "85ed9d0d77cb92b9b00d3140a41c8cb454812b92",
      "parents": [
        "39fad254a4717170c6a3dfe201ca1315591c9c59"
      ],
      "author": {
        "name": "Raushan kumar",
        "email": "raushansinghrajpoot687@gmail.com",
        "time": "Tue May 19 05:31:07 2026 +0000"
      },
      "committer": {
        "name": "Raushan kumar",
        "email": "raushansinghrajpoot687@gmail.com",
        "time": "Sun May 24 08:10:17 2026 +0000"
      },
      "message": "test(compiler): add test for verbose flag forwarding\n"
    },
    {
      "commit": "39fad254a4717170c6a3dfe201ca1315591c9c59",
      "tree": "3cfb395447758cda27e3eab56cfd0ae2a4906025",
      "parents": [
        "2da24c9172cd638f63713aa191c9aff51c16f476",
        "801a13499210c0a6d7bf6e6301ccecadb9a0fd93"
      ],
      "author": {
        "name": "Ed Page",
        "email": "eopage@gmail.com",
        "time": "Sat May 23 23:38:06 2026 +0000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat May 23 23:38:06 2026 +0000"
      },
      "message": " Don\u0027t use the network for a publish dry-run test  (#17027)\n\nThis test does not need to be accessing the network. The test\ninfrastructure has a way to simulate the existence of crates.io, so\nlet\u0027s use that.\n"
    }
  ],
  "next": "801a13499210c0a6d7bf6e6301ccecadb9a0fd93"
}
