)]}'
{
  "log": [
    {
      "commit": "35fda7ccb903c4f9384c41d6604ebf7a6e35124c",
      "tree": "80fdafbcb9aa9273ff7613992a0df81ad0f18254",
      "parents": [
        "bfa90af98dcd38de0ed1c3829ee3b83a7edb4390"
      ],
      "author": {
        "name": "Emil Ernerfeldt",
        "email": "emil.ernerfeldt@gmail.com",
        "time": "Sun Aug 16 19:39:00 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 17 12:39:00 2026 +1000"
      },
      "message": "Enable more clippy lints (#10673)\n\n# Which issue does this PR close?\nNo issue in particular\n\n- Follow-up to #10558\n- Follow-up to #10552\n- Follow-up to #10551\n- Follow-up to #10533\n\n# Rationale for this change\n\nMore lints hand-picked from [egui\u0027s\n`Cargo.toml`](https://github.com/emilk/egui/blob/main/Cargo.toml), to\nsimplify the code, catch bugs, and write more efficient code.\n\n## What changes are included in this PR?\n\nOne commit per new lint (maybe easiest to review commit by commit!),\nexcept for ten lints with zero violations, which share one commit.\nLet me know if you disagree with any of them.\n\nI hope to add even more lints in later PRs.\n\n## Are these changes tested?\n\nCovered by existing tests plus the clippy CI job.\n\n## Are there any user-facing changes?\n\nTwo additive ones: `IntoIterator` is now implemented for references to\n`FixedSizeListArray`, `GenericListArray`, `GenericListViewArray`,\n`MapArray`, `BitChunks`, `UnalignedBitChunk` and `VariantArray`, and the\n`UnalignedBitChunkIterator` alias now names `Copied` instead of\n`Cloned`.\n\n---------\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "bfa90af98dcd38de0ed1c3829ee3b83a7edb4390",
      "tree": "7c1f04c62fc6de330c994b55a81bee3c583e92fb",
      "parents": [
        "5ce0ebed185a805f0a2bb744c93a7cbdccc819b6"
      ],
      "author": {
        "name": "RIchard Baah",
        "email": "137434454+Rich-T-kid@users.noreply.github.com",
        "time": "Sun Aug 16 22:13:01 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 17 12:13:01 2026 +1000"
      },
      "message": "seal ToByteSlice trait (#10701)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Closes #10252.\n\n# Rationale for this change\n\nsee\nhttps://github.com/apache/arrow-rs/issues/10252#issuecomment-5085914318\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\nseal `toByteSlice`\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\nn/a\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\nyes, users can no longer implement `ToByteSlice`.\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e"
    },
    {
      "commit": "5ce0ebed185a805f0a2bb744c93a7cbdccc819b6",
      "tree": "9c1354106a95784353ca5a904257aff9aee2fcde",
      "parents": [
        "d67185b0a7b2588e9f4b42111fb80bdc12d2fa98"
      ],
      "author": {
        "name": "RIchard Baah",
        "email": "137434454+Rich-T-kid@users.noreply.github.com",
        "time": "Sun Aug 16 02:35:21 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 16 16:35:21 2026 +1000"
      },
      "message": "minor: fix benchmark name (#10705)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- context\nhttps://github.com/apache/arrow-rs/pull/10438#issuecomment-5306059829\n\n# Rationale for this change\nsee\nhttps://github.com/apache/arrow-rs/pull/10438#issuecomment-5306059829\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\nupdate benchmark names\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\nn/a\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\nn/a\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e"
    },
    {
      "commit": "d67185b0a7b2588e9f4b42111fb80bdc12d2fa98",
      "tree": "c20d8727225c6416dc445d09f7f78aef7ee5b225",
      "parents": [
        "ae4becb331fc8aa89097a5cb4b84867329f93da3"
      ],
      "author": {
        "name": "RIchard Baah",
        "email": "137434454+Rich-T-kid@users.noreply.github.com",
        "time": "Sun Aug 16 01:47:57 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 16 15:47:57 2026 +1000"
      },
      "message": "introduce take_n_true benchmark (#10703)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- works towards closing https://github.com/apache/arrow-rs/issues/10251.\n- related to #10438\n\n# Rationale for this change\nsee\nhttps://github.com/apache/arrow-rs/pull/10438#issuecomment-5305222033\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\nadds benchmarks for `BooleanArray::take_first`\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\nn/a\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\nno\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\n\n---------\n\nCo-authored-by: rich-T-kid \u003crichardbaah@MacBook-Air-de-Richard.local\u003e"
    },
    {
      "commit": "ae4becb331fc8aa89097a5cb4b84867329f93da3",
      "tree": "8ab7c8e7d5d78662e63fbcbec815ea5b91cfb245",
      "parents": [
        "a5845cc14b23dc680115c6b1e7e8dd2f724a0631"
      ],
      "author": {
        "name": "Kosta Tarasov",
        "email": "33369833+sdf-jkl@users.noreply.github.com",
        "time": "Sat Aug 15 21:45:43 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 16 11:45:43 2026 +1000"
      },
      "message": "[Variant] add `variant_to_arrow` union builder (#10313)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\nThe last type to be supported by `variant_to_arrow` cast.\n\n- Closes #8477.\n\n# Rationale for this change\n\nCheck issue\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\n\n- Add `variant_to_arrow` union cast support + unit tests\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\n\n- Yes, unit tests\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\n\n- Users can now cast Variant to Union type\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\n\n---------\n\nCo-authored-by: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "a5845cc14b23dc680115c6b1e7e8dd2f724a0631",
      "tree": "6e39c4a516ad520e0b0187496e34cbf14b57abe4",
      "parents": [
        "2cc31af5297492b41ddf4b8f9f0d33ff15d9a400"
      ],
      "author": {
        "name": "WaterWhisperer",
        "email": "waterwhisperer24@qq.com",
        "time": "Sat Aug 15 23:00:47 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 16 01:00:47 2026 +1000"
      },
      "message": "Enable `allow_attributes` lint for `arrow-ipc` (#10700)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Part of #10458.\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\nEnable `clippy::allow_attributes` for `arrow-ipc`\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n- Enable `clippy::allow_attributes` for `arrow-ipc`.\n- Replace active `allow` with `expect` attributes.\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\nYes.\n`cargo clippy --workspace --all-targets --all-features -- -D warnings`\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\nNo."
    },
    {
      "commit": "2cc31af5297492b41ddf4b8f9f0d33ff15d9a400",
      "tree": "7de24c31072d2b81bc069df47a2e424c4cfa0e39",
      "parents": [
        "895a2f2ab3176dd6179e5762108b4e3d66eb6ad0"
      ],
      "author": {
        "name": "anchor",
        "email": "codeanqiang@gmail.com",
        "time": "Sat Aug 15 22:21:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 16 00:21:34 2026 +1000"
      },
      "message": "GH-10676: Fix IPC StreamReader projected schema (#10677)\n\n# Which issue does this PR close?\n\n- Closes #10676.\n\n# Rationale for this change\n\nWith a projection set, `StreamReader` yields batches with the projected\nschema, but `StreamReader::schema()` and its\n`RecordBatchReader::schema()` impl return the full stream schema. Same\nas #10382 (csv) and #10613 (ipc file reader); #10627 fixed `FileReader`,\n`StreamReader` was the remaining case.\n\n# What changes are included in this PR?\n\n- Keep the projected schema `StreamReader::try_new` already computes as\na `SchemaRef` and return it from `StreamReader::schema()`; the\n`RecordBatchReader` impl delegates to it, as `FileReader` does.\n- Decoding is untouched: batch and dictionary decoding still use the\nfull stream schema, and with no projection the reported schema is\nunchanged.\n- Add a regression test mirroring\n`test_file_reader_projected_schema_matches_batch_schema`.\n\n# Are these changes tested?\n\nYes, the new test fails before this change (14 column stream schema vs 3\ncolumn batch schema) and passes after. I ran:\n\n- `cargo test -p arrow-ipc` (143 passed) and `--all-features` (148\npassed)\n- `cargo clippy -p arrow-ipc --all-targets --all-features -- -D\nwarnings`\n- `cargo fmt --all -- --check`\n\nI did not run the full workspace suite; outside `arrow-ipc` every\n`StreamReader::try_new` call site passes `None`, which is unaffected.\n\n# Are there any user-facing changes?\n\nYes. A projected IPC `StreamReader` now reports the same schema as the\nbatches it produces. No public API signature changes.\n\nAI assistance: an AI agent found this by auditing the remaining\n`RecordBatchReader` impls after #10613 and drafted the fix and its test;\nI reviewed every line and ran the reproduction and the checks above\nlocally.\n\nCo-authored-by: codeAnqiang-ma \u003c273298913+codeAnqiang-ma@users.noreply.github.com\u003e"
    },
    {
      "commit": "895a2f2ab3176dd6179e5762108b4e3d66eb6ad0",
      "tree": "bf3e297730534bce21d95694841334547e59ae86",
      "parents": [
        "92dabfa95349f1b8bf008e4ca1ee182226044667"
      ],
      "author": {
        "name": "yongster",
        "email": "76621090+yongster@users.noreply.github.com",
        "time": "Sat Aug 15 22:17:08 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 16 00:17:08 2026 +1000"
      },
      "message": "fix(arrow-arith): handle sliced boolean arrays in and_not (#10699)\n\n# Which issue does this PR close?\n\n- Closes #10699.\n\n# Rationale for this change\n\n`and_not` produced incorrect values for sliced `BooleanArray`s.\n\nThe implementation passed the left and right bitmap offsets to\n`buffer_bin_and_not` in reverse order. It also reapplied `left.offset()`\nwhen\nwrapping a buffer that had already been normalized to offset zero.\n\nAs a result, `and_not(left, right)` could differ from its documented\nequivalent, `and(left, not(right))`, when the input arrays were slices.\n\n# What changes are included in this PR?\n\n- Pass the bitmap offsets to `buffer_bin_and_not` in the correct order.\n- Wrap its normalized result with offset `0`.\n- Add regression tests for sliced inputs with matching and different\noffsets.\n\n# Are there any user-facing changes?\n\nNo API changes. This fixes incorrect results returned by the existing\npublic\n`and_not` API when called with sliced `BooleanArray`s.\n\n# Tests\n\n```text\ncargo test -p arrow-arith and_not\ncargo fmt --check\n\nCo-authored-by: yang3.xie \u003cyang3.xie@ly.com\u003e"
    },
    {
      "commit": "92dabfa95349f1b8bf008e4ca1ee182226044667",
      "tree": "bc69996b025fc0c4196568b384b3a70067c9870f",
      "parents": [
        "9a5d9e99248aad3cf1f5f104b27d0f9db9e7bea6"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat Aug 15 08:39:19 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 15 08:39:19 2026 -0400"
      },
      "message": "chore(deps): bump futures from 0.3.33 to 0.3.34 in the all-other-cargo-deps group across 1 directory (#10682)\n\nBumps the all-other-cargo-deps group with 1 update in the / directory:\n[futures](https://github.com/rust-lang/futures-rs).\n\nUpdates `futures` from 0.3.33 to 0.3.34\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/rust-lang/futures-rs/releases\"\u003efutures\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.3.34\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve cloned waker identity. (\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/futures-rs/issues/3032\"\u003e#3032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdato \u003ccode\u003esyn\u003c/code\u003e to 3. (\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/futures-rs/issues/3028\"\u003e#3028\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/rust-lang/futures-rs/blob/main/CHANGELOG.md\"\u003efutures\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e0.3.34 - 2026-08-11\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve cloned waker identity. (\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/futures-rs/issues/3032\"\u003e#3032\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdato \u003ccode\u003esyn\u003c/code\u003e to 3. (\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/futures-rs/issues/3028\"\u003e#3028\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/futures-rs/commit/705e6b5c0f06535b1aac1cb1989a172b3d45be8c\"\u003e\u003ccode\u003e705e6b5\u003c/code\u003e\u003c/a\u003e\nRelease 0.3.34\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/futures-rs/commit/616dac7bf944ff9876b7f8b77b37c6224cbbb506\"\u003e\u003ccode\u003e616dac7\u003c/code\u003e\u003c/a\u003e\ncompat: Inline RawWaker clone function\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/futures-rs/commit/41763693ee6400e2a7931530790af6e1746eb1c6\"\u003e\u003ccode\u003e4176369\u003c/code\u003e\u003c/a\u003e\nInline remaining RawWaker clone functions\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/futures-rs/commit/f17a8957d9a25a2dd3c95b43f1c6caa108df6bcc\"\u003e\u003ccode\u003ef17a895\u003c/code\u003e\u003c/a\u003e\nFix cloned FuturesUnordered waker identity\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/futures-rs/commit/51d62ada9bb8eab06339475e0f1b19cfa41fb2d7\"\u003e\u003ccode\u003e51d62ad\u003c/code\u003e\u003c/a\u003e\nmacro: bump \u003ccode\u003esyn\u003c/code\u003e to v3 (\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/futures-rs/issues/3028\"\u003e#3028\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/futures-rs/commit/9e26177cf01155d57917ee943246d0c97843deed\"\u003e\u003ccode\u003e9e26177\u003c/code\u003e\u003c/a\u003e\nci: Reduce timeout-minutes\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/futures-rs/commit/b2d098331763fca9b0665f80bb31a66e3112a2cf\"\u003e\u003ccode\u003eb2d0983\u003c/code\u003e\u003c/a\u003e\ntsan: Enable Adaptive Delay\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/futures-rs/commit/f733d0ea9fed49263203ae0a7cb6beb5fe1a04c4\"\u003e\u003ccode\u003ef733d0e\u003c/code\u003e\u003c/a\u003e\nMiri: Ignore compat tests\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/futures-rs/commit/e5def2f60c7eb1e8e6b76da540e148cc7638b115\"\u003e\u003ccode\u003ee5def2f\u003c/code\u003e\u003c/a\u003e\nRename default branch to main\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/rust-lang/futures-rs/compare/0.3.33...0.3.34\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dfutures\u0026package-manager\u003dcargo\u0026previous-version\u003d0.3.33\u0026new-version\u003d0.3.34)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this\ngroup update PR and stop Dependabot creating any more for the specific\ndependency\u0027s major version (unless you unignore this specific\ndependency\u0027s major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this\ngroup update PR and stop Dependabot creating any more for the specific\ndependency\u0027s minor version (unless you unignore this specific\ndependency\u0027s minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR\nand stop Dependabot creating any more for the specific dependency\n(unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore\nconditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will\nremove the ignore condition of the specified dependency and ignore\nconditions\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "9a5d9e99248aad3cf1f5f104b27d0f9db9e7bea6",
      "tree": "16ff175d5e68ff11ac0a067c3159bd72dabd19b7",
      "parents": [
        "3ef12f77247161a9c10569aca2db543d1bf31ab3"
      ],
      "author": {
        "name": "RIchard Baah",
        "email": "137434454+Rich-T-kid@users.noreply.github.com",
        "time": "Sat Aug 15 08:38:52 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 15 08:38:52 2026 -0400"
      },
      "message": "Re-export `rand` crate in `arrow::util` (#10687)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Closes #10685.\n\n# Rationale for this change\n`bench_util` and `test_util` expose rand types in their public API (e.g.\nStandardUniform bounds, StdRng return types). Downstream crates on a\ndifferent rand major version can\u0027t satisfy those bounds, causing compile\nerrors.\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\n\n`pub use rand`; re-export added to` arrow::util` behind the `test_utils`\nfeature flag, so callers can import `arrow::util::rand::..`. to get the\nexact rand version arrow uses.\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\n\nn/a\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\nyes, users can avoid import conflicts\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e"
    },
    {
      "commit": "3ef12f77247161a9c10569aca2db543d1bf31ab3",
      "tree": "90ff2f02f53d7025f1fd516d51884b3029cba14c",
      "parents": [
        "b5794fbda02c45675e6ce83c916dae70c5df477a"
      ],
      "author": {
        "name": "Jeffrey Vo",
        "email": "jeffrey.vo.australia@gmail.com",
        "time": "Sat Aug 15 20:00:58 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 15 07:00:58 2026 -0400"
      },
      "message": "chore: fix `.gitattributes` to not mark `arrow-ipc/src/gen/mod.rs` as generated (#10681)\n\nthe other files are auto generated, mod.rs isnt"
    },
    {
      "commit": "b5794fbda02c45675e6ce83c916dae70c5df477a",
      "tree": "726171be967db62e3f8f7add6b18bd71737ef9bb",
      "parents": [
        "901e69f913bb8a1738009218898959e8f4cd7ec8"
      ],
      "author": {
        "name": "Huaijin",
        "email": "haohuaijin@gmail.com",
        "time": "Sat Aug 15 00:16:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 14 12:16:21 2026 -0400"
      },
      "message": "perf(parquet): avoid redundant copies in mask-backed intersection/union (#10446)\n\n# Which issue does this PR close?\n\n- Closes #10425.\n\n# Rationale for this change\n\nThe bitwise `intersection`/`union` path, taken when both operands are\nmask-backed, does avoidable copying in two places:\n\n- **Unequal lengths** allocate twice — once for the result over the\ncommon prefix, then again for a `BooleanBufferBuilder` that appends that\nprefix and the longer side\u0027s tail.\n- **Equal lengths** go through `BitAnd`/`BitOr` on `\u0026BooleanBuffer`,\nwhich normalise the result to a zero bit offset. That normalisation is a\nsecond allocation plus a shifting copy of the whole mask, and it happens\nwhenever `from_bitwise_binary_op` returns a non-zero offset — i.e. when\nboth operands share a non-zero sub-64-bit alignment.\n\nMasks here come from `BooleanBuffer::slice`, so a non-zero offset is the\nordinary case.\n\n# What changes are included in this PR?\n\nUnequal lengths now copy the longer mask once and apply `\u0026\u003d`/`|\u003d` in\nplace over the common prefix, leaving the tail where it already is.\nEqual lengths build the result directly with\n`BooleanBuffer::from_bitwise_binary_op`, keeping whatever offset it\nproduces. Both keep the sub-byte offset rather than re-aligning, and\nconsumers are already offset-aware.\n\nOnly the longer mask\u0027s own byte range is copied, so a result derived\nfrom a small slice of a large buffer does not retain the large\nallocation.\n\nThe uneven path is also what motivated #10444 — it reads the bits past\nthe common prefix back out, so it relies on the in-place op leaving them\nalone.\n\n# Are these changes tested?\n\n`test_mask_algebra_with_offsets` sweeps a 7×7 offset grid against twelve\nlength pairs, equal and unequal; `test_mask_algebra_fuzz` runs 200\nrandomized rounds biased towards equal lengths;\n`test_mask_algebra_does_not_retain_backing_buffer` covers the\nallocation-retention case above. All compare against a bit-by-bit\nreference. `cargo test -p parquet --all-features` passes (1305 tests);\nclippy and fmt clean.\n\nThis PR also adds `mask_intersection`/`mask_union` to\n`parquet/benches/row_selector.rs`, since the existing\n`intersection`/`union` benchmarks build operands with `from_filters` and\nnever reach this path.\n\n```\nCARGO_PROFILE_BENCH_CODEGEN_UNITS\u003d1 cargo bench -p parquet --bench row_selector -- \u0027mask_intersection|mask_union\u0027\n```\n\n3M rows, ~1/3 density. Rows are the operand length ratio, columns are\nthe `(left, right)` bit offsets the operands carry. Whether the two\noffsets agree mod 64 decides which path `from_bitwise_binary_op` takes,\nso both are covered.\n\nSpeedup (`main` / this PR), as `intersection` / `union`:\n\n| | `(0, 0)` | `(3, 3)` | `(3, 67)` | `(3, 5)` |\n| --- | --- | --- | --- | --- |\n| equal | 1.00 / 1.09 | **2.23 / 2.12** | **2.09 / 2.24** | **3.55 /\n3.26** |\n| tail1 | 1.18 / 1.17 | **5.90 / 5.96** | **6.03 / 5.98** | **5.15 /\n4.55** |\n| tail1of3 | 1.22 / 1.21 | **5.68 / 5.69** | **5.74 / 5.38** | **5.03 /\n4.30** |\n| tail_most | 1.49 / 1.51 | **2.75 / 2.60** | **2.77 / 2.71** | **2.63 /\n2.69** |\n\n`equal` at `(0, 0)` is the one case with nothing to save: the operands\nare already aligned, so the old code never paid for normalisation, and\nold and new produce identical buffers. Its confidence intervals overlap\n(11.3±0.21µs vs 11.3±0.28µs, 10.0±0.92µs vs 10.9±0.86µs).\n\n`codegen-units\u003d1` because the default bench profile is noisy here: the\nshifting path is sensitive to codegen-unit partitioning, enough to move\nthese numbers by ±10% in either direction.\n\n# Are there any user-facing changes?\n\nNo public signature changes and no change to which rows a selection\nselects. The underlying mask layout can differ, though:\n`RowSelection::as_mask()` is public, and where equal-length\n`intersection`/`union` previously always returned a zero-offset\n`BooleanBuffer`, the result may now carry a non-zero offset, which is\nobservable through `values()`, `inner()` and `ptr_eq()`. `as_mask()`\ndoes not promise a normalised layout and callers must already honour\n`BooleanBuffer::offset()`, so this should not be a breaking change.\n\n---------\n\nCo-authored-by: Andrew Lamb \u003candrew@nerdnetworks.org\u003e"
    },
    {
      "commit": "901e69f913bb8a1738009218898959e8f4cd7ec8",
      "tree": "aaaff1caebb80904f995f6e6fe24583fc75aff79",
      "parents": [
        "257f5f2b50b7825f68f87c7a4302863057ac5e8d"
      ],
      "author": {
        "name": "Kosta Tarasov",
        "email": "33369833+sdf-jkl@users.noreply.github.com",
        "time": "Fri Aug 14 07:12:05 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 14 21:12:05 2026 +1000"
      },
      "message": "parquet: Add bit-packing benchmarks (#10667)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Part of  #2257.\n\n# Rationale for this change\n\n- We need a bench to measure perf \n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\n\n- Added a bit-packing benchmark\n\n- It covers all encoding paths affected by bit\n  packing:\n\n  - PLAIN boolean encoding\n  - RLE boolean encoding\n  - DELTA_BINARY_PACKED for i32\n  - DELTA_BINARY_PACKED for i64\n  - DELTA_LENGTH_BYTE_ARRAY\n  - DELTA_BYTE_ARRAY\n  - Generic dictionary-index encoding\n  - Arrow’s specialized byte-array dictionary-index encoding\n  - Definition- and repetition-level encoding via the RLE/\n    bit-packed hybrid encoder\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\n\n- N/A\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e"
    },
    {
      "commit": "257f5f2b50b7825f68f87c7a4302863057ac5e8d",
      "tree": "fdd3b42c7b12bd7a7c9c5ee7f6c9c5516662db71",
      "parents": [
        "a5c18c2ee8310631b356e8d2c85a5af09654c98f"
      ],
      "author": {
        "name": "Raghvendra Singh",
        "email": "raghav@cashify.in",
        "time": "Fri Aug 14 16:36:29 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 14 21:06:29 2026 +1000"
      },
      "message": "Error instead of silent `Variant::Null` for unimplemented `typed_value` types (#10598)\n\n# Which issue does this PR close?\n\n- Closes #10597.\n\n# Rationale for this change\n\n`typed_value_to_variant`\u0027s fallback arm for unimplemented `typed_value`\ntypes was `debug_assert!(false)` + `Ok(Variant::Null)`. Release builds\ncompile out the assert, so reading a row whose `typed_value` is valid\nbut of an unimplemented type (e.g. an object-shredded `Struct`) silently\nmisreported the stored value as `Variant::Null` — data that exists reads\nas null with no signal, while the same read panics in debug builds.\n\n# What changes are included in this PR?\n\n- The fallback arm returns `ArrowError::NotYetImplemented` instead —\nconsistent across debug/release, and within `try_value`\u0027s documented\nerror contract (\"Errors if the data in `typed_value` cannot be\ninterpreted as a valid `Variant`\").\n- A regression test pinning that an object-shredded `typed_value` errors\nrather than returning `Variant::Null`.\n\nImplementing the remaining conversions (objects/lists) is left for a\nfollow-up — the borrowed `Variant\u003c\u0027_, \u0027_\u003e` return can\u0027t express an\nassembled object without owned bytes, so that is a larger change.\n\n# Are there any user-facing changes?\n\n`VariantArray::try_value` now returns an error (and `value` panics in\nrelease as it already did in debug) for unimplemented `typed_value`\ntypes, instead of silently returning `Variant::Null` in release builds.\n\n---------\n\nSigned-off-by: Raghvendra Singh \u003craghav@cashify.in\u003e\nCo-authored-by: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Kosta Tarasov \u003c33369833+sdf-jkl@users.noreply.github.com\u003e"
    },
    {
      "commit": "a5c18c2ee8310631b356e8d2c85a5af09654c98f",
      "tree": "063ba640e9114f92203be34da5ee1582cd5363e2",
      "parents": [
        "9161d1be2ac2043b4de1861953427d96307276d3"
      ],
      "author": {
        "name": "WaterWhisperer",
        "email": "waterwhisperer24@qq.com",
        "time": "Fri Aug 14 17:02:21 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 14 19:02:21 2026 +1000"
      },
      "message": "Enable `allow_attributes` lint for flight and variant compute (#10680)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Part of #10458.\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\nEnable `clippy::allow_attributes` for two crates\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n- Enable `clippy::allow_attributes` for `arrow-flight` and\n`parquet-variant-compute`.\n- Replace active `allow` with `expect` attributes.\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\nYes.\n`cargo clippy --workspace --all-targets --all-features -- -D warnings`\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\nNo."
    },
    {
      "commit": "9161d1be2ac2043b4de1861953427d96307276d3",
      "tree": "ef0dc86e6f0bbbfe46e7ed1ac1717c4a3aca243e",
      "parents": [
        "3b75eb04a394a7d4b1e0cd15df9c5492b2dc8293"
      ],
      "author": {
        "name": "RIchard Baah",
        "email": "137434454+Rich-T-kid@users.noreply.github.com",
        "time": "Fri Aug 14 04:13:48 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 14 18:13:48 2026 +1000"
      },
      "message": "replace MutableBuffer callsites with fallible methods (#10641)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Closes https://github.com/apache/arrow-rs/issues/9843.\n- works off of #10317\n\n\n# Rationale for this change\n\nit is better to return an error and let down stream users decide how to\nproceed than to panic.\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\nupdates all call sites in the project to use the fallible alternative to\n`mutableBuffer` methods.\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\nn/a behavior hasn\u0027t changed\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\nno public methods we changed in this PR\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e"
    },
    {
      "commit": "3b75eb04a394a7d4b1e0cd15df9c5492b2dc8293",
      "tree": "f0a00eaecf16b74c06197ed0eef6f5864fd00e17",
      "parents": [
        "76326e837767957f001b198527a5bd8d38e0fc56"
      ],
      "author": {
        "name": "Emil Ernerfeldt",
        "email": "emil.ernerfeldt@gmail.com",
        "time": "Fri Aug 14 01:12:27 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 14 18:12:27 2026 +1000"
      },
      "message": "Add `ListArray::value_field` accessor (#10661)\n\n# Which issue does this PR close?\nNone\n\n# Rationale for this change\nGiven a `ListArray` I want to easily answer questions like \"is the field\nnullable?\" and \"what is the underlying data type?\". Now we can!\n\nSame for other arrays (`FixedSizeListArray` etc)\n\n# What changes are included in this PR?\n- `ListArray::value_field()`\n- `FixedSizeListArray::value_field()`\n- `GenericListViewArray::value_field() (ListView + LargeListView)`\n- `MapArray::entries_field(), MapArray::ordered()`\n- `RunArray::run_ends_field(), RunArray::values_field()`\n\n# Are these changes tested?\nNo\n\n# Are there any user-facing changes?\nYes\n\n---------\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "76326e837767957f001b198527a5bd8d38e0fc56",
      "tree": "0f2dc65f87c5594f3e96b4b344fd261b888cda02",
      "parents": [
        "e6dbdbdeedd99121fa7166f1e6775bf956b55836"
      ],
      "author": {
        "name": "Aditya Mishra",
        "email": "bit2swaz@gmail.com",
        "time": "Fri Aug 14 12:43:40 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 14 17:13:40 2026 +1000"
      },
      "message": "fix(arrow-ipc): return an error instead of panicking on malformed IPC schema (#10647)\n\n# Which issue does this PR close?\n\n- Closes #10575.\n- Closes #10437.\n\n# Rationale for this change\n\n`arrow_ipc::convert::fb_to_schema` is infallible and panics on schema\nmessages that the flatbuffer verifier itself accepts. the first thing it\ndoes is `fb.fields().unwrap()`, and `fields` is optional in the\nflatbuffer schema, so a message with no fields aborts the process.\n`get_data_type` has the same problem deeper down: about 20 more\n`panic!`/`unimplemented!` and 30 `unwrap()` reachable from decoder input\n(unknown float precision, `Type NONE`, out of range enum tags, and so\non).\n\nevery reader path funnels through `fb_to_schema`, so there was no way to\nread Arrow IPC without exposing the process to an abort on untrusted\ninput. it also reaches parquet (an untrusted `.parquet` whose footer\ncarries the `ARROW:schema` key) and arrow-flight.\n`StreamReader::try_new` returns `Result`, so malformed input should be\nan `Err`, not a process abort.\n\n# What changes are included in this PR?\n\n- `get_data_type` (already `pub(crate)`) now returns `Result\u003cDataType,\nArrowError\u003e`; every input reachable `unwrap`/`panic!`/`unimplemented!`\nis now a returned `ParseError`.\n- new `pub fn try_fb_to_schema` and a private fallible field conversion.\nthe readers in arrow-ipc, the parquet `ARROW:schema` path, and\narrow-flight are switched onto it.\n- `fb_to_schema` and the public `From\u003ccrate::Field\u003e` impl keep their\nsignatures for compatibility and delegate to the fallible path.\n\n# Are these changes tested?\n\nyes. a schema message with no fields, one with an unknown float\nprecision, and one with `Type NONE` now return `Err` instead of\naborting, asserted by new tests in `arrow-ipc`. the flatbuffer verifier\naccepts all three, so they exercise the exact gap. existing round trip\ntests still pass.\n\n# Are there any user-facing changes?\n\nno breaking changes. `try_fb_to_schema` is additive, and `fb_to_schema`\nstill exists with the same signature."
    },
    {
      "commit": "e6dbdbdeedd99121fa7166f1e6775bf956b55836",
      "tree": "abc5b478297d5ab0f2391569e8bbcf0cc44c9d40",
      "parents": [
        "c87638f4a977c289395725bb329cf33fb4e8fc44"
      ],
      "author": {
        "name": "Stefan Wang",
        "email": "1fannnw@gmail.com",
        "time": "Fri Aug 14 00:11:42 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 14 17:11:42 2026 +1000"
      },
      "message": "Support Utf8View and BinaryView in substring (#10672)\n\n# Which issue does this PR close?\n\n- Closes #10671.\n\n# Rationale for this change\n\n`substring()` takes `Utf8`, `LargeUtf8`, `Binary`, `LargeBinary`,\n`FixedSizeBinary` and `Dictionary`, but rejects the view types, so a\ncaller holding a `StringViewArray` has to cast to `Utf8` first and pay\nfor the copy. The other string kernels in this crate already accept\nthem: `length`, `bit_length`, `like` and `concat_elements` all have\n`Utf8View` arms.\n\n# What changes are included in this PR?\n\n`Utf8View` and `BinaryView` arms. Views carry their own offsets rather\nthan sharing one value buffer, so the byte range is computed per element\nand the result is built through the view builder. The existing\n`Dictionary` arm recurses, so a dictionary of views now works too.\n\nThe utf-8 boundary check applies to `Utf8View` the same way it does to\n`Utf8`. The offset quoted in that error is per element, because there is\nno shared buffer to index into.\n\n# Are these changes tested?\n\nYes. The view result is compared against the `Utf8` and `Binary` result\nfor the same inputs, so the two paths cannot drift: empty strings,\nnulls, values longer than the twelve-byte inline limit, zero length,\nlengths past the end, and starts past either end in both directions.\nPlus the boundary error and a dictionary of views.\n\nThe cross-check earned its keep — it caught the error offsets differing\nbetween the two paths, which is what prompted the note above.\n\n\u003cdetails\u003e\u003csummary\u003eTests\u003c/summary\u003e\n\n```\n$ cargo test -p arrow-string\n186 passed; 0 failed\n```\n\nRemoving the two new match arms fails exactly the four new tests, so\nthey cannot pass vacuously:\n\n```\ntest substring::tests::string_view_matches_utf8 ... FAILED\ntest substring::tests::binary_view_matches_binary ... FAILED\ntest substring::tests::string_view_rejects_an_invalid_char_boundary ... FAILED\ntest substring::tests::dictionary_of_string_view ... FAILED\n```\n\n\u003c/details\u003e\n\n---------\n\nSigned-off-by: 1fanwang \u003c1fannnw@gmail.com\u003e"
    },
    {
      "commit": "c87638f4a977c289395725bb329cf33fb4e8fc44",
      "tree": "25bd632d34dd2d1b6febe01d0983b3091a0dae4f",
      "parents": [
        "df38e646d73959c53d404db3a0b3aba10444f499"
      ],
      "author": {
        "name": "Aditya Mishra",
        "email": "bit2swaz@gmail.com",
        "time": "Thu Aug 13 18:53:00 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 23:23:00 2026 +1000"
      },
      "message": "fix(ffi): make FFI struct fields private to close Drop soundness hole (#10431)\n\n# Which issue does this PR close?\n\n- Closes #10429.\n- Closes #10253.\n\n# Rationale for this change\n\n`FFI_ArrowArray`, `FFI_ArrowSchema`, and `FFI_ArrowArrayStream` had all\nof their fields `pub`. Several of those fields carry invariants that the\n`Drop` impl and the import path rely on, so safe code could set them to\nvalues that trigger undefined behavior with no `unsafe` block:\n\n- Setting `FFI_ArrowSchema::format` or `name` to a pointer that did not\ncome from `CString::into_raw` causes UB when the release callback frees\nit with `CString::from_raw`.\n- Setting `FFI_ArrowArray::buffers` to an invalid pointer causes UB when\nit is dereferenced with `ptr::read_unaligned` on import.\n- Setting the `release` fn pointer (or the stream\u0027s `get_schema` /\n`get_next` / `get_last_error` fn pointers) to a bogus function causes UB\nwhen it is invoked on drop or import.\n\nAn earlier revision of this PR made only `release` and `private_data`\nprivate and left the data fields `pub`, on the assumption that the data\nfields were harmless. That was wrong: as noted in review, the\npointer-carrying data fields are UB vectors too. Any write to these\nfields has to be treated as unsafe.\n\n# What changes are included in this PR?\n\n- All fields on `FFI_ArrowArray`, `FFI_ArrowSchema`, and\n`FFI_ArrowArrayStream` are now private.\n- Reads are unchanged: every field already has a typed getter, so\nconsumers keep full read access.\n- The wrap-release use case from #9771 keeps working through the\nexisting `unsafe` setters `set_release` and `set_private_data`, which\nswap in a new callback and private data and return the old values so the\ncaller can chain into the original release. No other field needs a write\npath (the only fields any external consumer writes are `release` and\n`private_data`).\n- `#[repr(C)]` is unchanged, so the C Data Interface layout and ABI are\nidentical.\n\nA separate soundness issue with `FFI_ArrowSchema::with_metadata` /\n`with_name` on foreign schemas was raised in review. It has a different\nroot cause and changes the safe/unsafe surface of those methods, so it\nwill be handled in its own issue and PR rather than bundled here.\n\n# Are these changes tested?\n\nYes. Each struct has a `test_wrap_release_callback` test covering the\nswap-and-restore path, and all three pass under Miri with no leak,\nuse-after-free, or double-free. The existing FFI roundtrip tests also\npass under Miri. The full workspace builds and tests with `--features\nffi`.\n\n# Are there any user-facing changes?\n\nYes, this is a breaking change. Code that read these fields directly\nmust switch to the getters. Code that constructed these structs with a\nstruct literal, or wrote fields directly, must use the safe constructors\n(`try_from`, `new`, `empty`) or, for `release` / `private_data`, the\n`unsafe` setters. The `#[repr(C)]` layout is unchanged.\n\n---------\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "df38e646d73959c53d404db3a0b3aba10444f499",
      "tree": "bc8aa32a102985a9d8f84bbd1e9918f46fe4b831",
      "parents": [
        "eaf21ed4d4740c019148f436e89cd928963777a0"
      ],
      "author": {
        "name": "Emil Ernerfeldt",
        "email": "emil.ernerfeldt@gmail.com",
        "time": "Thu Aug 13 06:10:43 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 23:10:43 2026 +1000"
      },
      "message": "docs: add `# Panics` sections across the workspace (#10656)\n\n# Which issue does this PR close?\n\n* Part of https://github.com/apache/arrow-rs/issues/10553\n\n# Rationale for this change\n\nAs a user, I want to avoid panics, so panics should be documented.\n\nIn a future PR I will look at all functions with `# Panics` and make\nsure they have a `try_` variant that instead returns a `Result`.\n\n# What changes are included in this PR?\n\nDocs only, no code changes.\n\nAdds `# Panics` to public functions that panic on bad arguments or bad\nstate.\n\nAlso normalizes `# Panic` to `# Panics` and converts loose \"this will\npanic if ...\" prose into proper sections.\n\n# Are these changes tested?\n\nNo new tests; docs only.\n\n# Are there any user-facing changes?\n\nBetter docs!\n\n---------\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "eaf21ed4d4740c019148f436e89cd928963777a0",
      "tree": "1e2a4a25bfaa7c019381871b075a1719aa828981",
      "parents": [
        "6cc8f76792899ed75907121e1ed128a586c74c07"
      ],
      "author": {
        "name": "Neil Conway",
        "email": "neil.conway@gmail.com",
        "time": "Wed Aug 12 21:22:06 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 11:22:06 2026 +1000"
      },
      "message": "fix: Reject 0 for `write_batch_size`, `data_page_row_count_limit` (#10660)\n\n# Which issue does this PR close?\n\n- Closes #10659\n\n# Rationale for this change\n\nZero is not a sensible value for either parameter, and allowing a zero\nvalue results in an infinite loop when writing out chunks in\n`GenericColumnWriter::write_batch_internal()`.\n\n# What changes are included in this PR?\n\n* `set_write_batch_size` and `set_data_page_row_count_limit` now panic\nif they are passed zeroes. This is consistent with how other similar\nfunctions handle invalid input (e.g., `set_max_row_group_row_count`,\n`set_max_row_group_bytes`), although it could potentially be improved\n(e.g., return `Result`).\n* Add unit tests\n* Add assert to `GenericColumnWriter::write_batch_internal()` that we\u0027ve\nselected a non-zero `base_batch_size`.\n\n# Are these changes tested?\n\nYes, and new tests added.\n\n# Are there any user-facing changes?\n\nNo, aside from corner-cases where the user was passing a zero to either\nof these functions and then not triggering the buggy behavior."
    },
    {
      "commit": "6cc8f76792899ed75907121e1ed128a586c74c07",
      "tree": "81e384614927bdc9ba3a9319cacea8a353f5a2a4",
      "parents": [
        "43117679ed9fcf0c05443d3195871125ee0e4244"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Aug 13 11:05:00 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 11:05:00 2026 +1000"
      },
      "message": "chore(deps): bump taiki-e/install-action from 2.85.10 to 2.85.11 (#10658)\n\nBumps\n[taiki-e/install-action](https://github.com/taiki-e/install-action) from\n2.85.10 to 2.85.11.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/releases\"\u003etaiki-e/install-action\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.85.11\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ezola@latest\u003c/code\u003e to 0.23.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ewasm-bindgen@latest\u003c/code\u003e to 0.2.127.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003euv@latest\u003c/code\u003e to 0.12.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003eosv-scanner@latest\u003c/code\u003e to 2.5.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003emise@latest\u003c/code\u003e to 2026.8.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ekingfisher@latest\u003c/code\u003e to 1.112.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003eeditorconfig-checker@latest\u003c/code\u003e to 3.10.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md\"\u003etaiki-e/install-action\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this\nfile.\u003c/p\u003e\n\u003cp\u003eThis project adheres to \u003ca href\u003d\"https://semver.org\"\u003eSemantic\nVersioning\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[Unreleased]\u003c/h2\u003e\n\u003ch2\u003e[2.85.11] - 2026-08-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ezola@latest\u003c/code\u003e to 0.23.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ewasm-bindgen@latest\u003c/code\u003e to 0.2.127.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003euv@latest\u003c/code\u003e to 0.12.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003eosv-scanner@latest\u003c/code\u003e to 2.5.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003emise@latest\u003c/code\u003e to 2026.8.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ekingfisher@latest\u003c/code\u003e to 1.112.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003eeditorconfig-checker@latest\u003c/code\u003e to 3.10.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.85.10] - 2026-08-07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003euv@latest\u003c/code\u003e to 0.12.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003etombi@latest\u003c/code\u003e to 1.2.7.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecosign@latest\u003c/code\u003e to 3.1.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecoreutils@latest\u003c/code\u003e to 0.10.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecargo-rdme@latest\u003c/code\u003e to 2.2.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecargo-crap@latest\u003c/code\u003e to 0.4.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.85.9] - 2026-08-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ezola@latest\u003c/code\u003e to 0.23.1.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ewild@latest\u003c/code\u003e to 0.10.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003emise@latest\u003c/code\u003e to 2026.8.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/7f4eb899022d8fe70b20c4f3de697aa85c309026\"\u003e\u003ccode\u003e7f4eb89\u003c/code\u003e\u003c/a\u003e\nRelease 2.85.11\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/c17da6245a7fe549cefa05b31e3614ce0b16c2af\"\u003e\u003ccode\u003ec17da62\u003c/code\u003e\u003c/a\u003e\nUpdate \u003ccode\u003ezola@latest\u003c/code\u003e to 0.23.2\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/97e8291c2ba440a7119c03ebe3ed1e584a1f9b7f\"\u003e\u003ccode\u003e97e8291\u003c/code\u003e\u003c/a\u003e\nUpdate \u003ccode\u003ewasm-bindgen@latest\u003c/code\u003e to 0.2.127\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/91f9e5c61a2dc7936a8f404d01b7c1551b9c581a\"\u003e\u003ccode\u003e91f9e5c\u003c/code\u003e\u003c/a\u003e\nUpdate \u003ccode\u003euv@latest\u003c/code\u003e to 0.12.3\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/bd0cb00440414f36db2f79bca8e27971bb63b2a3\"\u003e\u003ccode\u003ebd0cb00\u003c/code\u003e\u003c/a\u003e\nUpdate \u003ccode\u003eosv-scanner@latest\u003c/code\u003e to 2.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/4def957aa80c252e2d4c61387c6a429d377907d1\"\u003e\u003ccode\u003e4def957\u003c/code\u003e\u003c/a\u003e\nUpdate \u003ccode\u003emise@latest\u003c/code\u003e to 2026.8.3\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/3d149dc3890afe4774d158d353b5a3e55fe90f60\"\u003e\u003ccode\u003e3d149dc\u003c/code\u003e\u003c/a\u003e\nUpdate \u003ccode\u003ekingfisher@latest\u003c/code\u003e to 1.112.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/20d4381a5cf6917520fde30f9ff52387410bfb6e\"\u003e\u003ccode\u003e20d4381\u003c/code\u003e\u003c/a\u003e\nUpdate \u003ccode\u003eeditorconfig-checker@latest\u003c/code\u003e to 3.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/583939ec0c8ee9c523cc60342d3d979ce6730f38\"\u003e\u003ccode\u003e583939e\u003c/code\u003e\u003c/a\u003e\ncodegen: Ignore clippy::assert_is_empty lint\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/compare/6c6fd71fe4fb72c3697d269963d0e15df8adedad...7f4eb899022d8fe70b20c4f3de697aa85c309026\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dtaiki-e/install-action\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d2.85.10\u0026new-version\u003d2.85.11)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "43117679ed9fcf0c05443d3195871125ee0e4244",
      "tree": "206ef879b951c3fa96b720fd37584d831f117e31",
      "parents": [
        "4f0c3c8e2084f8e75965e8fc3e37e8cef016d3e2"
      ],
      "author": {
        "name": "WaterWhisperer",
        "email": "waterwhisperer24@qq.com",
        "time": "Thu Aug 13 09:02:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 13 11:02:13 2026 +1000"
      },
      "message": "Enable `allow_attributes` lint for array and schema crates (#10625)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Part of #10458.\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\nEnable `clippy::allow_attributes` for two crates\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n- Enable `clippy::allow_attributes` for `arrow-array` and\n`arrow-schema`.\n- Replace active `allow` with `expect` attributes.\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\nYes.\n`cargo clippy --workspace --all-targets --all-features -- -D warnings`\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\nNo."
    },
    {
      "commit": "4f0c3c8e2084f8e75965e8fc3e37e8cef016d3e2",
      "tree": "0e6d6f8c013cf2fd76a2f5ebb8fa98126addab25",
      "parents": [
        "b6a12bb781d010cbb541ae074acc3814feecfc81"
      ],
      "author": {
        "name": "cakeni",
        "email": "2150015994@qq.com",
        "time": "Wed Aug 12 15:53:34 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 17:53:34 2026 +1000"
      },
      "message": "Enable allow_attributes lint for arrow-avro (#10628)\n\n# Which issue does this PR close?\n\n- Part of #10458.\n\n# Rationale for this change\n\nThe `arrow-avro` crate still used `#[allow(...)]` attributes, so it\ncould not enable `clippy::allow_attributes` without failing Clippy.\n\n# What changes are included in this PR?\n\n- Enable `clippy::allow_attributes` as a deny-by-default crate lint.\n- Replace active lint allowances with `#[expect(...)]`.\n- Scope the compression helpers\u0027 `unused_variables` expectations to\nbuilds where all compression features are disabled.\n\n# Are these changes tested?\n\nYes. The following checks pass:\n\n- `cargo +stable-x86_64-pc-windows-gnu fmt --all -- --check`\n- `cargo +stable-x86_64-pc-windows-gnu clippy -p arrow-avro\n--all-targets --all-features --no-deps -- -D warnings`\n- `cargo +stable-x86_64-pc-windows-gnu clippy -p arrow-avro\n--all-targets --no-deps -- -D warnings`\n- `cargo +stable-x86_64-pc-windows-gnu clippy -p arrow-avro --lib\n--no-default-features --no-deps -- -D warnings`\n- `cargo +stable-x86_64-pc-windows-gnu test -p arrow-avro\n--all-features` (474 unit tests and 26 doctests passed; 1 doctest\nignored)\n\n# Are there any user-facing changes?\n\nNo."
    },
    {
      "commit": "b6a12bb781d010cbb541ae074acc3814feecfc81",
      "tree": "6063fbbc29c462f713591abbacbc6bb71bd43832",
      "parents": [
        "78b40bf2f62121c56b7c358bdf768f769ebc7581"
      ],
      "author": {
        "name": "Dhruv Vaishnav",
        "email": "dhruvvaishnav687@gmail.com",
        "time": "Wed Aug 12 13:20:58 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 17:50:58 2026 +1000"
      },
      "message": "GH-10613: Fix IPC FileReader projected schema (#10627)\n\n# Which issue does this PR close?\n\n- Closes #10613.\n\n# Rationale for this change\n\nWhen `FileReader` uses a projection, the batches contain the projected\nschema but `RecordBatchReader::schema()` returns the complete file\nschema. This makes the schema reported by the reader inconsistent with\nthe batches it produces.\n\n# What changes are included in this PR?\n\n- Store the projected output schema on `FileReader` while keeping the\ncomplete schema in `FileDecoder` for decoding.\n- Return the projected schema from `FileReader::schema()`.\n- Validate projection indices when constructing the reader.\n- Add regression tests for projected schemas and invalid projections.\n\n# Are these changes tested?\n\nYes. I ran:\n\n- `cargo test -p arrow-ipc --all-features`\n- `cargo test -p arrow --all-features`\n- `cargo clippy -p arrow-ipc --all-targets --all-features -- -D\nwarnings`\n- `cargo +stable fmt --all -- --check`\n\n# Are there any user-facing changes?\n\nYes. Projected IPC file readers now report the same schema as the record\nbatches they produce. There are no public API signature changes.\n\nAI assistance: OpenAI Codex assisted with codebase exploration,\nimplementation support, test preparation, and validation. I reviewed and\nvalidated the changes and remain responsible for understanding and\nmaintaining them."
    },
    {
      "commit": "78b40bf2f62121c56b7c358bdf768f769ebc7581",
      "tree": "9c3c679e7f1a286a7fa28ef059780f3be27b7112",
      "parents": [
        "87c7c3d6539b347d83878c943b25688b6305200e"
      ],
      "author": {
        "name": "Langning Zhang",
        "email": "zln1905391059@163.com",
        "time": "Wed Aug 12 15:44:36 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 12 17:44:36 2026 +1000"
      },
      "message": "GH-10382: Fix CSV RecordBatchReader projected schema (#10611)\n\n# Which issue does this PR close?\n\n- Closes #10382.\n\n# Rationale for this change\n\nCSV readers configured with a projection yielded projected `RecordBatch`\nvalues, but the `RecordBatchReader::schema` implementation on\n`BufReader` still reported the unprojected input schema. This made the\nreader\u0027s advertised schema disagree with the batches it produced.\n\n# What changes are included in this PR?\n\n- Reuse a shared projected-schema helper for both CSV reader schema\nAPIs.\n- Build projected schemas with `Schema::project`.\n- Add regression coverage for no projection, an empty projection, a\nsingle-column projection, and reordered columns.\n\n# Are these changes tested?\n\nYes. The following checks passed locally:\n\n- `cargo test -p arrow-csv --all-features`\n- `cargo fmt --all -- --check`\n- `cargo clippy -p arrow-csv --all-targets --all-features -- -D\nwarnings`\n- `cargo clippy -p arrow-csv -- -D unused_crate_dependencies`\n- `cargo clippy -p arrow-csv --all-features -- -D\nunused_crate_dependencies`\n- `cargo clippy -p arrow-csv --no-default-features -- -D\nunused_crate_dependencies`\n\n# Are there any user-facing changes?\n\nYes. `RecordBatchReader::schema` now reports the projected schema for\nprojected CSV readers, matching the schema of the record batches they\nproduce. There is no public API change.\n\n# AI usage\n\nOpenAI Codex assisted with implementing the shared projected-schema\nlogic and regression test. I reviewed every generated change and can\ndebug and maintain it."
    },
    {
      "commit": "87c7c3d6539b347d83878c943b25688b6305200e",
      "tree": "f42b13f93f65dbd110732c81eac859cb3815b6b9",
      "parents": [
        "fc16607ccfdb298557ed6630742941761ac18ce3"
      ],
      "author": {
        "name": "Adrian Garcia Badaracco",
        "email": "1755071+adriangb@users.noreply.github.com",
        "time": "Tue Aug 11 18:24:22 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 15:24:22 2026 -0700"
      },
      "message": "bench(parquet): cover nullable and repeated large-value writes (#10561)\n\n## Why\n\nEvery large-value benchmark in `arrow_writer` builds its array with\n`StringArray::from_iter_values`. With no nulls present,\n`RecordBatch::try_from_iter` marks the field non-nullable, the column\nhas `max_def_level \u003d\u003d 0`, and its definition levels are absent.\n\nThe writer resolves an absent-level chunk\u0027s value count in O(1) and\nnever inspects levels, so **nothing here covers a nullable column whose\nvalues exceed `data_page_size_limit`** — the path that decides how many\nvalues share a data page, and on `DELTA_BYTE_ARRAY` whether prefix\ndeduplication survives at all. The repeated case is a third level shape,\nalso uncovered: records cannot span data pages, so mini-batches must\nstep whole records.\n\n## What\n\nOne nullable case, then five that each vary a single property of it, so\na movement can be attributed rather than guessed at:\n\n| group | varies | |\n| --- | --- | --- |\n| `large_string_shared_prefix_nullable` | — | 2 MiB values, one null in\n16 |\n| `..._nullable_dense` | null density → one in two | ratio is exactly\ntwo levels per value, so window arithmetic is exact — the case that\nshould *not* move |\n| `..._nullable_trailing` | null placement, count fixed | a run of nulls\nat the end leaves every earlier window holding values only |\n| `large_string_distinct_nullable` | prefix | removes what deduplication\nhas to work with |\n| `medium_string_shared_prefix_nullable` | value size → 256 KiB |\nseveral values share a page budget instead of one overrunning it |\n| `..._shared_prefix_list` | level shape | repeated column, records\ncannot span pages |\n\n`PLAIN` is measured where page count alone drives the result and omitted\nwhere it would restate a neighbour: it never reads the previous value,\nso prefix, null placement and value size do not change its per-page\nwork.\n\n## Validation\n\nRun against #10554, which changes exactly this path, as base → branch →\nbase on an idle machine so the two base passes give a per-benchmark\nnoise floor. Base is #10505\u0027s head, so the effect is #10554 alone.\n\n| benchmark | effect | noise floor |\n| --- | --- | --- |\n| `..._nullable_trailing/delta_byte_array` | **−27.8%** | 1.2% |\n| `..._nullable/plain` | **+27.6%** | 2.1% |\n| `..._nullable/delta_byte_array` | +7.6% | 1.0% |\n| `..._nullable_dense/delta_byte_array` | **−0.2%** | 0.1% |\n| `large_string_distinct_nullable/delta_byte_array` | +3.1% | 3.1% |\n| `medium_string_shared_prefix_nullable/delta_byte_array` | +1.3% | 2.9%\n|\n| `..._shared_prefix_list/delta_byte_array` | +1.3% | 0.9% |\n| `list_struct_with_list/*` *(untouched control)* | −0.1% to +0.8% |\n0.1–2.4% |\n\nThe design holds up: the two cases built to move do, the case built as a\ncontrol lands at −0.2% against a 0.1% floor, and the cases whose axis\nshould not matter stay inside their own noise.\n\nTime alone understates what is happening, so the same batches written to\na file:\n\n| case | #10505 | #10505 + #10554 |\n| --- | --- | --- |\n| `uniform_1in16` / `DELTA_BYTE_ARRAY` | 16 MiB | **2 MiB** |\n| `trailing_8` / `DELTA_BYTE_ARRAY` | 120 MiB | **2 MiB** |\n| either / `PLAIN` | 240 MiB | 240 MiB |\n\nWhich is why the throughput numbers split the way they do. `_trailing`\ngets faster because 118 MiB of writing disappears; the uniform case pays\na small amount because its output was already close to deduplicated and\nvalue-exact windows roughly double the mini-batch count; `PLAIN` pays\nthe most because it doubles pages for no reduction in output at all.\n\n## Notes\n\nBenchmark-only; no library code touched.\n\nCI clippy is currently red on `main` for an unrelated reason —\n`arrow-arith/src/numeric.rs:756` trips `collapsible_if`, from #10409 —\nso this PR\u0027s Clippy job will fail until that lands a fix. `cargo clippy\n-p parquet --all-features --benches -- -D warnings` is clean.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)"
    },
    {
      "commit": "fc16607ccfdb298557ed6630742941761ac18ce3",
      "tree": "5220f2ae33c043632d74e1eca07c0e7a7cc5d53a",
      "parents": [
        "6fe933e5a1daccaca00d4149abd5de213b4dbd98"
      ],
      "author": {
        "name": "RIchard Baah",
        "email": "137434454+Rich-T-kid@users.noreply.github.com",
        "time": "Tue Aug 11 02:59:11 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 16:59:11 2026 +1000"
      },
      "message": "parquet plain dict bench (#10591)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- works towards #10590\n- works towards https://github.com/apache/datafusion/issues/24111\n\n# Rationale for this change\n see #10590\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\nintroduces benchmarks for reading string values into dictionary arrays\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\nn/a\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\nno\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e"
    },
    {
      "commit": "6fe933e5a1daccaca00d4149abd5de213b4dbd98",
      "tree": "7ebdb3a53b1f334599815df69b493aa11024dc4a",
      "parents": [
        "ff1ea28e27f8bb1a692b9438978f5089270cea3e"
      ],
      "author": {
        "name": "WaterWhisperer",
        "email": "waterwhisperer24@qq.com",
        "time": "Tue Aug 11 14:56:01 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 16:56:01 2026 +1000"
      },
      "message": "Enable `allow_attributes` lint for seven crates (#10623)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Part of #10458.\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\nEnable `clippy::allow_attributes` for a batch of crates\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n- Enable `clippy::allow_attributes` for `arrow`,\n`arrow-integration-test`, `arrow-integration-testing`,\n`arrow-flight/gen`, `parquet_derive`, `parquet_derive_test`, and\n`parquet-variant-json`.\n- Replace active `allow` with `expect` attributes.\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\nYes.\n`cargo clippy --workspace --all-targets --all-features -- -D warnings`\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\nNo."
    },
    {
      "commit": "ff1ea28e27f8bb1a692b9438978f5089270cea3e",
      "tree": "2c442c02e077a005c6ae44086e0459fbabfa28c6",
      "parents": [
        "c4a9ef7a7095a6a61969447076f26bd3ce8e3feb"
      ],
      "author": {
        "name": "WaterWhisperer",
        "email": "waterwhisperer24@qq.com",
        "time": "Tue Aug 11 11:44:22 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 13:44:22 2026 +1000"
      },
      "message": "Enable `allow_attributes` lint for some crates (#10622)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Part of #10458.\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\nEnable `clippy::allow_attributes` for a batch of crates\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n- Enable `clippy::allow_attributes` for `arrow-cmp`, `arrow-csv`,\n`arrow-json`, `arrow-ord`, `arrow-pyarrow`, `arrow-row`, and\n`arrow-select`.\n- Replace active `allow` with `expect` attributes.\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\nYes.\n`cargo clippy --workspace --all-targets --all-features -- -D warnings`\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\nNo."
    },
    {
      "commit": "c4a9ef7a7095a6a61969447076f26bd3ce8e3feb",
      "tree": "95e70cdb0092a5f7a0bd1b35fd11476a7a64bc87",
      "parents": [
        "bf34445fa2030caceb63beb56d2f30473864c3a0"
      ],
      "author": {
        "name": "Michal Piatkowski",
        "email": "291740709+MassivePizza@users.noreply.github.com",
        "time": "Mon Aug 10 23:53:18 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 07:53:18 2026 +1000"
      },
      "message": "perf(arrow-json): mark NullableEncoder with inline (#10612)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\nN/A.\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n`StructArrayEncoder` calls `NullableEncoder::is_null` a lot, but the\nfull call-chain was not marked `#[inline]`.\nInlining gives a 2-5% perf improvement, which is more common for\nexternal crates implementing Encoders (with EncoderFactory) thanks to\ninlining across codegen units.\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\nInline primarily `NullableEncoder::is_null` to avoid call overhead per\nfield of struct.\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\nShould be covered by existing tests, and is easy to review.\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\nNo."
    },
    {
      "commit": "bf34445fa2030caceb63beb56d2f30473864c3a0",
      "tree": "d6e94be6628b737636a2103f81ebe23d078f296b",
      "parents": [
        "9d0e6c760c9dcbe3fc93d486981dca9c81f2337e"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Aug 11 00:15:50 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 11 00:15:50 2026 +1000"
      },
      "message": "chore(deps): bump taiki-e/install-action from 2.85.6 to 2.85.10 (#10609)\n\nBumps\n[taiki-e/install-action](https://github.com/taiki-e/install-action) from\n2.85.6 to 2.85.10.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/releases\"\u003etaiki-e/install-action\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.85.10\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003euv@latest\u003c/code\u003e to 0.12.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003etombi@latest\u003c/code\u003e to 1.2.7.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecosign@latest\u003c/code\u003e to 3.1.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecoreutils@latest\u003c/code\u003e to 0.10.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecargo-rdme@latest\u003c/code\u003e to 2.2.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecargo-crap@latest\u003c/code\u003e to 0.4.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.85.9\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ezola@latest\u003c/code\u003e to 0.23.1.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ewild@latest\u003c/code\u003e to 0.10.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003emise@latest\u003c/code\u003e to 2026.8.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ejust@latest\u003c/code\u003e to 1.58.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ejaq@latest\u003c/code\u003e to 3.1.1.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecargo-nextest@latest\u003c/code\u003e to 0.9.143.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecargo-crap@latest\u003c/code\u003e to 0.4.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ebiome@latest\u003c/code\u003e to 2.5.7.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.85.8\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ezizmor@latest\u003c/code\u003e to 1.29.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003etypos@latest\u003c/code\u003e to 1.49.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003etrivy@latest\u003c/code\u003e to 0.73.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003etombi@latest\u003c/code\u003e to 1.2.6.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003eprek@latest\u003c/code\u003e to 0.4.12.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003emise@latest\u003c/code\u003e to 2026.8.1.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003econvco@latest\u003c/code\u003e to 0.7.1.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecargo-semver-checks@latest\u003c/code\u003e to 0.50.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecargo-crap@latest\u003c/code\u003e to 0.4.1.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.85.7\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md\"\u003etaiki-e/install-action\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eAll notable changes to this project will be documented in this\nfile.\u003c/p\u003e\n\u003cp\u003eThis project adheres to \u003ca href\u003d\"https://semver.org\"\u003eSemantic\nVersioning\u003c/a\u003e.\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003ch2\u003e[Unreleased]\u003c/h2\u003e\n\u003ch2\u003e[2.85.11] - 2026-08-09\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ezola@latest\u003c/code\u003e to 0.23.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ewasm-bindgen@latest\u003c/code\u003e to 0.2.127.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003euv@latest\u003c/code\u003e to 0.12.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003eosv-scanner@latest\u003c/code\u003e to 2.5.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003emise@latest\u003c/code\u003e to 2026.8.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ekingfisher@latest\u003c/code\u003e to 1.112.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003eeditorconfig-checker@latest\u003c/code\u003e to 3.10.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.85.10] - 2026-08-07\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003euv@latest\u003c/code\u003e to 0.12.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003etombi@latest\u003c/code\u003e to 1.2.7.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecosign@latest\u003c/code\u003e to 3.1.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecoreutils@latest\u003c/code\u003e to 0.10.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecargo-rdme@latest\u003c/code\u003e to 2.2.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ecargo-crap@latest\u003c/code\u003e to 0.4.3.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[2.85.9] - 2026-08-06\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ezola@latest\u003c/code\u003e to 0.23.1.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003ewild@latest\u003c/code\u003e to 0.10.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdate \u003ccode\u003emise@latest\u003c/code\u003e to 2026.8.2.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/6c6fd71fe4fb72c3697d269963d0e15df8adedad\"\u003e\u003ccode\u003e6c6fd71\u003c/code\u003e\u003c/a\u003e\nRelease 2.85.10\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/37cec23487191ef9aef8b1315865bd6dc584bef4\"\u003e\u003ccode\u003e37cec23\u003c/code\u003e\u003c/a\u003e\nUpdate zola manifest\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/4914ea4fea5759852f8cda51753420130b883d65\"\u003e\u003ccode\u003e4914ea4\u003c/code\u003e\u003c/a\u003e\nUpdate \u003ccode\u003euv@latest\u003c/code\u003e to 0.12.2\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/0ce64163d455e35fedc5f5925221d4a71f05c990\"\u003e\u003ccode\u003e0ce6416\u003c/code\u003e\u003c/a\u003e\nUpdate \u003ccode\u003etombi@latest\u003c/code\u003e to 1.2.7\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/1f89e2fb52c482b53fcf083bf64b5abd5d6563ab\"\u003e\u003ccode\u003e1f89e2f\u003c/code\u003e\u003c/a\u003e\nUpdate osv-scanner manifest\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/65ef13f21e6dd200e402682be3b1bc896f6aa862\"\u003e\u003ccode\u003e65ef13f\u003c/code\u003e\u003c/a\u003e\nUpdate kingfisher manifest\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/9f6a5a8ec701c59d62ac1013b92714e7410b2cae\"\u003e\u003ccode\u003e9f6a5a8\u003c/code\u003e\u003c/a\u003e\nUpdate \u003ccode\u003ecosign@latest\u003c/code\u003e to 3.1.3\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/df08c38f9c0580a749efefc712ba563ff2107db5\"\u003e\u003ccode\u003edf08c38\u003c/code\u003e\u003c/a\u003e\nUpdate \u003ccode\u003ecoreutils@latest\u003c/code\u003e to 0.10.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/dc7bb1f807a876bf372de55372b320860efe4019\"\u003e\u003ccode\u003edc7bb1f\u003c/code\u003e\u003c/a\u003e\nUpdate \u003ccode\u003ecargo-rdme@latest\u003c/code\u003e to 2.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/commit/9970698e35256036b84ecfb8a70b90fe068a934b\"\u003e\u003ccode\u003e9970698\u003c/code\u003e\u003c/a\u003e\nUpdate \u003ccode\u003ecargo-crap@latest\u003c/code\u003e to 0.4.3\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/taiki-e/install-action/compare/1beb33eee6d086258184383af9a538940be190ed...6c6fd71fe4fb72c3697d269963d0e15df8adedad\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility\nscore](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name\u003dtaiki-e/install-action\u0026package-manager\u003dgithub_actions\u0026previous-version\u003d2.85.6\u0026new-version\u003d2.85.10)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop\nDependabot creating any more for this major version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop\nDependabot creating any more for this minor version (unless you reopen\nthe PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop\nDependabot creating any more for this dependency (unless you reopen the\nPR or upgrade to it yourself)\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "9d0e6c760c9dcbe3fc93d486981dca9c81f2337e",
      "tree": "1c5211c8f00b1eb61289c49f0ac04805a8207ac6",
      "parents": [
        "f445af2d1f340adf81a465c9a21f649cd598f2ca"
      ],
      "author": {
        "name": "Nuno Faria",
        "email": "nunofpfaria@gmail.com",
        "time": "Mon Aug 10 13:25:51 2026 +0100"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 22:25:51 2026 +1000"
      },
      "message": "feat(parquet): Support negative ZSTD levels (#10601)\n\n# Which issue does this PR close?\n\n- Closes #10560.\n\n# Rationale for this change\n\nAllow Parquet files to be compressed with negative ZSTD levels, which\nare allowed in `libzstd`.\n\n# What changes are included in this PR?\n\nThe minimum ZSTD level allowed is now `-131072` (see the issue for more\ndetails).\nThe `split_compression_string` function has also been updated to allow\nnegative numbers.\n\n# Are these changes tested?\n\nYes.\n\n# Are there any user-facing changes?\n\nNegative ZSTD levels are now accepted."
    },
    {
      "commit": "f445af2d1f340adf81a465c9a21f649cd598f2ca",
      "tree": "953ae37c3728ed66b3fe746cd95c33244a10980c",
      "parents": [
        "2964cc4f3f0c85cd444fc2a676698a35f75852e9"
      ],
      "author": {
        "name": "Andrea Bozzo",
        "email": "andreabozzo92@gmail.com",
        "time": "Mon Aug 10 14:20:58 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 22:20:58 2026 +1000"
      },
      "message": "Report the number of rows padded by `with_truncated_rows` (#10579)\n\n# Which issue does this PR close?\n\nCloses #10577.\n\n# Rationale for this change\n\n`with_truncated_rows(true)` repairs a row that has fewer fields than the\nschema by\npadding it, and reports nothing about having done so. For a consumer\nthat reports on\ndata quality, a repaired parse and a clean parse are different outcomes,\nand today\nthey are indistinguishable.\n\nThe count cannot be recovered after decoding. Padding fills offsets to\nproduce\nzero-length fields, and `NullRegex` later turns those into nulls, so a\npadded field\nis byte-identical to a genuinely empty trailing field:\n\n```\nname,age,city\nAlice,25,Rome  -\u003e  [\"Alice\", \"25\", \"Rome\"]\nCarol,35,      -\u003e  [\"Carol\", \"35\", NULL]   three fields, the last one empty\nBob,30         -\u003e  [\"Bob\",   \"30\", NULL]   two fields, padded\n```\n\nDisabling the null regex does not help, both cases become `\"\"` and stay\nidentical.\nNothing on `ReaderBuilder`, `Format`, `Reader`, `BufReader` or `Decoder`\nexposes the\ninformation either.\n\nThis came out of dataprof, where the Arrow-backed CSV engine was the\nonly path that\nreported a file of short rows with a perfect consistency score. The\nworkaround\nshipped there is a pre-scan with the `csv` crate purely to recover the\ncount, which\ncosts a second full read of the file. On a 218 MB, 2M-row file that\nmeasured at\nroughly 3% of profiling wall time, because per-value analysis dominates\nthe parse.\nSo the workaround is viable, but it is a whole extra pass to recover a\nnumber the\ndecoder already had and threw away.\n\n# What changes are included in this PR?\n\nA single counter, threaded up to the public types.\n\n`arrow-csv/src/reader/records.rs`:\n\n* `RecordDecoder` gains a `truncated_row_count` field, incremented in\nthe one branch\n  of `decode` that pads a short row.\n* `RecordDecoder::truncated_row_count()` returns it.\n* `flush` deliberately leaves the counter alone, so it accumulates\nacross batches.\n`clear` resets it, because `clear` discards the buffered rows the count\nrefers to.\n  That is what keeps skipped rows out of the total, see below.\n\n`arrow-csv/src/reader/mod.rs`:\n\n* `Decoder::truncated_row_count()` and\n`BufReader::truncated_row_count()` forward it.\n`Reader\u003cR\u003e` is an alias for `BufReader\u003cStdBufReader\u003cR\u003e\u003e`, so the\naccessor covers\n  both.\n\nTwo semantics worth calling out, both documented on the accessors:\n\n* **The count is cumulative, not per batch.** `RecordDecoder` is reused\nacross\n`flush` calls and the counter survives them. Reading it between batches\ngives a\nrunning total of the rows decoded so far, reading it after the input is\nexhausted\ngives the total for the whole input. It is meaningful at either point as\nlong as\n  that is understood, so it is stated rather than restricted.\n* **Skipped rows do not contribute.** The header row and any rows before\nthe start\nbound go through `RecordDecoder::decode` too, and would otherwise be\ncounted if\nthey were short. They are discarded via `clear`, which now resets the\ncounter with\n  them, so the total only ever covers rows that reached a batch.\n\n# Are these changes tested?\n\nYes, at both levels, and each test was confirmed to fail against\nunpatched code.\n\n`records.rs`:\n\n* `test_truncated_rows` extended to assert the count.\n* `test_truncated_row_count_not_reset_by_flush`.\n* `test_truncated_row_count_reset_by_clear`.\n\n`mod.rs`:\n\n* `test_truncated_row_count_counts_padded_rows`, one short row, count is\n1.\n* `test_truncated_row_count_ignores_empty_trailing_field`, a row with a\ngenuinely\nempty trailing field produces the same null as a padded row but the\ncount stays 0.\n  This is the case that proves the count is not inferred from nulls.\n* `test_truncated_row_count_clean_file`, count is 0.\n* `test_truncated_row_count_without_truncated_rows`, the short row\nerrors as before\n  and the accessor still returns 0.\n* `test_truncated_row_count_accumulates_across_batches`, `batch_size` 2\nover 6 short\n  rows, asserting the running total is 2, 4, 6 rather than 2 each time.\n* `test_truncated_row_count_excludes_skipped_rows`, a header shorter\nthan the schema\n  is padded while being skipped and does not count.\n* `test_truncated_row_count_on_decoder`, the push-based `Decoder` path.\n\nThe two parts of the change, the increment and the `clear` reset, were\nreverted\nseparately to confirm each is independently covered.\n\n`cargo test -p arrow-csv`, `cargo fmt --all` and\n`cargo clippy -p arrow-csv --all-targets -- -D warnings` are clean.\n\n# Are there any user-facing changes?\n\nYes, one additive accessor, `truncated_row_count()`, on `BufReader` (and\ntherefore\n`Reader`) and on `Decoder`. There are no breaking changes, no behaviour\nchanges to\nparsing, and no new configuration.\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "2964cc4f3f0c85cd444fc2a676698a35f75852e9",
      "tree": "debe82470fe7602bd0fbf528d3055cc0ff28581a",
      "parents": [
        "1c1c60cd37d3726e2880b51cca56c22de74772fc"
      ],
      "author": {
        "name": "WaterWhisperer",
        "email": "waterwhisperer24@qq.com",
        "time": "Mon Aug 10 19:33:45 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 21:33:45 2026 +1000"
      },
      "message": "Enable `allow_attributes` lint for `arrow-buffer` (#10608)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Part of #10458.\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\nEnable `clippy::allow_attributes` for `arrow-buffer`\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n- Deny `clippy::allow_attributes` at the crate level.\n- Replace active `allow` attributes with `expect`.\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\nYes.\n`cargo clippy --workspace --all-targets --all-features -- -D warnings`\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\nNo."
    },
    {
      "commit": "1c1c60cd37d3726e2880b51cca56c22de74772fc",
      "tree": "2c338174b0e4fae0fc9ef4674c7f88050723afcf",
      "parents": [
        "6d5ffa71b79ba4ee3132168e037a0e10277c00d6"
      ],
      "author": {
        "name": "Thefool",
        "email": "114680394+YUZHEthefool@users.noreply.github.com",
        "time": "Mon Aug 10 15:57:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 17:57:13 2026 +1000"
      },
      "message": "bench: add string_view rank benchmarks (#10600)\n\n# Which issue does this PR close?\nNone.\n\n# Rationale for this change\narrow_ord::rank gained a Utf8View/BinaryView path (byte_view_rank) in\n#10559, but the rank benchmarks in arrow/benches/sort_kernel.rs were not\nupdated—they only cover the primitive_rank (f32) and bytes_rank\n(string[10]) paths, so the new view path has no benchmark coverage. The\nsort/sort_to_indices benchmarks in the same file already cover\nstring_view, so this brings rank in line with them.\n\nbyte_view_rank reads values from the view layout rather than the\ncontiguous buffer used by bytes_rank, and the fixed- vs variable-length\nshapes decide how often a value spills out of the inline prefix into a\nseparate buffer—both worth measuring on their own.\n\n# What changes are included in this PR?\nAdds rank string_view[10] and rank string_view[0-400] benchmarks (each\nwith and without nulls), mirroring the existing sort string_view cases.\nReuses the create_string_view_array* helpers from bench_util—no new\nhelpers.\n\n# Are there any user-facing changes?\nNo.\n\n# Which issue does this PR close?\n\n- Closes https://github.com/apache/arrow-rs/issues/10599"
    },
    {
      "commit": "6d5ffa71b79ba4ee3132168e037a0e10277c00d6",
      "tree": "08efaa78353312ffff7ff1a06e60d12f0c45f4c4",
      "parents": [
        "ab250259045e94d90b557f8d81ff13b36b55c0d7"
      ],
      "author": {
        "name": "WaterWhisperer",
        "email": "waterwhisperer24@qq.com",
        "time": "Mon Aug 10 15:17:05 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 17:17:05 2026 +1000"
      },
      "message": "Enable `allow_attributes` lint for `arrow-cast` (#10607)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Part of #10458.\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\nEnable `clippy::allow_attributes` for the `arrow-cast` crate\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n- Deny `clippy::allow_attributes` at the crate level.\n- Replace the existing clippy `allow` attributes with `expect`.\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\nYes.\n`cargo clippy --workspace --all-targets --all-features -- -D warnings`\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\nNo."
    },
    {
      "commit": "ab250259045e94d90b557f8d81ff13b36b55c0d7",
      "tree": "8e498bb7bf3542077755cb342bfbcf778545b5eb",
      "parents": [
        "4704e1e1988c5e31908b5433a77bd1a2ae138d2d"
      ],
      "author": {
        "name": "linfeng",
        "email": "33561138+lyne7-sc@users.noreply.github.com",
        "time": "Mon Aug 10 08:04:23 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 10:04:23 2026 +1000"
      },
      "message": "perf(arrow-cast): improve custom temporal formatting performance in ArrayFormatter (#10594)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Closes #NNN.\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\nArrayFormatter currently reparses custom Chrono format strings for every\ntemporal value.\n\nAs an ArrayFormatter is typically created once and reused for an array,\nthe parsed format items can instead be prepared once when constructing\nthe formatter and reused for every value.\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n- Precompile custom temporal format strings when constructing an\nArrayFormatter\n- Reuse the compiled format items for date, time, and timestamp values\n- Add benchmarks covering default and custom temporal formats\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\nYes.\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\n\nNo. There are no public API or behavior changes.\n\n# Benchmarks\n```\ngroup                                       main                                    optimized\n-----                                       ----                                    ---------\nformat_temporal/date64/custom_long          1.79  1559.4±47.26µs        ? ?/sec     1.00   872.7±32.05µs        ? ?/sec\nformat_temporal/date64/custom_short         1.68   797.6±39.91µs        ? ?/sec     1.00   473.7±15.21µs        ? ?/sec\nformat_temporal/date64/default              1.02   464.7±12.82µs        ? ?/sec     1.00    454.9±8.67µs        ? ?/sec\nformat_temporal/timestamp/custom_long       1.77  1635.8±175.75µs       ? ?/sec     1.00   925.6±29.74µs        ? ?/sec\nformat_temporal/timestamp_tz/custom_long    1.54  1939.6±42.35µs        ? ?/sec     1.00  1259.3±41.78µs        ? ?/sec\n```"
    },
    {
      "commit": "4704e1e1988c5e31908b5433a77bd1a2ae138d2d",
      "tree": "25f4d22aa35edee71a8ccb210a4a4c88bc1c6c4d",
      "parents": [
        "bb82f3e4fcb99cea6c730e906c067579802593fe"
      ],
      "author": {
        "name": "cakeni",
        "email": "2150015994@qq.com",
        "time": "Mon Aug 10 07:35:56 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 09:35:56 2026 +1000"
      },
      "message": "Enable allow_attributes lint for arrow-data (#10606)\n\n# Which issue does this PR close?\n\n- Part of #10458.\n\n# Rationale for this change\n\nEnable the Clippy lint that rejects new allow attributes in arrow-data,\nso stale lint suppressions become detectable rather than accumulating.\n\n# What changes are included in this PR?\n\n- Deny clippy::allow_attributes at the arrow-data crate root.\n- Replace the three still-active suppressions with expect attributes.\n- Remove four stale suppressions that no longer hide a lint.\n\n# Are these changes tested?\n\n- cargo +1.97.1-x86_64-pc-windows-gnu fmt --all -- --check\n- cargo +1.97.1-x86_64-pc-windows-gnu clippy -p arrow-data --all-targets\n--all-features -- -D warnings\n- cargo +1.97.1-x86_64-pc-windows-gnu test -p arrow-data --all-features\n(44 unit tests and 14 doctests passed)\n- git diff --check\n\n# Are there any user-facing changes?\n\nNo.\n\n# AI assistance\n\nOpenAI Codex was used to inspect the lint occurrences, make the minimal\nedits, and run the validation commands. AI assistance was used\nthroughout; the complete diff and every Clippy diagnostic were checked\nduring the run."
    },
    {
      "commit": "bb82f3e4fcb99cea6c730e906c067579802593fe",
      "tree": "437a00f824bd96e15358fc3a21f3d075624d385c",
      "parents": [
        "d520c52eb3c4add7430da2e723b77a34ce1b1386"
      ],
      "author": {
        "name": "Abhishek",
        "email": "166850903+Abhisheklearn12@users.noreply.github.com",
        "time": "Mon Aug 10 04:47:27 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 09:17:27 2026 +1000"
      },
      "message": "bench(arrow): add sparse dictionary to view cast benchmarks (#10596)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\nNone. Split out of #10436 at review request, so these land on main first\nand the bot can measure that PR against them.\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n`cast_kernels` has one dictionary to view benchmark, at 10,000 rows over\n3 values. Nothing covers the opposite shape, a dictionary much larger\nthan the array, and nothing covers `dict\u003cbinary\u003e -\u003e utf8view`, which\nvalidates the values as UTF-8.\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\nTwo benchmarks, both 1024 rows over 32,768 values:\n\n- `cast dict to string view (sparse)`. For #10436 this is a no\nregression check rather than an expected win, since main already takes\nthe direct path at this shape\n- `cast binary dict to string view (sparse)`. No dense counterpart,\nsince that shape runs the same code either way\n\nKeys come from `seedable_rng` so they spread across the dictionary, and\nvalues exceed 12 bytes so the views reference the buffer rather than\ninlining.\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\nBenchmarks only, no library code touched. They build and run under\n`cargo bench -p arrow --features test_utils --bench cast_kernels`.\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\nNo."
    },
    {
      "commit": "d520c52eb3c4add7430da2e723b77a34ce1b1386",
      "tree": "c7958df120c42382f571885ea108c1bb6ec4ca49",
      "parents": [
        "919f783532be3be90532dd9841bd9d434716b3b7"
      ],
      "author": {
        "name": "yongster",
        "email": "76621090+yongster@users.noreply.github.com",
        "time": "Mon Aug 10 07:13:13 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 09:13:13 2026 +1000"
      },
      "message": "chore(parquet-variant): enable clippy allow_attributes\" (#10603)\n\nPart of #10458.\n\nEnable \\`clippy::allow_attributes\\` for \\`parquet-variant\\` and remove\nan unnecessary \\`#[allow(unused)]\\`.\n\nTests:\n- \\`cargo fmt --check\\`\n- \\`cargo test -p parquet-variant --offline\\`\n- \\`cargo clippy -p parquet-variant --offline -- -D warnings\\`\n\nCo-authored-by: yang3.xie \u003cyang3.xie@ly.com\u003e"
    },
    {
      "commit": "919f783532be3be90532dd9841bd9d434716b3b7",
      "tree": "98a90d5c83f7a51709cc0f2d7ec3f2d7feceb5f8",
      "parents": [
        "eac5eed3dbd58162071058ed4ddcb282f63f078d"
      ],
      "author": {
        "name": "Andrew Lamb",
        "email": "andrew@nerdnetworks.org",
        "time": "Sun Aug 09 13:15:18 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 13:15:18 2026 -0400"
      },
      "message": "Minor: migrate more arrow round trip tests to use RoundTripTest fixture (#10585)\n\n# Which issue does this PR close?\n\n- part of #10540 \n- Follow on to https://github.com/apache/arrow-rs/pull/10545\n\n# Rationale for this change\n\nThere are 4000+ lines of tests in arrow_writer (and a bunch more in\narrow_reader, I might point out) -- this makes it hard to find and add\nnew tests or to evaluate test coverage\n\nI encapsulated the testing harness into a struct in\nhttps://github.com/apache/arrow-rs/pull/10545 and now I want to (slowly)\nmove more tests to use this new harness.\n\n# What changes are included in this PR?\n\n1. Migrate a few tests from using `roundtrip()` to using\n`RoundTripTest`; This actually increases coverage as I will descsribe\nbelow\n2. Note this is less code and more coverage\n\n# Are these changes tested?\nyes by CI\n\n\n# Are there any user-facing changes?\n\nNo"
    },
    {
      "commit": "eac5eed3dbd58162071058ed4ddcb282f63f078d",
      "tree": "010b3beb87d596263852619ba39e87aba888c63b",
      "parents": [
        "7eeb3ebdc139cc7f4d8e475e1e35fd74aea721bc"
      ],
      "author": {
        "name": "WaterWhisperer",
        "email": "waterwhisperer24@qq.com",
        "time": "Sun Aug 09 22:34:19 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Mon Aug 10 00:34:19 2026 +1000"
      },
      "message": "Enable `allow_attributes` lint for `parquet-geospatial` (#10602)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Part of #10458.\t\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\nEnable `clippy::allow_attributes` for `parquet-geospatial`\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n- Deny `clippy::allow_attributes` for the `parquet-geospatial` crate.\n- Replace the intentional `clippy::eq_op` allowance with an expectation.\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\nYes\n- `cargo clippy -p parquet-geospatial --all-targets --all-features -- -D\nwarnings`\n- `cargo clippy --workspace --all-targets --all-features -- -D warnings`\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\nNo"
    },
    {
      "commit": "7eeb3ebdc139cc7f4d8e475e1e35fd74aea721bc",
      "tree": "54a42adb23e4a781d7c5822f806e6df0a15116aa",
      "parents": [
        "d8c5bc0922f53f2acbc2df5525cce1cd242f8274"
      ],
      "author": {
        "name": "subotac",
        "email": "73706465+subotac@users.noreply.github.com",
        "time": "Sun Aug 09 08:18:54 2026 +0300"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 15:18:54 2026 +1000"
      },
      "message": "parquet-geospatial: fix wraparound bound width (#10534) (#10572)\n\n# Which issue does this PR close?\n\n  - Closes #10534.\n\n  # Rationale for this change\n\n  `GeometryBounder::x()` calculates the candidate wraparound width using\n`x_right.hi()`, although the returned interval starts at `x_right.lo()`.\n  This can underestimate the wraparound width and select looser bounds,\n  weakening row-group pruning.\n\n  # What changes are included in this PR?\n\n  Use `x_right.lo()` when calculating the wraparound width and add a\n  regression case where the Cartesian bounds are narrower.\n\n  # Are these changes tested?\n\n  Yes:\n\n  - `cargo test -p parquet-geospatial`\n  - `cargo +stable fmt --all -- --check`\n- `cargo clippy -p parquet-geospatial --all-targets --all-features -- -D\nwarnings`\n- `cargo clippy --workspace --all-targets --all-features -- -D warnings`\n  - `git diff --check`\n\n  # Are there any user-facing changes?\n\nYes. Newly computed geospatial column statistics may use tighter\nCartesian\n  bounds when appropriate. There are no public API changes."
    },
    {
      "commit": "d8c5bc0922f53f2acbc2df5525cce1cd242f8274",
      "tree": "d5037be6d0650e9aafb6b3a6930b33cc08daaf6d",
      "parents": [
        "e323c678e3d6457eaabd55eb38dc553b01f2dda1"
      ],
      "author": {
        "name": "Jeffrey Vo",
        "email": "jeffrey.vo.australia@gmail.com",
        "time": "Sun Aug 09 11:10:11 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 12:10:11 2026 +1000"
      },
      "message": "chore: speed up miri workflow \u0026 include arrow-cmp (#10580)\n\nbefore https://github.com/apache/arrow-rs/pull/10507 (running miri on\nmore crates), miri took about 15-20 minutes on average. with the new PR\nit increased to a bit over 30 minutes because we\u0027re running more tests.\n\nincrease the partitions count to try get average runtime down, also use\ntaiki-e to install nextest via binary to shave off 3 minutes spent on\ncompiling nextest from source.\n\nalso include arrow-cmp (new crate) in the miri execution"
    },
    {
      "commit": "e323c678e3d6457eaabd55eb38dc553b01f2dda1",
      "tree": "7aefaaf5c185f2265c164011b475f8b6651bb935",
      "parents": [
        "2cef4ea89afb315c3868e6d679a842938fce82bf"
      ],
      "author": {
        "name": "张跃哲",
        "email": "zyz051013@gmail.com",
        "time": "Sun Aug 09 10:09:32 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 12:09:32 2026 +1000"
      },
      "message": "Enable allow_attributes lint for arrow-arith (#10595)\n\n# Which issue does this PR close?\n\nPart of #10458.\n\n# Rationale for this change\n\nEnable clippy::allow_attributes for arrow-arith so future lint\nsuppressions use expectations and stale suppressions are detectable. The\nexisting allow(deprecated) on test_unary_f64_slice no longer suppresses\na warning, so it can be removed.\n\n# What changes are included in this PR?\n\n- Deny clippy::allow_attributes in the arrow-arith crate.\n- Remove the stale deprecated lint suppression from\ntest_unary_f64_slice.\n\n# Are these changes tested?\n\n- cargo fmt --all -- --check\n- cargo clippy -p arrow-arith --all-targets --all-features --no-deps --\n-D warnings\n- cargo test -p arrow-arith --all-features (231 unit tests and 16 doc\ntests passed)\n- cargo check -p arrow-arith --all-targets --all-features\n\n# Are there any user-facing changes?\n\nNo.\n\n# AI assistance\n\nCodex was used to identify the lint occurrence, draft the minimal edit,\nand run the validation commands. I reviewed the full diff and verified\nthe change with formatting, Clippy, tests, and compilation checks.\n\nCo-authored-by: ZhangStudyLife \u003c174326754+ZhangStudyLife@users.noreply.github.com\u003e"
    },
    {
      "commit": "2cef4ea89afb315c3868e6d679a842938fce82bf",
      "tree": "0e9bdfba8bc1bfbcfede4a0f718d7e257bb41bf8",
      "parents": [
        "f2476ab9409368afb660b789ea84436abc396eb7"
      ],
      "author": {
        "name": "Oleks V",
        "email": "comphead@users.noreply.github.com",
        "time": "Sat Aug 08 18:13:17 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sun Aug 09 11:13:17 2026 +1000"
      },
      "message": "chore: clean up dependencies (#10376)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Closes #NNN.\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e"
    },
    {
      "commit": "f2476ab9409368afb660b789ea84436abc396eb7",
      "tree": "b3af73543945124022381dd5de0302ea04be4b51",
      "parents": [
        "4da9d64a59c765700486c404f76a0f23cdb394f0"
      ],
      "author": {
        "name": "yongster",
        "email": "76621090+yongster@users.noreply.github.com",
        "time": "Sat Aug 08 09:36:52 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 08 11:36:52 2026 +1000"
      },
      "message": "chore: install CI tools using taiki-e action (#10589)\n\nCloses #10583.\n\nReplace source builds of `cargo-audit` and `cargo-msrv` in CI with\nprebuilt binary installation via `taiki-e/install-action`.\n\nThis keeps the audit and MSRV verification commands unchanged while\navoiding compilation from source during CI setup.\n\n## Testing\n\n- `actionlint .github/workflows/audit.yml .github/workflows/rust.yml`\n- YAML parsing\n- `git diff --check`\n\nCo-authored-by: yang3.xie \u003cyang3.xie@ly.com\u003e\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "4da9d64a59c765700486c404f76a0f23cdb394f0",
      "tree": "6a1d1517d4f1bfaeb7d535bd9e9edece29b5014f",
      "parents": [
        "3ad4687248288972e5ab0216958f57553f21c5e1"
      ],
      "author": {
        "name": "Kosta Tarasov",
        "email": "33369833+sdf-jkl@users.noreply.github.com",
        "time": "Fri Aug 07 21:32:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 08 11:32:59 2026 +1000"
      },
      "message": "[Variant] Unshredded `VariantArray` producers annotate the `value` field as nullable (spec requires `required`) (#10320)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Closes #10315.\n\n- let\u0027s wait till #10318 ships\n\n# Rationale for this change\n\n- Parquet spec required unshredded `VariantArray` to be non-nullable.\nOther readers might reject our impl because `unshred_variant` and\n`variant_get as_type None` return nullable unshredded Variant.\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\n\n- builds on #10318\n- Add changes to `unshred_variant` and `variant_get` to return\nnon-nullable unshredded Variant\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\n\n- yes, added new unit tests and fixed some old ones\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\n\n- Yes, the nullability now conforms the spec\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\n\n---------\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "3ad4687248288972e5ab0216958f57553f21c5e1",
      "tree": "779e6f679dbec229cc9859d73cf485f429eedc16",
      "parents": [
        "8a849f30a36d9a55d38d54dfb366560893aa351e"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Sat Aug 08 10:53:04 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 08 10:53:04 2026 +1000"
      },
      "message": "chore(deps): bump the codeql-actions group with 2 updates (#10582)\n\nBumps the codeql-actions group with 2 updates:\n[github/codeql-action/init](https://github.com/github/codeql-action) and\n[github/codeql-action/analyze](https://github.com/github/codeql-action).\n\nUpdates `github/codeql-action/init` from 4.37.5 to 4.37.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases\"\u003egithub/codeql-action/init\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.37.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the default filepath for the new remote file address format\nthat was introduced in CodeQL Action 4.37.0 / 3.37.0 to\n\u003ccode\u003e.github/codeql-config.yml\u003c/code\u003e to align it with the suggested\npath that is used elsewhere. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4070\"\u003e#4070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/github/codeql-action/blob/main/CHANGELOG.md\"\u003egithub/codeql-action/init\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eCodeQL Action Changelog\u003c/h1\u003e\n\u003cp\u003eSee the \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases\"\u003ereleases\npage\u003c/a\u003e for the relevant changes to the CodeQL CLI and language\npacks.\u003c/p\u003e\n\u003ch2\u003e[UNRELEASED]\u003c/h2\u003e\n\u003cp\u003eNo user facing changes.\u003c/p\u003e\n\u003ch2\u003e4.37.6 - 04 Aug 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the default filepath for the new remote file address format\nthat was introduced in CodeQL Action 4.37.0 / 3.37.0 to\n\u003ccode\u003e.github/codeql-config.yml\u003c/code\u003e to align it with the suggested\npath that is used elsewhere. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4070\"\u003e#4070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.5 - 03 Aug 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where a network error while streaming the download of\nthe CodeQL bundle could terminate the \u003ccode\u003einit\u003c/code\u003e Action instead\nof falling back to downloading the bundle before extracting it. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4061\"\u003e#4061\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.4 - 29 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThis version of the CodeQL Action adds support for the\n\u003ccode\u003etools\u003c/code\u003e input for the \u003ccode\u003ecodeql-action/init\u003c/code\u003e step to\nbe specified using a \u003ccode\u003egithub-codeql-tools\u003c/code\u003e \u003ca\nhref\u003d\"https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization\"\u003erepository\nproperty\u003c/a\u003e. This feature will gradually be rolled out following the\nrelease of this version. Once rolled out, this allows for the CodeQL CLI\nversion that is used in GitHub-managed workflows, such as Default Setup,\nto be set to a custom value. For example, customers who run into issues\nwith rate limits when a new CodeQL CLI version is released can set the\nvalue to \u003ccode\u003etoolcache\u003c/code\u003e to always use the CodeQL CLI version\nthat is available in the runner toolcache. For Advanced Setup workflows,\nthe value provided for \u003ccode\u003etools\u003c/code\u003e in the workflow definition\nalways takes precedence unless the value of the repository property\nstarts with \u003ccode\u003e!\u003c/code\u003e. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4037\"\u003e#4037\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.2\"\u003e2.26.2\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4051\"\u003e#4051\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.3 - 22 Jul 2026\u003c/h2\u003e\n\u003cp\u003eNo user facing changes.\u003c/p\u003e\n\u003ch2\u003e4.37.2 - 21 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe new address format for the \u003ccode\u003econfig-file\u003c/code\u003e input that\nwas introduced in CodeQL Action 4.37.0 is now enabled by default. In\naddition to the format described there, the \u003ccode\u003eremote\u003d\u003c/code\u003e prefix\ncan now be used to explicitly indicate that the input refers to a remote\nfile. All previous input formats continue to be accepted as well. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4023\"\u003e#4023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe CodeQL Action can now make use of \u003ca\nhref\u003d\"https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries\"\u003econfigured\nprivate registries\u003c/a\u003e in Default Setup to retrieve CodeQL configuration\nfiles from remote repositories that require authentication. This will\nallow customers to store their CodeQL configuration in a single\nrepository that can then be referenced by Default Setup workflows in\nother repositories. We expect to roll this and other, related changes\nout to everyone in July. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4007\"\u003e#4007\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.1 - 16 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003eUpcoming breaking change\u003c/em\u003e: Add a deprecation warning for\ncustomers using CodeQL version 2.20.6 and earlier. These versions of\nCodeQL were discontinued on 1 July 2026 alongside GitHub Enterprise\nServer 3.16, and will be unsupported by the next minor release of the\nCodeQL Action. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3956\"\u003e#3956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.1\"\u003e2.26.1\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4019\"\u003e#4019\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.0 - 08 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.0\"\u003e2.26.0\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3995\"\u003e#3995\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn addition to the existing input format, the\n\u003ccode\u003econfig-file\u003c/code\u003e input for the \u003ccode\u003ecodeql-action/init\u003c/code\u003e\nstep will soon support a new \u003ccode\u003e[owner/]repo[@ref][:path]\u003c/code\u003e\nformat. All components except the repository name are optional. If\nomitted, \u003ccode\u003eowner\u003c/code\u003e defaults to the same owner as the repository\nthe analysis is running for, \u003ccode\u003eref\u003c/code\u003e to \u003ccode\u003emain\u003c/code\u003e, and\n\u003ccode\u003epath\u003c/code\u003e to \u003ccode\u003e.github/codeql-action.yaml\u003c/code\u003e. Support\nfor this format ships in this version of the CodeQL Action, but will\nonly be enabled over the coming weeks. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3973\"\u003e#3973\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.36.3 - 01 Jul 2026\u003c/h2\u003e\n\u003cp\u003eNo user facing changes.\u003c/p\u003e\n\u003ch2\u003e4.36.2 - 04 Jun 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCache CodeQL CLI version information across Actions steps. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3943\"\u003e#3943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce requests while waiting for analysis processing by using\nexponential backoff when polling SARIF processing status. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3937\"\u003e#3937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.6\"\u003e2.25.6\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3948\"\u003e#3948\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/5595ccaf912efad79be6eef63a5619ff05969be3\"\u003e\u003ccode\u003e5595cca\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4071\"\u003e#4071\u003c/a\u003e\nfrom github/update-v4.37.6-6a9359a1b\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/ec9c75796a7f2cee5af0c5ffa0b81dc3bb58754b\"\u003e\u003ccode\u003eec9c757\u003c/code\u003e\u003c/a\u003e\nAdd change note for PR 4070\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/45c8742e17cbd668814137f95e605d925b8722a2\"\u003e\u003ccode\u003e45c8742\u003c/code\u003e\u003c/a\u003e\nUpdate changelog for v4.37.6\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/6a9359a1bd054c53cae7bb737bd8d796cfbf3014\"\u003e\u003ccode\u003e6a9359a\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4070\"\u003e#4070\u003c/a\u003e\nfrom github/mbg/remote-address/change-file-default\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/065cdc0394d424981db720df63ebc570e41b775f\"\u003e\u003ccode\u003e065cdc0\u003c/code\u003e\u003c/a\u003e\nChange \u003ccode\u003eDEFAULT_CONFIG_FILE_NAME\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/f99dd5aeee9cf92e92d0c700cb0aa7afd7bbf431\"\u003e\u003ccode\u003ef99dd5a\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4066\"\u003e#4066\u003c/a\u003e\nfrom github/dependabot/npm_and_yarn/js-yaml-5.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/1804b211a343d69a6584d26fb3a68a8fe6ca39d4\"\u003e\u003ccode\u003e1804b21\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4068\"\u003e#4068\u003c/a\u003e\nfrom github/mergeback/v4.37.5-to-main-d1ba80a1\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/3020a2f46286abb1704269b22ada83bd0e81c64f\"\u003e\u003ccode\u003e3020a2f\u003c/code\u003e\u003c/a\u003e\nRebuild\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/93c3a5a40b7affbf8ea6a480767ed0db8e8d3c5c\"\u003e\u003ccode\u003e93c3a5a\u003c/code\u003e\u003c/a\u003e\nUpdate changelog and version after v4.37.5\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/266c7bdbd2ad8151d42fd682e28c126c5da068da\"\u003e\u003ccode\u003e266c7bd\u003c/code\u003e\u003c/a\u003e\nRebuild\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/github/codeql-action/compare/d1ba80a13dd99fba24a470575428917156a28b43...5595ccaf912efad79be6eef63a5619ff05969be3\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github/codeql-action/analyze` from 4.37.5 to 4.37.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases\"\u003egithub/codeql-action/analyze\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.37.6\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the default filepath for the new remote file address format\nthat was introduced in CodeQL Action 4.37.0 / 3.37.0 to\n\u003ccode\u003e.github/codeql-config.yml\u003c/code\u003e to align it with the suggested\npath that is used elsewhere. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4070\"\u003e#4070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/github/codeql-action/blob/main/CHANGELOG.md\"\u003egithub/codeql-action/analyze\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eCodeQL Action Changelog\u003c/h1\u003e\n\u003cp\u003eSee the \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases\"\u003ereleases\npage\u003c/a\u003e for the relevant changes to the CodeQL CLI and language\npacks.\u003c/p\u003e\n\u003ch2\u003e[UNRELEASED]\u003c/h2\u003e\n\u003cp\u003eNo user facing changes.\u003c/p\u003e\n\u003ch2\u003e4.37.6 - 04 Aug 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the default filepath for the new remote file address format\nthat was introduced in CodeQL Action 4.37.0 / 3.37.0 to\n\u003ccode\u003e.github/codeql-config.yml\u003c/code\u003e to align it with the suggested\npath that is used elsewhere. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4070\"\u003e#4070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.5 - 03 Aug 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where a network error while streaming the download of\nthe CodeQL bundle could terminate the \u003ccode\u003einit\u003c/code\u003e Action instead\nof falling back to downloading the bundle before extracting it. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4061\"\u003e#4061\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.4 - 29 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThis version of the CodeQL Action adds support for the\n\u003ccode\u003etools\u003c/code\u003e input for the \u003ccode\u003ecodeql-action/init\u003c/code\u003e step to\nbe specified using a \u003ccode\u003egithub-codeql-tools\u003c/code\u003e \u003ca\nhref\u003d\"https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization\"\u003erepository\nproperty\u003c/a\u003e. This feature will gradually be rolled out following the\nrelease of this version. Once rolled out, this allows for the CodeQL CLI\nversion that is used in GitHub-managed workflows, such as Default Setup,\nto be set to a custom value. For example, customers who run into issues\nwith rate limits when a new CodeQL CLI version is released can set the\nvalue to \u003ccode\u003etoolcache\u003c/code\u003e to always use the CodeQL CLI version\nthat is available in the runner toolcache. For Advanced Setup workflows,\nthe value provided for \u003ccode\u003etools\u003c/code\u003e in the workflow definition\nalways takes precedence unless the value of the repository property\nstarts with \u003ccode\u003e!\u003c/code\u003e. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4037\"\u003e#4037\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.2\"\u003e2.26.2\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4051\"\u003e#4051\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.3 - 22 Jul 2026\u003c/h2\u003e\n\u003cp\u003eNo user facing changes.\u003c/p\u003e\n\u003ch2\u003e4.37.2 - 21 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe new address format for the \u003ccode\u003econfig-file\u003c/code\u003e input that\nwas introduced in CodeQL Action 4.37.0 is now enabled by default. In\naddition to the format described there, the \u003ccode\u003eremote\u003d\u003c/code\u003e prefix\ncan now be used to explicitly indicate that the input refers to a remote\nfile. All previous input formats continue to be accepted as well. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4023\"\u003e#4023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe CodeQL Action can now make use of \u003ca\nhref\u003d\"https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries\"\u003econfigured\nprivate registries\u003c/a\u003e in Default Setup to retrieve CodeQL configuration\nfiles from remote repositories that require authentication. This will\nallow customers to store their CodeQL configuration in a single\nrepository that can then be referenced by Default Setup workflows in\nother repositories. We expect to roll this and other, related changes\nout to everyone in July. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4007\"\u003e#4007\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.1 - 16 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003eUpcoming breaking change\u003c/em\u003e: Add a deprecation warning for\ncustomers using CodeQL version 2.20.6 and earlier. These versions of\nCodeQL were discontinued on 1 July 2026 alongside GitHub Enterprise\nServer 3.16, and will be unsupported by the next minor release of the\nCodeQL Action. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3956\"\u003e#3956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.1\"\u003e2.26.1\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4019\"\u003e#4019\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.0 - 08 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.0\"\u003e2.26.0\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3995\"\u003e#3995\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn addition to the existing input format, the\n\u003ccode\u003econfig-file\u003c/code\u003e input for the \u003ccode\u003ecodeql-action/init\u003c/code\u003e\nstep will soon support a new \u003ccode\u003e[owner/]repo[@ref][:path]\u003c/code\u003e\nformat. All components except the repository name are optional. If\nomitted, \u003ccode\u003eowner\u003c/code\u003e defaults to the same owner as the repository\nthe analysis is running for, \u003ccode\u003eref\u003c/code\u003e to \u003ccode\u003emain\u003c/code\u003e, and\n\u003ccode\u003epath\u003c/code\u003e to \u003ccode\u003e.github/codeql-action.yaml\u003c/code\u003e. Support\nfor this format ships in this version of the CodeQL Action, but will\nonly be enabled over the coming weeks. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3973\"\u003e#3973\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.36.3 - 01 Jul 2026\u003c/h2\u003e\n\u003cp\u003eNo user facing changes.\u003c/p\u003e\n\u003ch2\u003e4.36.2 - 04 Jun 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCache CodeQL CLI version information across Actions steps. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3943\"\u003e#3943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce requests while waiting for analysis processing by using\nexponential backoff when polling SARIF processing status. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3937\"\u003e#3937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.6\"\u003e2.25.6\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3948\"\u003e#3948\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/5595ccaf912efad79be6eef63a5619ff05969be3\"\u003e\u003ccode\u003e5595cca\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4071\"\u003e#4071\u003c/a\u003e\nfrom github/update-v4.37.6-6a9359a1b\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/ec9c75796a7f2cee5af0c5ffa0b81dc3bb58754b\"\u003e\u003ccode\u003eec9c757\u003c/code\u003e\u003c/a\u003e\nAdd change note for PR 4070\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/45c8742e17cbd668814137f95e605d925b8722a2\"\u003e\u003ccode\u003e45c8742\u003c/code\u003e\u003c/a\u003e\nUpdate changelog for v4.37.6\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/6a9359a1bd054c53cae7bb737bd8d796cfbf3014\"\u003e\u003ccode\u003e6a9359a\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4070\"\u003e#4070\u003c/a\u003e\nfrom github/mbg/remote-address/change-file-default\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/065cdc0394d424981db720df63ebc570e41b775f\"\u003e\u003ccode\u003e065cdc0\u003c/code\u003e\u003c/a\u003e\nChange \u003ccode\u003eDEFAULT_CONFIG_FILE_NAME\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/f99dd5aeee9cf92e92d0c700cb0aa7afd7bbf431\"\u003e\u003ccode\u003ef99dd5a\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4066\"\u003e#4066\u003c/a\u003e\nfrom github/dependabot/npm_and_yarn/js-yaml-5.2.2\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/1804b211a343d69a6584d26fb3a68a8fe6ca39d4\"\u003e\u003ccode\u003e1804b21\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4068\"\u003e#4068\u003c/a\u003e\nfrom github/mergeback/v4.37.5-to-main-d1ba80a1\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/3020a2f46286abb1704269b22ada83bd0e81c64f\"\u003e\u003ccode\u003e3020a2f\u003c/code\u003e\u003c/a\u003e\nRebuild\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/93c3a5a40b7affbf8ea6a480767ed0db8e8d3c5c\"\u003e\u003ccode\u003e93c3a5a\u003c/code\u003e\u003c/a\u003e\nUpdate changelog and version after v4.37.5\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/266c7bdbd2ad8151d42fd682e28c126c5da068da\"\u003e\u003ccode\u003e266c7bd\u003c/code\u003e\u003c/a\u003e\nRebuild\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/github/codeql-action/compare/d1ba80a13dd99fba24a470575428917156a28b43...5595ccaf912efad79be6eef63a5619ff05969be3\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this\ngroup update PR and stop Dependabot creating any more for the specific\ndependency\u0027s major version (unless you unignore this specific\ndependency\u0027s major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this\ngroup update PR and stop Dependabot creating any more for the specific\ndependency\u0027s minor version (unless you unignore this specific\ndependency\u0027s minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR\nand stop Dependabot creating any more for the specific dependency\n(unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore\nconditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will\nremove the ignore condition of the specified dependency and ignore\nconditions\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "8a849f30a36d9a55d38d54dfb366560893aa351e",
      "tree": "b1b374931fa1a010ad0f2c5b9107f3638881b4be",
      "parents": [
        "2567a325fcd6f19ab972963e87ddec637153eba9"
      ],
      "author": {
        "name": "Andrew Lamb",
        "email": "andrew@nerdnetworks.org",
        "time": "Fri Aug 07 20:52:04 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Sat Aug 08 10:52:04 2026 +1000"
      },
      "message": "fix clippy in variant (#10586)\n\n# Which issue does this PR close?\n\n- Related to https://github.com/apache/arrow-rs/pull/10157\n# Rationale for this change\n\nIt seems https://github.com/apache/arrow-rs/pull/10157 has a logical\nconflict with newly added clippy lints\n\nAfter merging https://github.com/apache/arrow-rs/pull/10157 it is\nfailing with\n\nFor example:\nhttps://github.com/apache/arrow-rs/actions/runs/31189404230/job/92902082102\n```\nwarning: unnested or-patterns\n    --\u003e parquet-variant-compute/src/shred_variant.rs:3134:17\n     |\n3134 | /                 (Variant::Int8(_), DataType::Int8)\n3135 | |                     | (Variant::Int8(_), DataType::Int16)\n3136 | |                     | (Variant::Int8(_), DataType::Int32)\n3137 | |                     | (Variant::Int8(_), DataType::Int64)\n...    |\n3228 | |                     | (Variant::String(_), DataType::LargeUtf8)\n3229 | |                     | (Variant::Time(_), DataType::Time64(_))\n     | |_____________________________________________________________^\n     |\n     \u003d help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.97.0/index.html#unnested_or_patterns\n     \u003d note: requested on the command line with `-W clippy::unnested-or-patterns`\nhelp: nest the patterns\n     |\n3134 ~                 (Variant::Int8(_) | Variant::Int16(_) | Variant::Int32(_) | Variant::Int64(_)\n3135 + | Variant::Decimal4(_) | Variant::Decimal8(_) | Variant::Decimal16(_),\n3136 + DataType::Int8) |\n3137 + (Variant::Int8(_) | Variant::Int16(_) | Variant::Int32(_) | Variant::Int64(_)\n3138 + | Variant::Decimal4(_) | Variant::Decimal8(_) | Variant::Decimal16(_),\n3139 + DataType::Int16) |\n```\n\n\n# What changes are included in this PR?\n\nDo what clippy says (just accept its suggestion)\n\n# Are these changes tested?\nBy CI\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e"
    },
    {
      "commit": "2567a325fcd6f19ab972963e87ddec637153eba9",
      "tree": "82871a5d57b80e2c100bfa5f2287f64cf7cb459d",
      "parents": [
        "3e6bd627c7b6d0dcda8aeb0a6efc829508177d4f"
      ],
      "author": {
        "name": "Congxian Qiu",
        "email": "qcx978132955@gmail.com",
        "time": "Fri Aug 07 22:47:53 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 10:47:53 2026 -0400"
      },
      "message": "[Variant] Fix the variant shred logic (#10157)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Closes #10145.\n\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n- Seperate the logic for `variant_shred` and `variant_get` by introduce\n`shred` flag for row builder\n- Move some logic in `Variant::as_xxx` to `type_conversion`, and these\nmoved code will be used when `variant_get`, `variant_shred` will use\n`Variant::as_xxx`\n- After the change, when shredding a variant, all `Variant::as_xx()` is\nidentity function now, `Variant::Int8` can only be treated as `int8`,\nbut not `int16`/`int32`/`int64`, etc.\n- Removed the `Variant::as_f16`\n- Add a test to cover that shred can/can\u0027t be shredded to some datatype\nin `test_variant_type_shredded_correctly`\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\nYes, added some tests to cover the logic\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\nYes, some `Variant::as_xx` logic have been changed.\n\n---------\n\nCo-authored-by: Andrew Lamb \u003candrew@nerdnetworks.org\u003e\nCo-authored-by: Kosta Tarasov \u003c33369833+sdf-jkl@users.noreply.github.com\u003e"
    },
    {
      "commit": "3e6bd627c7b6d0dcda8aeb0a6efc829508177d4f",
      "tree": "824a5bfcf02267828c31da24cb9d661970d3474e",
      "parents": [
        "a63e5840d283c4a513443945f920521226dd9709"
      ],
      "author": {
        "name": "Huaijin",
        "email": "haohuaijin@gmail.com",
        "time": "Fri Aug 07 22:45:20 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 10:45:20 2026 -0400"
      },
      "message": "bench(parquet): cover mask-backed intersection/union in row_selector (#10574)\n\n# Which issue does this PR close?\n\nSplit out of #10446 so that CI can compare both sides — the benchmark is\nnew there, so the merge-base has nothing to compare against and the\n`main` column comes out empty.\n\n# Rationale for this change\n\n`row_selector.rs` already benchmarks `intersection`/`union`, but it\nbuilds the operands with `from_filters`, which is selector-backed. Those\ntake the `RowSelector` merge path and never reach the bitwise one used\nwhen both operands are mask-backed.\n\n# What changes are included in this PR?\n\nAdds `mask_intersection`/`mask_union`, varying the two dimensions that\ndrive the bitwise path:\n\n- the ratio between operand lengths, since unequal lengths pass the\nlonger side\u0027s tail through unchanged\n- the bit offsets the operands carry, since masks come from\n`BooleanBuffer::slice` and whether the two share a sub-64-bit alignment\ndecides which path the underlying helpers take\n\nBenchmark only, no library changes.\n\n# Are these changes tested?\n\nN/A — this is a benchmark. It builds and runs on `main` as-is.\n\n# Are there any user-facing changes?\n\nNo."
    },
    {
      "commit": "a63e5840d283c4a513443945f920521226dd9709",
      "tree": "bbe1a94882bb1c4d047e0b8e1123458184644504",
      "parents": [
        "36f29053a72044505919e35f3b7c8095a8b31e21"
      ],
      "author": {
        "name": "Jeffrey Vo",
        "email": "jeffrey.vo.australia@gmail.com",
        "time": "Fri Aug 07 23:41:25 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 10:41:25 2026 -0400"
      },
      "message": "chore: remove unused github changelog generator config file (#10581)\n\nsince we\u0027re using git cliff now, cleaning up this unused file\n\nreference:\n\n- https://github.com/apache/arrow-rs/pull/10451"
    },
    {
      "commit": "36f29053a72044505919e35f3b7c8095a8b31e21",
      "tree": "c26ab388ae8ae5c9cb43e8ca471d7c185ade30f1",
      "parents": [
        "b1a907736a49d858edc51c1b6201bbf96554d81e"
      ],
      "author": {
        "name": "Andrew Lamb",
        "email": "andrew@nerdnetworks.org",
        "time": "Fri Aug 07 10:40:52 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 10:40:52 2026 -0400"
      },
      "message": "Minor: consolidate some parquet_testing tests into arrow_reader (#10584)\n\n# Which issue does this PR close?\n\n- part of #10540 \n\n# Rationale for this change\n\nThe arrow_reader tests are over 4000 lines in one module. I would like\nto try and break it up a bit so the tests are easier to understand and\nnavigate\n\nI think tests that read example fixtures from parquet_testing is a\nnatural thing to consolidate (so among other things we can be sure we\nare testing all the parquet_testing files)\n\n# What changes are included in this PR?\n\n1. Add parquet_testing.rs to the `arrow_reader` test\n2. Move some tests \n\n# Are these changes tested?\n\nOnly tests\n\n# Are there any user-facing changes?\n\nNo"
    },
    {
      "commit": "b1a907736a49d858edc51c1b6201bbf96554d81e",
      "tree": "52d5b3820cb6b105d097423d7bdf3fda2c6024ec",
      "parents": [
        "d8c1bf4d226b02e9dea06a9890e775d50ad5b627"
      ],
      "author": {
        "name": "Ed Seidl",
        "email": "etseidl@users.noreply.github.com",
        "time": "Fri Aug 07 07:06:10 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 07:06:10 2026 -0700"
      },
      "message": "doc(parquet): Distinguish difference between `ColumnOrder` and `SortOrder` (#10573)\n\n# Which issue does this PR close?\n\n- Closes #10548.\n\n# Rationale for this change\n\nSee issue\n\n# What changes are included in this PR?\n\nDocument the relationship between the `ColumnOrder` and `SortOrder`\nenums used in the parquet crate.\n\n# Are these changes tested?\n\nN/A documentation only\n\n# Are there any user-facing changes?\n\nNo"
    },
    {
      "commit": "d8c1bf4d226b02e9dea06a9890e775d50ad5b627",
      "tree": "4c6d590cc6a4efbe70a2f0d721105c3a8b896eb4",
      "parents": [
        "95b73998969ce26a0916a10db67b072ea592d729"
      ],
      "author": {
        "name": "ranflarion",
        "email": "ran@flarion.io",
        "time": "Fri Aug 07 09:59:24 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 23:59:24 2026 +1000"
      },
      "message": "fix: bound IPC message allocations by the bytes actually read (#10522)\n\n# Which issue does this PR close?\n\n- Closes #10521.\n\n# Rationale for this change\n\n`MessageReader::maybe_next` reserves both the metadata length and the\nmessage body length before reading any of the bytes they describe. Both\ncome out of the stream itself, so a corrupted or truncated stream is\nhanded straight to the allocator:\n`MutableBuffer::from_len_zeroed(message.bodyLength() as usize)` on an\nimplausible length either aborts the process (`memory allocation of N\nbytes failed`, which is not catchable and takes the host process with\nit) or panics on `LayoutError`. A negative `bodyLength` is accepted too,\nsince `as usize` wraps it to a large positive length.\n\nI hit this fuzzing real IPC blocks rather than crafted ones: single-bit\nflips over the framing region of genuine streams produced `memory\nallocation of 1125899907497992 bytes failed` and `SIGABRT`. Where those\nblocks cross disk or a network, one flipped bit ends the process instead\nof failing a read the caller could retry.\n\n# What changes are included in this PR?\n\n`bodyLength` now goes through `usize::try_from`, so a negative length is\na parse error rather than a huge positive one.\n\nNeither length reserves more than `MAX_PREALLOC_BYTES` (64 MiB) before\nthe bytes behind it have arrived. Bodies up to that size are allocated\nin one go exactly as before; larger ones grow as the data arrives, which\ncosts the reallocations that `MutableBuffer::reserve` doubling implies.\nThat constant is the one judgement call here, trading the size of the\nbounded allocation a malformed stream can still ask for against how\nlarge a body keeps the single-allocation path, so it is worth a second\nopinion.\n\nThe metadata read switches from `resize(meta_len, 0)` plus `read_exact`\nto `take(meta_len).read_to_end(\u0026mut self.buf)`. That reuses the retained\ncapacity across messages and drops the zeroing entirely, so it should be\nslightly cheaper than what it replaces rather than a cost, and `Take`\nreturns `Ok(0)` at its limit so there is no extra read.\n\nOnly the streaming path is touched. `read_block` on the file side has\nthe same shape at `arrow-ipc/src/reader.rs:875` and two `unwrap()`s on\nblock metadata besides; I left it alone to keep this reviewable, and\nnoted it in the issue.\n\nThis overlaps #9777, which is after the same zeroing for performance\nreasons. The two want the same thing here, and I am happy to rebase onto\nwhatever lands first.\n\n# Are these changes tested?\n\nYes, two tests in `arrow-ipc/src/reader.rs`.\n`test_stream_reader_rejects_implausible_body_length` covers `i64::MAX`,\n`1 \u003c\u003c 50` and `-1`;\n`test_stream_reader_rejects_unbacked_metadata_length` covers a metadata\nlength of `i32::MAX` with nineteen bytes behind it. Both fail without\nthe change: the first panics inside `MutableBuffer::from_len_zeroed`,\nand the second spends 7.7s zeroing 2 GiB before reporting the wrong\nerror.\n\nThe existing `arrow-ipc` suite passes (139 tests), along with `cargo fmt\n--all --check` and `cargo clippy -p arrow-ipc --all-targets\n--all-features -- -D warnings`.\n\n# Are there any user-facing changes?\n\nNo API changes. A stream that previously aborted or panicked now returns\nan `ArrowError`. No breaking changes.\n\n---------\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "95b73998969ce26a0916a10db67b072ea592d729",
      "tree": "e7e457f9f2eab36e4cf7a99700995513f624c93d",
      "parents": [
        "46da3e3bcccbb4267a56e907b0bee28e8691096f"
      ],
      "author": {
        "name": "Emil Ernerfeldt",
        "email": "emil.ernerfeldt@gmail.com",
        "time": "Fri Aug 07 05:40:50 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 22:40:50 2026 +1000"
      },
      "message": "Enable a few more clippy lints (#10558)\n\n# Which issue does this PR close?\nNo issue in particular\n\n- Follow-up to #10533\n- Follow-up to #10552\n- Related to #10458\n\n# Rationale for this change\n\nThere are a lot of lints we can enable to, which different abilities to:\n* Simplify the code\n* Write more efficient code\n* Catch bugs\n* etc\n\n## What changes are included in this PR?\nOne commit per new lint (maybe easiest to review commit by commit!).\nLet me know if you disagree with any of them.\n\nI hope to add even more lints in  later PRs.\n\n## Are these changes tested?\n\nCovered by existing tests plus the clippy CI job.\n\n## Are there any user-facing changes?\n\nNo.\n\n---------\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "46da3e3bcccbb4267a56e907b0bee28e8691096f",
      "tree": "4134d88d195ab33934c84c05764211d205280f11",
      "parents": [
        "5156d9cc188479a4d90e0dd219f33694252eaa89"
      ],
      "author": {
        "name": "Jeffrey Vo",
        "email": "jeffrey.vo.australia@gmail.com",
        "time": "Fri Aug 07 21:03:51 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 22:03:51 2026 +1000"
      },
      "message": "Upgrade `rand` to `0.10` (#10566)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Closes https://github.com/apache/arrow-rs/pull/10562\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\nKeeping dependencies up to date.\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\nBump `rand` to `0.10` in the arrow crate. Since we expose functions that\nrely on the rand API, this is a breaking change. Also because `half`\ndoesn\u0027t support `rand` `0.10` (see\nhttps://github.com/VoidStarKat/half-rs/issues/144) we have to remove\ndependency on its `rand_distr` feature and handroll it ourselves.\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\nExisting tests\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\n\nYes, API change. `create_primitive_array()` from `bench_util` no longer\nsupports `Float16Array`s; instead you must use the new\n`create_nullable_f16_array()` function."
    },
    {
      "commit": "5156d9cc188479a4d90e0dd219f33694252eaa89",
      "tree": "997d38940a00f0e17389f01f27b64773394d302b",
      "parents": [
        "2629d03dcb69a7186b1d14a84407db6f586c1960"
      ],
      "author": {
        "name": "Adam Reichold",
        "email": "adamreichold@users.noreply.github.com",
        "time": "Fri Aug 07 14:02:00 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 22:02:00 2026 +1000"
      },
      "message": "Fix AsRef impl for Buffer and generically wrap Bytes::from_owner (#10571)\n\nThe AsRef impl was limited to references to Buffer instead of Buffer\nitself which is unnecessary since the signature of as_ref already\nprovides the necessary indirection and it also is not the implementation\nrequired for wider ecosystem integration.\n\n# Which issue does this PR close?\n\n- Closes #10570.\n\n# Rationale for this change\n\nI am trying to use the newly available `StreamEncoder` from the\n`arrow_ipc` crate together with `Body::from_stream` from `axum`, but\ncalling `bytes::Bytes::from_owner` fails due to an unsatisfied trait\nbound which I have to work around by local newtype wrapping.\n\n# What changes are included in this PR?\n\nA fix for the overly restrictive `AsRef` impl and also writing\n`Bytes::from_owner` through as generic and canonical way to wrap a given\n`Buffer` as a `bytes::Bytes` object (so it can be used with\n`Body::from_stream` directly.\n\n# Are these changes tested?\n\nThe more general impl is covered by the same tests as the existing one\nand the new `From` impl is exercised by the doctest.\n\n# Are there any user-facing changes?\n\n~~This is strictly speaking a breaking change via downstream trait\ncoherence, but I would argue that the existing `AsRef` is erroneously\nrestricted and would therefore classify this as a typing bug fix.~~\n\nThis is not breaking as [the standard library\u0027s blanket\nimpl](https://doc.rust-lang.org/std/convert/trait.AsRef.html#impl-AsRef%3CU%3E-for-%26T)\nwill continue to provide the previous impl so this appears strictly\nadditive with `cargo semver-checks` v0.50.0 agreeing.\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "2629d03dcb69a7186b1d14a84407db6f586c1960",
      "tree": "546c75a01617127a89398e66a4b98dcfeb5dca79",
      "parents": [
        "88b7d5ab9a43796fd115b5f502fb408c15a6f3af"
      ],
      "author": {
        "name": "Qi Zhu",
        "email": "821684824@qq.com",
        "time": "Fri Aug 07 19:03:17 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Fri Aug 07 07:03:17 2026 -0400"
      },
      "message": "Parquet: tolerate mixed row-group ordinal metadata on read (#10449)\n\n# Which issue does this PR close?\n\n- Closes #10381.\n\n# Rationale for this change\n\n`RowGroup.ordinal` is **optional** in the parquet-format Thrift spec\nwith no uniformity requirement, but since #8715 the reader hard-errors\non files whose row groups disagree on whether it is populated\n(`Inconsistent ordinal assignment: ...`). Such files are produced in the\nwild (e.g. Go parquet writers flushing row groups incrementally) and\nwere readable before 57.1.\n\nThis implements the plan agreed on the issue with @alamb, @etseidl and\n@vustef:\n\n- **All ordinals present** → honor them as written.\n- **None present** → sequential-fill at decode time, *unconditionally* —\nnot just when row numbers are enabled — so downstream consumers behave\nidentically whether the metadata was decoded fresh or reused from a\nprior read (the metadata-reuse hazard @vustef pointed out).\n- **Mixed** → leave the metadata untouched. Positional backfill could\ndisagree with the ordinals that are present, and a partial backfill\nwould make row-number results depend on which row groups a query happens\nto select. Instead, consumers that require complete ordinals fail\ndeterministically; plain reads succeed.\n\n# What changes are included in this PR?\n\n- `thrift/mod.rs`: replace the per-row-group `OrdinalAssigner` (which\nerrored on the first inconsistency) with a post-decode\n`ensure_row_group_ordinals` implementing the three cases above.\n- `array_reader/row_number.rs`: `RowNumberReader::try_new` rejects\nmixed-ordinal files up front — **even when every selected row group\ncarries an ordinal** — so row numbering for a given file either always\nworks or always fails, regardless of row-group pruning (@vustef\u0027s\ndeterminism concern).\n- `thrift/encryption.rs`: the encrypted column-metadata path used\n`rg.ordinal.unwrap()` for the AAD; with mixed metadata now reaching this\ncode, return a proper error instead of panicking (@etseidl\u0027s encryption\nconcern — files with fully-populated or fully-missing ordinals are\nunaffected).\n\n# Are these changes tested?\n\n- Decode round-trip tests for all three shapes (honored /\nsequential-filled / left untouched), including the exact Go-writer shape\nfrom the issue (first row group missing the ordinal). The mixed cases\nfail on main with the `Inconsistent ordinal assignment` error.\n- `RowNumberReader` unit tests: mixed metadata errors even for an\nordinal-only selection; all-missing metadata errors for any selection.\n- End-to-end test: a real 4-row-group file with one ordinal stripped\nreads fine without virtual columns and fails deterministically with the\nrow-number column, even when selecting only row groups that carry\nordinals.\n- Full `parquet` test suite passes with `--all-features`.\n\n# Are there any user-facing changes?\n\nFiles with mixed or absent row-group ordinal metadata are readable again\n(as before 57.1). Row-number virtual columns keep their strict\nguarantee: they now fail deterministically per file instead of depending\non row-group selection. No API changes."
    },
    {
      "commit": "88b7d5ab9a43796fd115b5f502fb408c15a6f3af",
      "tree": "112c4e3963251fb206633b888101501343b79391",
      "parents": [
        "753a87d44f6b74cb784da798c4a496204f52fcd8"
      ],
      "author": {
        "name": "Andrew Lamb",
        "email": "andrew@nerdnetworks.org",
        "time": "Thu Aug 06 16:23:15 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 16:23:15 2026 -0400"
      },
      "message": "Encapsulate parquet round trip test logic in struct (#10545)\n\n# Which issue does this PR close?\n\n- Part of https://github.com/apache/arrow-rs/issues/10540\n\n\n# Rationale for this change\n\nI am trying to understand the depth of our round trip tests (there are\nover 4000\nlines of tests in the arrow writer module). After some study it appears\nthere\nare tests to round trip both single columns and record batches, which\nshare some\nnon trivial amount of logic.\n\nIt also makes it hard to evaluate coverage because there are several\nsimilar but not quite the same free functions and it is unclear hwo they\nare related to each other\nand what some of the parameters mean (like the argument to\n`roundtrip_one_column`)\n\nI think making it easier to find and evaluate test coverage will make it\neasier to\nmaintain and extend this crate in the future.\n\n\n# What changes are included in this PR?\n\n1. Move round trip logic into methods on `RoundTripTest` rather than\nfree functions\n\n# Are these changes tested?\n\nOnly tests\n\n# Are there any user-facing changes?\nNo\n\n---------\n\nCo-authored-by: Claude Fable 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "753a87d44f6b74cb784da798c4a496204f52fcd8",
      "tree": "c890a393b744366fdaaae7f29e37042859bf6f58",
      "parents": [
        "3df22cd7c664e213ab3058d1b98db358467560d4"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Thu Aug 06 16:21:22 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 16:21:22 2026 -0400"
      },
      "message": "chore(deps): bump the codeql-actions group with 2 updates (#10568)\n\nBumps the codeql-actions group with 2 updates:\n[github/codeql-action/init](https://github.com/github/codeql-action) and\n[github/codeql-action/analyze](https://github.com/github/codeql-action).\n\nUpdates `github/codeql-action/init` from 4.37.4 to 4.37.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases\"\u003egithub/codeql-action/init\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.37.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where a network error while streaming the download of\nthe CodeQL bundle could terminate the \u003ccode\u003einit\u003c/code\u003e Action instead\nof falling back to downloading the bundle before extracting it. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4061\"\u003e#4061\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/github/codeql-action/blob/main/CHANGELOG.md\"\u003egithub/codeql-action/init\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eCodeQL Action Changelog\u003c/h1\u003e\n\u003cp\u003eSee the \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases\"\u003ereleases\npage\u003c/a\u003e for the relevant changes to the CodeQL CLI and language\npacks.\u003c/p\u003e\n\u003ch2\u003e[UNRELEASED]\u003c/h2\u003e\n\u003cp\u003eNo user facing changes.\u003c/p\u003e\n\u003ch2\u003e4.37.6 - 04 Aug 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the default filepath for the new remote file address format\nthat was introduced in CodeQL Action 4.37.0 / 3.37.0 to\n\u003ccode\u003e.github/codeql-config.yml\u003c/code\u003e to align it with the suggested\npath that is used elsewhere. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4070\"\u003e#4070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.5 - 03 Aug 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where a network error while streaming the download of\nthe CodeQL bundle could terminate the \u003ccode\u003einit\u003c/code\u003e Action instead\nof falling back to downloading the bundle before extracting it. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4061\"\u003e#4061\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.4 - 29 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThis version of the CodeQL Action adds support for the\n\u003ccode\u003etools\u003c/code\u003e input for the \u003ccode\u003ecodeql-action/init\u003c/code\u003e step to\nbe specified using a \u003ccode\u003egithub-codeql-tools\u003c/code\u003e \u003ca\nhref\u003d\"https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization\"\u003erepository\nproperty\u003c/a\u003e. This feature will gradually be rolled out following the\nrelease of this version. Once rolled out, this allows for the CodeQL CLI\nversion that is used in GitHub-managed workflows, such as Default Setup,\nto be set to a custom value. For example, customers who run into issues\nwith rate limits when a new CodeQL CLI version is released can set the\nvalue to \u003ccode\u003etoolcache\u003c/code\u003e to always use the CodeQL CLI version\nthat is available in the runner toolcache. For Advanced Setup workflows,\nthe value provided for \u003ccode\u003etools\u003c/code\u003e in the workflow definition\nalways takes precedence unless the value of the repository property\nstarts with \u003ccode\u003e!\u003c/code\u003e. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4037\"\u003e#4037\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.2\"\u003e2.26.2\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4051\"\u003e#4051\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.3 - 22 Jul 2026\u003c/h2\u003e\n\u003cp\u003eNo user facing changes.\u003c/p\u003e\n\u003ch2\u003e4.37.2 - 21 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe new address format for the \u003ccode\u003econfig-file\u003c/code\u003e input that\nwas introduced in CodeQL Action 4.37.0 is now enabled by default. In\naddition to the format described there, the \u003ccode\u003eremote\u003d\u003c/code\u003e prefix\ncan now be used to explicitly indicate that the input refers to a remote\nfile. All previous input formats continue to be accepted as well. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4023\"\u003e#4023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe CodeQL Action can now make use of \u003ca\nhref\u003d\"https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries\"\u003econfigured\nprivate registries\u003c/a\u003e in Default Setup to retrieve CodeQL configuration\nfiles from remote repositories that require authentication. This will\nallow customers to store their CodeQL configuration in a single\nrepository that can then be referenced by Default Setup workflows in\nother repositories. We expect to roll this and other, related changes\nout to everyone in July. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4007\"\u003e#4007\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.1 - 16 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003eUpcoming breaking change\u003c/em\u003e: Add a deprecation warning for\ncustomers using CodeQL version 2.20.6 and earlier. These versions of\nCodeQL were discontinued on 1 July 2026 alongside GitHub Enterprise\nServer 3.16, and will be unsupported by the next minor release of the\nCodeQL Action. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3956\"\u003e#3956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.1\"\u003e2.26.1\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4019\"\u003e#4019\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.0 - 08 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.0\"\u003e2.26.0\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3995\"\u003e#3995\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn addition to the existing input format, the\n\u003ccode\u003econfig-file\u003c/code\u003e input for the \u003ccode\u003ecodeql-action/init\u003c/code\u003e\nstep will soon support a new \u003ccode\u003e[owner/]repo[@ref][:path]\u003c/code\u003e\nformat. All components except the repository name are optional. If\nomitted, \u003ccode\u003eowner\u003c/code\u003e defaults to the same owner as the repository\nthe analysis is running for, \u003ccode\u003eref\u003c/code\u003e to \u003ccode\u003emain\u003c/code\u003e, and\n\u003ccode\u003epath\u003c/code\u003e to \u003ccode\u003e.github/codeql-action.yaml\u003c/code\u003e. Support\nfor this format ships in this version of the CodeQL Action, but will\nonly be enabled over the coming weeks. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3973\"\u003e#3973\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.36.3 - 01 Jul 2026\u003c/h2\u003e\n\u003cp\u003eNo user facing changes.\u003c/p\u003e\n\u003ch2\u003e4.36.2 - 04 Jun 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCache CodeQL CLI version information across Actions steps. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3943\"\u003e#3943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce requests while waiting for analysis processing by using\nexponential backoff when polling SARIF processing status. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3937\"\u003e#3937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.6\"\u003e2.25.6\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3948\"\u003e#3948\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/d1ba80a13dd99fba24a470575428917156a28b43\"\u003e\u003ccode\u003ed1ba80a\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4067\"\u003e#4067\u003c/a\u003e\nfrom github/update-v4.37.5-1cd4d01d5\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/e74600b0d945db9734eb044f95cd43f34b773451\"\u003e\u003ccode\u003ee74600b\u003c/code\u003e\u003c/a\u003e\nUpdate changelog for v4.37.5\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/1cd4d01d58f636bbdbffbfd3c121b3446d07e9f3\"\u003e\u003ccode\u003e1cd4d01\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4061\"\u003e#4061\u003c/a\u003e\nfrom github/henrymercer/turbo-system\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/d2bfc30bc3373a3ec945dc3f93bc8b8f07fa16b9\"\u003e\u003ccode\u003ed2bfc30\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4050\"\u003e#4050\u003c/a\u003e\nfrom github/mbg/status/registries\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/68028fcb1605f3cdd37e4e1845c3f78af017a3ea\"\u003e\u003ccode\u003e68028fc\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4062\"\u003e#4062\u003c/a\u003e\nfrom github/sam-robson/migrate-enterprise-release-pat\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/c29563eeaafbc75499c7bb0d74bf77b3506c1cbd\"\u003e\u003ccode\u003ec29563e\u003c/code\u003e\u003c/a\u003e\nci: use federated enterprise release PAT\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/155e5229973b426bd1ae2f83bb1bf42417fa2a8f\"\u003e\u003ccode\u003e155e522\u003c/code\u003e\u003c/a\u003e\nLink the PR from the changelog entry\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/2d3b351ea6452a9b21346f8d64567e5b833924de\"\u003e\u003ccode\u003e2d3b351\u003c/code\u003e\u003c/a\u003e\nHandle network errors when streaming the CodeQL bundle download\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/5d3eb98e4a780bfe1a53f57fbdc278ea5da1274b\"\u003e\u003ccode\u003e5d3eb98\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4055\"\u003e#4055\u003c/a\u003e\nfrom github/dependabot/npm_and_yarn/npm-minor-203262...\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/c5f739bd6460e096aaf40962517e46a846b8b6b1\"\u003e\u003ccode\u003ec5f739b\u003c/code\u003e\u003c/a\u003e\nMerge branch \u0027main\u0027 into\ndependabot/npm_and_yarn/npm-minor-2032624187\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/github/codeql-action/compare/f205ea1c3313d32999d8d6a48b4f6530d4437b38...d1ba80a13dd99fba24a470575428917156a28b43\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `github/codeql-action/analyze` from 4.37.4 to 4.37.5\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases\"\u003egithub/codeql-action/analyze\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.37.5\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where a network error while streaming the download of\nthe CodeQL bundle could terminate the \u003ccode\u003einit\u003c/code\u003e Action instead\nof falling back to downloading the bundle before extracting it. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4061\"\u003e#4061\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/github/codeql-action/blob/main/CHANGELOG.md\"\u003egithub/codeql-action/analyze\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eCodeQL Action Changelog\u003c/h1\u003e\n\u003cp\u003eSee the \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases\"\u003ereleases\npage\u003c/a\u003e for the relevant changes to the CodeQL CLI and language\npacks.\u003c/p\u003e\n\u003ch2\u003e[UNRELEASED]\u003c/h2\u003e\n\u003cp\u003eNo user facing changes.\u003c/p\u003e\n\u003ch2\u003e4.37.6 - 04 Aug 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eChanged the default filepath for the new remote file address format\nthat was introduced in CodeQL Action 4.37.0 / 3.37.0 to\n\u003ccode\u003e.github/codeql-config.yml\u003c/code\u003e to align it with the suggested\npath that is used elsewhere. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4070\"\u003e#4070\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.5 - 03 Aug 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug where a network error while streaming the download of\nthe CodeQL bundle could terminate the \u003ccode\u003einit\u003c/code\u003e Action instead\nof falling back to downloading the bundle before extracting it. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4061\"\u003e#4061\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.4 - 29 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThis version of the CodeQL Action adds support for the\n\u003ccode\u003etools\u003c/code\u003e input for the \u003ccode\u003ecodeql-action/init\u003c/code\u003e step to\nbe specified using a \u003ccode\u003egithub-codeql-tools\u003c/code\u003e \u003ca\nhref\u003d\"https://docs.github.com/en/organizations/managing-organization-settings/managing-custom-properties-for-repositories-in-your-organization\"\u003erepository\nproperty\u003c/a\u003e. This feature will gradually be rolled out following the\nrelease of this version. Once rolled out, this allows for the CodeQL CLI\nversion that is used in GitHub-managed workflows, such as Default Setup,\nto be set to a custom value. For example, customers who run into issues\nwith rate limits when a new CodeQL CLI version is released can set the\nvalue to \u003ccode\u003etoolcache\u003c/code\u003e to always use the CodeQL CLI version\nthat is available in the runner toolcache. For Advanced Setup workflows,\nthe value provided for \u003ccode\u003etools\u003c/code\u003e in the workflow definition\nalways takes precedence unless the value of the repository property\nstarts with \u003ccode\u003e!\u003c/code\u003e. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4037\"\u003e#4037\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.2\"\u003e2.26.2\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4051\"\u003e#4051\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.3 - 22 Jul 2026\u003c/h2\u003e\n\u003cp\u003eNo user facing changes.\u003c/p\u003e\n\u003ch2\u003e4.37.2 - 21 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe new address format for the \u003ccode\u003econfig-file\u003c/code\u003e input that\nwas introduced in CodeQL Action 4.37.0 is now enabled by default. In\naddition to the format described there, the \u003ccode\u003eremote\u003d\u003c/code\u003e prefix\ncan now be used to explicitly indicate that the input refers to a remote\nfile. All previous input formats continue to be accepted as well. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4023\"\u003e#4023\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eThe CodeQL Action can now make use of \u003ca\nhref\u003d\"https://docs.github.com/en/code-security/how-tos/secure-at-scale/configure-organization-security/manage-usage-and-access/giving-org-access-private-registries\"\u003econfigured\nprivate registries\u003c/a\u003e in Default Setup to retrieve CodeQL configuration\nfiles from remote repositories that require authentication. This will\nallow customers to store their CodeQL configuration in a single\nrepository that can then be referenced by Default Setup workflows in\nother repositories. We expect to roll this and other, related changes\nout to everyone in July. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4007\"\u003e#4007\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.1 - 16 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003eUpcoming breaking change\u003c/em\u003e: Add a deprecation warning for\ncustomers using CodeQL version 2.20.6 and earlier. These versions of\nCodeQL were discontinued on 1 July 2026 alongside GitHub Enterprise\nServer 3.16, and will be unsupported by the next minor release of the\nCodeQL Action. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3956\"\u003e#3956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.1\"\u003e2.26.1\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/4019\"\u003e#4019\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.37.0 - 08 Jul 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.26.0\"\u003e2.26.0\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3995\"\u003e#3995\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eIn addition to the existing input format, the\n\u003ccode\u003econfig-file\u003c/code\u003e input for the \u003ccode\u003ecodeql-action/init\u003c/code\u003e\nstep will soon support a new \u003ccode\u003e[owner/]repo[@ref][:path]\u003c/code\u003e\nformat. All components except the repository name are optional. If\nomitted, \u003ccode\u003eowner\u003c/code\u003e defaults to the same owner as the repository\nthe analysis is running for, \u003ccode\u003eref\u003c/code\u003e to \u003ccode\u003emain\u003c/code\u003e, and\n\u003ccode\u003epath\u003c/code\u003e to \u003ccode\u003e.github/codeql-action.yaml\u003c/code\u003e. Support\nfor this format ships in this version of the CodeQL Action, but will\nonly be enabled over the coming weeks. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3973\"\u003e#3973\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.36.3 - 01 Jul 2026\u003c/h2\u003e\n\u003cp\u003eNo user facing changes.\u003c/p\u003e\n\u003ch2\u003e4.36.2 - 04 Jun 2026\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eCache CodeQL CLI version information across Actions steps. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3943\"\u003e#3943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eReduce requests while waiting for analysis processing by using\nexponential backoff when polling SARIF processing status. \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3937\"\u003e#3937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate default CodeQL bundle version to \u003ca\nhref\u003d\"https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.25.6\"\u003e2.25.6\u003c/a\u003e.\n\u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/pull/3948\"\u003e#3948\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/d1ba80a13dd99fba24a470575428917156a28b43\"\u003e\u003ccode\u003ed1ba80a\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4067\"\u003e#4067\u003c/a\u003e\nfrom github/update-v4.37.5-1cd4d01d5\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/e74600b0d945db9734eb044f95cd43f34b773451\"\u003e\u003ccode\u003ee74600b\u003c/code\u003e\u003c/a\u003e\nUpdate changelog for v4.37.5\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/1cd4d01d58f636bbdbffbfd3c121b3446d07e9f3\"\u003e\u003ccode\u003e1cd4d01\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4061\"\u003e#4061\u003c/a\u003e\nfrom github/henrymercer/turbo-system\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/d2bfc30bc3373a3ec945dc3f93bc8b8f07fa16b9\"\u003e\u003ccode\u003ed2bfc30\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4050\"\u003e#4050\u003c/a\u003e\nfrom github/mbg/status/registries\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/68028fcb1605f3cdd37e4e1845c3f78af017a3ea\"\u003e\u003ccode\u003e68028fc\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4062\"\u003e#4062\u003c/a\u003e\nfrom github/sam-robson/migrate-enterprise-release-pat\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/c29563eeaafbc75499c7bb0d74bf77b3506c1cbd\"\u003e\u003ccode\u003ec29563e\u003c/code\u003e\u003c/a\u003e\nci: use federated enterprise release PAT\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/155e5229973b426bd1ae2f83bb1bf42417fa2a8f\"\u003e\u003ccode\u003e155e522\u003c/code\u003e\u003c/a\u003e\nLink the PR from the changelog entry\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/2d3b351ea6452a9b21346f8d64567e5b833924de\"\u003e\u003ccode\u003e2d3b351\u003c/code\u003e\u003c/a\u003e\nHandle network errors when streaming the CodeQL bundle download\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/5d3eb98e4a780bfe1a53f57fbdc278ea5da1274b\"\u003e\u003ccode\u003e5d3eb98\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/github/codeql-action/issues/4055\"\u003e#4055\u003c/a\u003e\nfrom github/dependabot/npm_and_yarn/npm-minor-203262...\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/github/codeql-action/commit/c5f739bd6460e096aaf40962517e46a846b8b6b1\"\u003e\u003ccode\u003ec5f739b\u003c/code\u003e\u003c/a\u003e\nMerge branch \u0027main\u0027 into\ndependabot/npm_and_yarn/npm-minor-2032624187\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/github/codeql-action/compare/f205ea1c3313d32999d8d6a48b4f6530d4437b38...d1ba80a13dd99fba24a470575428917156a28b43\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this\ngroup update PR and stop Dependabot creating any more for the specific\ndependency\u0027s major version (unless you unignore this specific\ndependency\u0027s major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this\ngroup update PR and stop Dependabot creating any more for the specific\ndependency\u0027s minor version (unless you unignore this specific\ndependency\u0027s minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR\nand stop Dependabot creating any more for the specific dependency\n(unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore\nconditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will\nremove the ignore condition of the specified dependency and ignore\nconditions\n\n\n\u003c/details\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "3df22cd7c664e213ab3058d1b98db358467560d4",
      "tree": "4ddb0e534b12d2be8719cbd1c681a19809ab6588",
      "parents": [
        "53620e08800090cababb9e4529f2567198a102c2"
      ],
      "author": {
        "name": "Ed Seidl",
        "email": "etseidl@users.noreply.github.com",
        "time": "Thu Aug 06 12:29:38 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 12:29:38 2026 -0700"
      },
      "message": "parquet: Remove deprecated functions (#10565)\n\n# Which issue does this PR close?\n\nN/A\n\n# Rationale for this change\nRemove deprecated functions from the public API.\n\n# What changes are included in this PR?\n\nRemoved functions and tests that used them.\n\n# Are these changes tested?\n\nCovered by existing tests\n\n# Are there any user-facing changes?\nYes, removes functions from the public API"
    },
    {
      "commit": "53620e08800090cababb9e4529f2567198a102c2",
      "tree": "5adf9a5aff7d181804d97c7e045cc734e0b40420",
      "parents": [
        "6b7d6b3279ba4b4925e43bfc9b8a266fcf1660ad"
      ],
      "author": {
        "name": "ranflarion",
        "email": "ran@flarion.io",
        "time": "Thu Aug 06 09:25:35 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 09:25:35 2026 -0400"
      },
      "message": "parquet: return an error instead of panicking when a pushed buffer\u0027s length does not match its range (#10564)\n\n# Which issue does this PR close?\n\nCloses #10563.\n\n# Rationale for this change\n\nA short read pushed into the parquet push decoder panics at\n`PushBuffers::push_range` (\"Range length must match buffer length\")\nalthough every public entry point that feeds it returns `Result`.\nThrough the async reader this turns a transient store fault into a\nreader-thread panic the caller cannot classify or retry; the json and\navro readers surface the equivalent fault as a decode error.\n\n# What changes are included in this PR?\n\n`PushBuffers::push_range` and `push_ranges` return `Result\u003c(),\nParquetError\u003e` instead of asserting (buffer/range length mismatch, and\nranges/buffers count mismatch in `push_ranges`). The error propagates\nthrough the crate-internal chain:\n`ParquetMetaDataPushDecoder::push_range`/`push_ranges` (already\n`Result`, now use `?`), and `ParquetDecoderState::push_data` -\u003e\n`RemainingRowGroups::push_data` -\u003e `RowGroupReaderBuilder::push_data`,\nthe last two becoming fallible; all their callers were already in\n`Result` contexts.\n\n# Are these changes tested?\n\nNew unit tests in `push_buffers.rs` cover the accepted case, the\nshort-buffer error, and the count-mismatch error. The existing parquet\ntest suite passes.\n\n# Are there any user-facing changes?\n\nNo stable API change: the public decoder entry points keep their\n`Result` signatures. `PushBuffers` (exported only under the\n`experimental` feature, which carries no stability guarantees) changes\n`push_range`/`push_ranges` from `fn(...)` to `fn(...) -\u003e Result\u003c(),\nParquetError\u003e`. Code that previously panicked on mismatched pushes now\nreceives an `Err`."
    },
    {
      "commit": "6b7d6b3279ba4b4925e43bfc9b8a266fcf1660ad",
      "tree": "9edc2cb8439d8e9eafe3cab2c0940f049f044eac",
      "parents": [
        "64aaccfb250f1b8c56515817eccd91d578b14a5f"
      ],
      "author": {
        "name": "Jonas Dedden",
        "email": "mail@jonas-dedden.de",
        "time": "Thu Aug 06 03:20:40 2026 +0200"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 11:20:40 2026 +1000"
      },
      "message": "feat(pyarrow): describe conversions in PyO3 introspection data (#10492)\n\n# Which issue does this PR close?\n\n- Closes #10491.\n\n# Rationale for this change\n\nPyO3\u0027s `experimental-inspect` feature records the Python type of every\nconversion into the built binary, so that tools like `maturin\ngenerate-stubs` can emit a real `.pyi`. The type comes from the\n`INPUT_TYPE` / `OUTPUT_TYPE` associated constants on `FromPyObject` /\n`IntoPyObject`.\n\n`PyArrowType` implements both traits but leaves those constants at their\ndefault, `_typeshed.Incomplete`. Because `PyArrowType` is how bindings\nexchange *every* Arrow value with Python, that one default erases the\nentire public API of any such binding. A function like\n\n```rust\n#[pyfunction]\nfn cast_record_batch(\n    record_batch: PyArrowType\u003cRecordBatch\u003e,\n    schema: PyArrowType\u003cSchema\u003e,\n) -\u003e PyResult\u003cPyArrowType\u003cRecordBatch\u003e\u003e { ... }\n```\n\ngenerates\n\n```python\ndef cast_record_batch(record_batch: Incomplete, schema: Incomplete) -\u003e Incomplete: ...\n```\n\n# What changes are included in this PR?\n\n- A new `experimental-inspect` feature on `arrow-pyarrow`, which just\nturns on PyO3\u0027s. `arrow` gets a matching feature that implies `pyarrow`.\n- `FromPyArrow::INPUT_TYPE`, `ToPyArrow::OUTPUT_TYPE` and\n`IntoPyArrow::OUTPUT_TYPE`, defaulting to `_typeshed.Incomplete` so that\nout-of-tree implementors are unaffected.\n- Implementations for every type the crate converts: `DataType`,\n`Field`, `Schema`, `ArrayData` (→ `pyarrow.Array`), `RecordBatch`,\n`Vec\u003cT\u003e`, `ArrowArrayStreamReader`, `Box\u003cdyn RecordBatchReader + Send\u003e`\nand `Table`.\n- `PyArrowType`\u0027s `FromPyObject` / `IntoPyObject` impls forward them.\n- Unit tests pinning the rendered hint for each type, and a note in the\ncrate docs.\n\nInput and output are separate constants because they genuinely differ:\n`Vec\u003cT\u003e` is built from anything iterable but handed back as a `list`, so\nit is `collections.abc.Iterable[pyarrow.RecordBatch]` in and\n`list[pyarrow.RecordBatch]` out.\n\n# Are these changes tested?\n\nYes. `arrow-pyarrow` gains unit tests asserting the rendered hint for\nevery conversion, run with `cargo test -p arrow-pyarrow --features\nexperimental-inspect`.\n\nBeyond that, the change was verified end to end against a real binding:\nwith `arrow` patched to this branch and the binding\u0027s own code left on\nplain `PyArrowType`, `maturin generate-stubs` produces the signatures\nand the `from pyarrow import ...` line shown above.\n\n# Are there any user-facing changes?\n\nNo behaviour changes, and nothing is compiled unless\n`experimental-inspect` is enabled. The traits gain associated constants,\nbut they are defaulted and feature-gated, so existing implementations\nkeep compiling untouched.\n\n---------"
    },
    {
      "commit": "64aaccfb250f1b8c56515817eccd91d578b14a5f",
      "tree": "924cc9b32713b5c4fc9248f566cfa3d00c7725a2",
      "parents": [
        "fc3591e0829dfd7bdf26330f75b690459f9c6605"
      ],
      "author": {
        "name": "Ethan Tang",
        "email": "tangrenxing@gmail.com",
        "time": "Wed Aug 05 19:29:29 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 10:29:29 2026 +1000"
      },
      "message": "Add Miri to more crates (#10507)\n\n# Which issue does this PR close?\ncloses #10471 \n\n# Rationale for this change\nThe Miri workflow currently covers only a subset of packages. This adds\nmore miri coverage to detect unsafe code, Parquet crate remains excluded\nbecause it is tracked separately in #614.\n\n\n# What changes are included in this PR?\n- Adds Miri testing for arrow, arrow-avro, arrow-cast, arrow-csv,\narrow-ipc, arrow-json, arrow-row, arrow-select, and arrow-string.\n- Updates the gh action workflow path filters in `miri.yaml`, some\ncrates were missing before\n- adds ignore to tests that takes too long to run\n- adds ignore to tests that were failing due to inline assembly\n- Sets `INSTA_WORKSPACE_ROOT` to prevent snapshot tests from invoking\nunsupported subprocess operations under Miri\n\nnote: it takes about 50mins to run miri on my M3 laptop. when this pr\ngets merge i think it\u0027s expected to prolong the CI time in the miri\nworkflow, but we can always add more parallel workers\n\n# Are these changes tested?\ni ran the following to test locally. \n\n- `rustup run nightly bash .github/workflows/miri.sh` (runs the whole\nmiri suite)\n- `cargo test`\n- `cargo clippy --workspace --all-targets --all-features -- -D warnings`\n- `git diff --check`\n\n\n# Are there any user-facing changes?\nno, only tests\n\n# AI disclosure\nI used codex to draft this pr after i got the project and miri tests\nrunning on my laptop. I have reviewed all the code and have built,\ntested these changes. I am happy to own follow-ups too.\n\n---------\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "fc3591e0829dfd7bdf26330f75b690459f9c6605",
      "tree": "7313e0f2af0d6d9afafa7813b1a0d22c3bb8a4fb",
      "parents": [
        "013263d80603a0b7d33f579befe10b233a4b4446"
      ],
      "author": {
        "name": "Andrew Lamb",
        "email": "andrew@nerdnetworks.org",
        "time": "Wed Aug 05 19:51:03 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 09:51:03 2026 +1000"
      },
      "message": "docs(arrow-select): document the InProgressArray copy methods (#10057)\n\nDocumentation follow-up for #9755.\n\nComments only — no code changes. Documents the `InProgressArray` copy\nmethods and clarifies which operate on the source set via `set_source`\nversus the one that takes the source directly.\n\n---------\n\nCo-authored-by: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "013263d80603a0b7d33f579befe10b233a4b4446",
      "tree": "d9289e3147c3436d831a1f4acebd4338b0e36887",
      "parents": [
        "a50bfd9e47760624b0b4e666ed925dc94b59acdd"
      ],
      "author": {
        "name": "Jeffrey Vo",
        "email": "jeffrey.vo.australia@gmail.com",
        "time": "Thu Aug 06 08:43:22 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 09:43:22 2026 +1000"
      },
      "message": "chore: bump more rand deps to 0.10 (#10556)\n\n- Followup to https://github.com/apache/arrow-rs/pull/10537\n- Part of https://github.com/apache/arrow-rs/pull/10562"
    },
    {
      "commit": "a50bfd9e47760624b0b4e666ed925dc94b59acdd",
      "tree": "18453928a555fedb526e66b22bd34fe54aeea833",
      "parents": [
        "f5aba4f86efa5dfe1856ce14a5e829fa9304448d"
      ],
      "author": {
        "name": "Andrew Lamb",
        "email": "andrew@nerdnetworks.org",
        "time": "Wed Aug 05 11:38:58 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 11:38:58 2026 -0400"
      },
      "message": "chore: promote arrow_writer to a directory (#10544)\n\n# Which issue does this PR close?\n- part of https://github.com/apache/arrow-rs/issues/10540\n\n# Rationale for this change\n\nI want a new home for parquet writer tests that is easier to discover\nand evalute.\n\n# What changes are included in this PR?\n\n1. promote arrow_writer to a directory\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\nNo this is jiust a small code reorganization"
    },
    {
      "commit": "f5aba4f86efa5dfe1856ce14a5e829fa9304448d",
      "tree": "18453928a555fedb526e66b22bd34fe54aeea833",
      "parents": [
        "7e4432e997e5b0be31a5641e078a889d82b6f61b"
      ],
      "author": {
        "name": "Emil Ernerfeldt",
        "email": "emil.ernerfeldt@gmail.com",
        "time": "Wed Aug 05 08:26:12 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Thu Aug 06 01:26:12 2026 +1000"
      },
      "message": "More workspace lints: fill out `[workspace.lints.clippy]` (#10552)\n\n# Which issue does this PR close?\nNo issue in particular\n\n- Follow-up to #10533\n\n# Rationale for this change\n\n#10533 added `[workspace.lints]` with a minimal set of lints.\n\nThis fills out PR `[workspace.lints.clippy]` with more lints that I\u0027ve\nhand-picked over the years.\n\nSome stylistic changes, but also a lot of things that improve\nperformance.\n\nLet me know if you disagree with any of them and I\u0027ll revert them.\n\nMore coming in later PRs :)\n\n# What changes are included in this PR?\n\nBest reviewed commit by commit!\n\n# Are these changes tested?\n\nBy CI\n\n# Are there any user-facing changes?\n\nNo public API changed.\n\n---------\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "7e4432e997e5b0be31a5641e078a889d82b6f61b",
      "tree": "0877037a3ddc228dabcb6541547f691b203b44df",
      "parents": [
        "aa79c673593c89b808851a250f89854ba7ded6e9"
      ],
      "author": {
        "name": "Andrew Lamb",
        "email": "andrew@nerdnetworks.org",
        "time": "Wed Aug 05 10:56:02 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 10:56:02 2026 -0400"
      },
      "message": "Move arrow_writer_layout.rs into arrow_writer/layout.rs (#10542)\n\n# Which issue does this PR close?\n\n- Part of #10540.\n\n# Rationale for this change\n\nConsolidate the scattered parquet end-to-end tests: the `ArrowWriter`\npage layout tests belong with the other `arrow_writer` integration tests\nrather than in a separate test binary.\n\n# What changes are included in this PR?\n\n- Move `parquet/tests/arrow_writer.rs` to\n`parquet/tests/arrow_writer/mod.rs`\n- Move `parquet/tests/arrow_writer_layout.rs` to\n`parquet/tests/arrow_writer/layout.rs` (unchanged, now a submodule)\n- Remove the separate `arrow_writer_layout` test target from\n`Cargo.toml`\n\n# Are these changes tested?\n\nYes, this PR only moves existing tests. All 14 tests pass via `cargo\ntest -p parquet --features arrow --test arrow_writer`.\n\n# Are there any user-facing changes?\n\nNo, test-only change.\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-authored-by: Claude Fable 5 \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "aa79c673593c89b808851a250f89854ba7ded6e9",
      "tree": "db82663a1009a5eb8a1d054d2719bc104a3967ad",
      "parents": [
        "c8aff1ef5ff804b94cbc38d71ff9135f862efb81"
      ],
      "author": {
        "name": "RIchard Baah",
        "email": "137434454+Rich-T-kid@users.noreply.github.com",
        "time": "Wed Aug 05 09:57:11 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 23:57:11 2026 +1000"
      },
      "message": "add low card dictionary benchmarks (#10539)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- works towards #10465\n- related to #2322\n- this is pretty much striped from\nhttps://github.com/apache/arrow-rs/pull/9520\n\n# Rationale for this change\nwe need a way to measure the changes for future work in #10465\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\nthis PR adds 3 benchmarks that cover writting record batches of varying\ncardinality\u0027s.\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\nn/a\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\nno\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\n\nCo-authored-by: rich-T-kid \u003crichardbaah@MacBook-Air-de-Richard.local\u003e\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "c8aff1ef5ff804b94cbc38d71ff9135f862efb81",
      "tree": "569a0d6d262a140e87db273f09a3fd1b511fa43f",
      "parents": [
        "fa1c4ee2c6499f27bab79232e692a86d2beddaf8"
      ],
      "author": {
        "name": "Dhruv Vaishnav",
        "email": "dhruvvaishnav687@gmail.com",
        "time": "Wed Aug 05 19:13:07 2026 +0530"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 23:43:07 2026 +1000"
      },
      "message": "Support Utf8View and BinaryView Ranking (#10559)\n\n# Which issue does this PR close?\n\n- Closes #7859.\n\n# Rationale for this change\n\n`rank` supports the standard UTF-8 and binary array representations, but\nnot their view variants. Adding support makes ranking available for\n`Utf8View` and `BinaryView` arrays as well.\n\n# What changes are included in this PR?\n\n- Add `Utf8View` and `BinaryView` to the rankable data types.\n- Dispatch both view types through a shared `GenericByteViewArray`\nranking path.\n- Add coverage for inline values, out-of-line values, duplicates, and\nnull handling.\n\n# Are these changes tested?\n\nYes. The following checks pass:\n\n- `cargo fmt --all -- --check`\n- `cargo test -p arrow-ord`\n- `cargo clippy -p arrow-ord --all-targets --all-features -- -D\nwarnings`\n- `git diff --check`\n\n# Are there any user-facing changes?\n\n`Utf8View` and `BinaryView` arrays can now be passed to `rank`. There\nare no breaking API changes.\n\n# AI assistance\n\nOpenAI Codex assisted with codebase inspection, implementation, test\ncreation, and validation. The submitter remains responsible for\nreviewing, understanding, and maintaining the contribution.\n\n---------\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "fa1c4ee2c6499f27bab79232e692a86d2beddaf8",
      "tree": "9b5553deb417ae0c250003d75a4d13f5a51ab275",
      "parents": [
        "6dc6432f787468a007c172ca729aad8bf547b819"
      ],
      "author": {
        "name": "RIchard Baah",
        "email": "137434454+Rich-T-kid@users.noreply.github.com",
        "time": "Wed Aug 05 05:48:33 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 19:48:33 2026 +1000"
      },
      "message": "perf: optimize take for RunEndArrays \u0026 introduce `arrow-cmp` crate (#10325)\n\n## The Diff (+2,037 -1,839) makes this PR appear much bigger than it is.\nthis is mostly moving code around \u0026 test. most of the logic is under 100\nLOC\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Closes #7710.\n- revised version of https://github.com/apache/arrow-rs/pull/9865\n\n# Rationale for this change\n\nfor a logical representation of an ree \n```\nlet logical_repr \u003d [1, 1, 0, 0, 1, 1];\nlet ree_take_results \u003d take(logical_repr,[0,1,4,5]);\nthis produces \nrun_ends \u003d [2,4]\nvalues \u003d [1,1]\n```\nwhen the result should be\n`runs: [4], values: [1]`\nboth answers are correct but ree\u0027s should be as compact as possible.\n\n\nsee #7710 \n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\n- `take()` on `RunEndEncoded` arrays now compares values instead of\nphysical indices when deciding run boundaries, producing a more compact\nrun-end representation and fixing cases where identical values across\ndifferent runs were not merged.\n- Introduces `arrow-cmp`, a minimal crate that extracts\n`make_comparator`/`DynComparator` from `arrow-ord` so `arrow-select` can\nuse slot-wise comparison without a circular dependency. Most of the line\ndiff is code moving **(+1,889,-1834)**, not new logic `arrow-ord`\nre-exports from` arrow-cmp` so its public API is unchanged.\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\nyes, I included three test to assert the compaction behavior we expect\nfrom a Run-end array.\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\n1. `take()` on `RunEndEncoded` arrays behaves differently. the output\nmay have fewer runs than before. Previously runs were only merged when\nthey hit the same physical index; now runs with equal values are also\nmerged across different physical indices. Any code asserting on the\nexact run-end structure of take output could break.\n\n2. New `arrow-cmp` crate is published. Users can depend on it directly\nto get `make_comparator` / `DynComparator` without pulling in all of\n`arrow-ord`. `arrow-ord` still re-exports both so its API is unchanged.\n\n---------\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "6dc6432f787468a007c172ca729aad8bf547b819",
      "tree": "361d49ae21940287ba7fdb56308a2115673494b1",
      "parents": [
        "291efc247b9639c0bf87d2621f679b6cce4942bf"
      ],
      "author": {
        "name": "Emil Ernerfeldt",
        "email": "emil.ernerfeldt@gmail.com",
        "time": "Wed Aug 05 00:14:13 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 17:14:13 2026 +1000"
      },
      "message": "More workspace lints: finish `[workspace.lints.rust]` (#10551)\n\n# Which issue does this PR close?\nNo issue in particular\n\n- Follow-up to #10533\n\n# Rationale for this change\n\n#10533 added `[workspace.lints]` with a minimal set of lints.\n\nThis fills out `[workspace.lints.rust]` with more lints.\n\n# What changes are included in this PR?\n\nBest reviewed commit by commit!\n\n# Are these changes tested?\n\nBy CI\n\n# Are there any user-facing changes?\n\nNo public API changed."
    },
    {
      "commit": "291efc247b9639c0bf87d2621f679b6cce4942bf",
      "tree": "0f1e3cd0fa75722f1356570c4971d162347195db",
      "parents": [
        "d282f807637acf262b04463b60cd3ea3b80fbf80"
      ],
      "author": {
        "name": "Peter Lee",
        "email": "peterxcli@gmail.com",
        "time": "Wed Aug 05 09:18:44 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 11:18:44 2026 +1000"
      },
      "message": "Add interval mul/div support for Float64 (#10409)\n\n# Which issue does this PR close?\n\n- Closes https://github.com/apache/arrow-rs/issues/6335.\n- Closes https://github.com/apache/arrow-rs/issues/9030.\n\n# Rationale for this change\n\n#10336 added interval multiplication by `Int64`. Floating-point\nmultiplication and division require preserving calendar components\nrather than flattening the entire interval into a duration.\n\nThis PR adapts DuckDB\u0027s `INTERVAL * DOUBLE` behavior. Whole months and\ndays remain calendar components, while fractional months cascade to days\nusing 30 days per month and fractional days cascade to nanoseconds using\n24 hours per day.\n\nDuckDB explicitly attributes its implementation to PostgreSQL\u0027s\n`interval_mul`:\n\n- [DuckDB\nimplementation](https://github.com/duckdb/duckdb/blob/21aca0424f1faf78b593b1e6fbfdd4846624c987/src/function/scalar/operator/multiply.cpp#L48-L123)\n- [PostgreSQL\nimplementation](https://github.com/postgres/postgres/blob/78758d37306cd89ab060f00cb06f249018d5b8da/src/backend/utils/adt/timestamp.c#L3627-L3744)\n\n\n# What changes are included in this PR?\n\nAdd checked arithmetic for:\n\n- `Interval(MonthDayNano) * Float64` (communicative)\n- `Interval(MonthDayNano) / Float64`\n- Other interval type or the factor type are expected to be coerced by\nthe caller.\n\nAll results use `Interval(MonthDayNano)`.\n\n# Are these changes tested?\n\n- reuses the checked integer path for integral `Float64` factors,\npreserving exact nanoseconds\n- implements division by multiplying by the reciprocal, following\n[DuckDB](https://github.com/duckdb/duckdb/blob/21aca0424f1faf78b593b1e6fbfdd4846624c987/src/function/scalar/operator/arithmetic.cpp#L1102-L1110)\n- uses ties-to-even rounding at nanosecond precision\n- checks division by zero and component overflow\n- preserves array, scalar, and null behavior\n\n`Interval / Int64`, `Float64 / Interval`, wrapping multiplication, and\nadditional numeric factor types are not added.\n\n# Are these changes tested?\n\nYes. Tests cover all three interval units, both multiplication operand\norders, division, array and scalar operands, null propagation, component\ncascading, integral-factor precision, negative values, ties-to-even\nrounding, non-finite values, division by zero, and overflow.\n\n```shell\ncargo fmt --all -- --check\ncargo test -p arrow-arith\ncargo clippy -p arrow-arith --all-targets --all-features -- -D warnings\n```\n\n# Are there any user-facing changes?\n\nYes. The checked `mul` and `div` kernels now accept the combinations\nlisted above. Floating-point interval arithmetic always returns\n`Interval(MonthDayNano)`.\nThere are no public API signature changes.\n\n---------\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "d282f807637acf262b04463b60cd3ea3b80fbf80",
      "tree": "e9d87ed5c2199149f59a24db87aee9261e62d4b8",
      "parents": [
        "b5471c192c4a2c1f274f278b6882e5eebefdca9a"
      ],
      "author": {
        "name": "RIchard Baah",
        "email": "137434454+Rich-T-kid@users.noreply.github.com",
        "time": "Tue Aug 04 19:59:22 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Wed Aug 05 09:59:22 2026 +1000"
      },
      "message": "feat/chore: introduce fallible alternatives for MutableBuffer (#10317)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- works towards #9843.\n- a follow PR will be made to wire up the fallible API into other\nportions of the code base.\n\n\n# Rationale for this change\nsee #9843.    \n`MutableBuffer` is a low-level building block used throughout the Arrow\nimplementation. Every growth operation, `reserve`, `resize`, `push`,\n`extend_from_slice`, etc, can panic on arithmetic overflow or an invalid\nallocation layout. In library code that needs to surface errors\ngracefully. This PR adds methods to return errors instead of panicking.\n\n\nI made new methods instead of adding conditional checks/wrappers for\neach method because its easier to slowly roll these changes out to call\nsites instead of swapping.\n  \n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\n```\n\n┌──────────────────────────┬──────────────────────┐\n│         Fallible         │      Infallible      │\n├──────────────────────────┼──────────────────────┤\n│ try_reserve              │ reserve              │\n├──────────────────────────┼──────────────────────┤\n│ try_repeat_slice_n_times │ repeat_slice_n_times │\n├──────────────────────────┼──────────────────────┤\n│ try_reallocate (private) │ reallocate           │\n├──────────────────────────┼──────────────────────┤\n│ try_resize               │ resize               │\n├──────────────────────────┼──────────────────────┤\n│ try_shrink_to_fit        │ shrink_to_fit        │\n├──────────────────────────┼──────────────────────┤\n│ try_extend_from_slice    │ extend_from_slice    │\n├──────────────────────────┼──────────────────────┤\n│ try_push                 │ push                 │\n├──────────────────────────┼──────────────────────┤\n│ try_extend_zeros         │ extend_zeros         │\n└──────────────────────────┴──────────────────────┘\n```\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\nCurrently these methods aren\u0027t wired up to anything in the code base so\nI didn\u0027t include any test. Id be happy to include some. The\nimplementations of the fallible API\u0027s are 1-1 to their non-fallible\ncounter parts so i\u0027m not sure if this would be needed.\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\nyes, users can now work with errors instead of having their programs\npanic.\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\n\n---------\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "b5471c192c4a2c1f274f278b6882e5eebefdca9a",
      "tree": "c9eb29ad0514eab6418d1cab4ae2385026eec229",
      "parents": [
        "3566d07ee451686d1d0f2ae2c46f7f0e7b4d6aaf"
      ],
      "author": {
        "name": "Ed Seidl",
        "email": "etseidl@users.noreply.github.com",
        "time": "Tue Aug 04 13:33:17 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 13:33:17 2026 -0700"
      },
      "message": "Implement Parquet GH-583 INT96 timestamp `ColumnOrder` (#10106)\n\n# Which issue does this PR close?\n\n- Closes #10105.\n- Depends on #10104 (which depends on #9619)\n\n# Rationale for this change\nSpark continues to use INT96 timestamps, despite INT96 being marked as\ndeprecated in 2018. Query engines want valid statistics to allow\nreliably pruning on INT96 columns.\nhttps://github.com/apache/parquet-format/pull/584 adds a new\n`ColumnOrder` variant which can be used to signal compliance with the\nonly known use of INT96 (4-byte julian day from epoch, 8-byte\nnanosecond).\n\n# What changes are included in this PR?\nAdds support for the new enum variant, and writes the appropriate value\nin the `FileMetaData.column_orders` field.\n\nThis builds on changes introduced in #7687.\n\n# Are these changes tested?\nYes\n\n# Are there any user-facing changes?\nYes, this adds a new variant to public enums\n(`ColumnOrder::INT96_TIMESTAMP_ORDER`, `SortOrder::INT96_TIMESTAMP`).\n\n---------\n\nCo-authored-by: Andrew Lamb \u003candrew@nerdnetworks.org\u003e"
    },
    {
      "commit": "3566d07ee451686d1d0f2ae2c46f7f0e7b4d6aaf",
      "tree": "82a9bc15a994baa7947f6fe3f7c53d0558ecf30c",
      "parents": [
        "2e81b05de712b6d2f7bc877a037bb2dcb7b3d3c5"
      ],
      "author": {
        "name": "Adrian Garcia Badaracco",
        "email": "1755071+adriangb@users.noreply.github.com",
        "time": "Tue Aug 04 15:29:02 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 13:29:02 2026 -0700"
      },
      "message": "perf(parquet): scan DELTA_BYTE_ARRAY shared prefixes a block at a time (#10549)\n\n\u003e **Stacked on https://github.com/apache/arrow-rs/pull/10550.** This\nbranch is\n\u003e that PR\u0027s benchmark commit plus one commit of its own, so that the\nnumbers\n\u003e below are reproducible with `cargo bench` on this branch alone. Review\nonly\n\u003e the second commit here; the diff shrinks to\n\u003e `+139/-15` once #10550 merges and this rebases onto `main`.\n\n# Which issue does this PR close?\n\nNone directly. Split out of\nhttps://github.com/apache/arrow-rs/pull/10505 so that the correctness\nfix there can be reviewed without an unrelated performance change\nattached to it.\n\n# Rationale for this change\n\n`DELTA_BYTE_ARRAY` stores each value as the number of leading bytes it\nshares with its predecessor plus the remaining suffix, so writing a\nvalue runs a shared-prefix scan against the previous value. Both encoder\npaths implement that scan as a byte-at-a-time loop:\n\n- `DeltaByteArrayEncoder::put` in\n`parquet/src/encodings/encoding/mod.rs` (the generic\n`SerializedFileWriter` path)\n- `FallbackEncoder::encode`\u0027s `Delta` arm in\n`parquet/src/arrow/arrow_writer/byte_array.rs` (the `ArrowWriter` path)\n\nThe scan runs once per value, and on exactly the data the encoding\nexists for — near-identical consecutive values — it covers essentially\nthe whole value. That makes its throughput, not its per-call overhead,\nthe thing that matters, and a byte-at-a-time loop is the slowest way to\ndo it.\n\n# What changes are included in this PR?\n\nExtract the two duplicated loops into\n`crate::util::prefix::common_prefix_length` and compare a 32-byte block\nat a time instead of a byte at a time.\n\n32 is the widest block that both aarch64 and x86-64 still expand inline;\nat 64 bytes x86-64 drops to an out-of-line `bcmp` call, which costs more\nthan the extra width buys. Measured on aarch64, every width from 16 up\nperforms the same, so this sits in the middle of a flat optimum rather\nthan on a tuned peak.\n\nNo behavior change: the function returns the same prefix length the\nbyte-wise loops did, and no page layout, encoding, or file output\nchanges.\n\n# Are these changes tested?\n\nExisting coverage: the full `parquet` suite passes unmodified (1307\ntests), including the `DELTA_BYTE_ARRAY` round-trip tests.\n\nThose round trips are weaker evidence than they look, in two ways.\nFirst, they never reach the new code path: `ByteArrayType::test` and\n`FixedLenByteArrayType::test` feed random values, which share no prefix,\nand the `ArrowWriter` cases write values a handful of bytes long — so\nnothing in the suite writes two consecutive values sharing 32 bytes, and\nthe block loop never runs. Second, a round trip is structurally blind to\nan under-counted prefix: the encoder just emits a correspondingly longer\nsuffix and the decoder reconstructs the same bytes either way. Only\nover-counting shows up. `test_estimated_data_encoded_size` does assert\nan exact encoded size, but on 2- and 3-byte values that can never enter\nthe block loop.\n\nNew coverage, unit level, in `parquet/src/util/prefix.rs`: the boundary\ncases the block loop introduces — empty inputs, prefixes shorter than /\nequal to / longer than one block, a mismatch in the first and last byte\nof a block, and unequal lengths where one input is a strict prefix of\nthe other. Plus unequal lengths combined with a mismatch past a block\nboundary (where truncating to the shorter length interacts with the\nblock loop), non-zero slice start offsets (callers pass sub-slices into\nshared Arrow buffers, not freshly allocated `Vec`s), and a prefix ending\nmid-UTF-8-codepoint — byte-level prefixes may split a multi-byte\ncharacter, which was true of the byte-wise scan too and is worth pinning\nnow that the scan is wider.\n\nNew coverage, end to end, for both call sites:\n`test_delta_byte_array_long_shared_prefix{,_fixed_len}` in\n`parquet/src/encodings/encoding/mod.rs` and\n`delta_byte_array_long_shared_prefix` in\n`parquet/src/arrow/arrow_writer/mod.rs`. Each writes values with a\n1000-byte shared prefix — not a multiple of the 32-byte block, so the\nscan has to resolve a partial block — and asserts on the prefix lengths\nactually written, decoded back out of the page, rather than on a round\ntrip alone.\n\nThose assertions were checked for power by mutation: dropping the\nsub-block tail scan from `common_prefix_length` (so it under-counts by\nup to 31 bytes) leaves all 156 `arrow::arrow_writer` tests passing on\n`main`, and fails all three new tests.\n\nBenchmarked with `parquet/benches/arrow_writer.rs`\u0027s\n`bench_delta_byte_array_writers`, added in #10512. Results in a comment\nbelow.\n\n# Are there any user-facing changes?\n\nNo API changes and no change to written output. `DELTA_BYTE_ARRAY`\nwrites get faster.\n\n---------\n\nCo-authored-by: Claude Opus 5 \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Ed Seidl \u003cetseidl@users.noreply.github.com\u003e"
    },
    {
      "commit": "2e81b05de712b6d2f7bc877a037bb2dcb7b3d3c5",
      "tree": "1c45d4ddf501760c7c293bdb08c2164b25cc69ae",
      "parents": [
        "f28db3e5b4da944a1a21a69c3451ee2895e356e5"
      ],
      "author": {
        "name": "Adrian Garcia Badaracco",
        "email": "1755071+adriangb@users.noreply.github.com",
        "time": "Tue Aug 04 15:13:52 2026 -0500"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 13:13:52 2026 -0700"
      },
      "message": "bench(parquet): cover DELTA_BYTE_ARRAY at sub-page-limit value sizes (#10550)\n\n# Which issue does this PR close?\n\nNone. This is benchmark coverage split out of\nhttps://github.com/apache/arrow-rs/pull/10549 so that the performance\nchange proposed there can be reviewed against benchmarks that already\nexist on `main`.\n\n# Rationale for this change\n\nThe existing `DELTA_BYTE_ARRAY` writer benchmarks (added in\nhttps://github.com/apache/arrow-rs/pull/10512) write 128 values of 2 MiB\neach against the default 1 MiB `data_page_size_limit`. Every value\nexceeds the limit, so each one is cut onto its own data page, and each\npage boundary clears the encoder\u0027s previous-value state. Every prefix\nlength is therefore 0.\n\nMeasured on `main`, writing that benchmark\u0027s own\n`large_string_shared_prefix` data (256 MiB raw input):\n\n| encoding | data_page_size_limit | output |\n| --- | --- | --- |\n| PLAIN | default (1 MiB) | 256.02 MiB |\n| DELTA_BYTE_ARRAY | default (1 MiB) | 256.02 MiB |\n| DELTA_BYTE_ARRAY | 4 MiB | 2.00 MiB |\n\nAt the default limit the `DELTA_BYTE_ARRAY` output is byte-for-byte what\n`PLAIN` produces — the encoding is doing no work, so those benchmarks\ncannot measure anything about prefix scanning. That is the known\nregression https://github.com/apache/arrow-rs/issues/10489.\n\nThe new benchmarks use 1 KiB values, far below the page limit, so\nroughly 1000 values share a page and the previous-value state survives\nacross them. That is the regime `DELTA_BYTE_ARRAY` is actually deployed\nin.\n\n# What changes are included in this PR?\n\nThree new criterion benchmark groups in\n`bench_small_delta_byte_array_writers`, each writing 8192 rows of 1 KiB\nstrings with both `PLAIN` (as a control/baseline) and\n`DELTA_BYTE_ARRAY`:\n\n- `small_string_shared_prefix` — values differ only in a trailing 8-byte\ncounter, so each prefix scan covers nearly the whole value.\n- `small_string_partial_prefix` — values share their first 512 bytes and\nthen diverge, the realistic sorted-column case (paths, URLs, keys). Uses\na new `create_string_partial_prefix_bench_batch` helper.\n- `small_string_distinct` — values differ from byte 0, so prefix\ndeduplication saves nothing.\n\nNo library code is touched.\n\n# Are these changes tested?\n\nThese are benchmarks. The benchmark binary compiles, and `cargo fmt` and\n`cargo clippy -p parquet --benches --all-features -- -D warnings` pass.\n\nThe benchmarks were also run, to confirm they resolve real differences\nrather than noise. They were validated by measuring an actual candidate\nchange against them — the block-wise shared-prefix scan in\nhttps://github.com/apache/arrow-rs/pull/10549 — on an A/B/A schedule\n(baseline, branch, baseline again) so that machine drift is quantified\nrather than assumed. The `plain` rows act as controls, since `PLAIN`\nnever calls the prefix scan. Times are means in ms, aarch64:\n\n| bench | base (pre) | candidate change | base (post) |\n| --- | --- | --- | --- |\n| small_string_shared_prefix/plain (control) | 0.683 | 0.694 | 0.699 |\n| small_string_shared_prefix/delta_byte_array | 2.832 | 0.682 | 2.870 |\n| small_string_partial_prefix/plain (control) | 0.603 | 0.853 | 0.639 |\n| small_string_partial_prefix/delta_byte_array | 1.876 | 0.703 | 1.925 |\n| small_string_distinct/plain (control) | 0.454 | 0.471 | 0.474 |\n| small_string_distinct/delta_byte_array | 0.680 | 0.710 | 0.699 |\n\nThe shared-prefix case resolves a 4.2x difference and the partial-prefix\ncase a 2.7x difference, both far above the largest control excursion.\nThe distinct case is flat, which is the correct outcome — there is no\nprefix to scan there. One caveat: the\n`small_string_partial_prefix/plain` control had a single noisy reading\n(0.853 against baselines of 0.603 and 0.639), so that row\u0027s noise floor\nis wider than the others; the delta effect on that bench is still\nseveral times larger than that excursion.\n\nThe baseline columns also show that on `main` the shared-prefix case\ncosts 2.83 ms with `DELTA_BYTE_ARRAY` versus 0.68 ms with `PLAIN` — the\nencoding is currently about 4x more expensive than `PLAIN` on exactly\nthe data it exists for.\n\n# Are there any user-facing changes?\n\nNo. Benchmark-only change; no library code is touched."
    },
    {
      "commit": "f28db3e5b4da944a1a21a69c3451ee2895e356e5",
      "tree": "8ab25409cb9a0d0bde6f92f9b61a0172f5664bff",
      "parents": [
        "b9707e5ba91b880bfb714ed3206ddc6efcff39d9"
      ],
      "author": {
        "name": "Emil Ernerfeldt",
        "email": "emil.ernerfeldt@gmail.com",
        "time": "Tue Aug 04 11:10:10 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 14:10:10 2026 -0400"
      },
      "message": "Introduce workspace lints (#10533)\n\n# Which issue does this PR close?\nNo issue in particular\n\n- Related to #10458\n- Sibling PR: https://github.com/apache/datafusion/pull/24076\n\n# Rationale for this change\n\nLint configuration is currently repeated per crate in `lib.rs`. A\n`[workspace.lints]` table lets us configure lints once, for every crate,\nand makes rolling out new lints a one-line change.\n\nEnabling more lints can also help keeping a higher code quality,\nreducing bugs.\n\n# What changes are included in this PR?\n\nModeled on [egui\u0027s\n`Cargo.toml`](https://github.com/emilk/egui/blob/main/Cargo.toml). I\nstarted small. We can enable more lints in later PRs.\n\n# Are these changes tested?\n\nYes, by existing CI: `cargo clippy --workspace --all-targets\n--all-features -- -D warnings` and the docs job\n(`RUSTDOCFLAGS\u003d-Dwarnings`) both pass. Two previously-dead doc examples\nnow actually compile and run.\n\n# Are there any user-facing changes?\n\n`parquet_variant_compute::VariantArrayIter` is now exported. It was\nalready returned by the public `VariantArray::iter`, but was not\nnameable. No other API changes.\n\n---------\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e\nCo-authored-by: Andrew Lamb \u003candrew@nerdnetworks.org\u003e"
    },
    {
      "commit": "b9707e5ba91b880bfb714ed3206ddc6efcff39d9",
      "tree": "673e96ad5cc493c1cea6263a870151069a4d1545",
      "parents": [
        "c9c3c8467f6f68f910327b33d358f6bfe589d437"
      ],
      "author": {
        "name": "Oleks V",
        "email": "comphead@users.noreply.github.com",
        "time": "Tue Aug 04 11:05:32 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 11:05:32 2026 -0700"
      },
      "message": "chore: bump `object_store` to `0.14.1` (#10375)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Closes #10211\n\nThe PR is meant to continue efforts started in\nhttps://github.com/apache/arrow-rs/pull/10156\n\n# Rationale for this change\n\n\u003c!--\nWhy are you proposing this change? If this is already explained clearly\nin the issue then this section is not needed.\nExplaining clearly why changes are proposed helps reviewers understand\nyour changes and offer better suggestions for fixes.\n--\u003e\n\n# What changes are included in this PR?\n\n\u003c!--\nThere is no need to duplicate the description in the issue here but it\nis sometimes worth providing a summary of the individual changes in this\nPR.\n--\u003e\n\n# Are these changes tested?\n\n\u003c!--\nWe typically require tests for all PRs in order to:\n1. Prevent the code from being accidentally broken by subsequent changes\n2. Serve as another way to document the expected behavior of the code\n\nIf tests are not included in your PR, please explain why (for example,\nare they covered by existing tests)?\n\nIf this PR claims a performance improvement, please include evidence\nsuch as benchmark results.\n--\u003e\n\n# Are there any user-facing changes?\n\n\u003c!--\nIf there are user-facing changes then we may require documentation to be\nupdated before approving the PR.\n\nIf there are any breaking changes to public APIs, please call them out.\n--\u003e\n\n---------\n\nCo-authored-by: Jefffrey \u003cjeffrey.vo.australia@gmail.com\u003e\nCo-authored-by: Andrew Lamb \u003candrew@nerdnetworks.org\u003e"
    },
    {
      "commit": "c9c3c8467f6f68f910327b33d358f6bfe589d437",
      "tree": "2ae8a402d18cbc8c459723e01acc17c5c820631d",
      "parents": [
        "7f1080f8559c8ab48f86ef5d67d8cc4b11643920"
      ],
      "author": {
        "name": "Ed Seidl",
        "email": "etseidl@users.noreply.github.com",
        "time": "Tue Aug 04 10:55:29 2026 -0700"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 10:55:29 2026 -0700"
      },
      "message": "Deprecate `parquet::basic::ColumnOrder::sort_order_for_type` (#10104)\n\n# Which issue does this PR close?\n\n\u003c!--\nWe generally require a GitHub issue to be filed for all bug fixes and\nenhancements and this helps us generate change logs for our releases.\nYou can link an issue to this PR using the GitHub syntax.\n--\u003e\n\n- Closes #10103.\n- Depends on #9619\n\n# Rationale for this change\nWith the addition of new `ColumnOrder` variants, the public function\n`sort_order_for_type` has become unwieldy.\n\n# What changes are included in this PR?\nAdd a deprecation notice to `sort_order_for_type`, and add a new\n`pub(crate)` function `get_sort_order_for_type` to replace it. The\npreferred path to obtain a `SortOrder` is now via\n`ColumnOrder::sort_order`.\n\n# Are these changes tested?\nCovered by existing tests\n\n# Are there any user-facing changes?\nYes, this deprecates the public `sort_order_for_type`.\n\n---------\n\nCo-authored-by: Andrew Lamb \u003candrew@nerdnetworks.org\u003e"
    },
    {
      "commit": "7f1080f8559c8ab48f86ef5d67d8cc4b11643920",
      "tree": "974730fe614764bbc1d913d088159ea85f51b470",
      "parents": [
        "59234c226f33e5fbe7af109e62feb6e42aece1cd"
      ],
      "author": {
        "name": "Jeffrey Vo",
        "email": "jeffrey.vo.australia@gmail.com",
        "time": "Wed Aug 05 02:28:07 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 13:28:07 2026 -0400"
      },
      "message": "chore: fix readmes (#10472)"
    },
    {
      "commit": "59234c226f33e5fbe7af109e62feb6e42aece1cd",
      "tree": "421c39a2268620b6e491a2c91db68efec556486b",
      "parents": [
        "9f9db79d3106ed06089fe1eebbbaf35659cbe713"
      ],
      "author": {
        "name": "Andrew Lamb",
        "email": "andrew@nerdnetworks.org",
        "time": "Tue Aug 04 12:55:59 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 12:55:59 2026 -0400"
      },
      "message": "docs(arrow-select): document FilterSelection / FilterPredicate::selection (docs for #9755) (#10056)\n\n# Which issue does this PR close?\n\nDocumentation follow-up for #9755 (`arrow-select: fuse inline\nUtf8View/BinaryView filter coalescing`), which has now merged.\n\n# Rationale for this change\n\nThe `pub(crate)` filtering APIs added alongside the fused inline-view\npathhad little explanation of *why* they exist or how to use them. This\nadds that rationale.\n\n# What changes are included in this PR?\n\nComments only\n\n# Are there any user-facing changes?\n\nNo (the documented items are `pub(crate)`).\n\nCo-authored-by: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e"
    },
    {
      "commit": "9f9db79d3106ed06089fe1eebbbaf35659cbe713",
      "tree": "75abaf32d7bbd08a125eec032612aa3d7ffa0db5",
      "parents": [
        "fe325ba3db88b6bc3534abf729cda01c8d63f621"
      ],
      "author": {
        "name": "Jeffrey Vo",
        "email": "jeffrey.vo.australia@gmail.com",
        "time": "Wed Aug 05 01:48:29 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 12:48:29 2026 -0400"
      },
      "message": "chore: set permissions in github action workflows (#10536)\n\nresolving these issues flagged by codeql\n\n\u003cimg width\u003d\"915\" height\u003d\"587\" alt\u003d\"image\"\nsrc\u003d\"https://github.com/user-attachments/assets/45095053-fb35-4b5e-8805-16d975545a1e\"\n/\u003e"
    },
    {
      "commit": "fe325ba3db88b6bc3534abf729cda01c8d63f621",
      "tree": "63cfc03c5dd178dbcc3d347fe83d1a55ce1f2f1a",
      "parents": [
        "34245d875c4e11b08052c568c35c57c9ca723b4c"
      ],
      "author": {
        "name": "Jeffrey Vo",
        "email": "jeffrey.vo.australia@gmail.com",
        "time": "Wed Aug 05 01:47:48 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 12:47:48 2026 -0400"
      },
      "message": "chore: update some dev deps rand to 0.10 (#10537)\n\n- Splitting out some of https://github.com/apache/arrow-rs/pull/10192\n\nUpdating some rand dependencies to 0.10 in our dev dependencies. Split\nout from above PR to make reviews easier. This contains mostly trivial\nchanges that have no effect on our public API."
    },
    {
      "commit": "34245d875c4e11b08052c568c35c57c9ca723b4c",
      "tree": "856396ffbd724586dcb576202db2767ac49d8ea1",
      "parents": [
        "3a27874d0c97fea642c9bacbbb430cea9dc5e29f"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Aug 04 15:31:44 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 15:31:44 2026 +1000"
      },
      "message": "chore(deps): bump atoi from 2.0.0 to 3.1.0 (#10219)\n\nBumps [atoi](https://github.com/pacman82/atoi-rs) from 2.0.0 to 3.1.0.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/pacman82/atoi-rs/releases\"\u003eatoi\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev3.1.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for isize and usize on 32 and 64 bit platforms\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev3.0.0\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] Minimal supported rust compiler now\n1.86.0\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] Remove ascii_to_digit\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] Remove trait MaxNumDigits\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] Remove enumeration \u003ccode\u003eSign\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eIt is now an implementation detail of integer\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚜 Refactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] \u003ccode\u003eFromRadix10\u003c/code\u003e and its sibling\ntraits used to be implement for any type with a neutral element of\naddition \u003ccode\u003eZero\u003c/code\u003e, its successor \u003ccode\u003eOne\u003c/code\u003e,\n\u003ccode\u003eAddAssign\u003c/code\u003e and \u003ccode\u003eMulAssign\u003c/code\u003e. This allowed it to\nwork not only for builtin types like \u003ccode\u003ei32\u003c/code\u003e, but also for big\ninteger implementations from other crates. However, it made it also hard\nto optimize for builtin types. \u003ccode\u003eFromRadix10\u003c/code\u003e and its sibling\ntraits \u003ccode\u003eFromRadix10Signed\u003c/code\u003e,\n\u003ccode\u003eFromRadixSignedChecked\u003c/code\u003e, \u003ccode\u003eFromRadix16\u003c/code\u003e are now\nexplicitly implemented for builtin types. The generic implementation can\nstill be used by wrapping the type in the new \u003ccode\u003eInteger\u003c/code\u003e\nwrapper.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e⚡ Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eInline from_radix_* functions for builtin types\u003c/p\u003e\n\u003cp\u003eSince these are no longer generic, we do not get the inlining for\nfree.\nBenchmarks show significant regressions otherwise\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSpeed up hexdigit parsing by using masks to unify ascii cases\u003c/p\u003e\n\u003cp\u003eThanks to okaneco for the idea\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e⚙️ Miscellaneous Tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] Minimal toolchain is now 1.86.0\u003c/li\u003e\n\u003cli\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] Remove \u003ccode\u003eSign\u003c/code\u003e from public\ninterface\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/pacman82/atoi-rs/blob/main/CHANGELOG.md\"\u003eatoi\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca\nhref\u003d\"https://github.com/pacman82/odbc-api/compare/3.0.0...3.1.0\"\u003e3.1.0\u003c/a\u003e\n- 2026-06-25\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for isize and usize on 32 and 64 bit platforms\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca\nhref\u003d\"https://github.com/pacman82/odbc-api/compare/2.0.0...3.0.0\"\u003e3.0.0\u003c/a\u003e\n- 2026-06-04\u003c/h2\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] Minimal supported rust compiler now\n1.86.0\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] Remove ascii_to_digit\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] Remove trait MaxNumDigits\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] Remove enumeration \u003ccode\u003eSign\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003eIt is now an implementation detail of integer\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🚜 Refactor\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] \u003ccode\u003eFromRadix10\u003c/code\u003e and its sibling\ntraits used to be implement for any type with a neutral element of\naddition \u003ccode\u003eZero\u003c/code\u003e, its successor \u003ccode\u003eOne\u003c/code\u003e,\n\u003ccode\u003eAddAssign\u003c/code\u003e and \u003ccode\u003eMulAssign\u003c/code\u003e. This allowed it to\nwork not only for builtin types like \u003ccode\u003ei32\u003c/code\u003e, but also for big\ninteger implementations from other crates. However, it made it also hard\nto optimize for builtin types. \u003ccode\u003eFromRadix10\u003c/code\u003e and its sibling\ntraits \u003ccode\u003eFromRadix10Signed\u003c/code\u003e,\n\u003ccode\u003eFromRadixSignedChecked\u003c/code\u003e, \u003ccode\u003eFromRadix16\u003c/code\u003e are now\nexplicitly implemented for builtin types. The generic implementation can\nstill be used by wrapping the type in the new \u003ccode\u003eInteger\u003c/code\u003e\nwrapper.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e⚡ Performance\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eInline from_radix_* functions for builtin types\u003c/p\u003e\n\u003cp\u003eSince these are no longer generic, we do not get the inlining for\nfree.\nBenchmarks show significant regressions otherwise\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eSpeed up hexdigit parsing by using masks to unify ascii cases\u003c/p\u003e\n\u003cp\u003eThanks to okaneco for the idea\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e⚙️ Miscellaneous Tasks\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] Minimal toolchain is now 1.86.0\u003c/li\u003e\n\u003cli\u003e[\u003cstrong\u003ebreaking\u003c/strong\u003e] Remove \u003ccode\u003eSign\u003c/code\u003e from public\ninterface\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pacman82/atoi-rs/commit/27792a4e53a9cef937e8e9956a992c16a4b31cc6\"\u003e\u003ccode\u003e27792a4\u003c/code\u003e\u003c/a\u003e\nchore: release v3.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pacman82/atoi-rs/commit/cf559b9257da6538ad6931d01ad4fdb6862afd86\"\u003e\u003ccode\u003ecf559b9\u003c/code\u003e\u003c/a\u003e\nfeat: Add support for isize and usize on 32 and 64 bit platforms\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pacman82/atoi-rs/commit/e08af7320b036fc904bf0b757f56c8c16b75d729\"\u003e\u003ccode\u003ee08af73\u003c/code\u003e\u003c/a\u003e\nbuild(deps): bump actions/checkout from 6.0.3 to 7.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pacman82/atoi-rs/commit/221fe0d2b08ef82f68b47f65c9088ea093403094\"\u003e\u003ccode\u003e221fe0d\u003c/code\u003e\u003c/a\u003e\nbuild(deps): bump MarcoIeni/release-plz-action from 0.5.129 to\n0.5.130\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pacman82/atoi-rs/commit/f21361447fdde2073aa785dd7d8b116aa847bd59\"\u003e\u003ccode\u003ef213614\u003c/code\u003e\u003c/a\u003e\nchore: Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pacman82/atoi-rs/commit/de5b1b3b579d791f9f956f6e9d9be06281051115\"\u003e\u003ccode\u003ede5b1b3\u003c/code\u003e\u003c/a\u003e\nchore: release v3.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pacman82/atoi-rs/commit/01f146b1c3729f2459a2a08e4c724d59aaef4187\"\u003e\u003ccode\u003e01f146b\u003c/code\u003e\u003c/a\u003e\nchore: Fix do not use private symbols in doctests\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pacman82/atoi-rs/commit/82ea316df6deb7deff3f098535bbce19c60cac57\"\u003e\u003ccode\u003e82ea316\u003c/code\u003e\u003c/a\u003e\nfeat!: Remove ascii_to_digit\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pacman82/atoi-rs/commit/b2b8399de0c643334b92a3dd3cd3d19693e995c2\"\u003e\u003ccode\u003eb2b8399\u003c/code\u003e\u003c/a\u003e\nchore!: Minimal toolchain is now 1.86.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pacman82/atoi-rs/commit/de03c7b82633e095d7339c35470ecdf43670d5c3\"\u003e\u003ccode\u003ede03c7b\u003c/code\u003e\u003c/a\u003e\ntest: Extra benchmark with more digits\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/pacman82/atoi-rs/compare/v2.0.0...v3.1.0\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n\u003e **Note**\n\u003e Automatic rebases have been disabled on this pull request as it has\nbeen open for over 30 days.\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "3a27874d0c97fea642c9bacbbb430cea9dc5e29f",
      "tree": "b15f2065bb64cc2c02e177e9316f9c10886cde5b",
      "parents": [
        "8024dbb6c522ded41d180e257cf540a136b58166"
      ],
      "author": {
        "name": "Jeffrey Vo",
        "email": "jeffrey.vo.australia@gmail.com",
        "time": "Tue Aug 04 11:24:07 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 12:24:07 2026 +1000"
      },
      "message": "Remove old deprecated items (`ffi::export_array_into_raw` and IPC `StreamReader::try_new_unbuffered`) (#10479)\n\nIts been long enough we can probably remove them.\n\nAs mentioned in their deprecation notices:\n\n- For `export_array_into_raw()` use `FFI_ArrowArray::new()` and\n`FFI_ArrowSchema::try_from()`\n- For `StreamReader::try_new_unbuffered()` use `StreamReader::try_new()`"
    },
    {
      "commit": "8024dbb6c522ded41d180e257cf540a136b58166",
      "tree": "2042b4337ec60da9697cb3a3eb703576b84c8803",
      "parents": [
        "3c938dd8d5d5ce6aa8f3e87c940654382ee1bd5e"
      ],
      "author": {
        "name": "Andrew Lamb",
        "email": "andrew@nerdnetworks.org",
        "time": "Mon Aug 03 22:21:42 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 12:21:42 2026 +1000"
      },
      "message": "formalize the default map field names to match default arrow spec (#10517)\n\nThis reverts commit ed92960c8a85eda657fce3525c905616ccc5a983.\n\n# Which issue does this PR close?\n\n- related to https://github.com/apache/arrow-rs/pull/10506\n- related to https://github.com/apache/arrow-rs/pull/10297\n\n# Rationale for this change\n\nAs part of the 59.2.0 release, I found that the changes in\nhttps://github.com/apache/arrow-rs/pull/10297 from @rluvaton required\ndownstream modifications and thus were not appropriate for a point\nrelease.\n\nThus I reverted the changes in\nhttps://github.com/apache/arrow-rs/pull/10506 until the next breaking\nrelease (60.0.0)\n\n# What changes are included in this PR?\n\n- Reapplies the changes from\nhttps://github.com/apache/arrow-rs/pull/10297\n- (by reverting the revert from\nhttps://github.com/apache/arrow-rs/pull/10506 🤯 )\n\n# Are these changes tested?\nYes\n\n# Are there any user-facing changes?\n\nYes, the names of fields in MapArrays are now consistent (\"key\" and\n\"value\" always, rather than sometimes \"keys\" and \"values\")\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "3c938dd8d5d5ce6aa8f3e87c940654382ee1bd5e",
      "tree": "b9759f0ee604b6b899c7d900b9aa3acc36d5824d",
      "parents": [
        "6d94cdbc10cdf33d0197a023f2940d8d4b8e81c9"
      ],
      "author": {
        "name": "Jeffrey Vo",
        "email": "jeffrey.vo.australia@gmail.com",
        "time": "Tue Aug 04 11:21:19 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 12:21:19 2026 +1000"
      },
      "message": "chore: bump resolver to v3 (#10460)\n\nv3 should supersede v2 (and adds extra feature)\n\n-\nhttps://doc.rust-lang.org/cargo/reference/resolver.html#resolver-versions\n\nUnfortunately even though v3 is the default in edition 2024, we still\nneed to specify it manually since the setting doesn\u0027t play well with\nvirtual workspaces 😔"
    },
    {
      "commit": "6d94cdbc10cdf33d0197a023f2940d8d4b8e81c9",
      "tree": "f864cfcb7b6a2695747077048382929f0d0c5837",
      "parents": [
        "afab753e84cf14fcdbe61518f3297ac38596b361"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Aug 04 11:02:04 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 11:02:04 2026 +1000"
      },
      "message": "chore(deps): bump rust-toolchain from 1.96.1 to 1.97.1 (#10535)\n\nBumps [rust-toolchain](https://github.com/rust-lang/rust) from 1.96.1 to\n1.97.1.\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/rust-lang/rust/releases\"\u003erust-toolchain\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eRust 1.97.1\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/issues/159035\"\u003erustc:\nFix miscompilation in LLVM optimization\u003c/a\u003e This backports an LLVM\nsubmodule bump to include the LLVM-side fix and a revert of the rustc\nchange that is one known trigger for the bug. The rustc side revert\nshould not be strictly necessary but is done out of abundance of\ncaution.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eRust 1.97.0\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch2\u003eLanguage\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/pull/148214\"\u003eConsider\n\u003ccode\u003eResult\u0026lt;T, Uninhabited\u0026gt;\u003c/code\u003e and\n\u003ccode\u003eControlFlow\u0026lt;Uninhabited, T\u0026gt;\u003c/code\u003e to be equivalent to\n\u003ccode\u003eT\u003c/code\u003e for must use lint\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://redirect.github.com/rust-lang/rust/pull/149509\"\u003eAdd\nallow-by-default \u003ccode\u003edead_code_pub_in_binary\u003c/code\u003e lint for unused\npub items in binary crates\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/pull/154510\"\u003eStabilize\nthe \u003ccode\u003ediv32\u003c/code\u003e, \u003ccode\u003elam-bh\u003c/code\u003e, \u003ccode\u003elamcas\u003c/code\u003e,\n\u003ccode\u003eld-seq-sa\u003c/code\u003e and \u003ccode\u003escq\u003c/code\u003e target features\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/pull/155006\"\u003eStabilize\n\u003ccode\u003ecfg(target_has_atomic_primitive_alignment)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/pull/155137\"\u003eAllow\ntrailing \u003ccode\u003eself\u003c/code\u003e in imports in more cases\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch2\u003ePlatform Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/pull/152443\"\u003envptx64-nvidia-cuda:\ndrop support for old architectures and old ISAs\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRefer to Rust\u0027s \u003ca\nhref\u003d\"https://doc.rust-lang.org/rustc/platform-support.html\"\u003eplatform\nsupport page\u003c/a\u003e for more information on Rust\u0027s tiered platform\nsupport.\u003c/p\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch2\u003eStabilized APIs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/iter/struct.RepeatN.html#impl-Default-for-RepeatN%3CA%3E\"\u003e\u003ccode\u003eDefault\nfor RepeatN\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/ffi/struct.FromBytesUntilNulError.html#impl-Copy-for-FromBytesUntilNulError\"\u003e\u003ccode\u003eCopy\nfor ffi::FromBytesUntilNulError\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/pull/154003\"\u003e\u003ccode\u003eSend\nfor std::fs::File\u003c/code\u003e on UEFI\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/primitive.u32.html#method.isolate_highest_one\"\u003e\u003ccode\u003e\u0026lt;{integer}\u0026gt;::isolate_highest_one\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/primitive.u32.html#method.isolate_lowest_one\"\u003e\u003ccode\u003e\u0026lt;{integer}\u0026gt;::isolate_lowest_one\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/primitive.u32.html#method.highest_one\"\u003e\u003ccode\u003e\u0026lt;{integer}\u0026gt;::highest_one\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/primitive.u32.html#method.lowest_one\"\u003e\u003ccode\u003e\u0026lt;{integer}\u0026gt;::lowest_one\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/primitive.u32.html#method.bit_width\"\u003e\u003ccode\u003e\u0026lt;{integer}\u0026gt;::bit_width\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.isolate_highest_one\"\u003e\u003ccode\u003eNonZero\u0026lt;{integer}\u0026gt;::isolate_highest_one\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.isolate_lowest_one\"\u003e\u003ccode\u003eNonZero\u0026lt;{integer}\u0026gt;::isolate_lowest_one\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.highest_one\"\u003e\u003ccode\u003eNonZero\u0026lt;{integer}\u0026gt;::highest_one\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.lowest_one\"\u003e\u003ccode\u003eNonZero\u0026lt;{integer}\u0026gt;::lowest_one\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/num/struct.NonZero.html#method.bit_width\"\u003e\u003ccode\u003eNonZero\u0026lt;{integer}\u0026gt;::bit_width\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThese previously stable APIs are now stable in const contexts:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/primitive.char.html#method.is_control\"\u003e\u003ccode\u003echar::is_control\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch2\u003eCargo\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/rust-lang/rust/blob/main/RELEASES.md\"\u003erust-toolchain\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eVersion 1.97.1 (2026-07-16)\u003c/h1\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/issues/159035\"\u003erustc:\nFix miscompilation in LLVM optimization\u003c/a\u003e\nThis backports an LLVM submodule bump to include the LLVM-side fix and a\nrevert of the rustc change that is one known trigger for the bug. The\nrustc\nside revert should not be strictly necessary but is done out of\nabundance of caution.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch1\u003eVersion 1.97.0 (2026-07-09)\u003c/h1\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch2\u003eLanguage\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/pull/148214\"\u003eConsider\n\u003ccode\u003eResult\u0026lt;T, Uninhabited\u0026gt;\u003c/code\u003e and\n\u003ccode\u003eControlFlow\u0026lt;Uninhabited, T\u0026gt;\u003c/code\u003e to be equivalent to\n\u003ccode\u003eT\u003c/code\u003e for must use lint\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://redirect.github.com/rust-lang/rust/pull/149509\"\u003eAdd\nallow-by-default \u003ccode\u003edead_code_pub_in_binary\u003c/code\u003e lint for unused\npub items in binary crates\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/pull/154510\"\u003eStabilize\nthe \u003ccode\u003ediv32\u003c/code\u003e, \u003ccode\u003elam-bh\u003c/code\u003e, \u003ccode\u003elamcas\u003c/code\u003e,\n\u003ccode\u003eld-seq-sa\u003c/code\u003e and \u003ccode\u003escq\u003c/code\u003e target features\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/pull/155006\"\u003eStabilize\n\u003ccode\u003ecfg(target_has_atomic_primitive_alignment)\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/pull/155137\"\u003eAllow\ntrailing \u003ccode\u003eself\u003c/code\u003e in imports in more cases\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch2\u003ePlatform Support\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/pull/152443\"\u003envptx64-nvidia-cuda:\ndrop support for old architectures and old ISAs\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRefer to Rust\u0027s \u003ca\nhref\u003d\"https://doc.rust-lang.org/rustc/platform-support.html\"\u003eplatform\nsupport page\u003c/a\u003e\nfor more information on Rust\u0027s tiered platform support.\u003c/p\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch2\u003eStabilized APIs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/iter/struct.RepeatN.html#impl-Default-for-RepeatN%3CA%3E\"\u003e\u003ccode\u003eDefault\nfor RepeatN\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/ffi/struct.FromBytesUntilNulError.html#impl-Copy-for-FromBytesUntilNulError\"\u003e\u003ccode\u003eCopy\nfor ffi::FromBytesUntilNulError\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/pull/154003\"\u003e\u003ccode\u003eSend\nfor std::fs::File\u003c/code\u003e on UEFI\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/primitive.u32.html#method.isolate_highest_one\"\u003e\u003ccode\u003e\u0026lt;{integer}\u0026gt;::isolate_highest_one\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/primitive.u32.html#method.isolate_lowest_one\"\u003e\u003ccode\u003e\u0026lt;{integer}\u0026gt;::isolate_lowest_one\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/primitive.u32.html#method.highest_one\"\u003e\u003ccode\u003e\u0026lt;{integer}\u0026gt;::highest_one\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/primitive.u32.html#method.lowest_one\"\u003e\u003ccode\u003e\u0026lt;{integer}\u0026gt;::lowest_one\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://doc.rust-lang.org/stable/std/primitive.u32.html#method.bit_width\"\u003e\u003ccode\u003e\u0026lt;{integer}\u0026gt;::bit_width\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/rust/commit/8bab26f4f68e0e26f0bb7960be334d5b520ea452\"\u003e\u003ccode\u003e8bab26f\u003c/code\u003e\u003c/a\u003e\nAuto merge of \u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/issues/159288\"\u003e#159288\u003c/a\u003e\n- Mark-Simulacrum:stable-next, r\u003dMark-Simulacrum\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/rust/commit/979b2d35681d832e25e09ae839be320755d9cf42\"\u003e\u003ccode\u003e979b2d3\u003c/code\u003e\u003c/a\u003e\nBackport fix for 159035\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/rust/commit/e641feae5ee2a3c393d78546fc056c60c9e623fa\"\u003e\u003ccode\u003ee641fea\u003c/code\u003e\u003c/a\u003e\nRevert \u0026quot;Only exclude the 155473 change for 1-byte\nbool-likes\u0026quot;\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/rust/commit/eabe5e433d90c301e0c7bbfa701582e498a9ea0b\"\u003e\u003ccode\u003eeabe5e4\u003c/code\u003e\u003c/a\u003e\nAdd regression test for enum miscompilation\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/rust/commit/9b8be8a0dc11bdbcad507329f1b3f24613824e17\"\u003e\u003ccode\u003e9b8be8a\u003c/code\u003e\u003c/a\u003e\n1.97.1 release\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/rust/commit/2d8144b7880597b6e6d3dfd63a9a9efae3f533d3\"\u003e\u003ccode\u003e2d8144b\u003c/code\u003e\u003c/a\u003e\nAuto merge of \u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/issues/158832\"\u003e#158832\u003c/a\u003e\n- Mark-Simulacrum:stable-next, r\u003dMark-Simulacrum\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/rust/commit/1417dc76bbb9355480513eae23b27d0279932837\"\u003e\u003ccode\u003e1417dc7\u003c/code\u003e\u003c/a\u003e\nCherry pick mirroring kernel archives in \u003ccode\u003eci-mirrors\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/rust/commit/e6ccfb3a4f922060b0b32e79895b15387b2d5b6f\"\u003e\u003ccode\u003ee6ccfb3\u003c/code\u003e\u003c/a\u003e\nFetch latest relnotes\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/rust/commit/701e4718e758ce51540163517be0b8c2983d4467\"\u003e\u003ccode\u003e701e471\u003c/code\u003e\u003c/a\u003e\nBump stable channel\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rust-lang/rust/commit/b2282dd5646a57d570fc86fbe8df0e8826665ef6\"\u003e\u003ccode\u003eb2282dd\u003c/code\u003e\u003c/a\u003e\nAuto merge of \u003ca\nhref\u003d\"https://redirect.github.com/rust-lang/rust/issues/158630\"\u003e#158630\u003c/a\u003e\n- weihanglo:beta-cargo-backport, r\u003dweihanglo\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/rust-lang/rust/compare/1.96.1...1.97.1\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n---------\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Jefffrey \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "afab753e84cf14fcdbe61518f3297ac38596b361",
      "tree": "6e4dcddf8ed35b54f97af6db2b25d81d78528024",
      "parents": [
        "c3c5c147036caf1e5bf13157ddffb1cf55c695ef"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Aug 04 10:46:30 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 10:46:30 2026 +1000"
      },
      "message": "chore(deps): bump the tonic group across 1 directory with 3 updates (#10183)\n\nBumps the tonic group with 3 updates in the / directory:\n[tonic](https://github.com/hyperium/tonic),\n[tonic-prost](https://github.com/hyperium/tonic) and\n[tonic-prost-build](https://github.com/hyperium/tonic).\n\nUpdates `tonic` from 0.14.5 to 0.14.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/hyperium/tonic/releases\"\u003etonic\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etonic-build-v0.14.6\u003c/h2\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rust edition and version to 2024 and 1.88, respectively (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2525\"\u003e#2525\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etonic-health-v0.14.6\u003c/h2\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rust edition and version to 2024 and 1.88, respectively (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2525\"\u003e#2525\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etonic-prost-build-v0.14.6\u003c/h2\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport well known types resolved by prost to their rust\ncounterparts (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2544\"\u003e#2544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate rust edition and version to 2024 and 1.88, respectively (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2525\"\u003e#2525\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etonic-prost-v0.14.6\u003c/h2\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rust edition and version to 2024 and 1.88, respectively (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2525\"\u003e#2525\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etonic-reflection-v0.14.6\u003c/h2\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003efix panic when client drops connection early (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2596\"\u003e#2596\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate rust edition and version to 2024 and 1.88, respectively (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2525\"\u003e#2525\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etonic-types-v0.14.6\u003c/h2\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rust edition and version to 2024 and 1.88, respectively (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2525\"\u003e#2525\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etonic-v0.14.6\u003c/h2\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(transport/channel)\u003c/em\u003e expose ServerCertVerifier API (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2612\"\u003e#2612\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eFixed\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003emap no trailers ok status to unknown (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2543\"\u003e#2543\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eadd max_frame_size to client Endpoint (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2592\"\u003e#2592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAllow setting the HTTP/2 client header table size (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2582\"\u003e#2582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate rust edition and version to 2024 and 1.88, respectively (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2525\"\u003e#2525\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etonic-web-v0.14.6\u003c/h2\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/6cb6056b5a748bc5a29bd48f4602dbc4e552bb7d\"\u003e\u003ccode\u003e6cb6056\u003c/code\u003e\u003c/a\u003e\nchore: release v0.14.6 (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2624\"\u003e#2624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/efde924f4cc851c5b3d3fb9ecfbb0d4594b867e1\"\u003e\u003ccode\u003eefde924\u003c/code\u003e\u003c/a\u003e\ngrpc: change helloworld example to pass request as a view (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2632\"\u003e#2632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/d47b00145d0fd6b67b0bbcfa06bf7c0b6cd24bcc\"\u003e\u003ccode\u003ed47b001\u003c/code\u003e\u003c/a\u003e\ntransport: add max_frame_size to client Endpoint (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2592\"\u003e#2592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/02c01c7014cc8022aa6104b46dbb296d5e74c15e\"\u003e\u003ccode\u003e02c01c7\u003c/code\u003e\u003c/a\u003e\nAllow setting the HTTP/2 client header table size (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2582\"\u003e#2582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/31853549a071f635d317fe5f346159f1369f40ca\"\u003e\u003ccode\u003e3185354\u003c/code\u003e\u003c/a\u003e\nexamples: add grpc version of helloworld (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2630\"\u003e#2630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/f5853035ce270b77f6c582daa308d1fe5311aa39\"\u003e\u003ccode\u003ef585303\u003c/code\u003e\u003c/a\u003e\nfix(grpc): Fix grpc-google build (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2628\"\u003e#2628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/ff7bcbb5373bc0f2a4d797c8a0e70f3324087197\"\u003e\u003ccode\u003eff7bcbb\u003c/code\u003e\u003c/a\u003e\nfeat(grpc): Google call credentials (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2610\"\u003e#2610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/f93037b5f9161706608c14b014cdf0ee4f3287ae\"\u003e\u003ccode\u003ef93037b\u003c/code\u003e\u003c/a\u003e\nfeat(tonic-xds): make XdsChannelGrpc Sync (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2627\"\u003e#2627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/d834bebc57581460c0bdb5f73f86eb07dbe99121\"\u003e\u003ccode\u003ed834beb\u003c/code\u003e\u003c/a\u003e\ngrpc: Update Status to be a Result\u0026lt;\u0026gt; and make StatusErr which\nholds non-OK co...\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/23922247306dad351b4fe531d8f6832c781c0749\"\u003e\u003ccode\u003e2392224\u003c/code\u003e\u003c/a\u003e\ngrpc: add route_guide example and make minor tweaks to the generated\ncode API...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/hyperium/tonic/compare/v0.14.5...tonic-v0.14.6\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tonic-prost` from 0.14.5 to 0.14.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/hyperium/tonic/releases\"\u003etonic-prost\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etonic-prost-build-v0.14.6\u003c/h2\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport well known types resolved by prost to their rust\ncounterparts (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2544\"\u003e#2544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate rust edition and version to 2024 and 1.88, respectively (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2525\"\u003e#2525\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003etonic-prost-v0.14.6\u003c/h2\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eupdate rust edition and version to 2024 and 1.88, respectively (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2525\"\u003e#2525\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/6cb6056b5a748bc5a29bd48f4602dbc4e552bb7d\"\u003e\u003ccode\u003e6cb6056\u003c/code\u003e\u003c/a\u003e\nchore: release v0.14.6 (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2624\"\u003e#2624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/efde924f4cc851c5b3d3fb9ecfbb0d4594b867e1\"\u003e\u003ccode\u003eefde924\u003c/code\u003e\u003c/a\u003e\ngrpc: change helloworld example to pass request as a view (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2632\"\u003e#2632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/d47b00145d0fd6b67b0bbcfa06bf7c0b6cd24bcc\"\u003e\u003ccode\u003ed47b001\u003c/code\u003e\u003c/a\u003e\ntransport: add max_frame_size to client Endpoint (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2592\"\u003e#2592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/02c01c7014cc8022aa6104b46dbb296d5e74c15e\"\u003e\u003ccode\u003e02c01c7\u003c/code\u003e\u003c/a\u003e\nAllow setting the HTTP/2 client header table size (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2582\"\u003e#2582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/31853549a071f635d317fe5f346159f1369f40ca\"\u003e\u003ccode\u003e3185354\u003c/code\u003e\u003c/a\u003e\nexamples: add grpc version of helloworld (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2630\"\u003e#2630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/f5853035ce270b77f6c582daa308d1fe5311aa39\"\u003e\u003ccode\u003ef585303\u003c/code\u003e\u003c/a\u003e\nfix(grpc): Fix grpc-google build (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2628\"\u003e#2628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/ff7bcbb5373bc0f2a4d797c8a0e70f3324087197\"\u003e\u003ccode\u003eff7bcbb\u003c/code\u003e\u003c/a\u003e\nfeat(grpc): Google call credentials (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2610\"\u003e#2610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/f93037b5f9161706608c14b014cdf0ee4f3287ae\"\u003e\u003ccode\u003ef93037b\u003c/code\u003e\u003c/a\u003e\nfeat(tonic-xds): make XdsChannelGrpc Sync (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2627\"\u003e#2627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/d834bebc57581460c0bdb5f73f86eb07dbe99121\"\u003e\u003ccode\u003ed834beb\u003c/code\u003e\u003c/a\u003e\ngrpc: Update Status to be a Result\u0026lt;\u0026gt; and make StatusErr which\nholds non-OK co...\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/23922247306dad351b4fe531d8f6832c781c0749\"\u003e\u003ccode\u003e2392224\u003c/code\u003e\u003c/a\u003e\ngrpc: add route_guide example and make minor tweaks to the generated\ncode API...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/hyperium/tonic/compare/v0.14.5...tonic-prost-v0.14.6\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `tonic-prost-build` from 0.14.5 to 0.14.6\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/hyperium/tonic/releases\"\u003etonic-prost-build\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003etonic-prost-build-v0.14.6\u003c/h2\u003e\n\u003ch3\u003eOther\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSupport well known types resolved by prost to their rust\ncounterparts (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2544\"\u003e#2544\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eupdate rust edition and version to 2024 and 1.88, respectively (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/pull/2525\"\u003e#2525\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/6cb6056b5a748bc5a29bd48f4602dbc4e552bb7d\"\u003e\u003ccode\u003e6cb6056\u003c/code\u003e\u003c/a\u003e\nchore: release v0.14.6 (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2624\"\u003e#2624\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/efde924f4cc851c5b3d3fb9ecfbb0d4594b867e1\"\u003e\u003ccode\u003eefde924\u003c/code\u003e\u003c/a\u003e\ngrpc: change helloworld example to pass request as a view (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2632\"\u003e#2632\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/d47b00145d0fd6b67b0bbcfa06bf7c0b6cd24bcc\"\u003e\u003ccode\u003ed47b001\u003c/code\u003e\u003c/a\u003e\ntransport: add max_frame_size to client Endpoint (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2592\"\u003e#2592\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/02c01c7014cc8022aa6104b46dbb296d5e74c15e\"\u003e\u003ccode\u003e02c01c7\u003c/code\u003e\u003c/a\u003e\nAllow setting the HTTP/2 client header table size (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2582\"\u003e#2582\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/31853549a071f635d317fe5f346159f1369f40ca\"\u003e\u003ccode\u003e3185354\u003c/code\u003e\u003c/a\u003e\nexamples: add grpc version of helloworld (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2630\"\u003e#2630\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/f5853035ce270b77f6c582daa308d1fe5311aa39\"\u003e\u003ccode\u003ef585303\u003c/code\u003e\u003c/a\u003e\nfix(grpc): Fix grpc-google build (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2628\"\u003e#2628\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/ff7bcbb5373bc0f2a4d797c8a0e70f3324087197\"\u003e\u003ccode\u003eff7bcbb\u003c/code\u003e\u003c/a\u003e\nfeat(grpc): Google call credentials (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2610\"\u003e#2610\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/f93037b5f9161706608c14b014cdf0ee4f3287ae\"\u003e\u003ccode\u003ef93037b\u003c/code\u003e\u003c/a\u003e\nfeat(tonic-xds): make XdsChannelGrpc Sync (\u003ca\nhref\u003d\"https://redirect.github.com/hyperium/tonic/issues/2627\"\u003e#2627\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/d834bebc57581460c0bdb5f73f86eb07dbe99121\"\u003e\u003ccode\u003ed834beb\u003c/code\u003e\u003c/a\u003e\ngrpc: Update Status to be a Result\u0026lt;\u0026gt; and make StatusErr which\nholds non-OK co...\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/grpc/grpc-rust/commit/23922247306dad351b4fe531d8f6832c781c0749\"\u003e\u003ccode\u003e2392224\u003c/code\u003e\u003c/a\u003e\ngrpc: add route_guide example and make minor tweaks to the generated\ncode API...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/hyperium/tonic/compare/v0.14.5...tonic-prost-build-v0.14.6\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "c3c5c147036caf1e5bf13157ddffb1cf55c695ef",
      "tree": "0596f0be8e018303967747582743e1b263950c92",
      "parents": [
        "0408eef441c7754ddc6e7473c0d02aa6ee076bac"
      ],
      "author": {
        "name": "dependabot[bot]",
        "email": "49699333+dependabot[bot]@users.noreply.github.com",
        "time": "Tue Aug 04 10:46:19 2026 +1000"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 10:46:19 2026 +1000"
      },
      "message": "chore(deps): bump the prost group across 1 directory with 3 updates (#10182)\n\nBumps the prost group with 3 updates in the / directory:\n[prost](https://github.com/tokio-rs/prost),\n[prost-types](https://github.com/tokio-rs/prost) and\n[prost-build](https://github.com/tokio-rs/prost).\n\nUpdates `prost` from 0.14.3 to 0.14.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/blob/master/CHANGELOG.md\"\u003eprost\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eProst version 0.14.4\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003ePROST!\u003c/em\u003e is a \u003ca href\u003d\"https://protobuf.dev/\"\u003eProtocol\nBuffers\u003c/a\u003e implementation for the \u003ca\nhref\u003d\"https://www.rust-lang.org/\"\u003eRust Language\u003c/a\u003e. \u003ccode\u003eprost\u003c/code\u003e\ngenerates simple, idiomatic Rust code from \u003ccode\u003eproto2\u003c/code\u003e and\n\u003ccode\u003eproto3\u003c/code\u003e files.\u003c/p\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(prost-derive)\u003c/em\u003e Make is_valid a constant function (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1401\"\u003e#1401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncrease MSRV to 1.85 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse Display instead of Debug for generated enumeration attributes\n(\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(prost-derive)\u003c/em\u003e Return error for invalid enumeration default\nidentifiers (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(build)\u003c/em\u003e Grab binary path from cargo (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(build)\u003c/em\u003e Fix C++ build on GCC 15 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd example for \u003ccode\u003edecode_length_delimiter\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1311\"\u003e#1311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate protobuf-src example to avoid unsafe set_var\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧪 Testing\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTest derive Eq behavior (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1422\"\u003e#1422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(groups)\u003c/em\u003e Actually construct \u003ccode\u003eNestedGroup\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1363\"\u003e#1363\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e💼 Dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update criterion requirement from 0.7 to 0.8 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1374\"\u003e#1374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Remove \u003ccode\u003egetrandom@0.4.1\u003c/code\u003e from\nbuild-dependencies (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1400\"\u003e#1400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update rand requirement from 0.9 to 0.10 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1397\"\u003e#1397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Bump actions/upload-artifact from 6 to 7 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update \u003ccode\u003ecargo clippy\u003c/code\u003e to 1.89 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1433\"\u003e#1433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update \u003ccode\u003ecargo clippy\u003c/code\u003e to 1.91 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1435\"\u003e#1435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update and improve nix devshell (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1393\"\u003e#1393\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🎨 Styling\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent needless borrow (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1404\"\u003e#1404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003estd::hint::black_box()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1403\"\u003e#1403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse variables directly in \u003ccode\u003eformat!()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove explicit \u003ccode\u003e.into_iter()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun clippy on benches (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1405\"\u003e#1405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/13646cde7eab75c81b3047767aa0a86e7dbecf12\"\u003e\u003ccode\u003e13646cd\u003c/code\u003e\u003c/a\u003e\nchore: Release version 0.14.4 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1437\"\u003e#1437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/dad79d5c8e3549d93ebe6f6c723bb42928d805d8\"\u003e\u003ccode\u003edad79d5\u003c/code\u003e\u003c/a\u003e\nfix(prost-derive): return error for invalid enumeration default\nidentifiers (...\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/b0b6c93e3aac89df28690a4967a8bbe93ec95391\"\u003e\u003ccode\u003eb0b6c93\u003c/code\u003e\u003c/a\u003e\nci: Update \u003ccode\u003ecargo clippy\u003c/code\u003e to 1.91 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1435\"\u003e#1435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/32cfffbc494f2faf461cab85e04a42412484c0e4\"\u003e\u003ccode\u003e32cfffb\u003c/code\u003e\u003c/a\u003e\nstyle: remove explicit \u003ccode\u003e.into_iter()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/2710efdb9978d9c75fb19b0b092a369a2d385b55\"\u003e\u003ccode\u003e2710efd\u003c/code\u003e\u003c/a\u003e\nci: Update \u003ccode\u003ecargo clippy\u003c/code\u003e to 1.89 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1433\"\u003e#1433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/18ea4e42bbc307d33d65e05ad47b3c45623c0500\"\u003e\u003ccode\u003e18ea4e4\u003c/code\u003e\u003c/a\u003e\nstyle: use variables directly in \u003ccode\u003eformat!()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/2821bd1d8c20137c83ead4db39f8e1da00b4e854\"\u003e\u003ccode\u003e2821bd1\u003c/code\u003e\u003c/a\u003e\nbuild(deps): bump actions/upload-artifact from 6 to 7 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/3ce3b39f9206b5e3bbe34c6e1aa69fe3c53f0924\"\u003e\u003ccode\u003e3ce3b39\u003c/code\u003e\u003c/a\u003e\ntest(groups): Actually construct \u003ccode\u003eNestedGroup\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1363\"\u003e#1363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/8776405574b3ba0a0fe96ada8799ac8bc61ceb3e\"\u003e\u003ccode\u003e8776405\u003c/code\u003e\u003c/a\u003e\ndocs: Update changelog for version 0.14.3 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/33d3ef18c008da13e862d7e7674d751ab2776360\"\u003e\u003ccode\u003e33d3ef1\u003c/code\u003e\u003c/a\u003e\nbuild: Grab binary path from cargo (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/compare/v0.14.3...v0.14.4\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prost-types` from 0.14.3 to 0.14.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/blob/master/CHANGELOG.md\"\u003eprost-types\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eProst version 0.14.4\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003ePROST!\u003c/em\u003e is a \u003ca href\u003d\"https://protobuf.dev/\"\u003eProtocol\nBuffers\u003c/a\u003e implementation for the \u003ca\nhref\u003d\"https://www.rust-lang.org/\"\u003eRust Language\u003c/a\u003e. \u003ccode\u003eprost\u003c/code\u003e\ngenerates simple, idiomatic Rust code from \u003ccode\u003eproto2\u003c/code\u003e and\n\u003ccode\u003eproto3\u003c/code\u003e files.\u003c/p\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(prost-derive)\u003c/em\u003e Make is_valid a constant function (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1401\"\u003e#1401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncrease MSRV to 1.85 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse Display instead of Debug for generated enumeration attributes\n(\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(prost-derive)\u003c/em\u003e Return error for invalid enumeration default\nidentifiers (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(build)\u003c/em\u003e Grab binary path from cargo (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(build)\u003c/em\u003e Fix C++ build on GCC 15 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd example for \u003ccode\u003edecode_length_delimiter\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1311\"\u003e#1311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate protobuf-src example to avoid unsafe set_var\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧪 Testing\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTest derive Eq behavior (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1422\"\u003e#1422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(groups)\u003c/em\u003e Actually construct \u003ccode\u003eNestedGroup\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1363\"\u003e#1363\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e💼 Dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update criterion requirement from 0.7 to 0.8 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1374\"\u003e#1374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Remove \u003ccode\u003egetrandom@0.4.1\u003c/code\u003e from\nbuild-dependencies (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1400\"\u003e#1400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update rand requirement from 0.9 to 0.10 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1397\"\u003e#1397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Bump actions/upload-artifact from 6 to 7 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update \u003ccode\u003ecargo clippy\u003c/code\u003e to 1.89 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1433\"\u003e#1433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update \u003ccode\u003ecargo clippy\u003c/code\u003e to 1.91 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1435\"\u003e#1435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update and improve nix devshell (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1393\"\u003e#1393\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🎨 Styling\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent needless borrow (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1404\"\u003e#1404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003estd::hint::black_box()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1403\"\u003e#1403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse variables directly in \u003ccode\u003eformat!()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove explicit \u003ccode\u003e.into_iter()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun clippy on benches (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1405\"\u003e#1405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/13646cde7eab75c81b3047767aa0a86e7dbecf12\"\u003e\u003ccode\u003e13646cd\u003c/code\u003e\u003c/a\u003e\nchore: Release version 0.14.4 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1437\"\u003e#1437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/dad79d5c8e3549d93ebe6f6c723bb42928d805d8\"\u003e\u003ccode\u003edad79d5\u003c/code\u003e\u003c/a\u003e\nfix(prost-derive): return error for invalid enumeration default\nidentifiers (...\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/b0b6c93e3aac89df28690a4967a8bbe93ec95391\"\u003e\u003ccode\u003eb0b6c93\u003c/code\u003e\u003c/a\u003e\nci: Update \u003ccode\u003ecargo clippy\u003c/code\u003e to 1.91 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1435\"\u003e#1435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/32cfffbc494f2faf461cab85e04a42412484c0e4\"\u003e\u003ccode\u003e32cfffb\u003c/code\u003e\u003c/a\u003e\nstyle: remove explicit \u003ccode\u003e.into_iter()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/2710efdb9978d9c75fb19b0b092a369a2d385b55\"\u003e\u003ccode\u003e2710efd\u003c/code\u003e\u003c/a\u003e\nci: Update \u003ccode\u003ecargo clippy\u003c/code\u003e to 1.89 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1433\"\u003e#1433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/18ea4e42bbc307d33d65e05ad47b3c45623c0500\"\u003e\u003ccode\u003e18ea4e4\u003c/code\u003e\u003c/a\u003e\nstyle: use variables directly in \u003ccode\u003eformat!()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/2821bd1d8c20137c83ead4db39f8e1da00b4e854\"\u003e\u003ccode\u003e2821bd1\u003c/code\u003e\u003c/a\u003e\nbuild(deps): bump actions/upload-artifact from 6 to 7 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/3ce3b39f9206b5e3bbe34c6e1aa69fe3c53f0924\"\u003e\u003ccode\u003e3ce3b39\u003c/code\u003e\u003c/a\u003e\ntest(groups): Actually construct \u003ccode\u003eNestedGroup\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1363\"\u003e#1363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/8776405574b3ba0a0fe96ada8799ac8bc61ceb3e\"\u003e\u003ccode\u003e8776405\u003c/code\u003e\u003c/a\u003e\ndocs: Update changelog for version 0.14.3 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/33d3ef18c008da13e862d7e7674d751ab2776360\"\u003e\u003ccode\u003e33d3ef1\u003c/code\u003e\u003c/a\u003e\nbuild: Grab binary path from cargo (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/compare/v0.14.3...v0.14.4\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `prost-build` from 0.14.3 to 0.14.4\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/blob/master/CHANGELOG.md\"\u003eprost-build\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eProst version 0.14.4\u003c/h1\u003e\n\u003cp\u003e\u003cem\u003ePROST!\u003c/em\u003e is a \u003ca href\u003d\"https://protobuf.dev/\"\u003eProtocol\nBuffers\u003c/a\u003e implementation for the \u003ca\nhref\u003d\"https://www.rust-lang.org/\"\u003eRust Language\u003c/a\u003e. \u003ccode\u003eprost\u003c/code\u003e\ngenerates simple, idiomatic Rust code from \u003ccode\u003eproto2\u003c/code\u003e and\n\u003ccode\u003eproto3\u003c/code\u003e files.\u003c/p\u003e\n\u003ch3\u003e🚀 Features\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(prost-derive)\u003c/em\u003e Make is_valid a constant function (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1401\"\u003e#1401\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eIncrease MSRV to 1.85 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1428\"\u003e#1428\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🐛 Bug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse Display instead of Debug for generated enumeration attributes\n(\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1419\"\u003e#1419\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(prost-derive)\u003c/em\u003e Return error for invalid enumeration default\nidentifiers (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1426\"\u003e#1426\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(build)\u003c/em\u003e Grab binary path from cargo (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(build)\u003c/em\u003e Fix C++ build on GCC 15 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1395\"\u003e#1395\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e📚 Documentation\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd example for \u003ccode\u003edecode_length_delimiter\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1311\"\u003e#1311\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate protobuf-src example to avoid unsafe set_var\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🧪 Testing\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTest derive Eq behavior (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1422\"\u003e#1422\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(groups)\u003c/em\u003e Actually construct \u003ccode\u003eNestedGroup\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1363\"\u003e#1363\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e💼 Dependencies\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update criterion requirement from 0.7 to 0.8 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1374\"\u003e#1374\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Remove \u003ccode\u003egetrandom@0.4.1\u003c/code\u003e from\nbuild-dependencies (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1400\"\u003e#1400\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update rand requirement from 0.9 to 0.10 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1397\"\u003e#1397\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Bump actions/upload-artifact from 6 to 7 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update \u003ccode\u003ecargo clippy\u003c/code\u003e to 1.89 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1433\"\u003e#1433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update \u003ccode\u003ecargo clippy\u003c/code\u003e to 1.91 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1435\"\u003e#1435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cem\u003e(deps)\u003c/em\u003e Update and improve nix devshell (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1393\"\u003e#1393\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e🎨 Styling\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePrevent needless borrow (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1404\"\u003e#1404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse \u003ccode\u003estd::hint::black_box()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1403\"\u003e#1403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUse variables directly in \u003ccode\u003eformat!()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove explicit \u003ccode\u003e.into_iter()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRun clippy on benches (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1405\"\u003e#1405\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/13646cde7eab75c81b3047767aa0a86e7dbecf12\"\u003e\u003ccode\u003e13646cd\u003c/code\u003e\u003c/a\u003e\nchore: Release version 0.14.4 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1437\"\u003e#1437\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/dad79d5c8e3549d93ebe6f6c723bb42928d805d8\"\u003e\u003ccode\u003edad79d5\u003c/code\u003e\u003c/a\u003e\nfix(prost-derive): return error for invalid enumeration default\nidentifiers (...\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/b0b6c93e3aac89df28690a4967a8bbe93ec95391\"\u003e\u003ccode\u003eb0b6c93\u003c/code\u003e\u003c/a\u003e\nci: Update \u003ccode\u003ecargo clippy\u003c/code\u003e to 1.91 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1435\"\u003e#1435\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/32cfffbc494f2faf461cab85e04a42412484c0e4\"\u003e\u003ccode\u003e32cfffb\u003c/code\u003e\u003c/a\u003e\nstyle: remove explicit \u003ccode\u003e.into_iter()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1434\"\u003e#1434\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/2710efdb9978d9c75fb19b0b092a369a2d385b55\"\u003e\u003ccode\u003e2710efd\u003c/code\u003e\u003c/a\u003e\nci: Update \u003ccode\u003ecargo clippy\u003c/code\u003e to 1.89 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1433\"\u003e#1433\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/18ea4e42bbc307d33d65e05ad47b3c45623c0500\"\u003e\u003ccode\u003e18ea4e4\u003c/code\u003e\u003c/a\u003e\nstyle: use variables directly in \u003ccode\u003eformat!()\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1432\"\u003e#1432\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/2821bd1d8c20137c83ead4db39f8e1da00b4e854\"\u003e\u003ccode\u003e2821bd1\u003c/code\u003e\u003c/a\u003e\nbuild(deps): bump actions/upload-artifact from 6 to 7 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1409\"\u003e#1409\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/3ce3b39f9206b5e3bbe34c6e1aa69fe3c53f0924\"\u003e\u003ccode\u003e3ce3b39\u003c/code\u003e\u003c/a\u003e\ntest(groups): Actually construct \u003ccode\u003eNestedGroup\u003c/code\u003e (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1363\"\u003e#1363\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/8776405574b3ba0a0fe96ada8799ac8bc61ceb3e\"\u003e\u003ccode\u003e8776405\u003c/code\u003e\u003c/a\u003e\ndocs: Update changelog for version 0.14.3 (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1431\"\u003e#1431\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/commit/33d3ef18c008da13e862d7e7674d751ab2776360\"\u003e\u003ccode\u003e33d3ef1\u003c/code\u003e\u003c/a\u003e\nbuild: Grab binary path from cargo (\u003ca\nhref\u003d\"https://redirect.github.com/tokio-rs/prost/issues/1429\"\u003e#1429\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/tokio-rs/prost/compare/v0.14.3...v0.14.4\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e"
    },
    {
      "commit": "0408eef441c7754ddc6e7473c0d02aa6ee076bac",
      "tree": "9a5bc40cd7c33b0b3b3ce7df3ef98006e550e6c3",
      "parents": [
        "a0ae731ffdb8ddb3486f9cc46f4a8a54e00e9889"
      ],
      "author": {
        "name": "Andrew Lamb",
        "email": "andrew@nerdnetworks.org",
        "time": "Mon Aug 03 20:21:19 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 10:21:19 2026 +1000"
      },
      "message": "Bump MSRV to 1.88 (#10254)\n\n# Which issue does this PR close?\n\n- Part of #10226.\n\n# Rationale for this change\n\nThis implements the suggestion from\nhttps://github.com/apache/arrow-rs/issues/10226#issuecomment-4860000468\nto bump the Minimum Supported Rust Version (MSRV) from Rust 1.85 to Rust\n1.88 for the next major release.\n\n# What changes are included in this PR?\n\n- Updates the workspace MSRV to 1.88.\n- Updates the standalone pyarrow testing crate MSRV pins to 1.88.\n- Removes now-unnecessary `std::mem::transmute` workarounds in\n`arrow-array` that were only needed because const `f32::from_bits` and\n`f64::from_bits` were unavailable under the previous MSRV.\n\n# Are there any user-facing changes?\n\nUsers building arrow-rs crates will need Rust 1.88 or newer.\n\n# How was this tested?\nCI\n\n---------\n\nCo-authored-by: Jeffrey Vo \u003cjeffrey.vo.australia@gmail.com\u003e"
    },
    {
      "commit": "a0ae731ffdb8ddb3486f9cc46f4a8a54e00e9889",
      "tree": "2727cac2842b7efe6bd9e8b1a954c1c51c91652b",
      "parents": [
        "21f021e50c25a7183083252a099fef1123e62668"
      ],
      "author": {
        "name": "Yin Li",
        "email": "kxl474@student.bham.ac.uk",
        "time": "Tue Aug 04 08:11:28 2026 +0800"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 10:11:28 2026 +1000"
      },
      "message": "Fix Flight LargeList schema encoding (#10298)\n\n# Which issue does this PR close?\n\n- Closes #10291.\n\n# Rationale for this change\n\n`prepare_field_for_flight` rebuilds `DataType::LargeList` with\n`Field::new_list`, silently changing the 64-bit offset type into a\nregular `List` in the Flight schema. The adjacent `ListView` /\n`LargeListView` path already preserves its large variant.\n\n# What changes are included in this PR?\n\n- Use `Field::new_large_list` for `DataType::LargeList`.\n- Exercise a real `FlightDataEncoder` to `FlightDataDecoder` IPC round\ntrip covering List, nested LargeList\u003cList\u003cInt32\u003e\u003e, FixedSizeList, parent\nand child nullability, and schema/field/child metadata.\n\n# Are these changes tested?\n\nYes, locally with Rust 1.96.1 on macOS:\n\n- Fault injection with the old `new_list` implementation: the round-trip\nregression test fails because decoded `LargeList` becomes `List`.\n- `cargo test -p arrow-flight test_list_schema_round_trip`\n- `cargo test -p arrow-flight --lib` (42 passed)\n- `cargo test -p arrow-flight` (unit, client, encode/decode, and doc\ntests passed)\n- `cargo clippy -p arrow-flight --all-targets --all-features -- -D\nwarnings`\n- `cargo fmt --all -- --check`\n- `git diff --check`\n\nI used AI assistance to inspect the nearby Flight schema-preparation\npaths and help generate the focused round-trip regression, then reviewed\nthe resulting one-line production fix and validated it with the commands\nabove.\n\n# Are there any user-facing changes?\n\nYes. Flight-encoded schemas now preserve `LargeList` instead of exposing\nit as `List` after schema preparation.\n\n---------\n\nSigned-off-by: Kevin-Li-2025 \u003ckxl474@student.bham.ac.uk\u003e\nCo-authored-by: Kevin-Li-2025 \u003c2242139@qq.com\u003e"
    },
    {
      "commit": "21f021e50c25a7183083252a099fef1123e62668",
      "tree": "0e3df0b9a63d7ed0926bb5703ca0f64e929c53db",
      "parents": [
        "1042e07e5d62ab5daf8bc091b99103cd8854e240"
      ],
      "author": {
        "name": "Jeffrey Vo",
        "email": "jeffrey.vo.australia@gmail.com",
        "time": "Tue Aug 04 08:45:53 2026 +0900"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 09:45:53 2026 +1000"
      },
      "message": "chore: setup dependabot to do `rust-toolchain` updates (#10461)\n\n\u003e apparently dependabot can do this for us\n\u003e\n\u003e -\nhttps://github.blog/changelog/2025-08-19-dependabot-now-supports-rust-toolchain-updates/\n\u003e\n\u003e though not sure how useful it may be since theres usually clippy fixes\nthat accompany this 🤔\n\u003e\n\u003e worth enabling this so at least there wont be cases of us forgetting\nto bump it when a new version drops?\n\n- reference: https://github.com/apache/datafusion/pull/23633\n\n---------\n\nCo-authored-by: Andrew Lamb \u003candrew@nerdnetworks.org\u003e"
    },
    {
      "commit": "1042e07e5d62ab5daf8bc091b99103cd8854e240",
      "tree": "4ede87880418637dd359a64035ef24bee8137f1c",
      "parents": [
        "aa7cfce828edbaf928595a85df4a7e09bd3444f4"
      ],
      "author": {
        "name": "Andrew Lamb",
        "email": "andrew@nerdnetworks.org",
        "time": "Mon Aug 03 19:43:57 2026 -0400"
      },
      "committer": {
        "name": "GitHub",
        "email": "noreply@github.com",
        "time": "Tue Aug 04 09:43:57 2026 +1000"
      },
      "message": "Update release schedule on README (#10528)\n\n# Which issue does this PR close?\n\n- relate to https://github.com/apache/arrow-rs/issues/7392\n\n# Rationale for this change\n\nI need to keep this stuff written down somewhere otherwise I lose track\nof it\n\n# What changes are included in this PR?\n\nUpdate the release schedule of the README to reflect\n- https://github.com/apache/arrow-rs/issues/7392\n\nSpecifically:\n- Remove `59.1.0` (already released)\n- Add `60.1.0`, `60.1.0` and `60.2.0`\n\n# Are these changes tested?\n\nNo, documentation only change\n\n# Are there any user-facing changes?\n\nNo API changes\n\nCo-authored-by: Claude Opus 5 (1M context) \u003cnoreply@anthropic.com\u003e"
    }
  ],
  "next": "aa7cfce828edbaf928595a85df4a7e09bd3444f4"
}
