{
  "interval": {
    "intervalStart": "2026-04-13T00:00:00.000Z",
    "intervalEnd": "2026-04-14T00:00:00.000Z",
    "intervalType": "day"
  },
  "repository": "elizaos/eliza",
  "overview": "From 2026-04-13 to 2026-04-14, elizaos/eliza had 6 new PRs (3 merged), 0 new issues, and 5 active contributors.",
  "topIssues": [],
  "topPRs": [
    {
      "id": "PR_kwDOMT5cIs7R5qtC",
      "title": "chore(deps): bump the cargo group across 21 directories with 6 updates",
      "author": "dependabot",
      "number": 6724,
      "body": "Bumps the cargo group with 3 updates in the /packages/examples/a2a/rust directory: [bytes](https://github.com/tokio-rs/bytes), [quinn-proto](https://github.com/quinn-rs/quinn) and [rustls-webpki](https://github.com/rustls/webpki).\nBumps the cargo group with 4 updates in the /packages/examples/app/tauri/src-tauri directory: [bytes](https://github.com/tokio-rs/bytes), [quinn-proto](https://github.com/quinn-rs/quinn), [rustls-webpki](https://github.com/rustls/webpki) and [time](https://github.com/time-rs/time).\nBumps the cargo group with 1 update in the /packages/examples/autonomous/rust/autonomous directory: [bytes](https://github.com/tokio-rs/bytes).\nBumps the cargo group with 3 updates in the /packages/examples/aws/rust directory: [bytes](https://github.com/tokio-rs/bytes), [quinn-proto](https://github.com/quinn-rs/quinn) and [rustls-webpki](https://github.com/rustls/webpki).\nBumps the cargo group with 3 updates in the /packages/examples/bluesky/rust/bluesky-agent directory: [bytes](https://github.com/tokio-rs/bytes), [quinn-proto](https://github.com/quinn-rs/quinn) and [rustls-webpki](https://github.com/rustls/webpki).\nBumps the cargo group with 3 updates in the /packages/examples/chat/rust/chat directory: [bytes](https://github.com/tokio-rs/bytes), [quinn-proto](https://github.com/quinn-rs/quinn) and [rustls-webpki](https://github.com/rustls/webpki).\nBumps the cargo group with 1 update in the /packages/examples/cloudflare/rust-worker directory: [bytes](https://github.com/tokio-rs/bytes).\nBumps the cargo group with 3 updates in the /packages/examples/discord/rust/discord-agent directory: [bytes](https://github.com/tokio-rs/bytes), [quinn-proto](https://github.com/quinn-rs/quinn) and [time](https://github.com/time-rs/time).\nBumps the cargo group with 3 updates in the /packages/examples/form/rust/chat directory: [bytes](https://github.com/tokio-rs/bytes), [quinn-proto](https://github.com/quinn-rs/quinn) and [rustls-webpki](https://github.com/rustls/webpki).\nBumps the cargo group with 1 update in the /packages/examples/game-of-life/rust/game-of-life directory: [bytes](https://github.com/tokio-rs/bytes).\nBumps the cargo group with 3 updates in the /packages/examples/gcp/rust directory: [bytes](https://github.com/tokio-rs/bytes), [quinn-proto](https://github.com/quinn-rs/quinn) and [rustls-webpki](https://github.com/rustls/webpki).\nBumps the cargo group with 4 updates in the /packages/examples/polymarket/rust/polymarket-demo directory: [bytes](https://github.com/tokio-rs/bytes), [quinn-proto](https://github.com/quinn-rs/quinn), [rustls-webpki](https://github.com/rustls/webpki) and [keccak](https://github.com/RustCrypto/sponges).\nBumps the cargo group with 2 updates in the /packages/examples/rest-api/actix directory: [bytes](https://github.com/tokio-rs/bytes) and [time](https://github.com/time-rs/time).\nBumps the cargo group with 1 update in the /packages/examples/rest-api/axum directory: [bytes](https://github.com/tokio-rs/bytes).\nBumps the cargo group with 2 updates in the /packages/examples/rest-api/rocket directory: [bytes](https://github.com/tokio-rs/bytes) and [time](https://github.com/time-rs/time).\nBumps the cargo group with 1 update in the /packages/examples/roblox/rust directory: [bytes](https://github.com/tokio-rs/bytes).\nBumps the cargo group with 3 updates in the /packages/examples/telegram/rust/telegram-agent directory: [bytes](https://github.com/tokio-rs/bytes), [quinn-proto](https://github.com/quinn-rs/quinn) and [rustls-webpki](https://github.com/rustls/webpki).\nBumps the cargo group with 3 updates in the /packages/examples/text-adventure/rust/game directory: [bytes](https://github.com/tokio-rs/bytes), [quinn-proto](https://github.com/quinn-rs/quinn) and [rustls-webpki](https://github.com/rustls/webpki).\nBumps the cargo group with 1 update in the /packages/examples/tic-tac-toe/rust directory: [bytes](https://github.com/tokio-rs/bytes).\nBumps the cargo group with 3 updates in the /packages/examples/twitter-xai/rust/xai-agent directory: [bytes](https://github.com/tokio-rs/bytes), [quinn-proto](https://github.com/quinn-rs/quinn) and [rustls-webpki](https://github.com/rustls/webpki).\nBumps the cargo group with 1 update in the /packages/examples/virus directory: [rustls-webpki](https://github.com/rustls/webpki).\n\nUpdates `bytes` from 1.11.0 to 1.11.1\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/tokio-rs/bytes/releases\">bytes's releases</a>.</em></p>\n<blockquote>\n<h2>Bytes v1.11.1</h2>\n<h1>1.11.1 (February 3rd, 2026)</h1>\n<ul>\n<li>Fix integer overflow in <code>BytesMut::reserve</code></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md\">bytes's changelog</a>.</em></p>\n<blockquote>\n<h1>1.11.1 (February 3rd, 2026)</h1>\n<ul>\n<li>Fix integer overflow in <code>BytesMut::reserve</code></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/tokio-rs/bytes/commit/417dccdeff249e0c011327de7d92e0d6fbe7cc43\"><code>417dccd</code></a> Release bytes v1.11.1 (<a href=\"https://redirect.github.com/tokio-rs/bytes/issues/820\">#820</a>)</li>\n<li><a href=\"https://github.com/tokio-rs/bytes/commit/d0293b0e35838123c51ca5dfdf468ecafee4398f\"><code>d0293b0</code></a> Merge commit from fork</li>\n<li>See full diff in <a href=\"https://github.com/tokio-rs/bytes/compare/v1.11.0...v1.11.1\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `quinn-proto` from 0.11.13 to 0.11.14\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/quinn-rs/quinn/releases\">quinn-proto's releases</a>.</em></p>\n<blockquote>\n<h2>quinn-proto 0.11.14</h2>\n<p><a href=\"https://github.com/jxs\"><code>@​jxs</code></a> reported a denial of service issue in quinn-proto 5 days ago:</p>\n<ul>\n<li><a href=\"https://github.com/quinn-rs/quinn/security/advisories/GHSA-6xvm-j4wr-6v98\">https://github.com/quinn-rs/quinn/security/advisories/GHSA-6xvm-j4wr-6v98</a></li>\n</ul>\n<p>We coordinated with them to release this version to patch the issue. Unfortunately the maintainers missed these issues during code review and we did not have enough fuzzing coverage -- we regret the oversight and have added an additional fuzzing target.</p>\n<p>Organizations that want to participate in coordinated disclosure can contact us privately to discuss terms.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Fix over-permissive proto dependency edge by <a href=\"https://github.com/Ralith\"><code>@​Ralith</code></a> in <a href=\"https://redirect.github.com/quinn-rs/quinn/pull/2385\">quinn-rs/quinn#2385</a></li>\n<li>0.11.x: avoid unwrapping VarInt decoding during parameter parsing by <a href=\"https://github.com/djc\"><code>@​djc</code></a> in <a href=\"https://redirect.github.com/quinn-rs/quinn/pull/2559\">quinn-rs/quinn#2559</a></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/2c315aa7f9c2a6c1db87f8f51f40623a427c78fd\"><code>2c315aa</code></a> proto: bump version to 0.11.14</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/8ad47f431e7deb82c08b09c2e33ef85aa88fd212\"><code>8ad47f4</code></a> Use newer rustls-pki-types PEM parser API</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/c81c0289abe30d8437ccbf9b6304e2bc9c707cea\"><code>c81c028</code></a> ci: fix workflow syntax</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/0050172969f7e69e136c433181330da7790d8d73\"><code>0050172</code></a> ci: pin wasm-bindgen-cli version</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/8a6f82c58d1c565eab78f986e614223e6ed76a85\"><code>8a6f82c</code></a> Take semver-compatible dependency updates</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/e52db4ad8df0f9720e7b0e32ecc0e48c9a93de0f\"><code>e52db4a</code></a> Apply suggestions from clippy 1.91</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/6df7275c582ca9b7225e0ccf9f9871a55eb73155\"><code>6df7275</code></a> chore: Fix <code>unnecessary_unwrap</code> clippy</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/c8eefa07e087b06d8f2b78ff262ce8ac952994f1\"><code>c8eefa0</code></a> proto: avoid unwrapping varint decoding during parameters parsing</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/9723a977754c8662001b0fef97aab8f3ddf1df92\"><code>9723a97</code></a> fuzz: add fuzzing target for parsing transport parameters</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/eaf0ef30252cef4acec21f150427e604cd4271c9\"><code>eaf0ef3</code></a> Fix over-permissive proto dependency edge (<a href=\"https://redirect.github.com/quinn-rs/quinn/issues/2385\">#2385</a>)</li>\n<li>Additional commits viewable in <a href=\"https://github.com/quinn-rs/quinn/compare/quinn-proto-0.11.13...quinn-proto-0.11.14\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `rustls-webpki` from 0.103.8 to 0.103.11\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/rustls/webpki/releases\">rustls-webpki's releases</a>.</em></p>\n<blockquote>\n<h2>0.103.11</h2>\n<p>In response to <a href=\"https://redirect.github.com/rustls/webpki/issues/464\">#464</a>, we've slightly relaxed requirements for <code>anchor_from_trust_cert()</code> to ignore unknown extensions even if they're marked as critical. This only affects parsing a <code>TrustAnchor</code> from DER, for which most extensions are ignored anyway.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Backport parsing trust anchors with unknown critical extensions to 0.103 by <a href=\"https://github.com/djc\"><code>@​djc</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/466\">rustls/webpki#466</a></li>\n</ul>\n<h2>0.103.10</h2>\n<p><strong>Correct selection of candidate CRLs by Distribution Point and Issuing Distribution Point</strong>. If a certificate had more than one <code>distributionPoint</code>, then only the first <code>distributionPoint</code> would be considered against each CRL's <code>IssuingDistributionPoint</code> <code>distributionPoint</code>, and then the certificate's subsequent <code>distributionPoint</code>s would be ignored.</p>\n<p>The impact was that correctly provided CRLs would not be consulted to check revocation. With <code>UnknownStatusPolicy::Deny</code> (the default) this would lead to incorrect but safe <code>Error::UnknownRevocationStatus</code>. With <code>UnknownStatusPolicy::Allow</code> this would lead to inappropriate acceptance of revoked certificates.</p>\n<p>This vulnerability is thought to be of limited impact. This is because both the certificate and CRL are signed -- an attacker would need to compromise a trusted issuing authority to trigger this bug.  An attacker with such capabilities could likely bypass revocation checking through other more impactful means (such as publishing a valid, empty CRL.)</p>\n<p>More likely, this bug would be latent in normal use, and an attacker could leverage faulty revocation checking to continue using a revoked credential.</p>\n<p>This vulnerability is identified by <a href=\"https://github.com/rustls/webpki/security/advisories/GHSA-pwjx-qhcg-rvj4\">GHSA-pwjx-qhcg-rvj4</a>. Thank you to <a href=\"https://github.com/1seal\"><code>@​1seal</code></a> for the report.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Freshen up rel-0.103 by <a href=\"https://github.com/ctz\"><code>@​ctz</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/455\">rustls/webpki#455</a></li>\n<li>Prepare 0.103.10 by <a href=\"https://github.com/ctz\"><code>@​ctz</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/458\">rustls/webpki#458</a></li>\n</ul>\n<p><strong>Full Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10\">https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10</a></p>\n<h2>0.103.9</h2>\n<h2>What's Changed</h2>\n<ul>\n<li>[backport] ci: avoid denying warnings on nightly toolchains by <a href=\"https://github.com/alex\"><code>@​alex</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/437\">rustls/webpki#437</a></li>\n<li>Backport lifetime change and bump version for release by <a href=\"https://github.com/alex\"><code>@​alex</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/436\">rustls/webpki#436</a></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/rustls/webpki/commit/57bc62ce538c2d0d31d44b3eb8c58e6a0a764b47\"><code>57bc62c</code></a> Bump version to 0.103.11</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/d0fa01ee0a76b7585c13ec43de5854955146ffef\"><code>d0fa01e</code></a> Allow parsing trust anchors with unknown criticial extensions</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/348ce01c01cf8ce21199090c98853992c9c047a8\"><code>348ce01</code></a> Prepare 0.103.10</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/dbde5921164c6e3ea0928654de8cb7d5de8c2b33\"><code>dbde592</code></a> crl: fix authoritative_for() support for multiple URIs</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/9c4838e6129a544a0f7f5d26ac7517860a22992c\"><code>9c4838e</code></a> avoid std::prelude imports</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/009ef667e3bb0544808c39b64e9b6db0d626b117\"><code>009ef66</code></a> fix rust 1.94 ambiguous panic macro warnings</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/c41360d095f9f48e14679a078afd10c2d61716fe\"><code>c41360d</code></a> build(deps): bump taiki-e/cache-cargo-install-action from 2 to 3</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/e401d0083d9cf91d0209bae1db465267d7290233\"><code>e401d00</code></a> generate.py: reformat for black 2026.1.0</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/06cedecbf6af88cad40b2ae2cc4a474f1429ddb6\"><code>06cedec</code></a> Take semver-compatible deps</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/6bc9931d3b63d26cff9451ec59ac7efff73ebbc5\"><code>6bc9931</code></a> Bump version to 0.103.9</li>\n<li>Additional commits viewable in <a href=\"https://github.com/rustls/webpki/compare/v/0.103.8...v/0.103.11\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `bytes` from 1.11.0 to 1.11.1\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/tokio-rs/bytes/releases\">bytes's releases</a>.</em></p>\n<blockquote>\n<h2>Bytes v1.11.1</h2>\n<h1>1.11.1 (February 3rd, 2026)</h1>\n<ul>\n<li>Fix integer overflow in <code>BytesMut::reserve</code></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md\">bytes's changelog</a>.</em></p>\n<blockquote>\n<h1>1.11.1 (February 3rd, 2026)</h1>\n<ul>\n<li>Fix integer overflow in <code>BytesMut::reserve</code></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/tokio-rs/bytes/commit/417dccdeff249e0c011327de7d92e0d6fbe7cc43\"><code>417dccd</code></a> Release bytes v1.11.1 (<a href=\"https://redirect.github.com/tokio-rs/bytes/issues/820\">#820</a>)</li>\n<li><a href=\"https://github.com/tokio-rs/bytes/commit/d0293b0e35838123c51ca5dfdf468ecafee4398f\"><code>d0293b0</code></a> Merge commit from fork</li>\n<li>See full diff in <a href=\"https://github.com/tokio-rs/bytes/compare/v1.11.0...v1.11.1\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `quinn-proto` from 0.11.13 to 0.11.14\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/quinn-rs/quinn/releases\">quinn-proto's releases</a>.</em></p>\n<blockquote>\n<h2>quinn-proto 0.11.14</h2>\n<p><a href=\"https://github.com/jxs\"><code>@​jxs</code></a> reported a denial of service issue in quinn-proto 5 days ago:</p>\n<ul>\n<li><a href=\"https://github.com/quinn-rs/quinn/security/advisories/GHSA-6xvm-j4wr-6v98\">https://github.com/quinn-rs/quinn/security/advisories/GHSA-6xvm-j4wr-6v98</a></li>\n</ul>\n<p>We coordinated with them to release this version to patch the issue. Unfortunately the maintainers missed these issues during code review and we did not have enough fuzzing coverage -- we regret the oversight and have added an additional fuzzing target.</p>\n<p>Organizations that want to participate in coordinated disclosure can contact us privately to discuss terms.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Fix over-permissive proto dependency edge by <a href=\"https://github.com/Ralith\"><code>@​Ralith</code></a> in <a href=\"https://redirect.github.com/quinn-rs/quinn/pull/2385\">quinn-rs/quinn#2385</a></li>\n<li>0.11.x: avoid unwrapping VarInt decoding during parameter parsing by <a href=\"https://github.com/djc\"><code>@​djc</code></a> in <a href=\"https://redirect.github.com/quinn-rs/quinn/pull/2559\">quinn-rs/quinn#2559</a></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/2c315aa7f9c2a6c1db87f8f51f40623a427c78fd\"><code>2c315aa</code></a> proto: bump version to 0.11.14</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/8ad47f431e7deb82c08b09c2e33ef85aa88fd212\"><code>8ad47f4</code></a> Use newer rustls-pki-types PEM parser API</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/c81c0289abe30d8437ccbf9b6304e2bc9c707cea\"><code>c81c028</code></a> ci: fix workflow syntax</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/0050172969f7e69e136c433181330da7790d8d73\"><code>0050172</code></a> ci: pin wasm-bindgen-cli version</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/8a6f82c58d1c565eab78f986e614223e6ed76a85\"><code>8a6f82c</code></a> Take semver-compatible dependency updates</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/e52db4ad8df0f9720e7b0e32ecc0e48c9a93de0f\"><code>e52db4a</code></a> Apply suggestions from clippy 1.91</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/6df7275c582ca9b7225e0ccf9f9871a55eb73155\"><code>6df7275</code></a> chore: Fix <code>unnecessary_unwrap</code> clippy</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/c8eefa07e087b06d8f2b78ff262ce8ac952994f1\"><code>c8eefa0</code></a> proto: avoid unwrapping varint decoding during parameters parsing</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/9723a977754c8662001b0fef97aab8f3ddf1df92\"><code>9723a97</code></a> fuzz: add fuzzing target for parsing transport parameters</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/eaf0ef30252cef4acec21f150427e604cd4271c9\"><code>eaf0ef3</code></a> Fix over-permissive proto dependency edge (<a href=\"https://redirect.github.com/quinn-rs/quinn/issues/2385\">#2385</a>)</li>\n<li>Additional commits viewable in <a href=\"https://github.com/quinn-rs/quinn/compare/quinn-proto-0.11.13...quinn-proto-0.11.14\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `rustls-webpki` from 0.103.8 to 0.103.11\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/rustls/webpki/releases\">rustls-webpki's releases</a>.</em></p>\n<blockquote>\n<h2>0.103.11</h2>\n<p>In response to <a href=\"https://redirect.github.com/rustls/webpki/issues/464\">#464</a>, we've slightly relaxed requirements for <code>anchor_from_trust_cert()</code> to ignore unknown extensions even if they're marked as critical. This only affects parsing a <code>TrustAnchor</code> from DER, for which most extensions are ignored anyway.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Backport parsing trust anchors with unknown critical extensions to 0.103 by <a href=\"https://github.com/djc\"><code>@​djc</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/466\">rustls/webpki#466</a></li>\n</ul>\n<h2>0.103.10</h2>\n<p><strong>Correct selection of candidate CRLs by Distribution Point and Issuing Distribution Point</strong>. If a certificate had more than one <code>distributionPoint</code>, then only the first <code>distributionPoint</code> would be considered against each CRL's <code>IssuingDistributionPoint</code> <code>distributionPoint</code>, and then the certificate's subsequent <code>distributionPoint</code>s would be ignored.</p>\n<p>The impact was that correctly provided CRLs would not be consulted to check revocation. With <code>UnknownStatusPolicy::Deny</code> (the default) this would lead to incorrect but safe <code>Error::UnknownRevocationStatus</code>. With <code>UnknownStatusPolicy::Allow</code> this would lead to inappropriate acceptance of revoked certificates.</p>\n<p>This vulnerability is thought to be of limited impact. This is because both the certificate and CRL are signed -- an attacker would need to compromise a trusted issuing authority to trigger this bug.  An attacker with such capabilities could likely bypass revocation checking through other more impactful means (such as publishing a valid, empty CRL.)</p>\n<p>More likely, this bug would be latent in normal use, and an attacker could leverage faulty revocation checking to continue using a revoked credential.</p>\n<p>This vulnerability is identified by <a href=\"https://github.com/rustls/webpki/security/advisories/GHSA-pwjx-qhcg-rvj4\">GHSA-pwjx-qhcg-rvj4</a>. Thank you to <a href=\"https://github.com/1seal\"><code>@​1seal</code></a> for the report.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Freshen up rel-0.103 by <a href=\"https://github.com/ctz\"><code>@​ctz</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/455\">rustls/webpki#455</a></li>\n<li>Prepare 0.103.10 by <a href=\"https://github.com/ctz\"><code>@​ctz</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/458\">rustls/webpki#458</a></li>\n</ul>\n<p><strong>Full Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10\">https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10</a></p>\n<h2>0.103.9</h2>\n<h2>What's Changed</h2>\n<ul>\n<li>[backport] ci: avoid denying warnings on nightly toolchains by <a href=\"https://github.com/alex\"><code>@​alex</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/437\">rustls/webpki#437</a></li>\n<li>Backport lifetime change and bump version for release by <a href=\"https://github.com/alex\"><code>@​alex</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/436\">rustls/webpki#436</a></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/rustls/webpki/commit/57bc62ce538c2d0d31d44b3eb8c58e6a0a764b47\"><code>57bc62c</code></a> Bump version to 0.103.11</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/d0fa01ee0a76b7585c13ec43de5854955146ffef\"><code>d0fa01e</code></a> Allow parsing trust anchors with unknown criticial extensions</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/348ce01c01cf8ce21199090c98853992c9c047a8\"><code>348ce01</code></a> Prepare 0.103.10</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/dbde5921164c6e3ea0928654de8cb7d5de8c2b33\"><code>dbde592</code></a> crl: fix authoritative_for() support for multiple URIs</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/9c4838e6129a544a0f7f5d26ac7517860a22992c\"><code>9c4838e</code></a> avoid std::prelude imports</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/009ef667e3bb0544808c39b64e9b6db0d626b117\"><code>009ef66</code></a> fix rust 1.94 ambiguous panic macro warnings</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/c41360d095f9f48e14679a078afd10c2d61716fe\"><code>c41360d</code></a> build(deps): bump taiki-e/cache-cargo-install-action from 2 to 3</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/e401d0083d9cf91d0209bae1db465267d7290233\"><code>e401d00</code></a> generate.py: reformat for black 2026.1.0</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/06cedecbf6af88cad40b2ae2cc4a474f1429ddb6\"><code>06cedec</code></a> Take semver-compatible deps</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/6bc9931d3b63d26cff9451ec59ac7efff73ebbc5\"><code>6bc9931</code></a> Bump version to 0.103.9</li>\n<li>Additional commits viewable in <a href=\"https://github.com/rustls/webpki/compare/v/0.103.8...v/0.103.11\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `time` from 0.3.45 to 0.3.47\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/time-rs/time/releases\">time's releases</a>.</em></p>\n<blockquote>\n<h2>v0.3.47</h2>\n<p>See the <a href=\"https://github.com/time-rs/time/blob/main/CHANGELOG.md\">changelog</a> for details.</p>\n<h2>v0.3.46</h2>\n<p>See the <a href=\"https://github.com/time-rs/time/blob/main/CHANGELOG.md\">changelog</a> for details.</p>\n</blockquote>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/time-rs/time/blob/main/CHANGELOG.md\">time's changelog</a>.</em></p>\n<blockquote>\n<h2>0.3.47 [2026-02-05]</h2>\n<h3>Security</h3>\n<ul>\n<li>\n<p>The possibility of a stack exhaustion denial of service attack when parsing RFC 2822 has been\neliminated. Previously, it was possible to craft input that would cause unbounded recursion. Now,\nthe depth of the recursion is tracked, causing an error to be returned if it exceeds a reasonable\nlimit.</p>\n<p>This attack vector requires parsing user-provided input, with any type, using the RFC 2822 format.</p>\n</li>\n</ul>\n<h3>Compatibility</h3>\n<ul>\n<li>Attempting to format a value with a well-known format (i.e. RFC 3339, RFC 2822, or ISO 8601) will\nerror at compile time if the type being formatted does not provide sufficient information. This\nwould previously fail at runtime. Similarly, attempting to format a value with ISO 8601 that is\nonly configured for parsing (i.e. <code>Iso8601::PARSING</code>) will error at compile time.</li>\n</ul>\n<h3>Added</h3>\n<ul>\n<li>Builder methods for format description modifiers, eliminating the need for verbose initialization\nwhen done manually.</li>\n<li><code>date!(2026-W01-2)</code> is now supported. Previously, a space was required between <code>W</code> and <code>01</code>.</li>\n<li><code>[end]</code> now has a <code>trailing_input</code> modifier which can either be <code>prohibit</code> (the default) or\n<code>discard</code>. When it is <code>discard</code>, all remaining input is ignored. Note that if there are components\nafter <code>[end]</code>, they will still attempt to be parsed, likely resulting in an error.</li>\n</ul>\n<h3>Changed</h3>\n<ul>\n<li>More performance gains when parsing.</li>\n</ul>\n<h3>Fixed</h3>\n<ul>\n<li>If manually formatting a value, the number of bytes written was one short for some components.\nThis has been fixed such that the number of bytes written is always correct.</li>\n<li>The possibility of integer overflow when parsing an owned format description has been effectively\neliminated. This would previously wrap when overflow checks were disabled. Instead of storing the\ndepth as <code>u8</code>, it is stored as <code>u32</code>. This would require multiple gigabytes of nested input to\noverflow, at which point we've got other problems and trivial mitigations are available by\ndownstream users.</li>\n</ul>\n<h2>0.3.46 [2026-01-23]</h2>\n<h3>Added</h3>\n<ul>\n<li>All possible panics are now documented for the relevant methods.</li>\n<li>The need to use <code>#[serde(default)]</code> when using custom <code>serde</code> formats is documented. This applies\nonly when deserializing an <code>Option&lt;T&gt;</code>.</li>\n<li><code>Duration::nanoseconds_i128</code> has been made public, mirroring\n<code>std::time::Duration::from_nanos_u128</code>.</li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/time-rs/time/commit/d5144cd2874862d46466c900910cd8577d066019\"><code>d5144cd</code></a> v0.3.47 release</li>\n<li><a href=\"https://github.com/time-rs/time/commit/f6206b050fd54817d8872834b4d61f605570e89b\"><code>f6206b0</code></a> Guard against integer overflow in release mode</li>\n<li><a href=\"https://github.com/time-rs/time/commit/1c63dc7985b8fa26bd8c689423cc56b7a03841ee\"><code>1c63dc7</code></a> Avoid denial of service when parsing Rfc2822</li>\n<li><a href=\"https://github.com/time-rs/time/commit/5940df6e72efb63d246ca1ca59a0f836ad32ad8a\"><code>5940df6</code></a> Add builder methods to avoid verbose construction</li>\n<li><a href=\"https://github.com/time-rs/time/commit/00881a4da1bc5a6cb6313052e5017dbd7daa40f0\"><code>00881a4</code></a> Manually format macros everywhere</li>\n<li><a href=\"https://github.com/time-rs/time/commit/bb723b6d826e46c174d75cd08987061984b0ceb7\"><code>bb723b6</code></a> Add <code>trailing_input</code> modifier to <code>end</code></li>\n<li><a href=\"https://github.com/time-rs/time/commit/31c4f8e0b56e6ae24fe0d6ef0e492b6741dda783\"><code>31c4f8e</code></a> Permit <code>W12</code> in <code>date!</code> macro</li>\n<li><a href=\"https://github.com/time-rs/time/commit/490a17bf306576850f33a86d3ca95d96db7b1dcd\"><code>490a17b</code></a> Mark error paths in well-known formats as cold</li>\n<li><a href=\"https://github.com/time-rs/time/commit/6cb1896a600be1538ecfab8f233fe9cfe9fa8951\"><code>6cb1896</code></a> Optimize <code>Rfc2822</code> parsing</li>\n<li><a href=\"https://github.com/time-rs/time/commit/6d264d59c25e3da0453c3defebf4640b0086a006\"><code>6d264d5</code></a> Remove erroneous <code>#[inline(never)]</code> attributes</li>\n<li>Additional commits viewable in <a href=\"https://github.com/time-rs/time/compare/v0.3.45...v0.3.47\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `bytes` from 1.11.0 to 1.11.1\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/tokio-rs/bytes/releases\">bytes's releases</a>.</em></p>\n<blockquote>\n<h2>Bytes v1.11.1</h2>\n<h1>1.11.1 (February 3rd, 2026)</h1>\n<ul>\n<li>Fix integer overflow in <code>BytesMut::reserve</code></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md\">bytes's changelog</a>.</em></p>\n<blockquote>\n<h1>1.11.1 (February 3rd, 2026)</h1>\n<ul>\n<li>Fix integer overflow in <code>BytesMut::reserve</code></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/tokio-rs/bytes/commit/417dccdeff249e0c011327de7d92e0d6fbe7cc43\"><code>417dccd</code></a> Release bytes v1.11.1 (<a href=\"https://redirect.github.com/tokio-rs/bytes/issues/820\">#820</a>)</li>\n<li><a href=\"https://github.com/tokio-rs/bytes/commit/d0293b0e35838123c51ca5dfdf468ecafee4398f\"><code>d0293b0</code></a> Merge commit from fork</li>\n<li>See full diff in <a href=\"https://github.com/tokio-rs/bytes/compare/v1.11.0...v1.11.1\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `bytes` from 1.11.0 to 1.11.1\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/tokio-rs/bytes/releases\">bytes's releases</a>.</em></p>\n<blockquote>\n<h2>Bytes v1.11.1</h2>\n<h1>1.11.1 (February 3rd, 2026)</h1>\n<ul>\n<li>Fix integer overflow in <code>BytesMut::reserve</code></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md\">bytes's changelog</a>.</em></p>\n<blockquote>\n<h1>1.11.1 (February 3rd, 2026)</h1>\n<ul>\n<li>Fix integer overflow in <code>BytesMut::reserve</code></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/tokio-rs/bytes/commit/417dccdeff249e0c011327de7d92e0d6fbe7cc43\"><code>417dccd</code></a> Release bytes v1.11.1 (<a href=\"https://redirect.github.com/tokio-rs/bytes/issues/820\">#820</a>)</li>\n<li><a href=\"https://github.com/tokio-rs/bytes/commit/d0293b0e35838123c51ca5dfdf468ecafee4398f\"><code>d0293b0</code></a> Merge commit from fork</li>\n<li>See full diff in <a href=\"https://github.com/tokio-rs/bytes/compare/v1.11.0...v1.11.1\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `quinn-proto` from 0.11.13 to 0.11.14\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/quinn-rs/quinn/releases\">quinn-proto's releases</a>.</em></p>\n<blockquote>\n<h2>quinn-proto 0.11.14</h2>\n<p><a href=\"https://github.com/jxs\"><code>@​jxs</code></a> reported a denial of service issue in quinn-proto 5 days ago:</p>\n<ul>\n<li><a href=\"https://github.com/quinn-rs/quinn/security/advisories/GHSA-6xvm-j4wr-6v98\">https://github.com/quinn-rs/quinn/security/advisories/GHSA-6xvm-j4wr-6v98</a></li>\n</ul>\n<p>We coordinated with them to release this version to patch the issue. Unfortunately the maintainers missed these issues during code review and we did not have enough fuzzing coverage -- we regret the oversight and have added an additional fuzzing target.</p>\n<p>Organizations that want to participate in coordinated disclosure can contact us privately to discuss terms.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Fix over-permissive proto dependency edge by <a href=\"https://github.com/Ralith\"><code>@​Ralith</code></a> in <a href=\"https://redirect.github.com/quinn-rs/quinn/pull/2385\">quinn-rs/quinn#2385</a></li>\n<li>0.11.x: avoid unwrapping VarInt decoding during parameter parsing by <a href=\"https://github.com/djc\"><code>@​djc</code></a> in <a href=\"https://redirect.github.com/quinn-rs/quinn/pull/2559\">quinn-rs/quinn#2559</a></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/2c315aa7f9c2a6c1db87f8f51f40623a427c78fd\"><code>2c315aa</code></a> proto: bump version to 0.11.14</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/8ad47f431e7deb82c08b09c2e33ef85aa88fd212\"><code>8ad47f4</code></a> Use newer rustls-pki-types PEM parser API</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/c81c0289abe30d8437ccbf9b6304e2bc9c707cea\"><code>c81c028</code></a> ci: fix workflow syntax</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/0050172969f7e69e136c433181330da7790d8d73\"><code>0050172</code></a> ci: pin wasm-bindgen-cli version</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/8a6f82c58d1c565eab78f986e614223e6ed76a85\"><code>8a6f82c</code></a> Take semver-compatible dependency updates</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/e52db4ad8df0f9720e7b0e32ecc0e48c9a93de0f\"><code>e52db4a</code></a> Apply suggestions from clippy 1.91</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/6df7275c582ca9b7225e0ccf9f9871a55eb73155\"><code>6df7275</code></a> chore: Fix <code>unnecessary_unwrap</code> clippy</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/c8eefa07e087b06d8f2b78ff262ce8ac952994f1\"><code>c8eefa0</code></a> proto: avoid unwrapping varint decoding during parameters parsing</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/9723a977754c8662001b0fef97aab8f3ddf1df92\"><code>9723a97</code></a> fuzz: add fuzzing target for parsing transport parameters</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/eaf0ef30252cef4acec21f150427e604cd4271c9\"><code>eaf0ef3</code></a> Fix over-permissive proto dependency edge (<a href=\"https://redirect.github.com/quinn-rs/quinn/issues/2385\">#2385</a>)</li>\n<li>Additional commits viewable in <a href=\"https://github.com/quinn-rs/quinn/compare/quinn-proto-0.11.13...quinn-proto-0.11.14\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `rustls-webpki` from 0.103.8 to 0.103.11\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/rustls/webpki/releases\">rustls-webpki's releases</a>.</em></p>\n<blockquote>\n<h2>0.103.11</h2>\n<p>In response to <a href=\"https://redirect.github.com/rustls/webpki/issues/464\">#464</a>, we've slightly relaxed requirements for <code>anchor_from_trust_cert()</code> to ignore unknown extensions even if they're marked as critical. This only affects parsing a <code>TrustAnchor</code> from DER, for which most extensions are ignored anyway.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Backport parsing trust anchors with unknown critical extensions to 0.103 by <a href=\"https://github.com/djc\"><code>@​djc</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/466\">rustls/webpki#466</a></li>\n</ul>\n<h2>0.103.10</h2>\n<p><strong>Correct selection of candidate CRLs by Distribution Point and Issuing Distribution Point</strong>. If a certificate had more than one <code>distributionPoint</code>, then only the first <code>distributionPoint</code> would be considered against each CRL's <code>IssuingDistributionPoint</code> <code>distributionPoint</code>, and then the certificate's subsequent <code>distributionPoint</code>s would be ignored.</p>\n<p>The impact was that correctly provided CRLs would not be consulted to check revocation. With <code>UnknownStatusPolicy::Deny</code> (the default) this would lead to incorrect but safe <code>Error::UnknownRevocationStatus</code>. With <code>UnknownStatusPolicy::Allow</code> this would lead to inappropriate acceptance of revoked certificates.</p>\n<p>This vulnerability is thought to be of limited impact. This is because both the certificate and CRL are signed -- an attacker would need to compromise a trusted issuing authority to trigger this bug.  An attacker with such capabilities could likely bypass revocation checking through other more impactful means (such as publishing a valid, empty CRL.)</p>\n<p>More likely, this bug would be latent in normal use, and an attacker could leverage faulty revocation checking to continue using a revoked credential.</p>\n<p>This vulnerability is identified by <a href=\"https://github.com/rustls/webpki/security/advisories/GHSA-pwjx-qhcg-rvj4\">GHSA-pwjx-qhcg-rvj4</a>. Thank you to <a href=\"https://github.com/1seal\"><code>@​1seal</code></a> for the report.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Freshen up rel-0.103 by <a href=\"https://github.com/ctz\"><code>@​ctz</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/455\">rustls/webpki#455</a></li>\n<li>Prepare 0.103.10 by <a href=\"https://github.com/ctz\"><code>@​ctz</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/458\">rustls/webpki#458</a></li>\n</ul>\n<p><strong>Full Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10\">https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10</a></p>\n<h2>0.103.9</h2>\n<h2>What's Changed</h2>\n<ul>\n<li>[backport] ci: avoid denying warnings on nightly toolchains by <a href=\"https://github.com/alex\"><code>@​alex</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/437\">rustls/webpki#437</a></li>\n<li>Backport lifetime change and bump version for release by <a href=\"https://github.com/alex\"><code>@​alex</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/436\">rustls/webpki#436</a></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/rustls/webpki/commit/57bc62ce538c2d0d31d44b3eb8c58e6a0a764b47\"><code>57bc62c</code></a> Bump version to 0.103.11</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/d0fa01ee0a76b7585c13ec43de5854955146ffef\"><code>d0fa01e</code></a> Allow parsing trust anchors with unknown criticial extensions</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/348ce01c01cf8ce21199090c98853992c9c047a8\"><code>348ce01</code></a> Prepare 0.103.10</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/dbde5921164c6e3ea0928654de8cb7d5de8c2b33\"><code>dbde592</code></a> crl: fix authoritative_for() support for multiple URIs</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/9c4838e6129a544a0f7f5d26ac7517860a22992c\"><code>9c4838e</code></a> avoid std::prelude imports</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/009ef667e3bb0544808c39b64e9b6db0d626b117\"><code>009ef66</code></a> fix rust 1.94 ambiguous panic macro warnings</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/c41360d095f9f48e14679a078afd10c2d61716fe\"><code>c41360d</code></a> build(deps): bump taiki-e/cache-cargo-install-action from 2 to 3</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/e401d0083d9cf91d0209bae1db465267d7290233\"><code>e401d00</code></a> generate.py: reformat for black 2026.1.0</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/06cedecbf6af88cad40b2ae2cc4a474f1429ddb6\"><code>06cedec</code></a> Take semver-compatible deps</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/6bc9931d3b63d26cff9451ec59ac7efff73ebbc5\"><code>6bc9931</code></a> Bump version to 0.103.9</li>\n<li>Additional commits viewable in <a href=\"https://github.com/rustls/webpki/compare/v/0.103.8...v/0.103.11\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `sqlx` from 0.7.4 to 0.8.6\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/launchbadge/sqlx/blob/main/CHANGELOG.md\">sqlx's changelog</a>.</em></p>\n<blockquote>\n<h2>0.8.6 - 2025-05-19</h2>\n<p>9 pull requests were merged this release cycle.</p>\n<h3>Added</h3>\n<ul>\n<li>[<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3849\">#3849</a>]: Add color and wrapping to cli help text [[<a href=\"https://github.com/joshka\"><code>@​joshka</code></a>]]</li>\n</ul>\n<h3>Changed</h3>\n<ul>\n<li>[<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3830\">#3830</a>]: build: drop unused <code>tempfile</code> dependency [[<a href=\"https://github.com/paolobarbolini\"><code>@​paolobarbolini</code></a>]]</li>\n<li>[<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3845\">#3845</a>]: chore: clean up no longer used imports [[<a href=\"https://github.com/tisonkun\"><code>@​tisonkun</code></a>]]</li>\n<li>[<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3863\">#3863</a>]: Use unnamed statement in pg when not persistent [[<a href=\"https://github.com/ThomWright\"><code>@​ThomWright</code></a>]]</li>\n<li>[<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3866\">#3866</a>]: chore(doc): clarify compile-time verification and case conversion behavior [[<a href=\"https://github.com/duhby\"><code>@​duhby</code></a>]]</li>\n</ul>\n<h3>Fixed</h3>\n<ul>\n<li>[<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3840\">#3840</a>]: Fix docs.rs build of sqlx-sqlite [[<a href=\"https://github.com/gferon\"><code>@​gferon</code></a>]]</li>\n<li>[<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3848\">#3848</a>]: fix(macros): don't mutate environment variables [[<a href=\"https://github.com/joeydewaal\"><code>@​joeydewaal</code></a>]]</li>\n<li>[<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3855\">#3855</a>]: fix <code>attrubute</code> typo in doc [[<a href=\"https://github.com/kujeger\"><code>@​kujeger</code></a>]]</li>\n<li>[<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3856\">#3856</a>]: fix(macros): slightly improve unsupported type error message [[<a href=\"https://github.com/dyc3\"><code>@​dyc3</code></a>]]</li>\n</ul>\n<p><a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3830\">#3830</a>: <a href=\"https://redirect.github.com/launchbadge/sqlx/pull/3830\">launchbadge/sqlx#3830</a>\n<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3840\">#3840</a>: <a href=\"https://redirect.github.com/launchbadge/sqlx/pull/3840\">launchbadge/sqlx#3840</a>\n<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3845\">#3845</a>: <a href=\"https://redirect.github.com/launchbadge/sqlx/pull/3845\">launchbadge/sqlx#3845</a>\n<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3848\">#3848</a>: <a href=\"https://redirect.github.com/launchbadge/sqlx/pull/3848\">launchbadge/sqlx#3848</a>\n<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3849\">#3849</a>: <a href=\"https://redirect.github.com/launchbadge/sqlx/pull/3849\">launchbadge/sqlx#3849</a>\n<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3855\">#3855</a>: <a href=\"https://redirect.github.com/launchbadge/sqlx/pull/3855\">launchbadge/sqlx#3855</a>\n<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3856\">#3856</a>: <a href=\"https://redirect.github.com/launchbadge/sqlx/pull/3856\">launchbadge/sqlx#3856</a>\n<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3863\">#3863</a>: <a href=\"https://redirect.github.com/launchbadge/sqlx/pull/3863\">launchbadge/sqlx#3863</a>\n<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3866\">#3866</a>: <a href=\"https://redirect.github.com/launchbadge/sqlx/pull/3866\">launchbadge/sqlx#3866</a></p>\n<h2>0.8.5 - 2025-04-14</h2>\n<p>Hotfix release to address two new issues:</p>\n<ul>\n<li>[<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3823\">#3823</a>]: <code>sqlx-cli@0.8.4</code> broke <code>.env</code> default resolution mechanism</li>\n<li>[<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3825\">#3825</a>]: <code>sqlx@0.8.4</code> broke test fixture setup</li>\n</ul>\n<p>The <code>0.8.4</code> release will be yanked as of publishing this one.</p>\n<h3>Added</h3>\n<ul>\n<li>In release PR: <code>sqlx-cli</code> now accepts <code>--no-dotenv</code> in subcommand arguments.</li>\n<li>In release PR: added functionality tests for <code>sqlx-cli</code> to CI.</li>\n<li>In release PR: test <code>#[sqlx::test]</code> twice in CI to cover cleanup.</li>\n</ul>\n<h3>Fixed</h3>\n<ul>\n<li>In release PR: <code>sqlx-cli</code> correctly reads <code>.env</code> files by default again.\n<ul>\n<li>Addresses [<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3823\">#3823</a>].</li>\n</ul>\n</li>\n<li>In release PR: fix bugs in MySQL implementation of <code>#[sqlx::test]</code>.\n<ul>\n<li>Addresses [<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3825\">#3825</a>].</li>\n</ul>\n</li>\n</ul>\n<p><a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3823\">#3823</a>: <a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3823\">launchbadge/sqlx#3823</a>\n<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3825\">#3825</a>: <a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3825\">launchbadge/sqlx#3825</a></p>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/launchbadge/sqlx/commit/bab1b022bd56a64f9a08b46b36b97c5cff19d77e\"><code>bab1b02</code></a> 0.8.6 release (<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3870\">#3870</a>)</li>\n<li><a href=\"https://github.com/launchbadge/sqlx/commit/b27b47ce5350d1110e2a32e54809da1d32ec1d88\"><code>b27b47c</code></a> Pick default features to fix docs.rs build of sqlx-sqlite (<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3840\">#3840</a>)</li>\n<li><a href=\"https://github.com/launchbadge/sqlx/commit/d335f782cf4a607fd2667c04ede5e10db694f5fd\"><code>d335f78</code></a> Use unnamed statement in pg when not persistent (<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3863\">#3863</a>)</li>\n<li><a href=\"https://github.com/launchbadge/sqlx/commit/760b3953ba3942f686fdfbb98af5f29a3918045d\"><code>760b395</code></a> fix(macros): don't mutate environment variables (<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3848\">#3848</a>)</li>\n<li><a href=\"https://github.com/launchbadge/sqlx/commit/4259862adf91d42ea50e3651070ada5f45af3689\"><code>4259862</code></a> fix(macros): slightly improve unsupported type error message (<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3856\">#3856</a>)</li>\n<li><a href=\"https://github.com/launchbadge/sqlx/commit/1b94e1d07d7db5bd8b8f48564a17d40c03fff6fe\"><code>1b94e1d</code></a> chore(doc): clarify compile-time verification and case conversion behavior (#...</li>\n<li><a href=\"https://github.com/launchbadge/sqlx/commit/92c384595264eae9e57a599079d44e5ce3b9e5c1\"><code>92c3845</code></a> fix <code>attrubute</code> typo in doc (<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3855\">#3855</a>)</li>\n<li><a href=\"https://github.com/launchbadge/sqlx/commit/3edc6199db2793de98623b07ce3345d9564271ff\"><code>3edc619</code></a> build: drop unused <code>tempfile</code> dependency (<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3830\">#3830</a>)</li>\n<li><a href=\"https://github.com/launchbadge/sqlx/commit/6b2e0247d47d020d91dc6f7402d42e4e6131af11\"><code>6b2e024</code></a> Add color and wrapping to cli help text (<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3849\">#3849</a>)</li>\n<li><a href=\"https://github.com/launchbadge/sqlx/commit/5736ab6c212480acf7704534cb212b03fca8a3de\"><code>5736ab6</code></a> chore: clean up no longer used imports (<a href=\"https://redirect.github.com/launchbadge/sqlx/issues/3845\">#3845</a>)</li>\n<li>Additional commits viewable in <a href=\"https://github.com/launchbadge/sqlx/compare/v0.7.4...v0.8.6\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `bytes` from 1.11.0 to 1.11.1\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/tokio-rs/bytes/releases\">bytes's releases</a>.</em></p>\n<blockquote>\n<h2>Bytes v1.11.1</h2>\n<h1>1.11.1 (February 3rd, 2026)</h1>\n<ul>\n<li>Fix integer overflow in <code>BytesMut::reserve</code></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md\">bytes's changelog</a>.</em></p>\n<blockquote>\n<h1>1.11.1 (February 3rd, 2026)</h1>\n<ul>\n<li>Fix integer overflow in <code>BytesMut::reserve</code></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/tokio-rs/bytes/commit/417dccdeff249e0c011327de7d92e0d6fbe7cc43\"><code>417dccd</code></a> Release bytes v1.11.1 (<a href=\"https://redirect.github.com/tokio-rs/bytes/issues/820\">#820</a>)</li>\n<li><a href=\"https://github.com/tokio-rs/bytes/commit/d0293b0e35838123c51ca5dfdf468ecafee4398f\"><code>d0293b0</code></a> Merge commit from fork</li>\n<li>See full diff in <a href=\"https://github.com/tokio-rs/bytes/compare/v1.11.0...v1.11.1\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `quinn-proto` from 0.11.13 to 0.11.14\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/quinn-rs/quinn/releases\">quinn-proto's releases</a>.</em></p>\n<blockquote>\n<h2>quinn-proto 0.11.14</h2>\n<p><a href=\"https://github.com/jxs\"><code>@​jxs</code></a> reported a denial of service issue in quinn-proto 5 days ago:</p>\n<ul>\n<li><a href=\"https://github.com/quinn-rs/quinn/security/advisories/GHSA-6xvm-j4wr-6v98\">https://github.com/quinn-rs/quinn/security/advisories/GHSA-6xvm-j4wr-6v98</a></li>\n</ul>\n<p>We coordinated with them to release this version to patch the issue. Unfortunately the maintainers missed these issues during code review and we did not have enough fuzzing coverage -- we regret the oversight and have added an additional fuzzing target.</p>\n<p>Organizations that want to participate in coordinated disclosure can contact us privately to discuss terms.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Fix over-permissive proto dependency edge by <a href=\"https://github.com/Ralith\"><code>@​Ralith</code></a> in <a href=\"https://redirect.github.com/quinn-rs/quinn/pull/2385\">quinn-rs/quinn#2385</a></li>\n<li>0.11.x: avoid unwrapping VarInt decoding during parameter parsing by <a href=\"https://github.com/djc\"><code>@​djc</code></a> in <a href=\"https://redirect.github.com/quinn-rs/quinn/pull/2559\">quinn-rs/quinn#2559</a></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/2c315aa7f9c2a6c1db87f8f51f40623a427c78fd\"><code>2c315aa</code></a> proto: bump version to 0.11.14</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/8ad47f431e7deb82c08b09c2e33ef85aa88fd212\"><code>8ad47f4</code></a> Use newer rustls-pki-types PEM parser API</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/c81c0289abe30d8437ccbf9b6304e2bc9c707cea\"><code>c81c028</code></a> ci: fix workflow syntax</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/0050172969f7e69e136c433181330da7790d8d73\"><code>0050172</code></a> ci: pin wasm-bindgen-cli version</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/8a6f82c58d1c565eab78f986e614223e6ed76a85\"><code>8a6f82c</code></a> Take semver-compatible dependency updates</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/e52db4ad8df0f9720e7b0e32ecc0e48c9a93de0f\"><code>e52db4a</code></a> Apply suggestions from clippy 1.91</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/6df7275c582ca9b7225e0ccf9f9871a55eb73155\"><code>6df7275</code></a> chore: Fix <code>unnecessary_unwrap</code> clippy</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/c8eefa07e087b06d8f2b78ff262ce8ac952994f1\"><code>c8eefa0</code></a> proto: avoid unwrapping varint decoding during parameters parsing</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/9723a977754c8662001b0fef97aab8f3ddf1df92\"><code>9723a97</code></a> fuzz: add fuzzing target for parsing transport parameters</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/eaf0ef30252cef4acec21f150427e604cd4271c9\"><code>eaf0ef3</code></a> Fix over-permissive proto dependency edge (<a href=\"https://redirect.github.com/quinn-rs/quinn/issues/2385\">#2385</a>)</li>\n<li>Additional commits viewable in <a href=\"https://github.com/quinn-rs/quinn/compare/quinn-proto-0.11.13...quinn-proto-0.11.14\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `rustls-webpki` from 0.103.8 to 0.103.11\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/rustls/webpki/releases\">rustls-webpki's releases</a>.</em></p>\n<blockquote>\n<h2>0.103.11</h2>\n<p>In response to <a href=\"https://redirect.github.com/rustls/webpki/issues/464\">#464</a>, we've slightly relaxed requirements for <code>anchor_from_trust_cert()</code> to ignore unknown extensions even if they're marked as critical. This only affects parsing a <code>TrustAnchor</code> from DER, for which most extensions are ignored anyway.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Backport parsing trust anchors with unknown critical extensions to 0.103 by <a href=\"https://github.com/djc\"><code>@​djc</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/466\">rustls/webpki#466</a></li>\n</ul>\n<h2>0.103.10</h2>\n<p><strong>Correct selection of candidate CRLs by Distribution Point and Issuing Distribution Point</strong>. If a certificate had more than one <code>distributionPoint</code>, then only the first <code>distributionPoint</code> would be considered against each CRL's <code>IssuingDistributionPoint</code> <code>distributionPoint</code>, and then the certificate's subsequent <code>distributionPoint</code>s would be ignored.</p>\n<p>The impact was that correctly provided CRLs would not be consulted to check revocation. With <code>UnknownStatusPolicy::Deny</code> (the default) this would lead to incorrect but safe <code>Error::UnknownRevocationStatus</code>. With <code>UnknownStatusPolicy::Allow</code> this would lead to inappropriate acceptance of revoked certificates.</p>\n<p>This vulnerability is thought to be of limited impact. This is because both the certificate and CRL are signed -- an attacker would need to compromise a trusted issuing authority to trigger this bug.  An attacker with such capabilities could likely bypass revocation checking through other more impactful means (such as publishing a valid, empty CRL.)</p>\n<p>More likely, this bug would be latent in normal use, and an attacker could leverage faulty revocation checking to continue using a revoked credential.</p>\n<p>This vulnerability is identified by <a href=\"https://github.com/rustls/webpki/security/advisories/GHSA-pwjx-qhcg-rvj4\">GHSA-pwjx-qhcg-rvj4</a>. Thank you to <a href=\"https://github.com/1seal\"><code>@​1seal</code></a> for the report.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Freshen up rel-0.103 by <a href=\"https://github.com/ctz\"><code>@​ctz</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/455\">rustls/webpki#455</a></li>\n<li>Prepare 0.103.10 by <a href=\"https://github.com/ctz\"><code>@​ctz</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/458\">rustls/webpki#458</a></li>\n</ul>\n<p><strong>Full Changelog</strong>: <a href=\"https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10\">https://github.com/rustls/webpki/compare/v/0.103.9...v/0.103.10</a></p>\n<h2>0.103.9</h2>\n<h2>What's Changed</h2>\n<ul>\n<li>[backport] ci: avoid denying warnings on nightly toolchains by <a href=\"https://github.com/alex\"><code>@​alex</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/437\">rustls/webpki#437</a></li>\n<li>Backport lifetime change and bump version for release by <a href=\"https://github.com/alex\"><code>@​alex</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/436\">rustls/webpki#436</a></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/rustls/webpki/commit/57bc62ce538c2d0d31d44b3eb8c58e6a0a764b47\"><code>57bc62c</code></a> Bump version to 0.103.11</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/d0fa01ee0a76b7585c13ec43de5854955146ffef\"><code>d0fa01e</code></a> Allow parsing trust anchors with unknown criticial extensions</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/348ce01c01cf8ce21199090c98853992c9c047a8\"><code>348ce01</code></a> Prepare 0.103.10</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/dbde5921164c6e3ea0928654de8cb7d5de8c2b33\"><code>dbde592</code></a> crl: fix authoritative_for() support for multiple URIs</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/9c4838e6129a544a0f7f5d26ac7517860a22992c\"><code>9c4838e</code></a> avoid std::prelude imports</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/009ef667e3bb0544808c39b64e9b6db0d626b117\"><code>009ef66</code></a> fix rust 1.94 ambiguous panic macro warnings</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/c41360d095f9f48e14679a078afd10c2d61716fe\"><code>c41360d</code></a> build(deps): bump taiki-e/cache-cargo-install-action from 2 to 3</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/e401d0083d9cf91d0209bae1db465267d7290233\"><code>e401d00</code></a> generate.py: reformat for black 2026.1.0</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/06cedecbf6af88cad40b2ae2cc4a474f1429ddb6\"><code>06cedec</code></a> Take semver-compatible deps</li>\n<li><a href=\"https://github.com/rustls/webpki/commit/6bc9931d3b63d26cff9451ec59ac7efff73ebbc5\"><code>6bc9931</code></a> Bump version to 0.103.9</li>\n<li>Additional commits viewable in <a href=\"https://github.com/rustls/webpki/compare/v/0.103.8...v/0.103.11\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `bytes` from 1.11.0 to 1.11.1\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/tokio-rs/bytes/releases\">bytes's releases</a>.</em></p>\n<blockquote>\n<h2>Bytes v1.11.1</h2>\n<h1>1.11.1 (February 3rd, 2026)</h1>\n<ul>\n<li>Fix integer overflow in <code>BytesMut::reserve</code></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/tokio-rs/bytes/blob/master/CHANGELOG.md\">bytes's changelog</a>.</em></p>\n<blockquote>\n<h1>1.11.1 (February 3rd, 2026)</h1>\n<ul>\n<li>Fix integer overflow in <code>BytesMut::reserve</code></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/tokio-rs/bytes/commit/417dccdeff249e0c011327de7d92e0d6fbe7cc43\"><code>417dccd</code></a> Release bytes v1.11.1 (<a href=\"https://redirect.github.com/tokio-rs/bytes/issues/820\">#820</a>)</li>\n<li><a href=\"https://github.com/tokio-rs/bytes/commit/d0293b0e35838123c51ca5dfdf468ecafee4398f\"><code>d0293b0</code></a> Merge commit from fork</li>\n<li>See full diff in <a href=\"https://github.com/tokio-rs/bytes/compare/v1.11.0...v1.11.1\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `quinn-proto` from 0.11.13 to 0.11.14\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/quinn-rs/quinn/releases\">quinn-proto's releases</a>.</em></p>\n<blockquote>\n<h2>quinn-proto 0.11.14</h2>\n<p><a href=\"https://github.com/jxs\"><code>@​jxs</code></a> reported a denial of service issue in quinn-proto 5 days ago:</p>\n<ul>\n<li><a href=\"https://github.com/quinn-rs/quinn/security/advisories/GHSA-6xvm-j4wr-6v98\">https://github.com/quinn-rs/quinn/security/advisories/GHSA-6xvm-j4wr-6v98</a></li>\n</ul>\n<p>We coordinated with them to release this version to patch the issue. Unfortunately the maintainers missed these issues during code review and we did not have enough fuzzing coverage -- we regret the oversight and have added an additional fuzzing target.</p>\n<p>Organizations that want to participate in coordinated disclosure can contact us privately to discuss terms.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Fix over-permissive proto dependency edge by <a href=\"https://github.com/Ralith\"><code>@​Ralith</code></a> in <a href=\"https://redirect.github.com/quinn-rs/quinn/pull/2385\">quinn-rs/quinn#2385</a></li>\n<li>0.11.x: avoid unwrapping VarInt decoding during parameter parsing by <a href=\"https://github.com/djc\"><code>@​djc</code></a> in <a href=\"https://redirect.github.com/quinn-rs/quinn/pull/2559\">quinn-rs/quinn#2559</a></li>\n</ul>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/2c315aa7f9c2a6c1db87f8f51f40623a427c78fd\"><code>2c315aa</code></a> proto: bump version to 0.11.14</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/8ad47f431e7deb82c08b09c2e33ef85aa88fd212\"><code>8ad47f4</code></a> Use newer rustls-pki-types PEM parser API</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/c81c0289abe30d8437ccbf9b6304e2bc9c707cea\"><code>c81c028</code></a> ci: fix workflow syntax</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/0050172969f7e69e136c433181330da7790d8d73\"><code>0050172</code></a> ci: pin wasm-bindgen-cli version</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/8a6f82c58d1c565eab78f986e614223e6ed76a85\"><code>8a6f82c</code></a> Take semver-compatible dependency updates</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/e52db4ad8df0f9720e7b0e32ecc0e48c9a93de0f\"><code>e52db4a</code></a> Apply suggestions from clippy 1.91</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/6df7275c582ca9b7225e0ccf9f9871a55eb73155\"><code>6df7275</code></a> chore: Fix <code>unnecessary_unwrap</code> clippy</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/c8eefa07e087b06d8f2b78ff262ce8ac952994f1\"><code>c8eefa0</code></a> proto: avoid unwrapping varint decoding during parameters parsing</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/9723a977754c8662001b0fef97aab8f3ddf1df92\"><code>9723a97</code></a> fuzz: add fuzzing target for parsing transport parameters</li>\n<li><a href=\"https://github.com/quinn-rs/quinn/commit/eaf0ef30252cef4acec21f150427e604cd4271c9\"><code>eaf0ef3</code></a> Fix over-permissive proto dependency edge (<a href=\"https://redirect.github.com/quinn-rs/quinn/issues/2385\">#2385</a>)</li>\n<li>Additional commits viewable in <a href=\"https://github.com/quinn-rs/quinn/compare/quinn-proto-0.11.13...quinn-proto-0.11.14\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `rustls-webpki` from 0.103.8 to 0.103.11\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/rustls/webpki/releases\">rustls-webpki's releases</a>.</em></p>\n<blockquote>\n<h2>0.103.11</h2>\n<p>In response to <a href=\"https://redirect.github.com/rustls/webpki/issues/464\">#464</a>, we've slightly relaxed requirements for <code>anchor_from_trust_cert()</code> to ignore unknown extensions even if they're marked as critical. This only affects parsing a <code>TrustAnchor</code> from DER, for which most extensions are ignored anyway.</p>\n<h2>What's Changed</h2>\n<ul>\n<li>Backport parsing trust anchors with unknown critical extensions to 0.103 by <a href=\"https://github.com/djc\"><code>@​djc</code></a> in <a href=\"https://redirect.github.com/rustls/webpki/pull/466\">rustls/webpki#466</a></li>\n</ul>\n<h2>0.103.10</h2>\n<p><strong>Correct selection of candidate CRLs by Distribution Point and Issuing Distribution Point</strong>. If a certificate had more than one <code>distributionPoint</code>, then only the first <code>distributionPoint</code> would be considered against each CRL's <code>IssuingDistributionPoint</code> <code>distributionPoint</code>, and then the certificate's subsequent <code>distributionPoint</code>s would be ignored.</p>\n<p>The impact was that correctly provided CRLs would not be consulted to check revocation. With <code>UnknownStatusPolicy::Deny</code> (the default) this would lead to incorrect but safe <code>Error::UnknownRevocationStatus</code>. With <code>UnknownStatusPolicy::Allow</code> this would lead to inappropriate acceptance of revoked certificates.</p>\n<p>This vulnerability is thought to be of limited impact. This is because both the certificate and CRL are signed -- an attacker would need to compromise a trusted issuing authority to trigger this bug.  An attacker with such capabilities could likely bypass revocation checking through other more impactful means (such as publishing a valid, empty CRL.)</p>\n<p>More likely, this bug would be latent in normal use, and an attacker could leverage faulty revocation checking to continue using a revoked credential.</p>\n<p>This vulnerability is identified by <a href=\"https://github.com/rustls/webpki/security/advisories/GHSA-pwjx-qhcg-rvj4\">GHSA-pwjx-qhcg-rvj4</a>. Thank you to <a href=\"https://github.com/1seal\"><code>@​1...\n\n_Description has been truncated_",
      "repository": "elizaos/eliza",
      "createdAt": "2026-04-13T07:34:28Z",
      "mergedAt": "2026-04-13T08:16:21Z",
      "additions": 4008,
      "deletions": 450
    },
    {
      "id": "PR_kwDOMT5cIs7R12_x",
      "title": "feat(core): shared batch-queue drains and bounded knowledge embeddings",
      "author": "odilitime",
      "number": 6722,
      "body": "Introduce utils/batch-queue (PriorityQueue, BatchProcessor, TaskDrain, BatchQueue, Semaphore) so embedding drains, action-filter index build, prompt-batcher affinity tasks, and knowledge embedding paths share one concurrency/retry/task story.\r\n\r\n- EmbeddingGenerationService uses BatchQueue; optional TEXT_EMBEDDING boots as no-op.\r\n- ActionFilterService buildIndex uses BatchProcessor for action embeddings.\r\n- PromptBatcher uses TaskDrain per affinity (skipRegisterWorker for BATCHER_DRAIN).\r\n- Knowledge: document-processor fallback and generateTextEmbeddingsBatch use BatchProcessor.\r\n- Remove duplicate Semaphore from runtime; re-export canonical Semaphore from package entries.\r\n- Polish: invalid priority warn + normal tier, TaskDrain interval reconcile on existing task, dispose high-priority flush via BatchProcessor, onDrainBatchOutcomes, maxAttemptsCap, clear after dispose.\r\n\r\nDocs: BATCH_QUEUE.md, DESIGN, ROADMAP, CHANGELOG, README, public runtime/batch-queue.mdx; tests for batch-queue and TaskDrain.\r\n\r\nMade-with: Cursor\n\n<!-- CURSOR_SUMMARY -->\n---\n\n> [!NOTE]\n> **Medium Risk**\n> Touches core background-processing paths (embedding drain scheduling, prompt-batcher affinity tasks, and knowledge/action embedding concurrency), so regressions could affect throughput and task execution behavior, though changes are additive and covered by new unit tests and docs.\n> \n> **Overview**\n> Introduces a new shared `utils/batch-queue` stack in `@elizaos/core` (**`PriorityQueue`**, **`BatchProcessor`**, **`TaskDrain`**, **`BatchQueue`**, and a single **`Semaphore`**) to standardize priority ordering, bounded parallelism, retries/backoff, and repeat-task drain lifecycle.\n> \n> Refactors key runtime paths to use this shared pipeline: `EmbeddingGenerationService` now drains via `BatchQueue` (and becomes a **no-op** when no `TEXT_EMBEDDING` model is registered), action-filter index embedding uses `BatchProcessor` with retries and non-fatal handling of invalid vectors, prompt-batcher per-affinity scheduling uses `TaskDrain` with `skipRegisterWorker`, and knowledge embedding fallbacks replace unbounded `Promise.all` with bounded concurrency.\n> \n> Updates exports to remove duplicate `Semaphore` implementations (now re-exported from `utils/batch-queue` across `index.node`/`index.browser`/`index.edge`), adds unit tests for the new queue/drain primitives, and expands public and contributor docs (new batch-queue docs page, `BATCH_QUEUE.md`, roadmap/design/changelog/README updates) and navigation to surface the subsystem.\n> \n> <sup>Reviewed by [Cursor Bugbot](https://cursor.com/bugbot) for commit 62169a6da95fd375bf35472601cc0f1aacb2b78b. Bugbot is set up for automated code reviews on this repo. Configure [here](https://www.cursor.com/dashboard/bugbot).</sup>\n<!-- /CURSOR_SUMMARY -->\n\n<!-- This is an auto-generated comment: release notes by coderabbit.ai -->\n\n## Summary by CodeRabbit\n\n## Release Notes\n\n* **New Features**\n  * Introduced a standardized batch queue subsystem for managing concurrent task processing, queue prioritization, and automatic retries with backoff.\n  * Added prompt cache support via `promptSegments` parameter for text generation, enabling providers to optimize cache efficiency.\n  * Enhanced embedding generation with bounded concurrency control and improved retry behavior.\n\n* **Improvements**\n  * Embedding service now gracefully handles missing models with a warning instead of throwing an error.\n  * Refined error handling and recovery for batch processing workflows across embedding, knowledge, and action filtering.\n\n* **Documentation**\n  * New comprehensive guides on batch queue subsystem design and usage patterns.\n  * Updated README and added ROADMAP documenting planned features and design rationale.\n\n<!-- end of auto-generated comment: release notes by coderabbit.ai -->\n\n<!-- greptile_comment -->\n\n<h3>Greptile Summary</h3>\n\nThis PR introduces a shared `utils/batch-queue` stack (`PriorityQueue`, `BatchProcessor`, `TaskDrain`, `BatchQueue`, `Semaphore`) to consolidate previously ad-hoc concurrency/retry/task patterns across `EmbeddingGenerationService`, `ActionFilterService`, `PromptBatcher`, and knowledge-processing paths. The architecture is well-reasoned and the `skipRegisterWorker` / `BATCHER_DRAIN` delegation pattern is correctly grounded in `task.ts`.\n\n- **P1 in `batch-processor.ts`:** `onExhausted` is `await`-ed inside the `catch` block without a try-catch guard. If `onExhausted` throws (e.g., `runtime.log()` or `runtime.emitEvent()` on a DB outage in `EmbeddingGenerationService`), the error escapes `processOne`, causes `Promise.all` in `processBatch` to reject, and propagates through `BatchQueue.drain()` — disrupting the drain task lifecycle and skipping `onDrainBatchOutcomes`/`onDrainComplete` callbacks.\n- Two P2 style/consistency issues in `llm.ts` and `document-processor.ts` around error-swallowing inside `process` callbacks are noted inline.\n\n<h3>Confidence Score: 4/5</h3>\n\nSafe to merge after fixing the onExhausted error propagation in batch-processor; P2 findings are non-blocking style improvements.\n\nOne P1 issue: if onExhausted throws (possible in EmbeddingGenerationService on DB failure), the entire drain cycle errors and outcome callbacks are skipped. The fix is a one-line try-catch wrap. The rest of the architecture — PriorityQueue, TaskDrain, BatchQueue, BATCHER_DRAIN delegation — is correct.\n\npackages/typescript/src/utils/batch-queue/batch-processor.ts (P1: onExhausted propagation). packages/typescript/src/features/knowledge/llm.ts and document-processor.ts (P2 style notes).\n\n<h3>Important Files Changed</h3>\n\n\n\n\n| Filename | Overview |\n|----------|----------|\n| packages/typescript/src/utils/batch-queue/batch-processor.ts | New: stateless batch executor with semaphore, retries, backoff. P1 issue: onExhausted errors propagate through Promise.all, disrupting BatchQueue.drain() lifecycle and skipping outcome callbacks. |\n| packages/typescript/src/utils/batch-queue/index.ts | New: composed BatchQueue (PriorityQueue + BatchProcessor + TaskDrain) with dispose, drain, and interval-update. Logic is sound; drain re-entry guard and disposed flag are correct. |\n| packages/typescript/src/utils/batch-queue/task-drain.ts | New: repeat-task lifecycle manager (find-or-create, interval reconcile, dispose). skipRegisterWorker pattern for BATCHER_DRAIN is correct; maxFailures: -1 JSON-safe sentinel is well-reasoned. |\n| packages/typescript/src/utils/batch-queue/priority-queue.ts | New: three-tier priority queue (high/normal/low) with O(1) enqueue, maxSize/onPressure overflow hooks, and drain filter. Logic is correct. |\n| packages/typescript/src/utils/batch-queue/semaphore.ts | Canonical Semaphore extracted from runtime; logic is correct and re-exported consistently across all entry points. |\n| packages/typescript/src/services/embedding.ts | Refactored to use BatchQueue; onExhausted makes async runtime.log/emitEvent calls that can throw — which would propagate through drain() due to the P1 issue in batch-processor. |\n| packages/typescript/src/features/knowledge/llm.ts | generateTextEmbeddingsBatch now uses BatchProcessor for concurrency limiting but swallows errors inside process(), bypassing retry/onExhausted (P2). generateBatchEmbeddingsViaRuntime fallback adds retries — correct. |\n| packages/typescript/src/features/knowledge/document-processor.ts | generateBatchEmbeddingsViaRuntime fallback migrated to BatchProcessor with retries; sparse-array pattern leaves undefined holes when text is undefined (P2), but caller handles gracefully. |\n| packages/typescript/src/services/action-filter.ts | buildIndex now uses BatchProcessor for action embeddings; onExhausted is synchronous (no async calls), so no propagation risk. Logic is clean. |\n| packages/typescript/src/utils/prompt-batcher/batcher.ts | affinityTaskIds replaced with TaskDrain instances; skipRegisterWorker pattern for BATCHER_DRAIN confirmed correct (worker registered in task.ts:74). Dispose path properly awaits drain.dispose() per-affinity. |\n| packages/typescript/src/utils/prompt-batcher/shared.ts | Re-exports canonical Semaphore from batch-queue/semaphore so existing dispatcher imports continue to work without code changes. |\n\n</details>\n\n\n\n<h3>Sequence Diagram</h3>\n\n```mermaid\nsequenceDiagram\n    participant TW as TaskWorker (repeat task)\n    participant BQ as BatchQueue\n    participant PQ as PriorityQueue\n    participant BP as BatchProcessor\n    participant S as Semaphore\n    participant P as process(item)\n    participant OE as onExhausted(item,err)\n\n    TW->>BQ: drain()\n    BQ->>BQ: isDraining = true\n    BQ->>PQ: dequeueBatch(batchSize)\n    PQ-->>BQ: items[]\n    BQ->>BP: processBatch(items[])\n    BP->>BP: Promise.all(items.map(processOne))\n    loop per item\n        BP->>S: acquire()\n        BP->>P: await process(item)\n        alt success\n            P-->>BP: returns\n            BP->>S: release()\n            BP-->>BP: outcome success:true\n        else all retries exhausted\n            P-->>BP: throws\n            BP->>OE: await onExhausted(item, err)\n            Note over BP,OE: If OE throws, Promise.all rejects\n            OE-->>BP: returns or throws\n            BP->>S: release() via finally\n            BP-->>BP: outcome success:false\n        end\n    end\n    BP-->>BQ: BatchItemOutcome[]\n    BQ->>BQ: onDrainBatchOutcomes(outcomes)\n    BQ->>BQ: isDraining = false\n```\n\n<!-- greptile_failed_comments -->\n<details><summary><h3>Comments Outside Diff (1)</h3></summary>\n\n1. `packages/typescript/src/features/knowledge/document-processor.ts`, line 549-580 ([link](https://github.com/elizaos/eliza/blob/a5f6ac9d40ca8cb8c68b0a9dcd40320591228cd0/packages/typescript/src/features/knowledge/document-processor.ts#L549-L580)) \n\n   <a href=\"#\"><img alt=\"P2\" src=\"https://greptile-static-assets.s3.amazonaws.com/badges/p2.svg?v=7\" align=\"top\"></a> **Sparse array leaves `undefined` holes when `text` is `undefined`**\n\n   `new Array(texts.length)` creates a sparse array. The `if (text === undefined) { return; }` guard makes `process` return successfully without writing `slots[idx]`, and `onExhausted` is never triggered (since no error was thrown). The slot stays `undefined`, which differs from the `onExhausted` path that writes `[]`. The caller in `generateEmbeddingsBatch` handles `undefined` correctly (`embedding && embedding.length > 0`), so this is not a runtime crash, but the inconsistency between the two failure paths could confuse future changes.\n\n   Consider replacing the early-return guard with an explicit `throw` so `onExhausted` consistently handles all failure cases:\n   ```ts\n   process: async (idx) => {\n     const text = texts[idx];\n     if (text === undefined) {\n       throw new Error(`No text for index ${idx}`);\n     }\n     // ...\n   },\n   ```\n\n</details>\n\n<!-- /greptile_failed_comments -->\n\n<sub>Reviews (1): Last reviewed commit: [\"feat(core): shared batch-queue drains an...\"](https://github.com/elizaos/eliza/commit/a5f6ac9d40ca8cb8c68b0a9dcd40320591228cd0) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=28155519)</sub>\n\n> Greptile also left **2 inline comments** on this PR.\n\n<!-- /greptile_comment -->",
      "repository": "elizaos/eliza",
      "createdAt": "2026-04-13T01:24:14Z",
      "mergedAt": "2026-04-13T07:15:05Z",
      "additions": 1698,
      "deletions": 496
    },
    {
      "id": "PR_kwDOMT5cIs7R6bUu",
      "title": "chore(deps): bump the uv group across 2 directories with 20 updates",
      "author": "dependabot",
      "number": 6725,
      "body": "Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n<details>\n<summary>Dependabot commands and options</summary>\n<br />\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 that have been made to it\n- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions\nYou can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/elizaOS/eliza/network/alerts).\n\n</details>\n\n<!-- greptile_comment -->\n\n<h3>Greptile Summary</h3>\n\nDependabot bump of 20 Python packages across the OSWorld and solana-gym-env benchmarks. Most updates are routine minor/patch bumps to stable releases (Flask, requests, cryptography, torch, aiohttp, etc.); the two items worth a second look are `transformers~=5.0.0rc3` (a pre-release candidate pinned as a direct dependency with a major version jump from 4.x) and the `protobuf` minimum-version jump from 6.x to 7.x in the solana package.\n\n<h3>Confidence Score: 5/5</h3>\n\nSafe to merge; all findings are P2 style/best-practice notes in benchmark packages that don't affect production code.\n\nAll changed files are benchmark packages isolated from the main runtime. The transformers RC pin and protobuf major-version bump are worth noting but neither blocks the benchmark from running today, and both are non-production paths. No P0/P1 issues were found.\n\npackages/benchmarks/OSWorld/pyproject.toml (transformers RC pin) and packages/benchmarks/solana/solana-gym-env/pyproject.toml (protobuf major bump) deserve a manual sanity-check before relying on benchmark results.\n\n<h3>Important Files Changed</h3>\n\n| Filename | Overview |\n|----------|----------|\n| packages/benchmarks/OSWorld/pyproject.toml | Major dependency bumps: transformers 4.35.2→5.0.0rc3 (pre-release, major version change), torch 2.5.0→2.8.0, requests 2.31.0→2.33.0, flask 3.0.0→3.1.3; the RC pin for transformers warrants attention. |\n| packages/benchmarks/OSWorld/requirements.txt | Mirrors pyproject.toml bumps: transformers 4.35.2→5.0.0rc3, torch 2.5.0→2.8.0, flask 3.0.0→3.1.3; same RC version concern applies here. |\n| packages/benchmarks/OSWorld/monitor/requirements.txt | Flask updated from 3.0.0 to 3.1.3 (minor/patch bump, low risk). |\n| packages/benchmarks/OSWorld/uv.lock | Lock file regenerated to match new dependency resolutions; many transitive packages updated (aiohttp 3.12.15→3.13.4, etc.). |\n| packages/benchmarks/solana/solana-gym-env/pyproject.toml | cryptography bumped 46.0.4→46.0.7 (patch, fine); protobuf bumped 6.33.5→7.34.1 (major version, potential breaking change). |\n| packages/benchmarks/solana/solana-gym-env/uv.lock | Lock file regenerated for solana-gym-env transitive dependencies; routine update. |\n\n</details>\n\n<h3>Flowchart</h3>\n\n```mermaid\n%%{init: {'theme': 'neutral'}}%%\nflowchart TD\n    A[Dependabot PR] --> B[OSWorld benchmark]\n    A --> C[solana-gym-env benchmark]\n\n    B --> D[\"Flask 3.0.0 → 3.1.3 ✅\"]\n    B --> E[\"requests 2.31.0 → 2.33.0 ✅\"]\n    B --> F[\"torch 2.5.0 → 2.8.0 ✅\"]\n    B --> G[\"transformers 4.35.2 → 5.0.0rc3 ⚠️ RC + major bump\"]\n\n    C --> H[\"cryptography 46.0.4 → 46.0.7 ✅\"]\n    C --> I[\"protobuf ≥6.33.5 → ≥7.34.1 ⚠️ major bump\"]\n    C --> J[\"other transitive bumps ✅\"]\n\n    G --> K[uv.lock updated]\n    I --> K\n```\n\n<sub>Reviews (1): Last reviewed commit: [\"chore(deps): bump the uv group across 2 ...\"](https://github.com/elizaos/eliza/commit/2dbc12bdcf35ef0ad3ff1af6149269855499810f) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=28179942)</sub>\n\n> Greptile also left **2 inline comments** on this PR.\n\n<!-- /greptile_comment -->",
      "repository": "elizaos/eliza",
      "createdAt": "2026-04-13T08:25:09Z",
      "mergedAt": null,
      "additions": 1515,
      "deletions": 1166
    },
    {
      "id": "PR_kwDOMT5cIs7R5i0r",
      "title": "chore(deps): bump the npm_and_yarn group across 11 directories with 5 updates",
      "author": "dependabot",
      "number": 6723,
      "body": "Bumps the npm_and_yarn group with 1 update in the /packages/agent directory: [drizzle-orm](https://github.com/drizzle-team/drizzle-orm).\nBumps the npm_and_yarn group with 1 update in the /packages/benchmarks/solana/solana-gym-env/docs/trajectory-viewer directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\nBumps the npm_and_yarn group with 1 update in the /packages/examples/_app directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\nBumps the npm_and_yarn group with 1 update in the /packages/examples/app/capacitor/frontend directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\nBumps the npm_and_yarn group with 1 update in the /packages/examples/app/electron/backend directory: [electron](https://github.com/electron/electron).\nBumps the npm_and_yarn group with 1 update in the /packages/examples/app/electron/frontend directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\nBumps the npm_and_yarn group with 1 update in the /packages/examples/app/tauri/frontend directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\nBumps the npm_and_yarn group with 1 update in the /packages/examples/elizagotchi directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\nBumps the npm_and_yarn group with 1 update in the /packages/examples/react directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\nBumps the npm_and_yarn group with 1 update in the /packages/examples/react-wasm directory: [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite).\nBumps the npm_and_yarn group with 2 updates in the /packages/native-plugins/agent directory: [rollup](https://github.com/rollup/rollup) and [minimatch](https://github.com/isaacs/minimatch).\n\nUpdates `drizzle-orm` from 0.45.1 to 0.45.2\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/drizzle-team/drizzle-orm/releases\">drizzle-orm's releases</a>.</em></p>\n<blockquote>\n<h2>0.45.2</h2>\n<ul>\n<li>Fixed <code>sql.identifier()</code>, <code>sql.as()</code> escaping issues. Previously all the values passed to this functions were not properly escaped\ncausing a possible SQL Injection (CWE-89) vulnerability</li>\n</ul>\n<p>Thanks to <a href=\"https://github.com/EthanKim88\"><code>@​EthanKim88</code></a>, <a href=\"https://github.com/0x90sh\"><code>@​0x90sh</code></a> and <a href=\"https://github.com/wgoodall01\"><code>@​wgoodall01</code></a> for reaching out to us with a reproduction and suggested fix</p>\n</blockquote>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/drizzle-team/drizzle-orm/commit/273c78071d4841b497f5144734b38294df7ec64b\"><code>273c780</code></a> + 0.45.2 (<a href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5534\">#5534</a>)</li>\n<li><a href=\"https://github.com/drizzle-team/drizzle-orm/commit/4aa6ecfee4b4728dadf6f77f071a149878a3c6c0\"><code>4aa6ecf</code></a> Kit updates (<a href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5490\">#5490</a>)</li>\n<li><a href=\"https://github.com/drizzle-team/drizzle-orm/commit/e8e6edfef5ca69c6188d320388ad440265911057\"><code>e8e6edf</code></a> feat(drizzle-kit): support d1 via binding (<a href=\"https://redirect.github.com/drizzle-team/drizzle-orm/issues/5302\">#5302</a>)</li>\n<li>See full diff in <a href=\"https://github.com/drizzle-team/drizzle-orm/compare/0.45.1...0.45.2\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `vite` from 5.4.21 to 8.0.8\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/vitejs/vite/releases\">vite's releases</a>.</em></p>\n<blockquote>\n<h2>v8.0.8</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.8/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.7</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.7/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.6</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.6/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.5</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.5/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.4</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.4/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.3</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.3/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.3</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.3/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.2</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.2/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.2</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.2/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.1/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.1/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>plugin-legacy@8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/plugin-legacy@8.0.1/packages/plugin-legacy/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.0/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>plugin-legacy@8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/plugin-legacy@8.0.0/packages/plugin-legacy/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0-beta.18</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0-beta.18/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0-beta.17</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0-beta.17/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md\">vite's changelog</a>.</em></p>\n<blockquote>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.7...v8.0.8\">8.0.8</a> (2026-04-09)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>update rolldown to 1.0.0-rc.15 (<a href=\"https://redirect.github.com/vitejs/vite/issues/22201\">#22201</a>) (<a href=\"https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab\">6baf587</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<ul>\n<li>avoid <code>dns.getDefaultResultOrder</code> temporary (<a href=\"https://redirect.github.com/vitejs/vite/issues/22202\">#22202</a>) (<a href=\"https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53\">15f1c15</a>)</li>\n<li><strong>ssr:</strong> class property keys hoisting matching imports (<a href=\"https://redirect.github.com/vitejs/vite/issues/22199\">#22199</a>) (<a href=\"https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3\">e137601</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.6...v8.0.7\">8.0.7</a> (2026-04-07)<!-- raw HTML omitted --></h2>\n<h3>Bug Fixes</h3>\n<ul>\n<li>use sync dns.getDefaultResultOrder instead of dns.promises (<a href=\"https://redirect.github.com/vitejs/vite/issues/22185\">#22185</a>) (<a href=\"https://github.com/vitejs/vite/commit/5c05b04db6f3f64af60ff6525eb5f04bc330fbb5\">5c05b04</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.5...v8.0.6\">8.0.6</a> (2026-04-07)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>update rolldown to 1.0.0-rc.13 (<a href=\"https://redirect.github.com/vitejs/vite/issues/22097\">#22097</a>) (<a href=\"https://github.com/vitejs/vite/commit/51d3e48980bf3e352d31ecde49d1aa56859918e0\">51d3e48</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<ul>\n<li><strong>css:</strong> avoid mutating sass error multiple times (<a href=\"https://redirect.github.com/vitejs/vite/issues/22115\">#22115</a>) (<a href=\"https://github.com/vitejs/vite/commit/d5081c2f3e73f3fc06956d8cf5f2cf06463c2325\">d5081c2</a>)</li>\n<li><strong>optimize-deps:</strong> hoist CJS interop assignment (<a href=\"https://redirect.github.com/vitejs/vite/issues/22156\">#22156</a>) (<a href=\"https://github.com/vitejs/vite/commit/17a8f9edfcd3b9344668120a84e3328aeada3c97\">17a8f9e</a>)</li>\n</ul>\n<h3>Performance Improvements</h3>\n<ul>\n<li>early return in <code>getLocalhostAddressIfDiffersFromDNS</code> when DNS order is <code>verbatim</code> (<a href=\"https://redirect.github.com/vitejs/vite/issues/22151\">#22151</a>) (<a href=\"https://github.com/vitejs/vite/commit/56ec25613dba6cc71911f7af6e545ebcb77ec012\">56ec256</a>)</li>\n</ul>\n<h3>Miscellaneous Chores</h3>\n<ul>\n<li><strong>create-vite:</strong> remove unnecessary DOM.Iterable (<a href=\"https://redirect.github.com/vitejs/vite/issues/22168\">#22168</a>) (<a href=\"https://github.com/vitejs/vite/commit/bdc53ab1e67f7e2e000112eeed9c85413ddb0e9e\">bdc53ab</a>)</li>\n<li>replace remaining prettier script (<a href=\"https://redirect.github.com/vitejs/vite/issues/22179\">#22179</a>) (<a href=\"https://github.com/vitejs/vite/commit/af71fb26dd15098b9523efc3d8ed04f27553174b\">af71fb2</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.4...v8.0.5\">8.0.5</a> (2026-04-06)<!-- raw HTML omitted --></h2>\n<h3>Bug Fixes</h3>\n<ul>\n<li>apply server.fs check to env transport (<a href=\"https://redirect.github.com/vitejs/vite/issues/22159\">#22159</a>) (<a href=\"https://github.com/vitejs/vite/commit/f02d9fde0b195afe3ea2944414186962fbbe41e0\">f02d9fd</a>)</li>\n<li>avoid path traversal with optimize deps sourcemap handler (<a href=\"https://redirect.github.com/vitejs/vite/issues/22161\">#22161</a>) (<a href=\"https://github.com/vitejs/vite/commit/79f002f2286c03c88c7b74c511c7f9fc6dc46694\">79f002f</a>)</li>\n<li>check <code>server.fs</code> after stripping query as well (<a href=\"https://redirect.github.com/vitejs/vite/issues/22160\">#22160</a>) (<a href=\"https://github.com/vitejs/vite/commit/a9a3df299378d9cbc5f069e3536a369f8188c8ff\">a9a3df2</a>)</li>\n<li>disallow referencing files outside the package from sourcemap (<a href=\"https://redirect.github.com/vitejs/vite/issues/22158\">#22158</a>) (<a href=\"https://github.com/vitejs/vite/commit/f05f50173461789e0f1323fe06b51f18ca41c132\">f05f501</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.3...v8.0.4\">8.0.4</a> (2026-04-06)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>allow esbuild 0.28 as peer deps (<a href=\"https://redirect.github.com/vitejs/vite/issues/22155\">#22155</a>) (<a href=\"https://github.com/vitejs/vite/commit/b0da97372f5dba73e78035d1cc7680466ff6cf7f\">b0da973</a>)</li>\n<li><strong>hmr:</strong> truncate list of files on hmr update (<a href=\"https://redirect.github.com/vitejs/vite/issues/21535\">#21535</a>) (<a href=\"https://github.com/vitejs/vite/commit/d00e806d7be15ebbfe7875e9244963d80ee8b142\">d00e806</a>)</li>\n<li><strong>optimizer:</strong> log when dependency scanning or bundling takes over 1s (<a href=\"https://redirect.github.com/vitejs/vite/issues/21797\">#21797</a>) (<a href=\"https://github.com/vitejs/vite/commit/f61a1ab33b05dc6f6a7eda6e8bc9c4c5b9aab133\">f61a1ab</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/vitejs/vite/commit/6e585dcb05a3b159fba7ae57f7faf0b1eca7a390\"><code>6e585dc</code></a> release: v8.0.8</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3\"><code>e137601</code></a> fix(ssr): class property keys hoisting matching imports (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22199\">#22199</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53\"><code>15f1c15</code></a> fix: avoid <code>dns.getDefaultResultOrder</code> temporary (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22202\">#22202</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab\"><code>6baf587</code></a> feat: update rolldown to 1.0.0-rc.15 (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22201\">#22201</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/fdb2e6f63894d8c458c1778f3df77afe537f2bb2\"><code>fdb2e6f</code></a> release: v8.0.7</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/5c05b04db6f3f64af60ff6525eb5f04bc330fbb5\"><code>5c05b04</code></a> fix: use sync dns.getDefaultResultOrder instead of dns.promises (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22185\">#22185</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/7b3086fae4170252e4cd53f3988f207a943ac5cb\"><code>7b3086f</code></a> release: v8.0.6</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/af71fb26dd15098b9523efc3d8ed04f27553174b\"><code>af71fb2</code></a> chore: replace remaining prettier script (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22179\">#22179</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/51d3e48980bf3e352d31ecde49d1aa56859918e0\"><code>51d3e48</code></a> feat: update rolldown to 1.0.0-rc.13 (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22097\">#22097</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/17a8f9edfcd3b9344668120a84e3328aeada3c97\"><code>17a8f9e</code></a> fix(optimize-deps): hoist CJS interop assignment (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22156\">#22156</a>)</li>\n<li>Additional commits viewable in <a href=\"https://github.com/vitejs/vite/commits/v8.0.8/packages/vite\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `vite` from 5.4.21 to 8.0.8\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/vitejs/vite/releases\">vite's releases</a>.</em></p>\n<blockquote>\n<h2>v8.0.8</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.8/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.7</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.7/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.6</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.6/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.5</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.5/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.4</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.4/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.3</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.3/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.3</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.3/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.2</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.2/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.2</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.2/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.1/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.1/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>plugin-legacy@8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/plugin-legacy@8.0.1/packages/plugin-legacy/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.0/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>plugin-legacy@8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/plugin-legacy@8.0.0/packages/plugin-legacy/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0-beta.18</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0-beta.18/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0-beta.17</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0-beta.17/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md\">vite's changelog</a>.</em></p>\n<blockquote>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.7...v8.0.8\">8.0.8</a> (2026-04-09)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>update rolldown to 1.0.0-rc.15 (<a href=\"https://redirect.github.com/vitejs/vite/issues/22201\">#22201</a>) (<a href=\"https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab\">6baf587</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<ul>\n<li>avoid <code>dns.getDefaultResultOrder</code> temporary (<a href=\"https://redirect.github.com/vitejs/vite/issues/22202\">#22202</a>) (<a href=\"https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53\">15f1c15</a>)</li>\n<li><strong>ssr:</strong> class property keys hoisting matching imports (<a href=\"https://redirect.github.com/vitejs/vite/issues/22199\">#22199</a>) (<a href=\"https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3\">e137601</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.6...v8.0.7\">8.0.7</a> (2026-04-07)<!-- raw HTML omitted --></h2>\n<h3>Bug Fixes</h3>\n<ul>\n<li>use sync dns.getDefaultResultOrder instead of dns.promises (<a href=\"https://redirect.github.com/vitejs/vite/issues/22185\">#22185</a>) (<a href=\"https://github.com/vitejs/vite/commit/5c05b04db6f3f64af60ff6525eb5f04bc330fbb5\">5c05b04</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.5...v8.0.6\">8.0.6</a> (2026-04-07)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>update rolldown to 1.0.0-rc.13 (<a href=\"https://redirect.github.com/vitejs/vite/issues/22097\">#22097</a>) (<a href=\"https://github.com/vitejs/vite/commit/51d3e48980bf3e352d31ecde49d1aa56859918e0\">51d3e48</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<ul>\n<li><strong>css:</strong> avoid mutating sass error multiple times (<a href=\"https://redirect.github.com/vitejs/vite/issues/22115\">#22115</a>) (<a href=\"https://github.com/vitejs/vite/commit/d5081c2f3e73f3fc06956d8cf5f2cf06463c2325\">d5081c2</a>)</li>\n<li><strong>optimize-deps:</strong> hoist CJS interop assignment (<a href=\"https://redirect.github.com/vitejs/vite/issues/22156\">#22156</a>) (<a href=\"https://github.com/vitejs/vite/commit/17a8f9edfcd3b9344668120a84e3328aeada3c97\">17a8f9e</a>)</li>\n</ul>\n<h3>Performance Improvements</h3>\n<ul>\n<li>early return in <code>getLocalhostAddressIfDiffersFromDNS</code> when DNS order is <code>verbatim</code> (<a href=\"https://redirect.github.com/vitejs/vite/issues/22151\">#22151</a>) (<a href=\"https://github.com/vitejs/vite/commit/56ec25613dba6cc71911f7af6e545ebcb77ec012\">56ec256</a>)</li>\n</ul>\n<h3>Miscellaneous Chores</h3>\n<ul>\n<li><strong>create-vite:</strong> remove unnecessary DOM.Iterable (<a href=\"https://redirect.github.com/vitejs/vite/issues/22168\">#22168</a>) (<a href=\"https://github.com/vitejs/vite/commit/bdc53ab1e67f7e2e000112eeed9c85413ddb0e9e\">bdc53ab</a>)</li>\n<li>replace remaining prettier script (<a href=\"https://redirect.github.com/vitejs/vite/issues/22179\">#22179</a>) (<a href=\"https://github.com/vitejs/vite/commit/af71fb26dd15098b9523efc3d8ed04f27553174b\">af71fb2</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.4...v8.0.5\">8.0.5</a> (2026-04-06)<!-- raw HTML omitted --></h2>\n<h3>Bug Fixes</h3>\n<ul>\n<li>apply server.fs check to env transport (<a href=\"https://redirect.github.com/vitejs/vite/issues/22159\">#22159</a>) (<a href=\"https://github.com/vitejs/vite/commit/f02d9fde0b195afe3ea2944414186962fbbe41e0\">f02d9fd</a>)</li>\n<li>avoid path traversal with optimize deps sourcemap handler (<a href=\"https://redirect.github.com/vitejs/vite/issues/22161\">#22161</a>) (<a href=\"https://github.com/vitejs/vite/commit/79f002f2286c03c88c7b74c511c7f9fc6dc46694\">79f002f</a>)</li>\n<li>check <code>server.fs</code> after stripping query as well (<a href=\"https://redirect.github.com/vitejs/vite/issues/22160\">#22160</a>) (<a href=\"https://github.com/vitejs/vite/commit/a9a3df299378d9cbc5f069e3536a369f8188c8ff\">a9a3df2</a>)</li>\n<li>disallow referencing files outside the package from sourcemap (<a href=\"https://redirect.github.com/vitejs/vite/issues/22158\">#22158</a>) (<a href=\"https://github.com/vitejs/vite/commit/f05f50173461789e0f1323fe06b51f18ca41c132\">f05f501</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.3...v8.0.4\">8.0.4</a> (2026-04-06)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>allow esbuild 0.28 as peer deps (<a href=\"https://redirect.github.com/vitejs/vite/issues/22155\">#22155</a>) (<a href=\"https://github.com/vitejs/vite/commit/b0da97372f5dba73e78035d1cc7680466ff6cf7f\">b0da973</a>)</li>\n<li><strong>hmr:</strong> truncate list of files on hmr update (<a href=\"https://redirect.github.com/vitejs/vite/issues/21535\">#21535</a>) (<a href=\"https://github.com/vitejs/vite/commit/d00e806d7be15ebbfe7875e9244963d80ee8b142\">d00e806</a>)</li>\n<li><strong>optimizer:</strong> log when dependency scanning or bundling takes over 1s (<a href=\"https://redirect.github.com/vitejs/vite/issues/21797\">#21797</a>) (<a href=\"https://github.com/vitejs/vite/commit/f61a1ab33b05dc6f6a7eda6e8bc9c4c5b9aab133\">f61a1ab</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/vitejs/vite/commit/6e585dcb05a3b159fba7ae57f7faf0b1eca7a390\"><code>6e585dc</code></a> release: v8.0.8</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3\"><code>e137601</code></a> fix(ssr): class property keys hoisting matching imports (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22199\">#22199</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53\"><code>15f1c15</code></a> fix: avoid <code>dns.getDefaultResultOrder</code> temporary (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22202\">#22202</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab\"><code>6baf587</code></a> feat: update rolldown to 1.0.0-rc.15 (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22201\">#22201</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/fdb2e6f63894d8c458c1778f3df77afe537f2bb2\"><code>fdb2e6f</code></a> release: v8.0.7</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/5c05b04db6f3f64af60ff6525eb5f04bc330fbb5\"><code>5c05b04</code></a> fix: use sync dns.getDefaultResultOrder instead of dns.promises (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22185\">#22185</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/7b3086fae4170252e4cd53f3988f207a943ac5cb\"><code>7b3086f</code></a> release: v8.0.6</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/af71fb26dd15098b9523efc3d8ed04f27553174b\"><code>af71fb2</code></a> chore: replace remaining prettier script (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22179\">#22179</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/51d3e48980bf3e352d31ecde49d1aa56859918e0\"><code>51d3e48</code></a> feat: update rolldown to 1.0.0-rc.13 (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22097\">#22097</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/17a8f9edfcd3b9344668120a84e3328aeada3c97\"><code>17a8f9e</code></a> fix(optimize-deps): hoist CJS interop assignment (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22156\">#22156</a>)</li>\n<li>Additional commits viewable in <a href=\"https://github.com/vitejs/vite/commits/v8.0.8/packages/vite\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `vite` from 5.4.21 to 8.0.8\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/vitejs/vite/releases\">vite's releases</a>.</em></p>\n<blockquote>\n<h2>v8.0.8</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.8/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.7</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.7/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.6</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.6/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.5</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.5/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.4</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.4/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.3</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.3/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.3</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.3/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.2</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.2/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.2</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.2/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.1/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.1/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>plugin-legacy@8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/plugin-legacy@8.0.1/packages/plugin-legacy/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.0/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>plugin-legacy@8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/plugin-legacy@8.0.0/packages/plugin-legacy/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0-beta.18</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0-beta.18/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0-beta.17</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0-beta.17/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md\">vite's changelog</a>.</em></p>\n<blockquote>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.7...v8.0.8\">8.0.8</a> (2026-04-09)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>update rolldown to 1.0.0-rc.15 (<a href=\"https://redirect.github.com/vitejs/vite/issues/22201\">#22201</a>) (<a href=\"https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab\">6baf587</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<ul>\n<li>avoid <code>dns.getDefaultResultOrder</code> temporary (<a href=\"https://redirect.github.com/vitejs/vite/issues/22202\">#22202</a>) (<a href=\"https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53\">15f1c15</a>)</li>\n<li><strong>ssr:</strong> class property keys hoisting matching imports (<a href=\"https://redirect.github.com/vitejs/vite/issues/22199\">#22199</a>) (<a href=\"https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3\">e137601</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.6...v8.0.7\">8.0.7</a> (2026-04-07)<!-- raw HTML omitted --></h2>\n<h3>Bug Fixes</h3>\n<ul>\n<li>use sync dns.getDefaultResultOrder instead of dns.promises (<a href=\"https://redirect.github.com/vitejs/vite/issues/22185\">#22185</a>) (<a href=\"https://github.com/vitejs/vite/commit/5c05b04db6f3f64af60ff6525eb5f04bc330fbb5\">5c05b04</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.5...v8.0.6\">8.0.6</a> (2026-04-07)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>update rolldown to 1.0.0-rc.13 (<a href=\"https://redirect.github.com/vitejs/vite/issues/22097\">#22097</a>) (<a href=\"https://github.com/vitejs/vite/commit/51d3e48980bf3e352d31ecde49d1aa56859918e0\">51d3e48</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<ul>\n<li><strong>css:</strong> avoid mutating sass error multiple times (<a href=\"https://redirect.github.com/vitejs/vite/issues/22115\">#22115</a>) (<a href=\"https://github.com/vitejs/vite/commit/d5081c2f3e73f3fc06956d8cf5f2cf06463c2325\">d5081c2</a>)</li>\n<li><strong>optimize-deps:</strong> hoist CJS interop assignment (<a href=\"https://redirect.github.com/vitejs/vite/issues/22156\">#22156</a>) (<a href=\"https://github.com/vitejs/vite/commit/17a8f9edfcd3b9344668120a84e3328aeada3c97\">17a8f9e</a>)</li>\n</ul>\n<h3>Performance Improvements</h3>\n<ul>\n<li>early return in <code>getLocalhostAddressIfDiffersFromDNS</code> when DNS order is <code>verbatim</code> (<a href=\"https://redirect.github.com/vitejs/vite/issues/22151\">#22151</a>) (<a href=\"https://github.com/vitejs/vite/commit/56ec25613dba6cc71911f7af6e545ebcb77ec012\">56ec256</a>)</li>\n</ul>\n<h3>Miscellaneous Chores</h3>\n<ul>\n<li><strong>create-vite:</strong> remove unnecessary DOM.Iterable (<a href=\"https://redirect.github.com/vitejs/vite/issues/22168\">#22168</a>) (<a href=\"https://github.com/vitejs/vite/commit/bdc53ab1e67f7e2e000112eeed9c85413ddb0e9e\">bdc53ab</a>)</li>\n<li>replace remaining prettier script (<a href=\"https://redirect.github.com/vitejs/vite/issues/22179\">#22179</a>) (<a href=\"https://github.com/vitejs/vite/commit/af71fb26dd15098b9523efc3d8ed04f27553174b\">af71fb2</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.4...v8.0.5\">8.0.5</a> (2026-04-06)<!-- raw HTML omitted --></h2>\n<h3>Bug Fixes</h3>\n<ul>\n<li>apply server.fs check to env transport (<a href=\"https://redirect.github.com/vitejs/vite/issues/22159\">#22159</a>) (<a href=\"https://github.com/vitejs/vite/commit/f02d9fde0b195afe3ea2944414186962fbbe41e0\">f02d9fd</a>)</li>\n<li>avoid path traversal with optimize deps sourcemap handler (<a href=\"https://redirect.github.com/vitejs/vite/issues/22161\">#22161</a>) (<a href=\"https://github.com/vitejs/vite/commit/79f002f2286c03c88c7b74c511c7f9fc6dc46694\">79f002f</a>)</li>\n<li>check <code>server.fs</code> after stripping query as well (<a href=\"https://redirect.github.com/vitejs/vite/issues/22160\">#22160</a>) (<a href=\"https://github.com/vitejs/vite/commit/a9a3df299378d9cbc5f069e3536a369f8188c8ff\">a9a3df2</a>)</li>\n<li>disallow referencing files outside the package from sourcemap (<a href=\"https://redirect.github.com/vitejs/vite/issues/22158\">#22158</a>) (<a href=\"https://github.com/vitejs/vite/commit/f05f50173461789e0f1323fe06b51f18ca41c132\">f05f501</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.3...v8.0.4\">8.0.4</a> (2026-04-06)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>allow esbuild 0.28 as peer deps (<a href=\"https://redirect.github.com/vitejs/vite/issues/22155\">#22155</a>) (<a href=\"https://github.com/vitejs/vite/commit/b0da97372f5dba73e78035d1cc7680466ff6cf7f\">b0da973</a>)</li>\n<li><strong>hmr:</strong> truncate list of files on hmr update (<a href=\"https://redirect.github.com/vitejs/vite/issues/21535\">#21535</a>) (<a href=\"https://github.com/vitejs/vite/commit/d00e806d7be15ebbfe7875e9244963d80ee8b142\">d00e806</a>)</li>\n<li><strong>optimizer:</strong> log when dependency scanning or bundling takes over 1s (<a href=\"https://redirect.github.com/vitejs/vite/issues/21797\">#21797</a>) (<a href=\"https://github.com/vitejs/vite/commit/f61a1ab33b05dc6f6a7eda6e8bc9c4c5b9aab133\">f61a1ab</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/vitejs/vite/commit/6e585dcb05a3b159fba7ae57f7faf0b1eca7a390\"><code>6e585dc</code></a> release: v8.0.8</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3\"><code>e137601</code></a> fix(ssr): class property keys hoisting matching imports (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22199\">#22199</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53\"><code>15f1c15</code></a> fix: avoid <code>dns.getDefaultResultOrder</code> temporary (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22202\">#22202</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab\"><code>6baf587</code></a> feat: update rolldown to 1.0.0-rc.15 (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22201\">#22201</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/fdb2e6f63894d8c458c1778f3df77afe537f2bb2\"><code>fdb2e6f</code></a> release: v8.0.7</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/5c05b04db6f3f64af60ff6525eb5f04bc330fbb5\"><code>5c05b04</code></a> fix: use sync dns.getDefaultResultOrder instead of dns.promises (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22185\">#22185</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/7b3086fae4170252e4cd53f3988f207a943ac5cb\"><code>7b3086f</code></a> release: v8.0.6</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/af71fb26dd15098b9523efc3d8ed04f27553174b\"><code>af71fb2</code></a> chore: replace remaining prettier script (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22179\">#22179</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/51d3e48980bf3e352d31ecde49d1aa56859918e0\"><code>51d3e48</code></a> feat: update rolldown to 1.0.0-rc.13 (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22097\">#22097</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/17a8f9edfcd3b9344668120a84e3328aeada3c97\"><code>17a8f9e</code></a> fix(optimize-deps): hoist CJS interop assignment (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22156\">#22156</a>)</li>\n<li>Additional commits viewable in <a href=\"https://github.com/vitejs/vite/commits/v8.0.8/packages/vite\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `electron` from 33.4.11 to 41.2.0\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/electron/electron/releases\">electron's releases</a>.</em></p>\n<blockquote>\n<h2>electron v41.2.0</h2>\n<h1>Release Notes for v41.2.0</h1>\n<h2>Features</h2>\n<ul>\n<li>Added <code>allowExtensions</code> privilege to <code>protocol.registerSchemesAsPrivileged()</code> to enable Chrome extensions on custom protocols. <a href=\"https://redirect.github.com/electron/electron/pull/50529\">#50529</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50588\">40</a>, <a href=\"https://redirect.github.com/electron/electron/pull/50530\">42</a>)<!-- raw HTML omitted --></li>\n</ul>\n<h2>Fixes</h2>\n<ul>\n<li>BrowserWindow now enforces min/max size constraints on window creation, even if they conflict with the requested width and height. <a href=\"https://redirect.github.com/electron/electron/pull/50753\">#50753</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50754\">42</a>)<!-- raw HTML omitted --></li>\n<li>Fixed a regression on Linux where transparent frameless windows would have visible borders.  Also fixed a longstanding issue where transparent windows on Linux could show smeared and glitched content as windows moved around. <a href=\"https://redirect.github.com/electron/electron/pull/50605\">#50605</a></li>\n<li>Fixed an intermittent <code>Invoke in DisallowJavascriptExecutionScope</code> crash on application quit when a <code>WebContents</code> (or other JS-emitting native object) is garbage-collected during shutdown. <a href=\"https://redirect.github.com/electron/electron/pull/50694\">#50694</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50693\">40</a>, <a href=\"https://redirect.github.com/electron/electron/pull/50695\">42</a>)<!-- raw HTML omitted --></li>\n<li>Fixed an issue on macOS where <code>show</code>/<code>hide</code> events and <code>WebContents</code> visibility state could be reported incorrectly when multiple <code>WebContentsView</code>s were attached to a window. <a href=\"https://redirect.github.com/electron/electron/pull/50715\">#50715</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50713\">40</a>, <a href=\"https://redirect.github.com/electron/electron/pull/50712\">42</a>)<!-- raw HTML omitted --></li>\n<li>Fixed an issue where concurrent <code>getFileHandle</code> requests on the same path could stall indefinitely. <a href=\"https://redirect.github.com/electron/electron/pull/50670\">#50670</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50672\">40</a>, <a href=\"https://redirect.github.com/electron/electron/pull/50671\">42</a>)<!-- raw HTML omitted --></li>\n<li>Fixed an issue where margins did not look as expected when printing in silent mode. <a href=\"https://redirect.github.com/electron/electron/pull/50652\">#50652</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50653\">42</a>)<!-- raw HTML omitted --></li>\n<li>Fixed an issue where the <code>webContents.print()</code> callback may not fire correctly in some cases. <a href=\"https://redirect.github.com/electron/electron/pull/50604\">#50604</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50603\">42</a>)<!-- raw HTML omitted --></li>\n<li>Fixed the appearance of maximized windows on GNOME in Wayland, especially when non-default GTK themes like Breeze are set. <a href=\"https://redirect.github.com/electron/electron/pull/50645\">#50645</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50644\">42</a>)<!-- raw HTML omitted --></li>\n<li>Removed &quot;representedObject is not a WeakPtrToElectronMenuModelAsNSObject&quot; logging when interacting with macOS menus. <a href=\"https://redirect.github.com/electron/electron/pull/50613\">#50613</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50614\">42</a>)<!-- raw HTML omitted --></li>\n</ul>\n<h2>Other Changes</h2>\n<ul>\n<li>Updated Chromium to 146.0.7680.179. <a href=\"https://redirect.github.com/electron/electron/pull/50616\">#50616</a></li>\n</ul>\n<h2>electron v41.1.1</h2>\n<h1>Release Notes for v41.1.1</h1>\n<h2>Fixes</h2>\n<ul>\n<li>Fixed a crash when calling <code>contentTracing.getTraceBufferUsage()</code> while a trace session is active. <a href=\"https://redirect.github.com/electron/electron/pull/50594\">#50594</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50595\">39</a>, <a href=\"https://redirect.github.com/electron/electron/pull/50593\">40</a>, <a href=\"https://redirect.github.com/electron/electron/pull/50592\">42</a>)<!-- raw HTML omitted --></li>\n<li>Fixed printing on Linux failing with &quot;Invalid printer settings&quot;. <a href=\"https://redirect.github.com/electron/electron/pull/50486\">#50486</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50487\">42</a>)<!-- raw HTML omitted --></li>\n</ul>\n<h2>Other Changes</h2>\n<ul>\n<li>Enabled profile-guided optimization for V8 builtins in release builds, improving JavaScript builtin performance (Array, String, RegExp, etc.). <a href=\"https://redirect.github.com/electron/electron/pull/50574\">#50574</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50575\">40</a>, <a href=\"https://redirect.github.com/electron/electron/pull/50573\">42</a>)<!-- raw HTML omitted --></li>\n</ul>\n<h2>electron v41.1.0</h2>\n<h1>Release Notes for v41.1.0</h1>\n<h2>Features</h2>\n<ul>\n<li>Added nativeTheme.shouldDifferentiateWithoutColor on macOS. <a href=\"https://redirect.github.com/electron/electron/pull/50408\">#50408</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50409\">42</a>)<!-- raw HTML omitted --></li>\n<li>Notes: Added support for the <code>urgency</code> option in Notifications on Windows. <a href=\"https://redirect.github.com/electron/electron/pull/50382\">#50382</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50383\">42</a>)<!-- raw HTML omitted --></li>\n</ul>\n<h2>Fixes</h2>\n<ul>\n<li>Fixed a bug where Windows notification icons could fail to save because their temporary filenames contained invalid characters. <a href=\"https://redirect.github.com/electron/electron/pull/50483\">#50483</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50484\">40</a>)<!-- raw HTML omitted --></li>\n<li>Fixed a crash in <code>clipboard.readImage()</code> when the clipboard contains malformed image data. <a href=\"https://redirect.github.com/electron/electron/pull/50492\">#50492</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50493\">39</a>, <a href=\"https://redirect.github.com/electron/electron/pull/50491\">40</a>, <a href=\"https://redirect.github.com/electron/electron/pull/50494\">42</a>)<!-- raw HTML omitted --></li>\n<li>Fixed a crash when calling an offscreen shared texture's <code>release()</code> after the texture object was garbage collected. <a href=\"https://redirect.github.com/electron/electron/pull/50501\">#50501</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50499\">39</a>, <a href=\"https://redirect.github.com/electron/electron/pull/50500\">40</a>, <a href=\"https://redirect.github.com/electron/electron/pull/50502\">42</a>)<!-- raw HTML omitted --></li>\n<li>Fixed an accessibility issue where the AXMenuOpened event was not fired on menu creation. <a href=\"https://redirect.github.com/electron/electron/pull/50506\">#50506</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50505\">40</a>, <a href=\"https://redirect.github.com/electron/electron/pull/50504\">42</a>)<!-- raw HTML omitted --></li>\n<li>Fixed an issue where an app shortcut may lose its icon after auto-updating on Windows. <a href=\"https://redirect.github.com/electron/electron/pull/50519\">#50519</a> <!-- raw HTML omitted -->(Also in <a href=\"https://redirect.github.com/electron/electron/pull/50518\">40</a>)<!-- raw HTML omitted --></li>\n</ul>\n<h2>Other Changes</h2>\n<ul>\n<li>Updated Chromium to 146.0.7680.166. <a href=\"https://redirect.github.com/electron/electron/pull/50458\">#50458</a></li>\n</ul>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/electron/electron/commit/73945911380613ad15d71147132c0153aef9b02a\"><code>7394591</code></a> ci: use hermetic mac SDK for the release ffmpeg build (<a href=\"https://redirect.github.com/electron/electron/issues/50755\">#50755</a>)</li>\n<li><a href=\"https://github.com/electron/electron/commit/d37b4f5d9fe649bb6c7abbd605241016ef75d8e8\"><code>d37b4f5</code></a> fix: enforce size constraints on window creation on Windows and Linux (<a href=\"https://redirect.github.com/electron/electron/issues/50753\">#50753</a>)</li>\n<li><a href=\"https://github.com/electron/electron/commit/6f1d53ae8f84cd240fa1c18f82a0d44911b104d1\"><code>6f1d53a</code></a> ci: make src-cache upload atomic (<a href=\"https://redirect.github.com/electron/electron/issues/50750\">#50750</a>)</li>\n<li><a href=\"https://github.com/electron/electron/commit/fb150b2f17bf748380f9c488f78e30de3e4ff335\"><code>fb150b2</code></a> docs: link menu type references (<a href=\"https://redirect.github.com/electron/electron/issues/50752\">#50752</a>)</li>\n<li><a href=\"https://github.com/electron/electron/commit/c219f2c9908f99c52e268afcc7e55d33f06553bd\"><code>c219f2c</code></a> build: derive patches upstream-head ref from script path (41-x-y) (<a href=\"https://redirect.github.com/electron/electron/issues/50741\">#50741</a>)</li>\n<li><a href=\"https://github.com/electron/electron/commit/3fa5280fde6df55ab6ceef4e3cbe27f25a73f3f4\"><code>3fa5280</code></a> fix: re-enable MacWebContentsOcclusion with embedder window fix (<a href=\"https://redirect.github.com/electron/electron/issues/50715\">#50715</a>)</li>\n<li><a href=\"https://github.com/electron/electron/commit/45ad6b3525a200e6e6a38fd54633bac7e6f1db9b\"><code>45ad6b3</code></a> chore: bump chromium to 146.0.7680.179 (41-x-y) (<a href=\"https://redirect.github.com/electron/electron/issues/50616\">#50616</a>)</li>\n<li><a href=\"https://github.com/electron/electron/commit/26e20c7402c4d7b6898e481f3084a0cd54c841c8\"><code>26e20c7</code></a> ci: use github mirror to get lint dependency versions (<a href=\"https://redirect.github.com/electron/electron/issues/50736\">#50736</a>)</li>\n<li><a href=\"https://github.com/electron/electron/commit/ca1522385cd4f2e195ce9707fa456a5928a8c494\"><code>ca15223</code></a> chore: harden GitHub Actions against script injection patterns (<a href=\"https://redirect.github.com/electron/electron/issues/50708\">#50708</a>)</li>\n<li><a href=\"https://github.com/electron/electron/commit/3d743a6ef725223987bb0a1b66c52ec06f4e4925\"><code>3d743a6</code></a> build: replace npx with lockfile-pinned binaries (<a href=\"https://redirect.github.com/electron/electron/issues/50718\">#50718</a>)</li>\n<li>Additional commits viewable in <a href=\"https://github.com/electron/electron/compare/v33.4.11...v41.2.0\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `vite` from 5.4.21 to 8.0.8\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/vitejs/vite/releases\">vite's releases</a>.</em></p>\n<blockquote>\n<h2>v8.0.8</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.8/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.7</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.7/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.6</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.6/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.5</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.5/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.4</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.4/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.3</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.3/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.3</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.3/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.2</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.2/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.2</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.2/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.1/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.1/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>plugin-legacy@8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/plugin-legacy@8.0.1/packages/plugin-legacy/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.0/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>plugin-legacy@8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/plugin-legacy@8.0.0/packages/plugin-legacy/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0-beta.18</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0-beta.18/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0-beta.17</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0-beta.17/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md\">vite's changelog</a>.</em></p>\n<blockquote>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.7...v8.0.8\">8.0.8</a> (2026-04-09)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>update rolldown to 1.0.0-rc.15 (<a href=\"https://redirect.github.com/vitejs/vite/issues/22201\">#22201</a>) (<a href=\"https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab\">6baf587</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<ul>\n<li>avoid <code>dns.getDefaultResultOrder</code> temporary (<a href=\"https://redirect.github.com/vitejs/vite/issues/22202\">#22202</a>) (<a href=\"https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53\">15f1c15</a>)</li>\n<li><strong>ssr:</strong> class property keys hoisting matching imports (<a href=\"https://redirect.github.com/vitejs/vite/issues/22199\">#22199</a>) (<a href=\"https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3\">e137601</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.6...v8.0.7\">8.0.7</a> (2026-04-07)<!-- raw HTML omitted --></h2>\n<h3>Bug Fixes</h3>\n<ul>\n<li>use sync dns.getDefaultResultOrder instead of dns.promises (<a href=\"https://redirect.github.com/vitejs/vite/issues/22185\">#22185</a>) (<a href=\"https://github.com/vitejs/vite/commit/5c05b04db6f3f64af60ff6525eb5f04bc330fbb5\">5c05b04</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.5...v8.0.6\">8.0.6</a> (2026-04-07)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>update rolldown to 1.0.0-rc.13 (<a href=\"https://redirect.github.com/vitejs/vite/issues/22097\">#22097</a>) (<a href=\"https://github.com/vitejs/vite/commit/51d3e48980bf3e352d31ecde49d1aa56859918e0\">51d3e48</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<ul>\n<li><strong>css:</strong> avoid mutating sass error multiple times (<a href=\"https://redirect.github.com/vitejs/vite/issues/22115\">#22115</a>) (<a href=\"https://github.com/vitejs/vite/commit/d5081c2f3e73f3fc06956d8cf5f2cf06463c2325\">d5081c2</a>)</li>\n<li><strong>optimize-deps:</strong> hoist CJS interop assignment (<a href=\"https://redirect.github.com/vitejs/vite/issues/22156\">#22156</a>) (<a href=\"https://github.com/vitejs/vite/commit/17a8f9edfcd3b9344668120a84e3328aeada3c97\">17a8f9e</a>)</li>\n</ul>\n<h3>Performance Improvements</h3>\n<ul>\n<li>early return in <code>getLocalhostAddressIfDiffersFromDNS</code> when DNS order is <code>verbatim</code> (<a href=\"https://redirect.github.com/vitejs/vite/issues/22151\">#22151</a>) (<a href=\"https://github.com/vitejs/vite/commit/56ec25613dba6cc71911f7af6e545ebcb77ec012\">56ec256</a>)</li>\n</ul>\n<h3>Miscellaneous Chores</h3>\n<ul>\n<li><strong>create-vite:</strong> remove unnecessary DOM.Iterable (<a href=\"https://redirect.github.com/vitejs/vite/issues/22168\">#22168</a>) (<a href=\"https://github.com/vitejs/vite/commit/bdc53ab1e67f7e2e000112eeed9c85413ddb0e9e\">bdc53ab</a>)</li>\n<li>replace remaining prettier script (<a href=\"https://redirect.github.com/vitejs/vite/issues/22179\">#22179</a>) (<a href=\"https://github.com/vitejs/vite/commit/af71fb26dd15098b9523efc3d8ed04f27553174b\">af71fb2</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.4...v8.0.5\">8.0.5</a> (2026-04-06)<!-- raw HTML omitted --></h2>\n<h3>Bug Fixes</h3>\n<ul>\n<li>apply server.fs check to env transport (<a href=\"https://redirect.github.com/vitejs/vite/issues/22159\">#22159</a>) (<a href=\"https://github.com/vitejs/vite/commit/f02d9fde0b195afe3ea2944414186962fbbe41e0\">f02d9fd</a>)</li>\n<li>avoid path traversal with optimize deps sourcemap handler (<a href=\"https://redirect.github.com/vitejs/vite/issues/22161\">#22161</a>) (<a href=\"https://github.com/vitejs/vite/commit/79f002f2286c03c88c7b74c511c7f9fc6dc46694\">79f002f</a>)</li>\n<li>check <code>server.fs</code> after stripping query as well (<a href=\"https://redirect.github.com/vitejs/vite/issues/22160\">#22160</a>) (<a href=\"https://github.com/vitejs/vite/commit/a9a3df299378d9cbc5f069e3536a369f8188c8ff\">a9a3df2</a>)</li>\n<li>disallow referencing files outside the package from sourcemap (<a href=\"https://redirect.github.com/vitejs/vite/issues/22158\">#22158</a>) (<a href=\"https://github.com/vitejs/vite/commit/f05f50173461789e0f1323fe06b51f18ca41c132\">f05f501</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.3...v8.0.4\">8.0.4</a> (2026-04-06)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>allow esbuild 0.28 as peer deps (<a href=\"https://redirect.github.com/vitejs/vite/issues/22155\">#22155</a>) (<a href=\"https://github.com/vitejs/vite/commit/b0da97372f5dba73e78035d1cc7680466ff6cf7f\">b0da973</a>)</li>\n<li><strong>hmr:</strong> truncate list of files on hmr update (<a href=\"https://redirect.github.com/vitejs/vite/issues/21535\">#21535</a>) (<a href=\"https://github.com/vitejs/vite/commit/d00e806d7be15ebbfe7875e9244963d80ee8b142\">d00e806</a>)</li>\n<li><strong>optimizer:</strong> log when dependency scanning or bundling takes over 1s (<a href=\"https://redirect.github.com/vitejs/vite/issues/21797\">#21797</a>) (<a href=\"https://github.com/vitejs/vite/commit/f61a1ab33b05dc6f6a7eda6e8bc9c4c5b9aab133\">f61a1ab</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Commits</summary>\n<ul>\n<li><a href=\"https://github.com/vitejs/vite/commit/6e585dcb05a3b159fba7ae57f7faf0b1eca7a390\"><code>6e585dc</code></a> release: v8.0.8</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3\"><code>e137601</code></a> fix(ssr): class property keys hoisting matching imports (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22199\">#22199</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53\"><code>15f1c15</code></a> fix: avoid <code>dns.getDefaultResultOrder</code> temporary (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22202\">#22202</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab\"><code>6baf587</code></a> feat: update rolldown to 1.0.0-rc.15 (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22201\">#22201</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/fdb2e6f63894d8c458c1778f3df77afe537f2bb2\"><code>fdb2e6f</code></a> release: v8.0.7</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/5c05b04db6f3f64af60ff6525eb5f04bc330fbb5\"><code>5c05b04</code></a> fix: use sync dns.getDefaultResultOrder instead of dns.promises (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22185\">#22185</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/7b3086fae4170252e4cd53f3988f207a943ac5cb\"><code>7b3086f</code></a> release: v8.0.6</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/af71fb26dd15098b9523efc3d8ed04f27553174b\"><code>af71fb2</code></a> chore: replace remaining prettier script (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22179\">#22179</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/51d3e48980bf3e352d31ecde49d1aa56859918e0\"><code>51d3e48</code></a> feat: update rolldown to 1.0.0-rc.13 (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22097\">#22097</a>)</li>\n<li><a href=\"https://github.com/vitejs/vite/commit/17a8f9edfcd3b9344668120a84e3328aeada3c97\"><code>17a8f9e</code></a> fix(optimize-deps): hoist CJS interop assignment (<a href=\"https://github.com/vitejs/vite/tree/HEAD/packages/vite/issues/22156\">#22156</a>)</li>\n<li>Additional commits viewable in <a href=\"https://github.com/vitejs/vite/commits/v8.0.8/packages/vite\">compare view</a></li>\n</ul>\n</details>\n<br />\n\nUpdates `vite` from 5.4.21 to 8.0.8\n<details>\n<summary>Release notes</summary>\n<p><em>Sourced from <a href=\"https://github.com/vitejs/vite/releases\">vite's releases</a>.</em></p>\n<blockquote>\n<h2>v8.0.8</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.8/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.7</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.7/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.6</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.6/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.5</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.5/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.4</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.4/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.3</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.3/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.3</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.3/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.2</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.2/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.2</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.2/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.1/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.1/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>plugin-legacy@8.0.1</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/plugin-legacy@8.0.1/packages/plugin-legacy/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>create-vite@8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/create-vite@8.0.0/packages/create-vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>plugin-legacy@8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/plugin-legacy@8.0.0/packages/plugin-legacy/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0-beta.18</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0-beta.18/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<h2>v8.0.0-beta.17</h2>\n<p>Please refer to <a href=\"https://github.com/vitejs/vite/blob/v8.0.0-beta.17/packages/vite/CHANGELOG.md\">CHANGELOG.md</a> for details.</p>\n<!-- raw HTML omitted -->\n</blockquote>\n<p>... (truncated)</p>\n</details>\n<details>\n<summary>Changelog</summary>\n<p><em>Sourced from <a href=\"https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md\">vite's changelog</a>.</em></p>\n<blockquote>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.7...v8.0.8\">8.0.8</a> (2026-04-09)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>update rolldown to 1.0.0-rc.15 (<a href=\"https://redirect.github.com/vitejs/vite/issues/22201\">#22201</a>) (<a href=\"https://github.com/vitejs/vite/commit/6baf587255936e91348cbe624caefd10e8c607ab\">6baf587</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<ul>\n<li>avoid <code>dns.getDefaultResultOrder</code> temporary (<a href=\"https://redirect.github.com/vitejs/vite/issues/22202\">#22202</a>) (<a href=\"https://github.com/vitejs/vite/commit/15f1c15ac9be343ee4f317fd025c3d67f0c7bd53\">15f1c15</a>)</li>\n<li><strong>ssr:</strong> class property keys hoisting matching imports (<a href=\"https://redirect.github.com/vitejs/vite/issues/22199\">#22199</a>) (<a href=\"https://github.com/vitejs/vite/commit/e1376018cd516d6970534fce495e24f9ee683ce3\">e137601</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.6...v8.0.7\">8.0.7</a> (2026-04-07)<!-- raw HTML omitted --></h2>\n<h3>Bug Fixes</h3>\n<ul>\n<li>use sync dns.getDefaultResultOrder instead of dns.promises (<a href=\"https://redirect.github.com/vitejs/vite/issues/22185\">#22185</a>) (<a href=\"https://github.com/vitejs/vite/commit/5c05b04db6f3f64af60ff6525eb5f04bc330fbb5\">5c05b04</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.5...v8.0.6\">8.0.6</a> (2026-04-07)<!-- raw HTML omitted --></h2>\n<h3>Features</h3>\n<ul>\n<li>update rolldown to 1.0.0-rc.13 (<a href=\"https://redirect.github.com/vitejs/vite/issues/22097\">#22097</a>) (<a href=\"https://github.com/vitejs/vite/commit/51d3e48980bf3e352d31ecde49d1aa56859918e0\">51d3e48</a>)</li>\n</ul>\n<h3>Bug Fixes</h3>\n<ul>\n<li><strong>css:</strong> avoid mutating sass error multiple times (<a href=\"https://redirect.github.com/vitejs/vite/issues/22115\">#22115</a>) (<a href=\"https://github.com/vitejs/vite/commit/d5081c2f3e73f3fc06956d8cf5f2cf06463c2325\">d5081c2</a>)</li>\n<li><strong>optimize-deps:</strong> hoist CJS interop assignment (<a href=\"https://redirect.github.com/vitejs/vite/issues/22156\">#22156</a>) (<a href=\"https://github.com/vitejs/vite/commit/17a8f9edfcd3b9344668120a84e3328aeada3c97\">17a8f9e</a>)</li>\n</ul>\n<h3>Performance Improvements</h3>\n<ul>\n<li>early return in <code>getLocalhostAddressIfDiffersFromDNS</code> when DNS order is <code>verbatim</code> (<a href=\"https://redirect.github.com/vitejs/vite/issues/22151\">#22151</a>) (<a href=\"https://github.com/vitejs/vite/commit/56ec25613dba6cc71911f7af6e545ebcb77ec012\">56ec256</a>)</li>\n</ul>\n<h3>Miscellaneous Chores</h3>\n<ul>\n<li><strong>create-vite:</strong> remove unnecessary DOM.Iterable (<a href=\"https://redirect.github.com/vitejs/vite/issues/22168\">#22168</a>) (<a href=\"https://github.com/vitejs/vite/commit/bdc53ab1e67f7e2e000112eeed9c85413ddb0e9e\">bdc53ab</a>)</li>\n<li>replace remaining prettier script (<a href=\"https://redirect.github.com/vitejs/vite/issues/22179\">#22179</a>) (<a href=\"https://github.com/vitejs/vite/commit/af71fb26dd15098b9523efc3d8ed04f27553174b\">af71fb2</a>)</li>\n</ul>\n<h2><!-- raw HTML omitted --><a href=\"https://github.com/vitejs/vite/compare/v8.0.4...v8.0.5\">8.0.5</a> (2026-04-06)<!-- raw HTML omitted --></h2>\n<h3>Bug Fixes</h3>\n<ul>\n<li>apply server.fs check to env transport (<a href=\"https://redirect.github.com/vitejs/vite/issues/22159\">#22159</a>) (<a href=\"https://github.com/vitejs/vite/commit/f02d9fde0b195afe3ea2944414186962fbbe41e0\">f02d9fd</a>)</li>\n<li>avoid path traversal with optimize deps sourcemap handler (<a href=\"https://redirect.github.com/vitejs/vite/issues/2...\n\n_Description has been truncated_\n\n<!-- greptile_comment -->\n\n<h3>Greptile Summary</h3>\n\nThis dependabot PR applies 5 dependency updates across 11 directories: a security patch for `drizzle-orm` (SQL injection fix in `sql.identifier()`/`sql.as()`), `rollup` and `minimatch` patch/minor bumps within their current major versions, and major-version jumps for both `vite` (5→8, across 8 example packages) and `electron` (33→41, in the electron example backend).\n\n- The `vite` upgrade spans 3 major releases (v6, v7, v8), with Vite 8 introducing a Rolldown-based bundler rewrite and API breaking changes. The `vite.config.ts` files in all affected example directories should be verified against the Vite 8 migration guide before merging.\n- The `electron` upgrade jumps 8 major versions (33→41); each major Electron release can introduce breaking API changes that may silently break the electron example without compatibility review.\n\n<h3>Confidence Score: 4/5</h3>\n\nSafe to merge the security patch and minor bumps; the vite and electron major-version jumps should be verified for example build compatibility before merging\n\nThe drizzle-orm security fix and the rollup/minimatch bumps are clean. However, the vite 5→8 and electron 33→41 major-version jumps in the example packages carry real risk of breaking example builds/functionality without a compatibility audit of the accompanying config files.\n\npackages/examples/app/electron/backend/package.json (electron major jump) and all vite-bumped packages under packages/examples/ and packages/benchmarks/\n\n<h3>Important Files Changed</h3>\n\n| Filename | Overview |\n|----------|----------|\n| packages/agent/package.json | drizzle-orm patched from 0.45.1 to 0.45.2; fixes SQL injection (CWE-89) in sql.identifier()/sql.as() — clean security patch |\n| packages/examples/app/electron/backend/package.json | electron bumped from ^33.2.0 to ^41.2.0 — an 8-major-version jump that almost certainly has breaking API changes affecting the electron example |\n| packages/examples/_app/package.json | vite bumped from ^5.4.21 to ^8.0.8 — a 3-major-version jump (Rolldown-based core rewrite); breaking changes across v6/v7/v8 may affect the example builds |\n| packages/native-plugins/agent/package.json | rollup bumped from ^4.0.0 to ^4.59.0 within the same major version; minimatch bumped from 9.0.5 to 9.0.9 — both safe within-major-range updates |\n| packages/benchmarks/solana/solana-gym-env/docs/trajectory-viewer/package.json | vite bumped from ^5.0.0 to ^8.0.8 — same 3-major-version jump concern as other vite updates |\n| packages/native-plugins/agent/package-lock.json | Lock file updated to reflect rollup 4.59.0 and minimatch 9.0.9 resolutions; all platform-specific rollup binaries updated consistently |\n\n</details>\n\n<h3>Flowchart</h3>\n\n```mermaid\n%%{init: {'theme': 'neutral'}}%%\nflowchart TD\n    A[dependabot bump PR] --> B[packages/agent]\n    A --> C[packages/examples/*]\n    A --> D[packages/benchmarks/...]\n    A --> E[packages/native-plugins/agent]\n\n    B --> B1[\"drizzle-orm 0.45.1 → 0.45.2\\n✅ SQL injection security fix\\nCWE-89 patch\"]\n\n    C --> C1[\"vite ^5.x → ^8.0.8\\n⚠️ 3 major versions\\n(8 packages)\"]\n    C --> C2[\"electron ^33.2.0 → ^41.2.0\\n⚠️ 8 major versions\\n(backend only)\"]\n\n    D --> D1[\"vite ^5.0.0 → ^8.0.8\\n⚠️ 3 major versions\"]\n\n    E --> E1[\"rollup ^4.0.0 → ^4.59.0\\n✅ Same major, safe\"]\n    E --> E2[\"minimatch 9.0.5 → 9.0.9\\n✅ Patch bump, safe\"]\n\n    C1 --> F[\"Vite 8: Rolldown engine\\nbreaking plugin/config API changes\\nrequires migration audit\"]\n    C2 --> G[\"Electron 34–41 breaking changes\\nipcMain, webContents, context isolation\\nrequires compat review\"]\n```\n\n<sub>Reviews (1): Last reviewed commit: [\"chore(deps): bump the npm\\_and\\_yarn group...\"](https://github.com/elizaos/eliza/commit/e62229730824eaff246e54db6a01a4b9b0f206b9) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=28175061)</sub>\n\n> Greptile also left **2 inline comments** on this PR.\n\n<!-- /greptile_comment -->",
      "repository": "elizaos/eliza",
      "createdAt": "2026-04-13T07:26:45Z",
      "mergedAt": "2026-04-13T08:16:11Z",
      "additions": 119,
      "deletions": 119
    },
    {
      "id": "PR_kwDOMT5cIs7SDVbE",
      "title": "feat(skills): add MiniMax-AI/cli as bundled skill",
      "author": "octo-patch",
      "number": 6727,
      "body": "# Relates to\n\nAdding MiniMax AI CLI as a bundled skill so elizaOS agents can discover and use it out of the box.\n\n# Risks\n\nLow — new file only, no changes to existing code.\n\n# Background\n\n## What does this PR do?\n\nAdds `mmx-cli` ([MiniMax-AI/cli](https://github.com/MiniMax-AI/cli)) to `packages/skills/skills/` as a bundled skill, following the same pattern as existing CLI tool skills (`blucli`, `wacli`).\n\n- **1 new file**: `packages/skills/skills/mmx-cli/SKILL.md`\n- The skill is auto-discovered by the skills loader (no code changes needed)\n\n## What kind of change is this?\n\nFeatures (non-breaking change which adds functionality)\n\n## What is mmx-cli?\n\n[mmx-cli](https://github.com/MiniMax-AI/cli) is a CLI tool for the MiniMax AI platform, providing:\n- **Text generation** (MiniMax-M2.7)\n- **Image generation** (image-01)\n- **Video generation** (MiniMax-Hailuo-2.3)\n- **Speech synthesis** (speech-2.8-hd, 300+ voices)\n- **Music generation** (music-2.6, with lyrics, cover, and instrumental)\n- **Web search**\n\nThe [SKILL.md](https://github.com/MiniMax-AI/cli/blob/main/skill/SKILL.md) follows the [agentskills.io](https://agentskills.io) standard and includes agent-specific flags (`--non-interactive`, `--quiet`, `--output json`).\n\n# Documentation changes needed?\n\nMy changes do not require a change to the project documentation.\n\n# Testing\n\n## Where should a reviewer start?\n\n`packages/skills/skills/mmx-cli/SKILL.md`\n\n## Detailed testing steps\n\nThe bundled skills loader auto-discovers SKILL.md files by scanning the `packages/skills/skills/` directory — no additional wiring is needed. After building the package, `loadSkills()` will include `mmx-cli` in the returned skill list.\n\n<!-- greptile_comment -->\n\n<h3>Greptile Summary</h3>\n\nThis PR adds `packages/skills/skills/mmx-cli/SKILL.md` as a new bundled skill for the MiniMax AI CLI, following the same pattern as `blucli` and `wacli`. The frontmatter is valid and fully compatible with the skills loader — `name` matches the directory, `description` is present, and the `otto` metadata block is well-formed.\n\n<h3>Confidence Score: 5/5</h3>\n\nSafe to merge — documentation-only change with no impact on existing code.\n\nAll findings are P2 style suggestions about documentation consistency in the SKILL.md. There are no logic errors, security issues, or breaking changes. The loader will discover and validate the skill correctly at runtime.\n\npackages/skills/skills/mmx-cli/SKILL.md — minor inconsistencies in agent flag examples and an undocumented `vision describe` subcommand.\n\n<h3>Important Files Changed</h3>\n\n| Filename | Overview |\n|----------|----------|\n| packages/skills/skills/mmx-cli/SKILL.md | New bundled skill for the MiniMax AI CLI; frontmatter is valid and loader-compatible, but agent flag examples are inconsistently applied and `mmx vision describe` is referenced without documentation. |\n\n</details>\n\n<h3>Flowchart</h3>\n\n```mermaid\n%%{init: {'theme': 'neutral'}}%%\nflowchart TD\n    A[loadSkills] --> B[Scan bundled skills dir]\n    B --> C[packages/skills/skills/]\n    C --> D[mmx-cli/SKILL.md]\n    D --> E{Validate frontmatter}\n    E -->|name matches dir ✓| F{description present ✓}\n    F --> G[Skill loaded: mmx-cli]\n    G --> H[Agent invokes mmx binary]\n    H --> I[Text / Image / Video / Speech / Music / Search]\n```\n\n<sub>Reviews (1): Last reviewed commit: [\"feat(skills): add MiniMax-AI/cli as defa...\"](https://github.com/elizaos/eliza/commit/056b192c562fb2a4618291f2013cae88fc7a873b) | [Re-trigger Greptile](https://app.greptile.com/api/retrigger?id=28232787)</sub>\n\n> Greptile also left **2 inline comments** on this PR.\n\n<!-- /greptile_comment -->",
      "repository": "elizaos/eliza",
      "createdAt": "2026-04-13T16:52:06Z",
      "mergedAt": null,
      "additions": 84,
      "deletions": 0
    }
  ],
  "codeChanges": {
    "additions": 5825,
    "deletions": 1065,
    "files": 60,
    "commitCount": 29
  },
  "completedItems": [
    {
      "title": "chore(deps): bump the cargo group across 21 directories with 6 updates",
      "prNumber": 6724,
      "type": "other",
      "body": "Bumps the cargo group with 3 updates in the /packages/examples/a2a/rust directory: [bytes](https://github.com/tokio-rs/bytes), [quinn-proto](https://github.com/quinn-rs/quinn) and [rustls-webpki](https://github.com/rustls/webpki).\nBumps the",
      "files": [
        "packages/examples/a2a/rust/Cargo.lock",
        "packages/examples/app/tauri/src-tauri/Cargo.lock",
        "packages/examples/autonomous/rust/autonomous/Cargo.lock",
        "packages/examples/aws/rust/Cargo.lock",
        "packages/examples/bluesky/rust/bluesky-agent/Cargo.lock",
        "packages/examples/chat/rust/chat/Cargo.lock",
        "packages/examples/cloudflare/rust-worker/Cargo.lock",
        "packages/examples/discord/rust/discord-agent/Cargo.lock",
        "packages/examples/form/rust/chat/Cargo.lock",
        "packages/examples/game-of-life/rust/game-of-life/Cargo.lock",
        "packages/examples/gcp/rust/Cargo.lock",
        "packages/examples/polymarket/rust/polymarket-demo/Cargo.lock",
        "packages/examples/rest-api/actix/Cargo.lock",
        "packages/examples/rest-api/axum/Cargo.lock",
        "packages/examples/rest-api/rocket/Cargo.lock",
        "packages/examples/roblox/rust/Cargo.lock",
        "packages/examples/telegram/rust/telegram-agent/Cargo.lock",
        "packages/examples/text-adventure/rust/game/Cargo.lock",
        "packages/examples/tic-tac-toe/rust/Cargo.lock",
        "packages/examples/twitter-xai/rust/xai-agent/Cargo.lock",
        "packages/examples/virus/Cargo.lock"
      ]
    },
    {
      "title": "chore(deps): bump the npm_and_yarn group across 11 directories with 5 updates",
      "prNumber": 6723,
      "type": "other",
      "body": "Bumps the npm_and_yarn group with 1 update in the /packages/agent directory: [drizzle-orm](https://github.com/drizzle-team/drizzle-orm).\nBumps the npm_and_yarn group with 1 update in the /packages/benchmarks/solana/solana-gym-env/docs/traje",
      "files": [
        "packages/agent/package.json",
        "packages/benchmarks/solana/solana-gym-env/docs/trajectory-viewer/package.json",
        "packages/examples/_app/package.json",
        "packages/examples/app/capacitor/frontend/package.json",
        "packages/examples/app/electron/backend/package.json",
        "packages/examples/app/electron/frontend/package.json",
        "packages/examples/app/tauri/frontend/package.json",
        "packages/examples/elizagotchi/package.json",
        "packages/examples/react-wasm/package.json",
        "packages/examples/react/package.json",
        "packages/native-plugins/agent/package-lock.json",
        "packages/native-plugins/agent/package.json"
      ]
    },
    {
      "title": "feat(core): shared batch-queue drains and bounded knowledge embeddings",
      "prNumber": 6722,
      "type": "feature",
      "body": "Introduce utils/batch-queue (PriorityQueue, BatchProcessor, TaskDrain, BatchQueue, Semaphore) so embedding drains, action-filter index build, prompt-batcher affinity tasks, and knowledge embedding paths share one concurrency/retry/task stor",
      "files": [
        "packages/docs/docs.json",
        "packages/docs/guides/background-tasks.mdx",
        "packages/docs/runtime/batch-queue.mdx",
        "packages/docs/runtime/core.mdx",
        "packages/typescript/CHANGELOG.md",
        "packages/typescript/README.md",
        "packages/typescript/ROADMAP.md",
        "packages/typescript/docs/BATCH_QUEUE.md",
        "packages/typescript/docs/DESIGN.md",
        "packages/typescript/src/__tests__/batch-queue.test.ts",
        "packages/typescript/src/__tests__/task-drain.test.ts",
        "packages/typescript/src/features/knowledge/document-processor.ts",
        "packages/typescript/src/features/knowledge/llm.ts",
        "packages/typescript/src/index.browser.ts",
        "packages/typescript/src/index.edge.ts",
        "packages/typescript/src/index.node.ts",
        "packages/typescript/src/runtime.ts",
        "packages/typescript/src/services/action-filter.ts",
        "packages/typescript/src/services/embedding.ts",
        "packages/typescript/src/utils/batch-queue.ts",
        "packages/typescript/src/utils/batch-queue/batch-processor.ts",
        "packages/typescript/src/utils/batch-queue/index.ts",
        "packages/typescript/src/utils/batch-queue/priority-queue.ts",
        "packages/typescript/src/utils/batch-queue/semaphore.ts",
        "packages/typescript/src/utils/batch-queue/task-drain.ts",
        "packages/typescript/src/utils/prompt-batcher/batcher.ts",
        "packages/typescript/src/utils/prompt-batcher/shared.ts"
      ]
    }
  ],
  "topContributors": [
    {
      "username": "odilitime",
      "avatarUrl": "https://avatars.githubusercontent.com/u/16395496?u=c9bac48e632aae594a0d85aaf9e9c9c69b674d8b&v=4",
      "totalScore": 109.0437738965761,
      "prScore": 59.5437738965761,
      "issueScore": 0,
      "reviewScore": 49.5,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "greptile-apps",
      "avatarUrl": "https://avatars.githubusercontent.com/in/867647?v=4",
      "totalScore": 22.5,
      "prScore": 0,
      "issueScore": 0,
      "reviewScore": 22.5,
      "commentScore": 0,
      "summary": null
    },
    {
      "username": "octo-patch",
      "avatarUrl": "https://avatars.githubusercontent.com/u/266937838?u=a3f158f9820f3869e6107980de78a21419ab6ae8&v=4",
      "totalScore": 16.221325628245157,
      "prScore": 16.221325628245157,
      "issueScore": 0,
      "reviewScore": 0,
      "commentScore": 0,
      "summary": null
    }
  ],
  "newPRs": 6,
  "mergedPRs": 3,
  "newIssues": 0,
  "closedIssues": 0,
  "activeContributors": 5
}