Repository navigation
Conversation
Bumps [framer-motion](https://github.com/motiondivision/motion) from 12.43.0 to 14.0.0. - [Changelog](https://github.com/motiondivision/motion/blob/main/CHANGELOG.md) - [Commits](motiondivision/motion@v12.43.0...v14.0.0) --- updated-dependencies: - dependency-name: framer-motion dependency-version: 14.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [concurrently](https://github.com/open-cli-tools/concurrently) from 9.2.5 to 10.0.6. - [Release notes](https://github.com/open-cli-tools/concurrently/releases) - [Commits](open-cli-tools/concurrently@v9.2.5...v10.0.6) --- updated-dependencies: - dependency-name: concurrently dependency-version: 10.0.6 dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github.com/lib/pq](https://github.com/lib/pq) from 1.10.9 to 1.12.3. - [Release notes](https://github.com/lib/pq/releases) - [Changelog](https://github.com/lib/pq/blob/main/CHANGELOG.md) - [Commits](lib/pq@v1.10.9...v1.12.3) --- updated-dependencies: - dependency-name: github.com/lib/pq dependency-version: 1.12.3 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [concurrently](https://github.com/open-cli-tools/concurrently) from 9.2.5 to 10.0.6. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/open-cli-tools/concurrently/releases">concurrently's releases</a>.</em></p> <blockquote> <h2>v10.0.6</h2> <h2>What's Changed</h2> <ul> <li>docs: update issue link to the transferred repo path by <a href="https://github.com/yzxcj797"><code>@yzxcj797</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/609">open-cli-tools/concurrently#609</a></li> <li>docs: update API example to ESM by <a href="https://github.com/Bibin-VR"><code>@Bibin-VR</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/611">open-cli-tools/concurrently#611</a></li> <li>fix: skip force-kill logging when no processes remain by <a href="https://github.com/imshunsuke"><code>@imshunsuke</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/616">open-cli-tools/concurrently#616</a></li> <li>deps: update shell-quote to 1.12.0 by <a href="https://github.com/Abicodexi"><code>@Abicodexi</code></a> and <a href="https://github.com/Mayvis"><code>@Mayvis</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/622">open-cli-tools/concurrently#622</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/yzxcj797"><code>@yzxcj797</code></a> made their first contribution in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/609">open-cli-tools/concurrently#609</a></li> <li><a href="https://github.com/Bibin-VR"><code>@Bibin-VR</code></a> made their first contribution in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/611">open-cli-tools/concurrently#611</a></li> <li><a href="https://github.com/imshunsuke"><code>@imshunsuke</code></a> made their first contribution in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/616">open-cli-tools/concurrently#616</a></li> <li><a href="https://github.com/Abicodexi"><code>@Abicodexi</code></a> made their first contribution in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/622">open-cli-tools/concurrently#622</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/open-cli-tools/concurrently/compare/v10.0.5...v10.0.6">https://github.com/open-cli-tools/concurrently/compare/v10.0.5...v10.0.6</a></p> <h2>v10.0.5</h2> <h2>What's Changed</h2> <ul> <li>fix: correctly output non-ASCII text on Windows by <a href="https://github.com/DanielC000"><code>@DanielC000</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/604">open-cli-tools/concurrently#604</a></li> <li>fix: expand wildcards from package.json5 when package.json is missing by <a href="https://github.com/DSeaStar"><code>@DSeaStar</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/608">open-cli-tools/concurrently#608</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/DanielC000"><code>@DanielC000</code></a> made their first contribution in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/604">open-cli-tools/concurrently#604</a></li> <li><a href="https://github.com/DSeaStar"><code>@DSeaStar</code></a> made their first contribution in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/608">open-cli-tools/concurrently#608</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/open-cli-tools/concurrently/compare/v10.0.4...v10.0.5">https://github.com/open-cli-tools/concurrently/compare/v10.0.4...v10.0.5</a></p> <h2>v10.0.4</h2> <h2>What's Changed</h2> <ul> <li>deps: upgrade shell-quote to 1.9.0 by <a href="https://github.com/Mayvis"><code>@Mayvis</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/599">open-cli-tools/concurrently#599</a></li> <li>fix: avoid kill timeout exit delays by <a href="https://github.com/rajanpanth"><code>@rajanpanth</code></a> in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/601">open-cli-tools/concurrently#601</a></li> </ul> <h2>New Contributors</h2> <ul> <li><a href="https://github.com/Mayvis"><code>@Mayvis</code></a> made their first contribution in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/599">open-cli-tools/concurrently#599</a></li> <li><a href="https://github.com/rajanpanth"><code>@rajanpanth</code></a> made their first contribution in <a href="https://redirect.github.com/open-cli-tools/concurrently/pull/601">open-cli-tools/concurrently#601</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/open-cli-tools/concurrently/compare/v10.0.3...v10.0.4">https://github.com/open-cli-tools/concurrently/compare/v10.0.3...v10.0.4</a></p> <h2>v10.0.3</h2> <p>Republish of <a href="https://github.com/open-cli-tools/concurrently/releases/tag/v10.0.1">https://github.com/open-cli-tools/concurrently/releases/tag/v10.0.1</a> with Trusted Publishing enabled (see <a href="https://redirect.github.com/open-cli-tools/concurrently/issues/595">#595</a>)</p> <p><strong>Full Changelog</strong>: <a href="https://github.com/open-cli-tools/concurrently/compare/v10.0.2...v10.0.3">https://github.com/open-cli-tools/concurrently/compare/v10.0.2...v10.0.3</a></p> <h2>v10.0.2</h2> <p>Test version to restore Trusted Publishing. Not published to npm.</p> <h2>v10.0.1</h2> <ul> <li>Ensure <code>FlowController</code> type is exported - <a href="https://redirect.github.com/open-cli-tools/concurrently/issues/594">#594</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/open-cli-tools/concurrently/compare/v10.0.0...v10.0.1">https://github.com/open-cli-tools/concurrently/compare/v10.0.0...v10.0.1</a></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/open-cli-tools/concurrently/commit/d84bab65cbfdd8406a457787f71075b31bd6ff3f"><code>d84bab6</code></a> 10.0.6</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/d26574e3ab0d831be634b4089a5b4680ba22cd6e"><code>d26574e</code></a> deps: update shell-quote to 1.12.0 (<a href="https://redirect.github.com/open-cli-tools/concurrently/issues/622">#622</a>)</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/13bdff120b52794e5528a185d45bbd96e56e4bf6"><code>13bdff1</code></a> fix: skip force-kill logging when no processes remain (<a href="https://redirect.github.com/open-cli-tools/concurrently/issues/616">#616</a>)</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/b2580cc75389817e19afac2b66fc05ae151e3300"><code>b2580cc</code></a> docs: update API example to ESM (<a href="https://redirect.github.com/open-cli-tools/concurrently/issues/611">#611</a>)</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/3159edbdca97b27c76ada425210011d59ddc02a7"><code>3159edb</code></a> docs: update issue link to the transferred repo path (<a href="https://redirect.github.com/open-cli-tools/concurrently/issues/609">#609</a>)</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/1b8cbeba87497e0c2a29097c828276919935a217"><code>1b8cbeb</code></a> 10.0.5</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/544dba0980e06405f7f20bc951526d3d82b0d13e"><code>544dba0</code></a> docs: make linter happy</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/667b70177b3d07010cd560377ee0a062314d675e"><code>667b701</code></a> deps: update several dev deps</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/f67c57c4f944bd8e4505c7c62b83959839ea460e"><code>f67c57c</code></a> vscode: use installed TS version</li> <li><a href="https://github.com/open-cli-tools/concurrently/commit/dbb561721625efb6291063b6912b5600602238ee"><code>dbb5617</code></a> fix: expand wildcards from package.json5 when package.json is missing (<a href="https://redirect.github.com/open-cli-tools/concurrently/issues/608">#608</a>)</li> <li>Additional commits viewable in <a href="https://github.com/open-cli-tools/concurrently/compare/v9.2.5...v10.0.6">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps [dotenv](https://github.com/motdotla/dotenv) from 17.4.2 to 18.0.8. - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](motdotla/dotenv@v17.4.2...v18.0.8) --- updated-dependencies: - dependency-name: dotenv dependency-version: 18.0.7 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [framer-motion](https://github.com/motiondivision/motion) from 12.43.0 to 14.0.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/motiondivision/motion/blob/main/CHANGELOG.md">framer-motion's changelog</a>.</em></p> <blockquote> <h2>[14.0.0] 2026-10-02</h2> <h3>Changed</h3> <ul> <li>Removed internal APIs restored in <code>13.5.1</code> for compatibility with <code>framer-motion</code> <code>13.0</code>–<code>13.4</code>. Future removed internal APIs won't cause cross-compatibility issues since pinning internal <code>framer-motion</code>, <code>motion-dom</code> and <code>motion-utils</code> dependencies.</li> </ul> <h2>[13.5.1] 2026-10-02</h2> <h3>Changed</h3> <ul> <li><code><motion></code>: Fall back to the attribute in readSVGValue when computed style is empty.</li> <li><code><motion></code>: Internal changes to <code>animateChanges</code> for size reductions.</li> </ul> <h3>Fixed</h3> <ul> <li><code>scroll</code>: Temporarily reverted removal of internal <code>observeTimeline</code> API to fix compatibility with previous <code>13.x</code> APIs. Moving to pinned dependencies before removing in <code>14.x</code>.</li> <li><code>styleEffect</code>: Cleaning up an earlier value no longer removes a value that was bound to the same key after it.</li> <li><code>svgEffect</code>: No longer writes transforms and origins as attributes.</li> <li><code><motion></code>: <code>inherit={false}</code> now correctly not inheriting parent animations.</li> <li><code><motion></code>: Fix <code>sortNodePosition</code> throwing when a sibling hasn't mounted</li> </ul> <h2>[13.5.0] 2026-10-01</h2> <h3>Added</h3> <ul> <li><code>spring</code>: Now accepts negative <code>bounce</code> (<code>0</code>-<code>-1</code>) to define overdamped springs.</li> </ul> <h3>Changed</h3> <ul> <li><code><m></code>: 20% smaller.</li> <li><code>useSpring</code>: 10% smaller.</li> <li><code>scroll</code>/<code>useScroll</code>: Use main thread for all <code>offset</code> animations.</li> </ul> <h3>Fixed</h3> <ul> <li>Ensure <code>warning</code> and <code>error</code> messages are cleaned from production build.</li> <li>Ensure values are never rendered before they've been resolved.</li> </ul> <h2>[13.4.7] 2026-09-30</h2> <h3>Changed</h3> <ul> <li><code>scroll</code>/<code>useScroll</code>: More <code>offset</code>s are now hardware accelerated via <code>ViewTimeline</code>.</li> </ul> <h3>Fixed</h3> <ul> <li><code>animate</code>: Reduced size of Motion Studio introspection call.</li> <li><code>useTransform</code>: Accelerated values now correctly clamp.</li> <li><code>scroll</code>/<code>useScroll</code>: Ensure offsets work the same across the JS main thread and <code>ViewTimeline</code>.</li> <li><code>scroll</code>/<code>useScroll</code>: Remove <code>ScrollTimeline</code>/<code>ViewTimeline</code> observer in favour of main-thread scroll tracking.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/motiondivision/motion/commit/f5838ce47b323ce2713cb2effc5afaa5b6120a44"><code>f5838ce</code></a> v14.0.0</li> <li><a href="https://github.com/motiondivision/motion/commit/351f7d0c027f4aa7b060afaace711829182e7a41"><code>351f7d0</code></a> Updating changelog</li> <li><a href="https://github.com/motiondivision/motion/commit/5da7dcd8b722f23a87b2ee056e8e77ee2269d4c5"><code>5da7dcd</code></a> Merge pull request <a href="https://redirect.github.com/motiondivision/motion/issues/3889">#3889</a> from motiondivision/cursor/v14-remove-shims-4e79</li> <li><a href="https://github.com/motiondivision/motion/commit/0897128336768be9f18d2c1cb5a8ab8e2e1cce67"><code>0897128</code></a> Remove 13.5.1 compatibility shims for framer-motion 13.0–13.4</li> <li><a href="https://github.com/motiondivision/motion/commit/d4638ea17bcd4fc141fe71bc743b2a20eb456cd3"><code>d4638ea</code></a> v13.5.1</li> <li><a href="https://github.com/motiondivision/motion/commit/43cd77e1529347edaf71118f2b1c368598f67005"><code>43cd77e</code></a> Updating changelog</li> <li><a href="https://github.com/motiondivision/motion/commit/700596552d7451bcec07dc4f88e7ad590c021ae9"><code>7005965</code></a> Merge pull request <a href="https://redirect.github.com/motiondivision/motion/issues/3888">#3888</a> from motiondivision/cursor/restore-observe-timeline-...</li> <li><a href="https://github.com/motiondivision/motion/commit/7bf77e996bccda745f9325eb7d876c6fe131c76e"><code>7bf77e9</code></a> Merge pull request <a href="https://redirect.github.com/motiondivision/motion/issues/3884">#3884</a> from motiondivision/cursor/sort-node-position-unmoun...</li> <li><a href="https://github.com/motiondivision/motion/commit/c0495b0be44eb8bbb03cc105b42f0626996ac7a8"><code>c0495b0</code></a> Merge pull request <a href="https://redirect.github.com/motiondivision/motion/issues/3887">#3887</a> from motiondivision/cursor/exact-internal-deps-4e79</li> <li><a href="https://github.com/motiondivision/motion/commit/9a16751399b48bad26bed3c6557c245007172539"><code>9a16751</code></a> Honour deprecated rangeStart/rangeEnd in attachTimeline</li> <li>Additional commits viewable in <a href="https://github.com/motiondivision/motion/compare/v12.43.0...v14.0.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps [dotenv](https://github.com/motdotla/dotenv) from 17.4.2 to 18.0.8. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md">dotenv's changelog</a>.</em></p> <blockquote> <h2><a href="https://github.com/motdotla/dotenv/compare/v18.0.7...v18.0.8">18.0.8</a> (2026-10-14)</h2> <h3>Changed</h3> <ul> <li>Fast parser should strip appended extra quotes (<a href="https://redirect.github.com/motdotla/dotenv/pull/1073">#1073</a>)</li> <li>Type detail improvement (<a href="https://redirect.github.com/motdotla/dotenv/pull/1074">#1074</a>)</li> </ul> <h2><a href="https://github.com/motdotla/dotenv/compare/v18.0.6...v18.0.7">18.0.7</a> (2026-10-09)</h2> <h3>Changed</h3> <ul> <li>Treat undefined settings like <code>quiet: true</code> as null rather than falsey (<a href="https://redirect.github.com/motdotla/dotenv/pull/1070">#1070</a>)</li> <li>CLI should honor <code>DOTENV_QUIET</code> setting in <code>.env</code> file (<a href="https://redirect.github.com/motdotla/dotenv/pull/1071">#1071</a>)</li> </ul> <h2><a href="https://github.com/motdotla/dotenv/compare/v18.0.5...v18.0.6">18.0.6</a> (2026-10-06)</h2> <h3>Changed</h3> <ul> <li>Use smarter <code>parseBoolean</code> not Boolean() to fix override (<a href="https://redirect.github.com/motdotla/dotenv/pull/1069">#1069</a>)</li> </ul> <h2><a href="https://github.com/motdotla/dotenv/compare/v18.0.4...v18.0.5">18.0.5</a> (2026-09-30)</h2> <h3>Changed</h3> <ul> <li>Fix missing typescript module declaration (<a href="https://redirect.github.com/motdotla/dotenv/pull/1068">#1068</a>)</li> <li>Improve performance for large .env files (<a href="https://redirect.github.com/motdotla/dotenv/pull/1066">#1066</a>)</li> </ul> <h2><a href="https://github.com/motdotla/dotenv/compare/v18.0.3...v18.0.4">18.0.4</a> (2026-09-25)</h2> <h3>Changed</h3> <ul> <li><code>import dotenv/config</code> should default quiet: true (<a href="https://redirect.github.com/motdotla/dotenv/pull/1063">#1063</a>)</li> </ul> <h2><a href="https://github.com/motdotla/dotenv/compare/v18.0.2...v18.0.3">18.0.3</a> (2026-09-22)</h2> <h3>Changed</h3> <ul> <li>Patch <code>DOTENV_QUIET</code> setting when inside .env file (<a href="https://redirect.github.com/motdotla/dotenv/pull/1059">#1059</a>)</li> </ul> <h2><a href="https://github.com/motdotla/dotenv/compare/v18.0.1...v18.0.2">18.0.2</a> (2026-09-21)</h2> <h3>Changed</h3> <ul> <li>Patch additional edge cases for the fast parser (<a href="https://redirect.github.com/motdotla/dotenv/pull/1056">#1056</a>)</li> </ul> <h2><a href="https://github.com/motdotla/dotenv/compare/v18.0.0...v18.0.1">18.0.1</a> (2026-09-18)</h2> <h3>Changed</h3> <ul> <li>Handle file urls in config logging (<a href="https://redirect.github.com/motdotla/dotenv/pull/1054">#1054</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/motdotla/dotenv/commit/e2fe95e8e952e881787d8207b654c80326f821d8"><code>e2fe95e</code></a> 18.0.8</li> <li><a href="https://github.com/motdotla/dotenv/commit/7aa712ab2914c0cf128ea8ccdaf5e918a867db59"><code>7aa712a</code></a> type detail improvement</li> <li><a href="https://github.com/motdotla/dotenv/commit/53405b0b140debc002e41c5abb671d5da5f3e8f9"><code>53405b0</code></a> Merge pull request <a href="https://redirect.github.com/motdotla/dotenv/issues/1074">#1074</a> from himanshu748/codex/fix-dotenv-populate-undefined...</li> <li><a href="https://github.com/motdotla/dotenv/commit/0b4843a90d6d70b110d1f1a309f209c3d8d7cb6e"><code>0b4843a</code></a> changelog</li> <li><a href="https://github.com/motdotla/dotenv/commit/55855ab6bffb017ca94cb273704c055f2d977c57"><code>55855ab</code></a> Merge pull request <a href="https://redirect.github.com/motdotla/dotenv/issues/1073">#1073</a> from xiehuanyi/fix/unicode-unquoting-parity</li> <li><a href="https://github.com/motdotla/dotenv/commit/f7578114202cf0b8df31775225a9233ead6b2a80"><code>f757811</code></a> fix(types): allow undefined values in populate output</li> <li><a href="https://github.com/motdotla/dotenv/commit/fde5db2bca73438a013ee8837b021a436e65dac7"><code>fde5db2</code></a> Keep fast-parser unquoting consistent at Unicode line boundaries</li> <li><a href="https://github.com/motdotla/dotenv/commit/295320751866efa323236c719cdc1b5306fa3de7"><code>2953207</code></a> 18.0.7</li> <li><a href="https://github.com/motdotla/dotenv/commit/9944723d89e6f776897f171bfc6b945dfad23c57"><code>9944723</code></a> make more readable for undefined -> null</li> <li><a href="https://github.com/motdotla/dotenv/commit/d455db06a7b37acd8b240793a888efaba75885f4"><code>d455db0</code></a> Merge branch 'master' of github.com:motdotla/dotenv</li> <li>Additional commits viewable in <a href="https://github.com/motdotla/dotenv/compare/v17.4.2...v18.0.8">compare view</a></li> </ul> </details> <br />
…-go (#319) Bumps [github.com/lib/pq](https://github.com/lib/pq) from 1.10.9 to 1.12.3. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/lib/pq/releases">github.com/lib/pq's releases</a>.</em></p> <blockquote> <h2>v1.12.3</h2> <ul> <li>Send datestyle startup parameter, improving compatbility with database engines that use a different default datestyle such as EnterpriseDB (<a href="https://redirect.github.com/lib/pq/issues/1312">#1312</a>).</li> </ul> <p><a href="https://redirect.github.com/lib/pq/issues/1312">#1312</a>: <a href="https://redirect.github.com/lib/pq/pull/1312">lib/pq#1312</a></p> <h2>v1.12.2</h2> <ul> <li>Treat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the connection. Since v1.12.0 this could result in permanently broken connections, especially with CockroachDB which frequently sends partial messages (<a href="https://redirect.github.com/lib/pq/issues/1299">#1299</a>).</li> </ul> <p><a href="https://redirect.github.com/lib/pq/issues/1299">#1299</a>: <a href="https://redirect.github.com/lib/pq/pull/1299">lib/pq#1299</a></p> <h2>v1.12.1</h2> <ul> <li> <p>Look for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (<a href="https://redirect.github.com/lib/pq/issues/1300">#1300</a>).</p> </li> <li> <p>Don't clear password if directly set on pq.Config (<a href="https://redirect.github.com/lib/pq/issues/1302">#1302</a>).</p> </li> </ul> <p><a href="https://redirect.github.com/lib/pq/issues/1300">#1300</a>: <a href="https://redirect.github.com/lib/pq/pull/1300">lib/pq#1300</a> <a href="https://redirect.github.com/lib/pq/issues/1302">#1302</a>: <a href="https://redirect.github.com/lib/pq/pull/1302">lib/pq#1302</a></p> <h2>v1.12.0</h2> <ul> <li> <p>The next release may change the default sslmode from <code>require</code> to <code>prefer</code>. See <a href="https://redirect.github.com/lib/pq/issues/1271">#1271</a> for details.</p> </li> <li> <p><code>CopyIn()</code> and <code>CopyInToSchema()</code> have been marked as deprecated. These are simple query builders and not needed for <code>COPY [..] FROM STDIN</code> support (which is <em>not</em> deprecated). (<a href="https://redirect.github.com/lib/pq/issues/1279">#1279</a>)</p> <pre><code>// Old tx.Prepare(CopyIn("temp", "num", "text", "blob", "nothing")) <p>// Replacement tx.Prepare(<code>copy temp (num, text, blob, nothing) from stdin</code>) </code></pre></p> </li> </ul> <h3>Features</h3> <ul> <li> <p>Support protocol 3.2, and the <code>min_protocol_version</code> and <code>max_protocol_version</code> DSN parameters (<a href="https://redirect.github.com/lib/pq/issues/1258">#1258</a>).</p> </li> <li> <p>Support <code>sslmode=prefer</code> and <code>sslmode=allow</code> (<a href="https://redirect.github.com/lib/pq/issues/1270">#1270</a>).</p> </li> <li> <p>Support <code>ssl_min_protocol_version</code> and <code>ssl_max_protocol_version</code> (<a href="https://redirect.github.com/lib/pq/issues/1277">#1277</a>).</p> </li> <li> <p>Support connection service file to load connection details (<a href="https://redirect.github.com/lib/pq/issues/1285">#1285</a>).</p> </li> <li> <p>Support <code>sslrootcert=system</code> and use <code>~/.postgresql/root.crt</code> as the default value of sslrootcert (<a href="https://redirect.github.com/lib/pq/issues/1280">#1280</a>, <a href="https://redirect.github.com/lib/pq/issues/1281">#1281</a>).</p> </li> <li> <p>Add a new <code>pqerror</code> package with PostgreSQL error codes (<a href="https://redirect.github.com/lib/pq/issues/1275">#1275</a>).</p> <p>For example, to test if an error is a UNIQUE constraint violation:</p> <pre><code>if pqErr, ok := errors.AsType[*pq.Error](https://github.com/lib/pq/blob/HEAD/err); ok && pqErr.Code == pqerror.UniqueViolation { log.Fatalf("email %q already exsts", email) } </code></pre> <p>To make this a bit more convenient, it also adds a <code>pq.As()</code> function:</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/lib/pq/blob/main/CHANGELOG.md">github.com/lib/pq's changelog</a>.</em></p> <blockquote> <h2>v1.12.3 (2026-04-03)</h2> <ul> <li>Send datestyle startup parameter, improving compatbility with database engines that use a different default datestyle such as EnterpriseDB (<a href="https://redirect.github.com/lib/pq/issues/1312">#1312</a>).</li> </ul> <p><a href="https://redirect.github.com/lib/pq/issues/1312">#1312</a>: <a href="https://redirect.github.com/lib/pq/pull/1312">lib/pq#1312</a></p> <h2>v1.12.2 (2026-04-02)</h2> <ul> <li>Treat io.ErrUnexpectedEOF as driver.ErrBadConn so database/sql discards the connection. Since v1.12.0 this could result in permanently broken connections, especially with CockroachDB which frequently sends partial messages (<a href="https://redirect.github.com/lib/pq/issues/1299">#1299</a>).</li> </ul> <p><a href="https://redirect.github.com/lib/pq/issues/1299">#1299</a>: <a href="https://redirect.github.com/lib/pq/pull/1299">lib/pq#1299</a></p> <h2>v1.12.1 (2026-03-30)</h2> <ul> <li> <p>Look for pgpass file in ~/.pgpass instead of ~/.postgresql/pgpass (<a href="https://redirect.github.com/lib/pq/issues/1300">#1300</a>).</p> </li> <li> <p>Don't clear password if directly set on pq.Config (<a href="https://redirect.github.com/lib/pq/issues/1302">#1302</a>).</p> </li> </ul> <p><a href="https://redirect.github.com/lib/pq/issues/1300">#1300</a>: <a href="https://redirect.github.com/lib/pq/pull/1300">lib/pq#1300</a> <a href="https://redirect.github.com/lib/pq/issues/1302">#1302</a>: <a href="https://redirect.github.com/lib/pq/pull/1302">lib/pq#1302</a></p> <h2>v1.12.0 (2026-03-18)</h2> <ul> <li> <p>The next release may change the default sslmode from <code>require</code> to <code>prefer</code>. See <a href="https://redirect.github.com/lib/pq/issues/1271">#1271</a> for details.</p> </li> <li> <p><code>CopyIn()</code> and <code>CopyInToSchema()</code> have been marked as deprecated. These are simple query builders and not needed for <code>COPY [..] FROM STDIN</code> support (which is <em>not</em> deprecated). (<a href="https://redirect.github.com/lib/pq/issues/1279">#1279</a>)</p> <pre><code>// Old tx.Prepare(CopyIn("temp", "num", "text", "blob", "nothing")) <p>// Replacement tx.Prepare(<code>copy temp (num, text, blob, nothing) from stdin</code>) </code></pre></p> </li> </ul> <h3>Features</h3> <ul> <li> <p>Support protocol 3.2, and the <code>min_protocol_version</code> and <code>max_protocol_version</code> DSN parameters (<a href="https://redirect.github.com/lib/pq/issues/1258">#1258</a>).</p> </li> <li> <p>Support <code>sslmode=prefer</code> and <code>sslmode=allow</code> (<a href="https://redirect.github.com/lib/pq/issues/1270">#1270</a>).</p> </li> <li> <p>Support <code>ssl_min_protocol_version</code> and <code>ssl_max_protocol_version</code> (<a href="https://redirect.github.com/lib/pq/issues/1277">#1277</a>).</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/lib/pq/commit/1f3e3d92865dd313b4e146968684d7e3836c76e8"><code>1f3e3d9</code></a> Send datestyle as a startup parameter (<a href="https://redirect.github.com/lib/pq/issues/1312">#1312</a>)</li> <li><a href="https://github.com/lib/pq/commit/32ba56b8f9c09575e3320f0043f4f0bdf0ad2009"><code>32ba56b</code></a> Expand tests for multiple result sets</li> <li><a href="https://github.com/lib/pq/commit/c2cfac15d5048670f784616c0c3dca56f97f49c0"><code>c2cfac1</code></a> Release v1.12.2</li> <li><a href="https://github.com/lib/pq/commit/859f10493799ae5b3fc3706bbef2ee48764dc787"><code>859f104</code></a> Test CockroachDB</li> <li><a href="https://github.com/lib/pq/commit/12e464c3afecfb945fc764001837c137fa764e37"><code>12e464c</code></a> Allow multiple matches and regexps in pqtest.ErrorContains()</li> <li><a href="https://github.com/lib/pq/commit/6d77ced41719616090c9e7eec2c313a18640bc3f"><code>6d77ced</code></a> Treat io.ErrUnexpectedEOF as driver.ErrBadConn in handleError</li> <li><a href="https://github.com/lib/pq/commit/71daecbc4522cf9cb6c399e19b910d22356ebb87"><code>71daecb</code></a> Ensure transactions are closed in pqtest</li> <li><a href="https://github.com/lib/pq/commit/8f448230b50d3c2f796fd20622daaf8ebe3d173c"><code>8f44823</code></a> Set PGAPPNAME for tests</li> <li><a href="https://github.com/lib/pq/commit/4af2196aa02298c23461f2baf538a0679b66a093"><code>4af2196</code></a> Fix healthcheck</li> <li><a href="https://github.com/lib/pq/commit/38a54e44b0a91e12314291c9102714e7f503ba98"><code>38a54e4</code></a> Split out testdata/init a bit</li> <li>Additional commits viewable in <a href="https://github.com/lib/pq/compare/v1.10.9...v1.12.3">compare view</a></li> </ul> </details> <br />
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.23.2 to 1.25.0. - [Release notes](https://github.com/prometheus/client_golang/releases) - [Changelog](https://github.com/prometheus/client_golang/blob/v1.25.0/CHANGELOG.md) - [Commits](prometheus/client_golang@v1.23.2...v1.25.0) --- updated-dependencies: - dependency-name: github.com/prometheus/client_golang dependency-version: 1.25.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…1.25.0 in /scraper-go (#318) Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.23.2 to 1.25.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/prometheus/client_golang/releases">github.com/prometheus/client_golang's releases</a>.</em></p> <blockquote> <h2>v1.25.0</h2> <p>:warning: This release raises the minimum required Go version to 1.26 and includes breaking API changes in <code>api/prometheus/v1</code> (see the [CHANGE] entries below). :warning:</p> <h2>1.25.0 / 2026-10-07</h2> <ul> <li>[CHANGE] Minimum required Go version is now 1.26, only the two latest Go versions (1.26 and 1.27) are supported from now on. <a href="https://redirect.github.com/prometheus/client_golang/issues/2138">#2138</a></li> <li>[CHANGE] api/prometheus/v1: <code>Query</code>, <code>QueryRange</code>, <code>Series</code>, <code>LabelNames</code>, and <code>LabelValues</code> now return <code>Infos</code> annotations in addition to <code>Warnings</code>, matching the Prometheus server's info annotations. This changes the signatures of these methods and of <code>api.Client</code>'s <code>Do</code>/<code>DoGetFallback</code>; custom API client implementations must be updated. <a href="https://redirect.github.com/prometheus/client_golang/issues/1963">#1963</a></li> <li>[CHANGE] api/prometheus/v1: Rework <code>TSDBBlocks</code> result types to align with the Prometheus server's <code>tsdb.BlockMeta</code>: <code>TSDBBlocksResult</code> now contains <code>Blocks []TSDBBlockMeta</code> directly instead of mirroring the full API envelope, nested types are renamed (<code>TSDBBlockMeta</code>, <code>TSDBBlockStats</code>, <code>TSDBBlockMetaCompaction</code>), stat fields are <code>uint64</code> with <code>omitempty</code> tags, and the optional compaction <code>parents</code> field is included. <a href="https://redirect.github.com/prometheus/client_golang/issues/1928">#1928</a></li> <li>[FEATURE] testutil: Add <code>GatherAndFormat</code> to encode a subset of metrics from a Gatherer. <a href="https://redirect.github.com/prometheus/client_golang/issues/2091">#2091</a></li> <li>[FEATURE] promhttp: Add <code>HandlerOpts.AcceptedFormats</code> to customize the formats negotiated from the incoming <code>Accept</code> header, enabling opt-in to experimental formats such as OpenMetrics 2.0 without changing default negotiation. <a href="https://redirect.github.com/prometheus/client_golang/issues/2146">#2146</a></li> <li>[ENHANCEMENT] promhttp: Negotiated metrics responses now include a <code>Vary</code> header. <a href="https://redirect.github.com/prometheus/client_golang/issues/2142">#2142</a></li> <li>[ENHANCEMENT] prometheus: Regenerate the default runtime collector metrics for Go 1.25 and Go 1.26. <a href="https://redirect.github.com/prometheus/client_golang/issues/2090">#2090</a>, <a href="https://redirect.github.com/prometheus/client_golang/issues/2095">#2095</a></li> <li>[ENHANCEMENT] testutil: Finalize OpenMetrics output in <code>GatherAndFormat</code> and <code>CollectAndFormat</code> (terminating <code># EOF</code>). <a href="https://redirect.github.com/prometheus/client_golang/issues/2125">#2125</a></li> <li>[BUGFIX] api: Match complete URL path placeholders only; a <code>:foo</code> argument no longer substitutes inside <code>:foobar</code>. <a href="https://redirect.github.com/prometheus/client_golang/issues/2136">#2136</a></li> <li>[BUGFIX] exp/api/remote: Reset the pooled buffer before generic proto marshaling, preventing corrupted remote-write payloads. <a href="https://redirect.github.com/prometheus/client_golang/issues/2139">#2139</a></li> <li>[BUGFIX] testutil/promlint: Fix "mibi" unit prefix to "mebi". <a href="https://redirect.github.com/prometheus/client_golang/issues/2135">#2135</a></li> </ul> <!-- raw HTML omitted --> <h2>What's Changed</h2> <ul> <li>fix: Remove unneeded and broken CI badge by <a href="https://github.com/bwplotka"><code>@bwplotka</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/2057">prometheus/client_golang#2057</a></li> <li>Synchronize common files from prometheus/prometheus by <a href="https://github.com/prombot"><code>@prombot</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/2060">prometheus/client_golang#2060</a></li> <li>build(deps): bump the codeql group with 4 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2066">prometheus/client_golang#2066</a></li> <li>build(deps): bump github.com/klauspost/compress from 1.19.0 to 1.19.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2071">prometheus/client_golang#2071</a></li> <li>build(deps): bump golang.org/x/sys from 0.46.0 to 0.47.0 in the golang-org-x group across 1 directory by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2069">prometheus/client_golang#2069</a></li> <li>build(deps): bump github.com/klauspost/compress from 1.19.0 to 1.19.1 in /exp by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2072">prometheus/client_golang#2072</a></li> <li>build(deps): bump github.com/prometheus/common from 0.69.0 to 0.70.1 in /exp by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2073">prometheus/client_golang#2073</a></li> <li>build(deps): bump github.com/prometheus/common from 0.69.0 to 0.70.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2070">prometheus/client_golang#2070</a></li> <li>build(deps): bump google.golang.org/grpc from 1.79.3 to 1.82.1 in /tutorials/whatsup by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2075">prometheus/client_golang#2075</a></li> <li>Pin GitHub Actions by <a href="https://github.com/SuperQ"><code>@SuperQ</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/2074">prometheus/client_golang#2074</a></li> <li>build(deps): bump actions/checkout from 7.0.0 to 7.0.1 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2067">prometheus/client_golang#2067</a></li> <li>promhttp: fix panic on requests with nil URL by <a href="https://github.com/SAY-5"><code>@SAY-5</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/2065">prometheus/client_golang#2065</a></li> <li>Return info annotations in addition to warnings in the API by <a href="https://github.com/zenador"><code>@zenador</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/1963">prometheus/client_golang#1963</a></li> <li>build(deps): bump ossf/scorecard-action from 2.4.3 to 2.4.4 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2082">prometheus/client_golang#2082</a></li> <li>Synchronize common files from prometheus/prometheus by <a href="https://github.com/prombot"><code>@prombot</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/2084">prometheus/client_golang#2084</a></li> <li>Synchronize common files from prometheus/prometheus by <a href="https://github.com/prombot"><code>@prombot</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/2086">prometheus/client_golang#2086</a></li> <li>Synchronize common files from prometheus/prometheus by <a href="https://github.com/prombot"><code>@prombot</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/2088">prometheus/client_golang#2088</a></li> <li>Regenerate Go collector runtime metrics for Go 1.25 and Go 1.26 by <a href="https://github.com/bwplotka"><code>@bwplotka</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/2090">prometheus/client_golang#2090</a></li> <li>go.mod: remove obsolete exclude rule by <a href="https://github.com/thaJeztah"><code>@thaJeztah</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/2077">prometheus/client_golang#2077</a></li> <li>Synchronize common files from prometheus/prometheus by <a href="https://github.com/prombot"><code>@prombot</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/2093">prometheus/client_golang#2093</a></li> <li>README: document the OpenTelemetry OTLP push bridge by <a href="https://github.com/mvanhorn"><code>@mvanhorn</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/1987">prometheus/client_golang#1987</a></li> <li>docs: add AGENTS.md contributor and maintainer guide by <a href="https://github.com/bwplotka"><code>@bwplotka</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/2056">prometheus/client_golang#2056</a></li> <li>testutil: add GatherAndFormat helper by <a href="https://github.com/wieghx"><code>@wieghx</code></a> in <a href="https://redirect.github.com/prometheus/client_golang/pull/2091">prometheus/client_golang#2091</a></li> <li>build(deps): bump the codeql group with 4 updates by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2101">prometheus/client_golang#2101</a></li> <li>build(deps): bump google.golang.org/protobuf from 1.36.11 to 1.36.12 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2097">prometheus/client_golang#2097</a></li> <li>build(deps): bump github.com/klauspost/compress from 1.19.1 to 1.19.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2098">prometheus/client_golang#2098</a></li> <li>build(deps): bump google.golang.org/protobuf from 1.36.11 to 1.36.12 in /exp by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2099">prometheus/client_golang#2099</a></li> <li>build(deps): bump github.com/klauspost/compress from 1.19.1 to 1.19.2 in /exp by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2100">prometheus/client_golang#2100</a></li> <li>build(deps): bump github.com/prometheus/procfs from 0.21.1 to 0.22.0 in the prometheus group across 1 directory by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/prometheus/client_golang/pull/2096">prometheus/client_golang#2096</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/prometheus/client_golang/blob/v1.25.0/CHANGELOG.md">github.com/prometheus/client_golang's changelog</a>.</em></p> <blockquote> <h2>1.25.0 / 2026-10-07</h2> <ul> <li>[CHANGE] Minimum required Go version is now 1.26, only the two latest Go versions (1.26 and 1.27) are supported from now on. <a href="https://redirect.github.com/prometheus/client_golang/issues/2138">#2138</a></li> <li>[CHANGE] api/prometheus/v1: <code>Query</code>, <code>QueryRange</code>, <code>Series</code>, <code>LabelNames</code>, and <code>LabelValues</code> now return <code>Infos</code> annotations in addition to <code>Warnings</code>, matching the Prometheus server's info annotations. This changes the signatures of these methods and of <code>api.Client</code>'s <code>Do</code>/<code>DoGetFallback</code>; custom API client implementations must be updated. <a href="https://redirect.github.com/prometheus/client_golang/issues/1963">#1963</a></li> <li>[CHANGE] api/prometheus/v1: Rework <code>TSDBBlocks</code> result types to align with the Prometheus server's <code>tsdb.BlockMeta</code>: <code>TSDBBlocksResult</code> now contains <code>Blocks []TSDBBlockMeta</code> directly instead of mirroring the full API envelope, nested types are renamed (<code>TSDBBlockMeta</code>, <code>TSDBBlockStats</code>, <code>TSDBBlockMetaCompaction</code>), stat fields are <code>uint64</code> with <code>omitempty</code> tags, and the optional compaction <code>parents</code> field is included. <a href="https://redirect.github.com/prometheus/client_golang/issues/1928">#1928</a></li> <li>[FEATURE] testutil: Add <code>GatherAndFormat</code> to encode a subset of metrics from a Gatherer. <a href="https://redirect.github.com/prometheus/client_golang/issues/2091">#2091</a></li> <li>[FEATURE] promhttp: Add <code>HandlerOpts.AcceptedFormats</code> to customize the formats negotiated from the incoming <code>Accept</code> header, enabling opt-in to experimental formats such as OpenMetrics 2.0 without changing default negotiation. <a href="https://redirect.github.com/prometheus/client_golang/issues/2146">#2146</a></li> <li>[ENHANCEMENT] promhttp: Negotiated metrics responses now include a <code>Vary</code> header. <a href="https://redirect.github.com/prometheus/client_golang/issues/2142">#2142</a></li> <li>[ENHANCEMENT] prometheus: Regenerate the default runtime collector metrics for Go 1.25 and Go 1.26. <a href="https://redirect.github.com/prometheus/client_golang/issues/2090">#2090</a>, <a href="https://redirect.github.com/prometheus/client_golang/issues/2095">#2095</a></li> <li>[ENHANCEMENT] testutil: Finalize OpenMetrics output in <code>GatherAndFormat</code> and <code>CollectAndFormat</code> (terminating <code># EOF</code>). <a href="https://redirect.github.com/prometheus/client_golang/issues/2125">#2125</a></li> <li>[BUGFIX] api: Match complete URL path placeholders only; a <code>:foo</code> argument no longer substitutes inside <code>:foobar</code>. <a href="https://redirect.github.com/prometheus/client_golang/issues/2136">#2136</a></li> <li>[BUGFIX] exp/api/remote: Reset the pooled buffer before generic proto marshaling, preventing corrupted remote-write payloads. <a href="https://redirect.github.com/prometheus/client_golang/issues/2139">#2139</a></li> <li>[BUGFIX] testutil/promlint: Fix "mibi" unit prefix to "mebi". <a href="https://redirect.github.com/prometheus/client_golang/issues/2135">#2135</a></li> </ul> <h2>1.24.1 / 2026-07-23</h2> <ul> <li>[BUGFIX] promhttp: Fix panic on requests with nil URL. <a href="https://redirect.github.com/prometheus/client_golang/issues/2065">#2065</a></li> </ul> <h2>1.24.0 / 2026-07-20</h2> <ul> <li>[CHANGE] Minimum required Go version is now 1.25, only the two latest Go versions (1.25 and 1.26) are supported from now on. <a href="https://redirect.github.com/prometheus/client_golang/issues/1862">#1862</a></li> <li>[CHANGE] prometheus: Name validation now always uses the UTF-8 scheme instead of the deprecated <code>model.NameValidationScheme</code> global. Default behavior is unchanged; code that set <code>NameValidationScheme = LegacyValidation</code> no longer gets legacy enforcement at metric, label, and push-grouping construction. <a href="https://redirect.github.com/prometheus/client_golang/issues/2051">#2051</a></li> <li>[CHANGE] api/prometheus/v1: Support matchers (<code>matches[]</code> parameter) in <code>Rules</code> method (<code>Rules(ctx context.Context, matches []string) (RulesResult, error)</code>). <a href="https://redirect.github.com/prometheus/client_golang/issues/1843">#1843</a></li> <li>[CHANGE] api/prometheus/v1: Refactor <code>LabelNames</code> method to return <code>model.LabelNames</code> instead of <code>[]string</code> for consistency across the API. <a href="https://redirect.github.com/prometheus/client_golang/issues/1850">#1850</a></li> <li>[CHANGE] exp/api/remote: Simplify <code>Store</code> interface, rename <code>Handler</code> to <code>WriteHandler</code>, and encapsulate write response handling. <a href="https://redirect.github.com/prometheus/client_golang/issues/1855">#1855</a></li> <li>[FEATURE] prometheus: Add new Go 1.26 runtime metrics (<code>/sched/goroutines-created:goroutines</code>, <code>/sched/goroutines/not-in-go:goroutines</code>, <code>/sched/goroutines/runnable:goroutines</code>, <code>/sched/goroutines/running:goroutines</code>, <code>/sched/goroutines/waiting:goroutines</code>, <code>/sched/threads/total:threads</code>). <a href="https://redirect.github.com/prometheus/client_golang/issues/1942">#1942</a></li> <li>[FEATURE] prometheus: Add <code>WithUnit(unit string)</code> option and explicit OpenMetrics unit support in <code>CounterOpts</code>, <code>GaugeOpts</code>, <code>SummaryOpts</code>, and <code>HistogramOpts</code>. <a href="https://redirect.github.com/prometheus/client_golang/issues/1392">#1392</a></li> <li>[FEATURE] prometheus: Expose descriptor construction error through public <code>Err()</code> method on <code>Desc</code>. <a href="https://redirect.github.com/prometheus/client_golang/issues/1902">#1902</a></li> <li>[FEATURE] promhttp: Add opt-in <code>HandlerOpts.CoalesceGather</code> to deduplicate concurrent <code>Gather</code> calls so overlapping scrapes share one collection cycle, preventing goroutine pile-up when the scrape rate outpaces collection time. <a href="https://redirect.github.com/prometheus/client_golang/issues/1969">#1969</a></li> <li>[FEATURE] promhttp: HTTP handlers created by <code>promhttp</code> package now support metrics filtering by providing one or more <code>name[]</code> query parameters. The default behavior when none are provided remains the same, returning all metrics. <a href="https://redirect.github.com/prometheus/client_golang/issues/1925">#1925</a></li> <li>[FEATURE] api/prometheus/v1: Add query formatting endpoint support (<code>/format_query</code>) and <code>FormatQuery(ctx context.Context, query string) (string, error)</code> method. <a href="https://redirect.github.com/prometheus/client_golang/issues/1846">#1846</a>, <a href="https://redirect.github.com/prometheus/client_golang/issues/1856">#1856</a></li> <li>[FEATURE] api/prometheus/v1: Add support for <code>/status/tsdb/blocks</code> endpoint via <code>TSDBBlocks(ctx context.Context) ([]TSDBBlock, error)</code> method. <a href="https://redirect.github.com/prometheus/client_golang/issues/1896">#1896</a></li> <li>[FEATURE] exp/api/remote: Export <code>BackoffConfig</code> to allow customization when using <code>WithAPIBackoff</code>. <a href="https://redirect.github.com/prometheus/client_golang/issues/1895">#1895</a></li> <li>[FEATURE] exp/api/remote: Add <code>RetryCallBack</code> to allow custom logging or handling on retry attempts in the remote write client. <a href="https://redirect.github.com/prometheus/client_golang/issues/1888">#1888</a>, <a href="https://redirect.github.com/prometheus/client_golang/issues/1890">#1890</a></li> <li>[ENHANCEMENT] prometheus/collectors/version: Allow specifying custom labels when registering the version collector. <a href="https://redirect.github.com/prometheus/client_golang/issues/1860">#1860</a></li> <li>[ENHANCEMENT] api: Use cloned <code>http.DefaultTransport</code> when constructing default HTTP clients to prevent accidental mutations of shared global transport state. <a href="https://redirect.github.com/prometheus/client_golang/issues/1885">#1885</a></li> <li>[BUGFIX] prometheus: Recover from collector panics during <code>Gather()</code> and return an error instead of crashing the process. <a href="https://redirect.github.com/prometheus/client_golang/issues/1961">#1961</a></li> <li>[BUGFIX] prometheus: Fix <code>cpu-seconds</code> unit suffix handling for metric <code>go_cpu_classes_gc_mark_assist_cpu_seconds</code>. <a href="https://redirect.github.com/prometheus/client_golang/issues/1991">#1991</a></li> <li>[BUGFIX] promhttp: <code>InstrumentHandlerDuration</code> and <code>InstrumentHandlerCounter</code> no longer panic when given an observer/counter that does not implement <code>ExemplarObserver</code>/<code>ExemplarAdder</code> (e.g. a <code>SummaryVec</code>). The exemplar is dropped and the value is recorded via the plain <code>Observe</code>/<code>Add</code> path, matching the safe-cast already used by <code>Timer.ObserveDurationWithExemplar</code>. <a href="https://redirect.github.com/prometheus/client_golang/issues/2005">#2005</a></li> <li>[BUGFIX] api/prometheus/v1: Fall back to <code>GET</code> requests when <code>POST</code> requests return <code>403 Forbidden</code> or method not allowed. <a href="https://redirect.github.com/prometheus/client_golang/issues/2030">#2030</a></li> <li>[BUGFIX] api: Respect context cancellation inside <code>httpClient.Do</code>. <a href="https://redirect.github.com/prometheus/client_golang/issues/1971">#1971</a></li> <li>[BUGFIX] exp/api/remote: Fix compression buffer pooling where compressed buffers were released prematurely, causing corrupted remote-write payloads. <a href="https://redirect.github.com/prometheus/client_golang/issues/1889">#1889</a></li> <li>[BUGFIX] exp/api/remote: Reject malformed snappy payloads declaring huge decoded sizes. Enforce a 32MB decoded-size limit to prevent OOM from oversized remote-write requests. <a href="https://redirect.github.com/prometheus/client_golang/issues/1917">#1917</a></li> <li>[BUGFIX] exp/api/remote: Ensure remote write v2 headers cannot be returned on v1 requests. <a href="https://redirect.github.com/prometheus/client_golang/issues/1927">#1927</a></li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/prometheus/client_golang/commit/0d88875bc7494ed8414e067756ff3399e3068c64"><code>0d88875</code></a> Cut v1.25.0 (<a href="https://redirect.github.com/prometheus/client_golang/issues/2164">#2164</a>)</li> <li><a href="https://github.com/prometheus/client_golang/commit/e9946ee846c4916ae4def4318b422b084aad687c"><code>e9946ee</code></a> Cut v1.25.0-rc.0 (<a href="https://redirect.github.com/prometheus/client_golang/issues/2154">#2154</a>)</li> <li><a href="https://github.com/prometheus/client_golang/commit/de866d63fa67a78f723397d33624b89a439dbe73"><code>de866d6</code></a> Merge pull request <a href="https://redirect.github.com/prometheus/client_golang/issues/2152">#2152</a> from prometheus/dependabot/go_modules/api/prometheus...</li> <li><a href="https://github.com/prometheus/client_golang/commit/a37302f6f0677b61954ae08077c85221c21f4883"><code>a37302f</code></a> prometheus: fix modernize lint findings (<a href="https://redirect.github.com/prometheus/client_golang/issues/2151">#2151</a>)</li> <li><a href="https://github.com/prometheus/client_golang/commit/a3fa3807231bcb72fc56c10e65c72e1102013907"><code>a3fa380</code></a> build(deps): bump google.golang.org/grpc</li> <li><a href="https://github.com/prometheus/client_golang/commit/9da3fcc7c7b60c0565771518ecb9043df23f286a"><code>9da3fcc</code></a> fix: updates for tsdb blocks handling (<a href="https://redirect.github.com/prometheus/client_golang/issues/1928">#1928</a>)</li> <li><a href="https://github.com/prometheus/client_golang/commit/0ecb5c28f53c957e8adabe6707ad8609641e50f0"><code>0ecb5c2</code></a> api: match complete URL placeholders (<a href="https://redirect.github.com/prometheus/client_golang/issues/2136">#2136</a>)</li> <li><a href="https://github.com/prometheus/client_golang/commit/2ad001aa7b446e3a245de21c0f397c57289d7d94"><code>2ad001a</code></a> exp/api/remote: reset buffer before generic marshal (<a href="https://redirect.github.com/prometheus/client_golang/issues/2139">#2139</a>)</li> <li><a href="https://github.com/prometheus/client_golang/commit/0db8d43ff97adbb75da10c57fceaf8fb8ee13d05"><code>0db8d43</code></a> promhttp: vary negotiated metrics responses (<a href="https://redirect.github.com/prometheus/client_golang/issues/2142">#2142</a>)</li> <li><a href="https://github.com/prometheus/client_golang/commit/b1f9c7a6cbb2cd6000042806b7f688cabb9d3771"><code>b1f9c7a</code></a> Merge pull request <a href="https://redirect.github.com/prometheus/client_golang/issues/2144">#2144</a> from prometheus/dependabot/go_modules/exp/github.com...</li> <li>Additional commits viewable in <a href="https://github.com/prometheus/client_golang/compare/v1.23.2...v1.25.0">compare view</a></li> </ul> </details> <br />
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.23.0 to 0.24.0. - [Commits](golang/sync@v0.23.0...v0.24.0) --- updated-dependencies: - dependency-name: golang.org/x/sync dependency-version: 0.24.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [github.com/alicebob/miniredis/v2](https://github.com/alicebob/miniredis) from 2.38.0 to 2.40.0. - [Release notes](https://github.com/alicebob/miniredis/releases) - [Changelog](https://github.com/alicebob/miniredis/blob/master/CHANGELOG.md) - [Commits](alicebob/miniredis@v2.38.0...v2.40.0) --- updated-dependencies: - dependency-name: github.com/alicebob/miniredis/v2 dependency-version: 2.40.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the npm-minor-patch group with 27 updates: | Package | From | To | | --- | --- | --- | | [@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8) | `5.0.3` | `5.0.5` | | [axios](https://github.com/axios/axios) | `1.20.0` | `1.21.0` | | [dotenv](https://github.com/motdotla/dotenv) | `18.0.8` | `18.0.9` | | [@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli) | `21.2.3` | `21.2.4` | | [@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional) | `21.2.3` | `21.2.4` | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) | `26.6.5` | `26.6.6` | | [@types/pdfkit](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pdfkit) | `0.17.6` | `0.17.7` | | [electron-builder](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder) | `26.15.3` | `26.18.0` | | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | `5.0.3` | `5.0.5` | | [framer-motion](https://github.com/motiondivision/motion) | `14.0.0` | `14.7.1` | | [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react) | `1.55.0` | `1.63.0` | | [radix-ui](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/radix-ui) | `1.7.0` | `1.8.1` | | [react](https://github.com/react/react/tree/HEAD/packages/react) | `19.3.0` | `19.3.1` | | [react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom) | `19.3.0` | `19.3.1` | | [react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom) | `7.18.4` | `7.18.5` | | [rolldown](https://github.com/rolldown/rolldown/tree/HEAD/packages/rolldown) | `1.2.13` | `1.2.15` | | [shadcn](https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn) | `4.21.4` | `4.23.0` | | [zod](https://github.com/colinhacks/zod) | `4.6.5` | `4.6.7` | | [autoprefixer](https://github.com/postcss/autoprefixer) | `10.6.1` | `10.6.2` | | [eslint](https://github.com/eslint/eslint) | `10.12.0` | `10.13.0` | | [jsdom](https://github.com/jsdom/jsdom) | `30.1.2` | `30.1.3` | | [postcss](https://github.com/postcss/postcss) | `8.5.29` | `8.5.32` | | [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.71.1` | `8.72.1` | | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.4` | `8.3.5` | | [@react-email/render](https://github.com/resend/react-email/tree/HEAD/packages/render) | `2.1.0` | `2.2.0` | | [bullmq](https://github.com/taskforcesh/bullmq) | `6.3.12` | `6.5.1` | | [resend](https://github.com/resend/resend-node) | `6.32.1` | `6.35.0` | Updates `@vitest/coverage-v8` from 5.0.3 to 5.0.5 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v5.0.5/packages/coverage-v8) Updates `axios` from 1.20.0 to 1.21.0 - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.20.0...v1.21.0) Updates `dotenv` from 18.0.8 to 18.0.9 - [Changelog](https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md) - [Commits](motdotla/dotenv@v18.0.8...v18.0.9) Updates `@commitlint/cli` from 21.2.3 to 21.2.4 - [Release notes](https://github.com/conventional-changelog/commitlint/releases) - [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md) - [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.2.4/@commitlint/cli) Updates `@commitlint/config-conventional` from 21.2.3 to 21.2.4 - [Release notes](https://github.com/conventional-changelog/commitlint/releases) - [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md) - [Commits](https://github.com/conventional-changelog/commitlint/commits/v21.2.4/@commitlint/config-conventional) Updates `@types/node` from 26.6.5 to 26.6.6 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node) Updates `@types/pdfkit` from 0.17.6 to 0.17.7 - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pdfkit) Updates `electron-builder` from 26.15.3 to 26.18.0 - [Release notes](https://github.com/electron-userland/electron-builder/releases) - [Changelog](https://github.com/electron-userland/electron-builder/blob/electron-builder@26.18.0/packages/electron-builder/CHANGELOG.md) - [Commits](https://github.com/electron-userland/electron-builder/commits/electron-builder@26.18.0/packages/electron-builder) Updates `vitest` from 5.0.3 to 5.0.5 - [Release notes](https://github.com/vitest-dev/vitest/releases) - [Changelog](https://github.com/vitest-dev/vitest/blob/main/docs/releases.md) - [Commits](https://github.com/vitest-dev/vitest/commits/v5.0.5/packages/vitest) Updates `framer-motion` from 14.0.0 to 14.7.1 - [Changelog](https://github.com/motiondivision/motion/blob/main/CHANGELOG.md) - [Commits](motiondivision/motion@v14.0.0...v14.7.1) Updates `lucide-react` from 1.55.0 to 1.63.0 - [Release notes](https://github.com/lucide-icons/lucide/releases) - [Commits](https://github.com/lucide-icons/lucide/commits/1.63.0/packages/lucide-react) Updates `radix-ui` from 1.7.0 to 1.8.1 - [Changelog](https://github.com/radix-ui/primitives/blob/main/packages/react/radix-ui/CHANGELOG.md) - [Commits](https://github.com/radix-ui/primitives/commits/HEAD/packages/react/radix-ui) Updates `react` from 19.3.0 to 19.3.1 - [Release notes](https://github.com/react/react/releases) - [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/react/react/commits/v19.3.1/packages/react) Updates `react-dom` from 19.3.0 to 19.3.1 - [Release notes](https://github.com/react/react/releases) - [Changelog](https://github.com/react/react/blob/main/CHANGELOG.md) - [Commits](https://github.com/react/react/commits/v19.3.1/packages/react-dom) Updates `react-router-dom` from 7.18.4 to 7.18.5 - [Release notes](https://github.com/remix-run/react-router/releases) - [Changelog](https://github.com/remix-run/react-router/blob/react-router-dom@7.18.5/packages/react-router-dom/CHANGELOG.md) - [Commits](https://github.com/remix-run/react-router/commits/react-router-dom@7.18.5/packages/react-router-dom) Updates `rolldown` from 1.2.13 to 1.2.15 - [Release notes](https://github.com/rolldown/rolldown/releases) - [Changelog](https://github.com/rolldown/rolldown/blob/main/CHANGELOG.md) - [Commits](https://github.com/rolldown/rolldown/commits/v1.2.15/packages/rolldown) Updates `shadcn` from 4.21.4 to 4.23.0 - [Release notes](https://github.com/shadcn-ui/ui/releases) - [Changelog](https://github.com/shadcn-ui/ui/blob/main/packages/shadcn/CHANGELOG.md) - [Commits](https://github.com/shadcn-ui/ui/commits/shadcn@4.23.0/packages/shadcn) Updates `zod` from 4.6.5 to 4.6.7 - [Release notes](https://github.com/colinhacks/zod/releases) - [Commits](colinhacks/zod@v4.6.5...v4.6.7) Updates `autoprefixer` from 10.6.1 to 10.6.2 - [Release notes](https://github.com/postcss/autoprefixer/releases) - [Changelog](https://github.com/postcss/autoprefixer/blob/main/CHANGELOG.md) - [Commits](postcss/autoprefixer@10.6.1...10.6.2) Updates `eslint` from 10.12.0 to 10.13.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](eslint/eslint@v10.12.0...v10.13.0) Updates `jsdom` from 30.1.2 to 30.1.3 - [Release notes](https://github.com/jsdom/jsdom/releases) - [Commits](jsdom/jsdom@v30.1.2...v30.1.3) Updates `postcss` from 8.5.29 to 8.5.32 - [Release notes](https://github.com/postcss/postcss/releases) - [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md) - [Commits](postcss/postcss@8.5.29...8.5.32) Updates `typescript-eslint` from 8.71.1 to 8.72.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.72.1/packages/typescript-eslint) Updates `vite` from 8.3.4 to 8.3.5 - [Release notes](https://github.com/vitejs/vite/releases) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) - [Commits](https://github.com/vitejs/vite/commits/v8.3.5/packages/vite) Updates `@react-email/render` from 2.1.0 to 2.2.0 - [Release notes](https://github.com/resend/react-email/releases) - [Changelog](https://github.com/resend/react-email/blob/canary/packages/render/CHANGELOG.md) - [Commits](https://github.com/resend/react-email/commits/@react-email/render@2.2.0/packages/render) Updates `bullmq` from 6.3.12 to 6.5.1 - [Release notes](https://github.com/taskforcesh/bullmq/releases) - [Commits](taskforcesh/bullmq@v6.3.12...v6.5.1) Updates `resend` from 6.32.1 to 6.35.0 - [Release notes](https://github.com/resend/resend-node/releases) - [Changelog](https://github.com/resend/resend-node/blob/canary/CHANGELOG.md) - [Commits](resend/resend-node@v6.32.1...v6.35.0) --- updated-dependencies: - dependency-name: "@vitest/coverage-v8" dependency-version: 5.0.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: axios dependency-version: 1.21.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-minor-patch - dependency-name: dotenv dependency-version: 18.0.9 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: "@commitlint/cli" dependency-version: 21.2.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: "@commitlint/config-conventional" dependency-version: 21.2.4 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: "@types/node" dependency-version: 26.6.6 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: "@types/pdfkit" dependency-version: 0.17.7 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: electron-builder dependency-version: 26.18.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-minor-patch - dependency-name: vitest dependency-version: 5.0.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: framer-motion dependency-version: 14.7.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-minor-patch - dependency-name: lucide-react dependency-version: 1.63.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-minor-patch - dependency-name: radix-ui dependency-version: 1.8.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-minor-patch - dependency-name: react dependency-version: 19.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: react-dom dependency-version: 19.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: react-router-dom dependency-version: 7.18.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: rolldown dependency-version: 1.2.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: shadcn dependency-version: 4.23.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-minor-patch - dependency-name: zod dependency-version: 4.6.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: autoprefixer dependency-version: 10.6.2 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: eslint dependency-version: 10.13.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-minor-patch - dependency-name: jsdom dependency-version: 30.1.3 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: postcss dependency-version: 8.5.32 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: typescript-eslint dependency-version: 8.72.1 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: npm-minor-patch - dependency-name: vite dependency-version: 8.3.5 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: npm-minor-patch - dependency-name: "@react-email/render" dependency-version: 2.2.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-minor-patch - dependency-name: bullmq dependency-version: 6.5.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-minor-patch - dependency-name: resend dependency-version: 6.35.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: npm-minor-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…-go (#316) Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.23.0 to 0.24.0. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/golang/sync/commit/36f2d70ecde9857dc4e363242a1369c7645d6770"><code>36f2d70</code></a> errgroup: modernize the usage of closures in goroutines</li> <li>See full diff in <a href="https://github.com/golang/sync/compare/v0.23.0...v0.24.0">compare view</a></li> </ul> </details> <br />
…0.0 in /scraper-go (#328) Bumps [github.com/alicebob/miniredis/v2](https://github.com/alicebob/miniredis) from 2.38.0 to 2.40.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/alicebob/miniredis/releases">github.com/alicebob/miniredis/v2's releases</a>.</em></p> <blockquote> <h2>synctest, ZMPOP, BZMPOP, LMPOP</h2> <ul> <li>support testing/synctest (thanks <a href="https://github.com/alexluong"><code>@alexluong</code></a>)</li> <li>fix RENAME panic (thanks <a href="https://github.com/gianzanuz"><code>@gianzanuz</code></a>)</li> <li>fix SetError() (thanks <a href="https://github.com/WillAbides"><code>@WillAbides</code></a>)</li> <li>fix LPOST COUNT (thanks <a href="https://github.com/akezwang"><code>@akezwang</code></a>)</li> <li>support ZMPOP and BZMPOP (thanks <a href="https://github.com/Lephiziel"><code>@Lephiziel</code></a>)</li> <li>fix HRANDFIELD (thanks <a href="https://github.com/anuththedev"><code>@anuththedev</code></a>)</li> <li>support LMPOP (thanks <a href="https://github.com/LuisFigueroaG"><code>@LuisFigueroaG</code></a>)</li> </ul> <h2>GEOSEARCH, HPERSIST, PZPOP*</h2> <ul> <li>support GEOSEARCH (thanks <a href="https://github.com/fl4metf"><code>@fl4metf</code></a>)</li> <li>support HPERSIST, HTTL, HPTTL, and HSETEX (thanks <a href="https://github.com/adamrothman"><code>@adamrothman</code></a>)</li> <li>support BZPOPMIN and BZPOPMAX (thanks <a href="https://github.com/ChrisJr404"><code>@ChrisJr404</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/alicebob/miniredis/blob/master/CHANGELOG.md">github.com/alicebob/miniredis/v2's changelog</a>.</em></p> <blockquote> <h2>v2.40.0</h2> <ul> <li>support testing/synctest (thanks <a href="https://github.com/alexluong"><code>@alexluong</code></a>)</li> <li>fix RENAME panic (thanks <a href="https://github.com/gianzanuz"><code>@gianzanuz</code></a>)</li> <li>fix SetError() (thanks <a href="https://github.com/WillAbides"><code>@WillAbides</code></a>)</li> <li>fix LPOST COUNT (thanks <a href="https://github.com/akezwang"><code>@akezwang</code></a>)</li> <li>support ZMPOP and BZMPOP (thanks <a href="https://github.com/Lephiziel"><code>@Lephiziel</code></a>)</li> <li>fix HRANDFIELD (thanks <a href="https://github.com/anuththedev"><code>@anuththedev</code></a>)</li> <li>support LMPOP (thanks <a href="https://github.com/LuisFigueroaG"><code>@LuisFigueroaG</code></a>)</li> </ul> <h2>v2.39.0</h2> <ul> <li>support GEOSEARCH (thanks <a href="https://github.com/fl4metf"><code>@fl4metf</code></a>)</li> <li>support HPERSIST, HTTL, HPTTL, and HSETEX (thanks <a href="https://github.com/adamrothman"><code>@adamrothman</code></a>)</li> <li>support BZPOPMIN and BZPOPMAX (thanks <a href="https://github.com/ChrisJr404"><code>@ChrisJr404</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/alicebob/miniredis/commit/cbf5d02196dadb9a243c9cc2ae736c393365dd85"><code>cbf5d02</code></a> changelog for v2.40.0</li> <li><a href="https://github.com/alicebob/miniredis/commit/7052ec861a837e4921b9f7126ea04d1c995c0594"><code>7052ec8</code></a> Merge pull request <a href="https://redirect.github.com/alicebob/miniredis/issues/458">#458</a> from LuisFigueroaG/feat/lmpop</li> <li><a href="https://github.com/alicebob/miniredis/commit/79f0933a49658ce02ddcda66242826324099e616"><code>79f0933</code></a> Merge pull request <a href="https://redirect.github.com/alicebob/miniredis/issues/457">#457</a> from januththedev/fix/hrandfield-wrongtype</li> <li><a href="https://github.com/alicebob/miniredis/commit/18de1301cf7f26d46ce34da7c3da1555324e9ec1"><code>18de130</code></a> keep local ip/port</li> <li><a href="https://github.com/alicebob/miniredis/commit/9df7508ad63057a3386332ed8e8b9342102193f9"><code>9df7508</code></a> int test</li> <li><a href="https://github.com/alicebob/miniredis/commit/b29f632919f5c14be1c7ebb8fec664eeb83cffa3"><code>b29f632</code></a> Add LMPOP command</li> <li><a href="https://github.com/alicebob/miniredis/commit/ff68fbc3cf80d0f066b2128c0237096de0a1931d"><code>ff68fbc</code></a> Return WRONGTYPE from HRANDFIELD on a non-hash key</li> <li><a href="https://github.com/alicebob/miniredis/commit/e31e1a6a01d480ee113425d7625e50b1cbf354d3"><code>e31e1a6</code></a> Merge pull request <a href="https://redirect.github.com/alicebob/miniredis/issues/454">#454</a> from Lephiziel/add-zmpop-bzmpop</li> <li><a href="https://github.com/alicebob/miniredis/commit/77e6d267f31ddfbc80660f69dcce40b6d55055da"><code>77e6d26</code></a> Document ZMPOP and BZMPOP support</li> <li><a href="https://github.com/alicebob/miniredis/commit/6691586259f35e261ca5d178a95a26b958f69eb6"><code>6691586</code></a> Add ZMPOP and BZMPOP commands</li> <li>Additional commits viewable in <a href="https://github.com/alicebob/miniredis/compare/v2.38.0...v2.40.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) 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`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps the npm-minor-patch group with 27 updates:
| Package | From | To |
| --- | --- | --- |
|
[@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8)
| `5.0.3` | `5.0.5` |
| [axios](https://github.com/axios/axios) | `1.20.0` | `1.21.0` |
| [dotenv](https://github.com/motdotla/dotenv) | `18.0.8` | `18.0.9` |
|
[@commitlint/cli](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/cli)
| `21.2.3` | `21.2.4` |
|
[@commitlint/config-conventional](https://github.com/conventional-changelog/commitlint/tree/HEAD/@commitlint/config-conventional)
| `21.2.3` | `21.2.4` |
|
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
| `26.6.5` | `26.6.6` |
|
[@types/pdfkit](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/pdfkit)
| `0.17.6` | `0.17.7` |
|
[electron-builder](https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder)
| `26.15.3` | `26.18.0` |
|
[vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest)
| `5.0.3` | `5.0.5` |
| [framer-motion](https://github.com/motiondivision/motion) | `14.0.0` |
`14.7.1` |
|
[lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react)
| `1.55.0` | `1.63.0` |
|
[radix-ui](https://github.com/radix-ui/primitives/tree/HEAD/packages/react/radix-ui)
| `1.7.0` | `1.8.1` |
| [react](https://github.com/react/react/tree/HEAD/packages/react) |
`19.3.0` | `19.3.1` |
|
[react-dom](https://github.com/react/react/tree/HEAD/packages/react-dom)
| `19.3.0` | `19.3.1` |
|
[react-router-dom](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)
| `7.18.4` | `7.18.5` |
|
[rolldown](https://github.com/rolldown/rolldown/tree/HEAD/packages/rolldown)
| `1.2.13` | `1.2.15` |
| [shadcn](https://github.com/shadcn-ui/ui/tree/HEAD/packages/shadcn) |
`4.21.4` | `4.23.0` |
| [zod](https://github.com/colinhacks/zod) | `4.6.5` | `4.6.7` |
| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.6.1` |
`10.6.2` |
| [eslint](https://github.com/eslint/eslint) | `10.12.0` | `10.13.0` |
| [jsdom](https://github.com/jsdom/jsdom) | `30.1.2` | `30.1.3` |
| [postcss](https://github.com/postcss/postcss) | `8.5.29` | `8.5.32` |
|
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
| `8.71.1` | `8.72.1` |
| [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) |
`8.3.4` | `8.3.5` |
|
[@react-email/render](https://github.com/resend/react-email/tree/HEAD/packages/render)
| `2.1.0` | `2.2.0` |
| [bullmq](https://github.com/taskforcesh/bullmq) | `6.3.12` | `6.5.1` |
| [resend](https://github.com/resend/resend-node) | `6.32.1` | `6.35.0`
|
Updates `@vitest/coverage-v8` from 5.0.3 to 5.0.5
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/vitest-dev/vitest/releases">@vitest/coverage-v8's
releases</a>.</em></p>
<blockquote>
<h2>v5.0.5</h2>
<h3> 🐞 Bug Fixes</h3>
<ul>
<li>Keep vite default <code>fs.deny</code> with api token file - by <a
href="https://github.com/hi-ogawa"><code>@hi-ogawa</code></a>,
<strong>Hiroshi Ogawa</strong> and <strong>Claude Opus 5.5</strong> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11578">vitest-dev/vitest#11578</a>
<a href="https://github.com/vitest-dev/vitest/commit/28dc1edfb"><!-- raw
HTML omitted -->(28dc1)<!-- raw HTML omitted --></a></li>
<li>Handle quoted file names in <code>--changed</code> - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11583">vitest-dev/vitest#11583</a>
<a href="https://github.com/vitest-dev/vitest/commit/14921e962"><!-- raw
HTML omitted -->(14921)<!-- raw HTML omitted --></a></li>
<li>Add <code>data</code> to the <code>import.meta.hot</code> stub -
by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11590">vitest-dev/vitest#11590</a>
<a href="https://github.com/vitest-dev/vitest/commit/3a8289ac3"><!-- raw
HTML omitted -->(3a828)<!-- raw HTML omitted --></a></li>
<li>Set <code>skip</code> in <code>skipIf</code>, ignore
<code>undefined</code> options - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11591">vitest-dev/vitest#11591</a>
<a href="https://github.com/vitest-dev/vitest/commit/d523a15f2"><!-- raw
HTML omitted -->(d523a)<!-- raw HTML omitted --></a></li>
<li>Skip builtin loading in async leak detector - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11598">vitest-dev/vitest#11598</a>
<a href="https://github.com/vitest-dev/vitest/commit/fe86a64c6"><!-- raw
HTML omitted -->(fe86a)<!-- raw HTML omitted --></a></li>
<li>Keep the import frame in native loader errors - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11599">vitest-dev/vitest#11599</a>
<a href="https://github.com/vitest-dev/vitest/commit/9697b3894"><!-- raw
HTML omitted -->(9697b)<!-- raw HTML omitted --></a></li>
<li>Run hook cleanups when a later hook fails - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11605">vitest-dev/vitest#11605</a>
<a href="https://github.com/vitest-dev/vitest/commit/6c5a44720"><!-- raw
HTML omitted -->(6c5a4)<!-- raw HTML omitted --></a></li>
<li>Release mocks of finished test files - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11607">vitest-dev/vitest#11607</a>
<a href="https://github.com/vitest-dev/vitest/commit/e9c3d72f0"><!-- raw
HTML omitted -->(e9c3d)<!-- raw HTML omitted --></a></li>
<li>Abort all running tests on cancel - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11606">vitest-dev/vitest#11606</a>
<a href="https://github.com/vitest-dev/vitest/commit/6621a72d6"><!-- raw
HTML omitted -->(6621a)<!-- raw HTML omitted --></a></li>
<li><strong>browser</strong>:
<ul>
<li>Ignore synthetic pagehide events - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11582">vitest-dev/vitest#11582</a>
<a href="https://github.com/vitest-dev/vitest/commit/ca0813584"><!-- raw
HTML omitted -->(ca081)<!-- raw HTML omitted --></a></li>
<li>Run plugin buildStart on server creation - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11593">vitest-dev/vitest#11593</a>
<a href="https://github.com/vitest-dev/vitest/commit/ea611e44c"><!-- raw
HTML omitted -->(ea611)<!-- raw HTML omitted --></a></li>
<li>Drop late connections of closed sessions - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11600">vitest-dev/vitest#11600</a>
<a href="https://github.com/vitest-dev/vitest/commit/f161e6df2"><!-- raw
HTML omitted -->(f161e)<!-- raw HTML omitted --></a></li>
<li>Wait 30s for the browser to close - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11601">vitest-dev/vitest#11601</a>
<a href="https://github.com/vitest-dev/vitest/commit/6498b666a"><!-- raw
HTML omitted -->(6498b)<!-- raw HTML omitted --></a></li>
<li>Run global setup once with instances - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11596">vitest-dev/vitest#11596</a>
<a href="https://github.com/vitest-dev/vitest/commit/8dd67c262"><!-- raw
HTML omitted -->(8dd67)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>reporter</strong>:
<ul>
<li>End reason
<code>&[#39](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/39);failed&[#39](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/39);</code>
on worker crash - by <a
href="https://github.com/AriPerkkio"><code>@AriPerkkio</code></a> in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/11568">vitest-dev/vitest#11568</a>
<a href="https://github.com/vitest-dev/vitest/commit/6ae8e89ff"><!-- raw
HTML omitted -->(6ae8e)<!-- raw HTML omitted --></a></li>
</ul>
</li>
</ul>
<h5> <a
href="https://github.com/vitest-dev/vitest/compare/v5.0.4...v5.0.5">View
changes on GitHub</a></h5>
<h2>v5.0.4</h2>
<h3> 🚀 Features</h3>
<ul>
<li><strong>experimental</strong>:
<ul>
<li>Tag cache directories with CACHEDIR.TAG - by <a
href="https://github.com/lifeiscontent"><code>@lifeiscontent</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/11461">vitest-dev/vitest#11461</a>
<a href="https://github.com/vitest-dev/vitest/commit/a8ea3c8fd"><!-- raw
HTML omitted -->(a8ea3)<!-- raw HTML omitted --></a></li>
<li>Support <code>test.ui.theme</code> option - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11499">vitest-dev/vitest#11499</a>
<a href="https://github.com/vitest-dev/vitest/commit/1da66405d"><!-- raw
HTML omitted -->(1da66)<!-- raw HTML omitted --></a></li>
<li>Highlight selector multiple matches in trace view - by <a
href="https://github.com/hi-ogawa"><code>@hi-ogawa</code></a>,
<strong>Hiroshi Ogawa</strong> and <strong>Claude Opus 5.5</strong> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11489">vitest-dev/vitest#11489</a>
<a href="https://github.com/vitest-dev/vitest/commit/5abba1e1b"><!-- raw
HTML omitted -->(5abba)<!-- raw HTML omitted --></a></li>
<li>Print how many tests were affected and a total when running
<code>--changed</code> - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11424">vitest-dev/vitest#11424</a>
<a href="https://github.com/vitest-dev/vitest/commit/a23368585"><!-- raw
HTML omitted -->(a2336)<!-- raw HTML omitted --></a></li>
<li>Add an option to cache dependencies instead of statically parsing
them - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11515">vitest-dev/vitest#11515</a>
<a href="https://github.com/vitest-dev/vitest/commit/c06012ac8"><!-- raw
HTML omitted -->(c0601)<!-- raw HTML omitted --></a></li>
<li>Add fit and zoom controls to trace viewer - by <a
href="https://github.com/hi-ogawa"><code>@hi-ogawa</code></a>,
<strong>Hiroshi Ogawa</strong> and <strong>Claude Opus 5.5</strong> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11490">vitest-dev/vitest#11490</a>
<a href="https://github.com/vitest-dev/vitest/commit/f5dd99ed0"><!-- raw
HTML omitted -->(f5dd9)<!-- raw HTML omitted --></a></li>
</ul>
</li>
</ul>
<h3> 🐞 Bug Fixes</h3>
<ul>
<li>Fail the run on git and location filter errors - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11430">vitest-dev/vitest#11430</a>
<a href="https://github.com/vitest-dev/vitest/commit/30d0304d2"><!-- raw
HTML omitted -->(30d03)<!-- raw HTML omitted --></a></li>
<li>Enable fsModuleCache by default - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11435">vitest-dev/vitest#11435</a>
<a href="https://github.com/vitest-dev/vitest/commit/ad208cc29"><!-- raw
HTML omitted -->(ad208)<!-- raw HTML omitted --></a></li>
<li>Track project files and mocks with --changed - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11432">vitest-dev/vitest#11432</a>
<a href="https://github.com/vitest-dev/vitest/commit/b0f2b3bb9"><!-- raw
HTML omitted -->(b0f2b)<!-- raw HTML omitted --></a></li>
<li>Refactor caching, fix <code>:</code> in project and change the shape
of <code>results</code> cache - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11453">vitest-dev/vitest#11453</a>
<a href="https://github.com/vitest-dev/vitest/commit/9673c49a4"><!-- raw
HTML omitted -->(9673c)<!-- raw HTML omitted --></a></li>
<li>Keep full <code>$</code> string values when
<code>taskTitleValueFormatTruncate</code> is 0 - by <a
href="https://github.com/hi-ogawa"><code>@hi-ogawa</code></a>,
<strong>Hiroshi Ogawa</strong> and <strong>Claude Opus 5.5</strong> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11485">vitest-dev/vitest#11485</a>
<a href="https://github.com/vitest-dev/vitest/commit/4f7e1799b"><!-- raw
HTML omitted -->(4f7e1)<!-- raw HTML omitted --></a></li>
<li>Resolve node builtins in client environments - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11417">vitest-dev/vitest#11417</a>
<a href="https://github.com/vitest-dev/vitest/commit/56b319ac6"><!-- raw
HTML omitted -->(56b31)<!-- raw HTML omitted --></a></li>
<li>Fix module graph builtin externals after <a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11421">#11421</a>
- by <a
href="https://github.com/hi-ogawa"><code>@hi-ogawa</code></a>,
<strong>Hiroshi Ogawa</strong> and <strong>Claude Opus 5.5</strong> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11491">vitest-dev/vitest#11491</a>
and <a
href="https://redirect.github.com/vitest-dev/vitest/issues/11421">vitest-dev/vitest#11421</a>
<a href="https://github.com/vitest-dev/vitest/commit/008e184cb"><!-- raw
HTML omitted -->(008e1)<!-- raw HTML omitted --></a></li>
<li>Wrap module mocks during in-source testing - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11505">vitest-dev/vitest#11505</a>
<a href="https://github.com/vitest-dev/vitest/commit/36d19cb00"><!-- raw
HTML omitted -->(36d19)<!-- raw HTML omitted --></a></li>
<li>Handle line endings in snapshot - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11522">vitest-dev/vitest#11522</a>
<a href="https://github.com/vitest-dev/vitest/commit/4c468aa40"><!-- raw
HTML omitted -->(4c468)<!-- raw HTML omitted --></a></li>
<li>Respect root in projects - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11521">vitest-dev/vitest#11521</a>
<a href="https://github.com/vitest-dev/vitest/commit/26642f793"><!-- raw
HTML omitted -->(26642)<!-- raw HTML omitted --></a></li>
<li>Resolve mocks in directories with spaces - by <a
href="https://github.com/sheremet-va"><code>@sheremet-va</code></a> in
<a
href="https://redirect.github.com/vitest-dev/vitest/issues/11539">vitest-dev/vitest#11539</a>
<a href="https://github.com/vitest-dev/vitest/commit/caaef9416"><!-- raw
HTML omitted -->(caaef)<!-- raw HTML omitted --></a></li>
<li><strong>api</strong>:
<ul>
<li>Publish the api token atomically - by <a
href="https://github.com/umairnawaz333"><code>@umairnawaz333</code></a>
in <a
href="https://redirect.github.com/vitest-dev/vitest/issues/11323">vitest-dev/vitest#11323</a>
<a href="https://github.com/vitest-dev/vitest/commit/6f990fef1"><!-- raw
HTML omitted -->(6f990)<!-- raw HTML omitted --></a></li>
</ul>
</li>
<li><strong>browser</strong>:</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/vitest-dev/vitest/commit/7a825db43e2beca0b219d2eadaec334cb81af0c7"><code>7a825db</code></a>
chore: release v5.0.5 (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11609">#11609</a>)</li>
<li><a
href="https://github.com/vitest-dev/vitest/commit/6a11cf66f99fa610b7364363d5ca42b66d994f40"><code>6a11cf6</code></a>
chore: release v5.0.4 (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11554">#11554</a>)</li>
<li><a
href="https://github.com/vitest-dev/vitest/commit/2297d93a854968d2ffee6025700c69099e6b7f80"><code>2297d93</code></a>
fix(coverage): v8 browser memory leak between test files (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11466">#11466</a>)</li>
<li><a
href="https://github.com/vitest-dev/vitest/commit/c74e099a9d17e24e9816878165af4818df84a631"><code>c74e099</code></a>
fix(deps): update all non-major dependencies (<a
href="https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8/issues/11167">#11167</a>)</li>
<li>See full diff in <a
href="https://github.com/vitest-dev/vitest/commits/v5.0.5/packages/coverage-v8">compare
view</a></li>
</ul>
</details>
<br />
Updates `axios` from 1.20.0 to 1.21.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/releases">axios's
releases</a>.</em></p>
<blockquote>
<h2>v1.21.0 — October 21, 2026</h2>
<p>This release adds response timing and opt-in UTF-8 Basic
authentication, improves request handling across runtimes, and changes
how header defaults are recognized.</p>
<h2>⚠️ Breaking Changes & Deprecations</h2>
<ul>
<li><strong>Header Defaults:</strong> Only plain objects, null-prototype
maps, and compatible <code>AxiosHeaders</code> instances are treated as
common or method-specific defaults; literal headers such as
<code>Link</code> are now preserved. Applications using custom class
instances as defaults must convert them to plain maps, for example
<code>{ post: { ...customDefaults } }</code>, or compatible
<code>AxiosHeaders</code>. Otherwise, those instances become literal
header values, including on requests using other methods. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11156">#11156</a></strong>)</li>
</ul>
<h2>🚀 New Features</h2>
<ul>
<li><strong>Response Timing:</strong> Added
<code>response.duration</code>, in milliseconds, including on
<code>error.response</code> when present. Timing measures adapter
execution and excludes interceptors and transforms; streamed responses
stop timing when the stream becomes available. Axios replaces any
existing <code>duration</code> value supplied by a custom adapter.
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11214">#11214</a></strong>)</li>
<li><strong>UTF-8 Basic Authentication:</strong> Added
<code>transitional.encodeBasicAuthUsername: true</code> to support
Unicode usernames in XHR and Fetch requests. The option defaults to
<code>false</code>, preserving existing authentication behavior;
applications opting in should supply the original Unicode username and
remove manual pre-encoding workarounds. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11159">#11159</a></strong>)</li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li><strong>Fetch Compatibility:</strong> Restored requests in runtimes
such as Cloudflare Workers that reject the implicit <code>cache:
'default'</code>, while preserving explicit caller settings.
Response-size failures now retain their original
<code>ERR_BAD_RESPONSE</code> and request context when runtime wrappers
replace the underlying stream error. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11194">#11194</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11179">#11179</a></strong>)</li>
<li><strong>Runtime Consistency:</strong> Aligned encoded-byte size
accounting, multipart uploads, proxy routing, same-origin resolution,
parameter merging, and form serialization across adapters. Circular
parameters now reject with <code>ERR_BAD_OPTION_VALUE</code>, and sparse
or non-index numeric form fields serialize as keyed objects. With
<code>proxy: false</code>, native <code>proxyEnv</code> agents using
unsupported pool-management or TLS-session lifecycle overrides now
reject with <code>ERR_BAD_OPTION_VALUE</code>; construct those agents
without <code>proxyEnv</code>. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11242">#11242</a></strong>)</li>
<li><strong>Header Handling:</strong> Preserved headers named
<code>__proto__</code> using safe casing without changing the
<code>AxiosHeaders</code> instance prototype. Function matchers in
<code>has()</code>, <code>delete()</code>, and <code>clear()</code> now
receive the headers instance as <code>this</code>, matching their
declared contract. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11134">#11134</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11216">#11216</a></strong>)</li>
<li><strong>URL and Data URL Parsing:</strong> Accepted case-insensitive
supported URL schemes and Base64 markers, and corrected decoding of
percent-encoded Base64 data URLs. Node data URL allocation estimates
remain aligned with decoding so configured size limits apply before
allocation. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11138">#11138</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11163">#11163</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11294">#11294</a></strong>)</li>
<li><strong>Error Diagnostics:</strong> Preserved short reconstructed
request stacks and appended wrapped error stacks under <code>Caused
by:</code> so tooling that reads only <code>error.stack</code> retains
the original failure context. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11132">#11132</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11142">#11142</a></strong>)</li>
<li><strong>Interceptor Removal:</strong> Restored removal through
canonical numeric-string interceptor IDs, including after registry
compaction. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11139">#11139</a></strong>)</li>
<li><strong>Proxy TLS:</strong> HTTPS CONNECT tunnels now apply current
origin TLS options from an explicit <code>httpsAgent</code>, or from
<code>https.globalAgent</code> when no explicit agent is supplied. This
preserves process-wide custom CA settings through proxy tunnels.
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11178">#11178</a></strong>)</li>
<li><strong>XHR Lifecycle:</strong> Used asynchronous Cookie Store reads
for XSRF tokens where supported, preserving cookie fallback, timeout
accounting, and cancellation. Upload and download progress listeners are
now removed on completion, failure, timeout, and cancellation.
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11166">#11166</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11225">#11225</a></strong>)</li>
<li><strong>HTTP/2 Sessions:</strong> Stopped reusing sessions
immediately after GOAWAY and prevented draining sessions from scheduling
idle timers that could delay process exit. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11210">#11210</a></strong>)</li>
<li><strong>TypeScript Declarations:</strong> Exposed the
response-default marker as a public type to resolve <code>TS2527</code>
when consumers emit declarations involving unresolved response generics,
covering both ESM and CommonJS. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11125">#11125</a></strong>)</li>
</ul>
<h2>🔧 Maintenance & Chores</h2>
<ul>
<li><strong>Configuration Performance:</strong> Reduced request
configuration merge overhead, particularly for requests with many
headers, while preserving merge semantics and prototype-pollution
guards. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11208">#11208</a></strong>)</li>
<li><strong>Same-Origin Checks:</strong> Removed obsolete Internet
Explorer detection without changing origin decisions in supported
environments. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11174">#11174</a></strong>)</li>
<li><strong>Dependencies:</strong> Updated <code>follow-redirects</code>
to 1.16.1 and refreshed development, documentation, test, and GitHub
Actions dependencies. Removed unused <code>dayjs</code> from the docs
package, root <code>chalk</code>, and <code>chai</code> from CJS module
tests. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11169">#11169</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11188">#11188</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11189">#11189</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11195">#11195</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11212">#11212</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11213">#11213</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11218">#11218</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11220">#11220</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11221">#11221</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11230">#11230</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11234">#11234</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11244">#11244</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11245">#11245</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11266">#11266</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11267">#11267</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11268">#11268</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11269">#11269</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11270">#11270</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11271">#11271</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11272">#11272</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11298">#11298</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11302">#11302</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11303">#11303</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11304">#11304</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11305">#11305</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11306">#11306</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11313">#11313</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11321">#11321</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11322">#11322</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11323">#11323</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11342">#11342</a></strong>)</li>
<li><strong>Documentation:</strong> Fixed interceptor test links,
updated README CDN examples to the published 1.20.0 bundle, and
corrected guidance on interceptor options and request lifecycle
ordering. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11228">#11228</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11149">#11149</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11335">#11335</a></strong>)</li>
<li><strong>Contributor Workflow:</strong> Consolidated agent
instructions in <code>AGENTS.md</code>, standardized PR labels, required
prerelease notes and validation evidence, and clarified that <code>npm
test</code> requires installed Playwright browsers. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11238">#11238</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11273">#11273</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11223">#11223</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11284">#11284</a></strong>)</li>
<li><strong>Sponsors and Support:</strong> Added HeroDevs, Code for
Japan, and Sweepico sponsor listings, refreshed sponsor data, and
documented extended security support for Axios v0. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11222">#11222</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11249">#11249</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11252">#11252</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11341">#11341</a></strong>)</li>
<li><strong>Proxy Regression Coverage:</strong> Added a long dotted
request-hostname test for <code>NO_PROXY</code> handling, extending
coverage of an existing denial-of-service fix. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11235">#11235</a></strong>)</li>
<li><strong>Release Preparation:</strong> Updated package version
metadata for 1.21.0. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11346">#11346</a></strong>)</li>
</ul>
<h2>🌟 New Contributors</h2>
<p>Welcome to our 24 new contributors. Thank you for helping improve
Axios:</p>
<ul>
<li><strong><a
href="https://github.com/lazerg"><code>@lazerg</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11194">#11194</a></strong>)</li>
<li><strong><a
href="https://github.com/QIU-Guanzong"><code>@QIU-Guanzong</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11228">#11228</a></strong>)</li>
<li><strong><a
href="https://github.com/Iams4kura"><code>@Iams4kura</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11125">#11125</a></strong>)</li>
<li><strong><a
href="https://github.com/vjymisal0"><code>@vjymisal0</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11179">#11179</a></strong>)</li>
<li><strong><a
href="https://github.com/jarrensj"><code>@jarrensj</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11238">#11238</a></strong>)</li>
<li><strong><a
href="https://github.com/LineGu"><code>@LineGu</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11132">#11132</a></strong>)</li>
<li><strong><a
href="https://github.com/luantaraschi"><code>@luantaraschi</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11134">#11134</a></strong>)</li>
<li><strong><a
href="https://github.com/Cyberhet"><code>@Cyberhet</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11284">#11284</a></strong>)</li>
<li><strong><a
href="https://github.com/nyxst4ck"><code>@nyxst4ck</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11138">#11138</a></strong>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/axios/axios/blob/v1.x/CHANGELOG.md">axios's
changelog</a>.</em></p>
<blockquote>
<h2>v1.21.0 — October 21, 2026</h2>
<p>This release adds response timing and opt-in UTF-8 Basic
authentication, improves request handling across runtimes, and changes
how header defaults are recognized.</p>
<h2>⚠️ Breaking Changes & Deprecations</h2>
<ul>
<li><strong>Header Defaults:</strong> Only plain objects, null-prototype
maps, and compatible <code>AxiosHeaders</code> instances are treated as
common or method-specific defaults; literal headers such as
<code>Link</code> are now preserved. Applications using custom class
instances as defaults must convert them to plain maps, for example
<code>{ post: { ...customDefaults } }</code>, or compatible
<code>AxiosHeaders</code>. Otherwise, those instances become literal
header values, including on requests using other methods. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11156">#11156</a></strong>)</li>
</ul>
<h2>🚀 New Features</h2>
<ul>
<li><strong>Response Timing:</strong> Added
<code>response.duration</code>, in milliseconds, including on
<code>error.response</code> when present. Timing measures adapter
execution and excludes interceptors and transforms; streamed responses
stop timing when the stream becomes available. Axios replaces any
existing <code>duration</code> value supplied by a custom adapter.
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11214">#11214</a></strong>)</li>
<li><strong>UTF-8 Basic Authentication:</strong> Added
<code>transitional.encodeBasicAuthUsername: true</code> to support
Unicode usernames in XHR and Fetch requests. The option defaults to
<code>false</code>, preserving existing authentication behavior;
applications opting in should supply the original Unicode username and
remove manual pre-encoding workarounds. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11159">#11159</a></strong>)</li>
</ul>
<h2>🐛 Bug Fixes</h2>
<ul>
<li><strong>Fetch Compatibility:</strong> Restored requests in runtimes
such as Cloudflare Workers that reject the implicit <code>cache:
'default'</code>, while preserving explicit caller settings.
Response-size failures now retain their original
<code>ERR_BAD_RESPONSE</code> and request context when runtime wrappers
replace the underlying stream error. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11194">#11194</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11179">#11179</a></strong>)</li>
<li><strong>Runtime Consistency:</strong> Aligned encoded-byte size
accounting, multipart uploads, proxy routing, same-origin resolution,
parameter merging, and form serialization across adapters. Circular
parameters now reject with <code>ERR_BAD_OPTION_VALUE</code>, and sparse
or non-index numeric form fields serialize as keyed objects. With
<code>proxy: false</code>, native <code>proxyEnv</code> agents using
unsupported pool-management or TLS-session lifecycle overrides now
reject with <code>ERR_BAD_OPTION_VALUE</code>; construct those agents
without <code>proxyEnv</code>. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11242">#11242</a></strong>)</li>
<li><strong>Header Handling:</strong> Preserved headers named
<strong><code>__proto__</code></strong> using safe casing without
changing the <code>AxiosHeaders</code> instance prototype. Function
matchers in <code>has()</code>, <code>delete()</code>, and
<code>clear()</code> now receive the headers instance as
<code>this</code>, matching their declared contract. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11134">#11134</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11216">#11216</a></strong>)</li>
<li><strong>URL and Data URL Parsing:</strong> Accepted case-insensitive
supported URL schemes and Base64 markers, and corrected decoding of
percent-encoded Base64 data URLs. Node data URL allocation estimates
remain aligned with decoding so configured size limits apply before
allocation. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11138">#11138</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11163">#11163</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11294">#11294</a></strong>)</li>
<li><strong>Error Diagnostics:</strong> Preserved short reconstructed
request stacks and appended wrapped error stacks under <code>Caused
by:</code> so tooling that reads only <code>error.stack</code> retains
the original failure context. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11132">#11132</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11142">#11142</a></strong>)</li>
<li><strong>Interceptor Removal:</strong> Restored removal through
canonical numeric-string interceptor IDs, including after registry
compaction. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11139">#11139</a></strong>)</li>
<li><strong>Proxy TLS:</strong> HTTPS CONNECT tunnels now apply current
origin TLS options from an explicit <code>httpsAgent</code>, or from
<code>https.globalAgent</code> when no explicit agent is supplied. This
preserves process-wide custom CA settings through proxy tunnels.
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11178">#11178</a></strong>)</li>
<li><strong>XHR Lifecycle:</strong> Used asynchronous Cookie Store reads
for XSRF tokens where supported, preserving cookie fallback, timeout
accounting, and cancellation. Upload and download progress listeners are
now removed on completion, failure, timeout, and cancellation.
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11166">#11166</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11225">#11225</a></strong>)</li>
<li><strong>HTTP/2 Sessions:</strong> Stopped reusing sessions
immediately after GOAWAY and prevented draining sessions from scheduling
idle timers that could delay process exit. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11210">#11210</a></strong>)</li>
<li><strong>TypeScript Declarations:</strong> Exposed the
response-default marker as a public type to resolve <code>TS2527</code>
when consumers emit declarations involving unresolved response generics,
covering both ESM and CommonJS. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11125">#11125</a></strong>)</li>
</ul>
<h2>🔧 Maintenance & Chores</h2>
<ul>
<li><strong>Configuration Performance:</strong> Reduced request
configuration merge overhead, particularly for requests with many
headers, while preserving merge semantics and prototype-pollution
guards. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11208">#11208</a></strong>)</li>
<li><strong>Same-Origin Checks:</strong> Removed obsolete Internet
Explorer detection without changing origin decisions in supported
environments. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11174">#11174</a></strong>)</li>
<li><strong>Dependencies:</strong> Updated <code>follow-redirects</code>
to 1.16.1 and refreshed development, documentation, test, and GitHub
Actions dependencies. Removed unused <code>dayjs</code> from the docs
package, root <code>chalk</code>, and <code>chai</code> from CJS module
tests. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11169">#11169</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11188">#11188</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11189">#11189</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11195">#11195</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11212">#11212</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11213">#11213</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11218">#11218</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11220">#11220</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11221">#11221</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11230">#11230</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11234">#11234</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11244">#11244</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11245">#11245</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11266">#11266</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11267">#11267</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11268">#11268</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11269">#11269</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11270">#11270</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11271">#11271</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11272">#11272</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11298">#11298</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11302">#11302</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11303">#11303</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11304">#11304</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11305">#11305</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11306">#11306</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11313">#11313</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11321">#11321</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11322">#11322</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11323">#11323</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11342">#11342</a></strong>)</li>
<li><strong>Documentation:</strong> Fixed interceptor test links,
updated README CDN examples to the published 1.20.0 bundle, and
corrected guidance on interceptor options and request lifecycle
ordering. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11228">#11228</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11149">#11149</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11335">#11335</a></strong>)</li>
<li><strong>Contributor Workflow:</strong> Consolidated agent
instructions in <code>AGENTS.md</code>, standardized PR labels, required
prerelease notes and validation evidence, and clarified that <code>npm
test</code> requires installed Playwright browsers. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11238">#11238</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11273">#11273</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11223">#11223</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11284">#11284</a></strong>)</li>
<li><strong>Sponsors and Support:</strong> Added HeroDevs, Code for
Japan, and Sweepico sponsor listings, refreshed sponsor data, and
documented extended security support for Axios v0. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11222">#11222</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11249">#11249</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11252">#11252</a></strong>,
<strong><a
href="https://redirect.github.com/axios/axios/pull/11341">#11341</a></strong>)</li>
<li><strong>Proxy Regression Coverage:</strong> Added a long dotted
request-hostname test for <code>NO_PROXY</code> handling, extending
coverage of an existing denial-of-service fix. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11235">#11235</a></strong>)</li>
<li><strong>Release Preparation:</strong> Updated package version
metadata for 1.21.0. (<strong><a
href="https://redirect.github.com/axios/axios/pull/11346">#11346</a></strong>)</li>
</ul>
<h2>🌟 New Contributors</h2>
<p>Welcome to our 24 new contributors. Thank you for helping improve
Axios:</p>
<ul>
<li><strong><a
href="https://github.com/lazerg"><code>@lazerg</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11194">#11194</a></strong>)</li>
<li><strong><a
href="https://github.com/QIU-Guanzong"><code>@QIU-Guanzong</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11228">#11228</a></strong>)</li>
<li><strong><a
href="https://github.com/Iams4kura"><code>@Iams4kura</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11125">#11125</a></strong>)</li>
<li><strong><a
href="https://github.com/vjymisal0"><code>@vjymisal0</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11179">#11179</a></strong>)</li>
<li><strong><a
href="https://github.com/jarrensj"><code>@jarrensj</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11238">#11238</a></strong>)</li>
<li><strong><a
href="https://github.com/LineGu"><code>@LineGu</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11132">#11132</a></strong>)</li>
<li><strong><a
href="https://github.com/luantaraschi"><code>@luantaraschi</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11134">#11134</a></strong>)</li>
<li><strong><a
href="https://github.com/Cyberhet"><code>@Cyberhet</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11284">#11284</a></strong>)</li>
<li><strong><a
href="https://github.com/nyxst4ck"><code>@nyxst4ck</code></a></strong>
(<strong><a
href="https://redirect.github.com/axios/axios/pull/11138">#11138</a></strong>)</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/axios/axios/commit/aa54a5e1e0e50cd1a2561b854ae5490ff589d065"><code>aa54a5e</code></a>
docs: remove cancelled sponsors from README (<a
href="https://redirect.github.com/axios/axios/issues/11369">#11369</a>)</li>
<li><a
href="https://github.com/axios/axios/commit/e6b79d9cef796ca3a903bb83e51d4752b019fd67"><code>e6b79d9</code></a>
chore(release): prepare release 1.21.0 (<a
href="https://redirect.github.com/axios/axios/issues/11346">#11346</a>)</li>
<li><a
href="https://github.com/axios/axios/commit/fceeb10997ea71778ad8bc9671ad53e9195a707c"><code>fceeb10</code></a>
chore(deps-dev): bump the development_dependencies group with 4 updates
(<a
href="https://redirect.github.com/axios/axios/issues/11342">#11342</a>)</li>
<li><a
href="https://github.com/axios/axios/commit/7d15df3f4cff1be2f1ed397f98170aadef399071"><code>7d15df3</code></a>
docs: refresh sponsor data (<a
href="https://redirect.github.com/axios/axios/issues/11341">#11341</a>)</li>
<li><a
href="https://github.com/axios/axios/commit/8d8e84401d38c2a9c62acd18b3df17478a0caf6b"><code>8d8e844</code></a>
docs: correct interceptor options and request lifecycle guide (<a
href="https://redirect.github.com/axios/axios/issues/11335">#11335</a>)</li>
<li><a
href="https://github.com/axios/axios/commit/326843a3902d73c9f6af9bad7b55e2412566a251"><code>326843a</code></a>
test(no-proxy): cover the request-hostname path with a long dotted host
(<a
href="https://redirect.github.com/axios/axios/issues/11235">#11235</a>)</li>
<li><a
href="https://github.com/axios/axios/commit/e5195ecf405cf791b7ad2715156d6bc98b5f3928"><code>e5195ec</code></a>
feat(core): expose request duration on the response (<a
href="https://redirect.github.com/axios/axios/issues/11214">#11214</a>)</li>
<li><a
href="https://github.com/axios/axios/commit/8d415e6af9cd50a8ae27331a53b4aaf9f7e24612"><code>8d415e6</code></a>
fix(headers): bind matcher callbacks to the headers instance (<a
href="https://redirect.github.com/axios/axios/issues/11216">#11216</a>)</li>
<li><a
href="https://github.com/axios/axios/commit/b16dd7787807f7f15e5fb1a3e39b7d190c312b2e"><code>b16dd77</code></a>
fix(xhr): remove progress event listeners on request completion (<a
href="https://redirect.github.com/axios/axios/issues/11225">#11225</a>)</li>
<li><a
href="https://github.com/axios/axios/commit/790b2ca8b6d8486dde3ce54cda20990ba91b0831"><code>790b2ca</code></a>
chore(deps): bump the github-actions group with 3 updates (<a
href="https://redirect.github.com/axios/axios/issues/11323">#11323</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/axios/axios/compare/v1.20.0...v1.21.0">compare
view</a></li>
</ul>
</details>
<br />
Updates `dotenv` from 18.0.8 to 18.0.9
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/motdotla/dotenv/blob/master/CHANGELOG.md">dotenv's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/motdotla/dotenv/compare/v18.0.8...v18.0.9">18.0.9</a>
(2026-10-14)</h2>
<h3>Changed</h3>
<ul>
<li>Permit DOTENV_PATH being empty string with the CLI (<a
href="https://redirect.github.com/motdotla/dotenv/pull/1076">#1076</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/motdotla/dotenv/commit/8d1ab850aa628781929f08bfd0d71ba1d1bf0a23"><code>8d1ab85</code></a>
18.0.9</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/59a40ce5876a661d3964cc0269208267174ea39b"><code>59a40ce</code></a>
changelog</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/88228bd02b9ce98a79442ddcd619e4c31199474c"><code>88228bd</code></a>
Merge pull request <a
href="https://redirect.github.com/motdotla/dotenv/issues/1076">#1076</a>
from Enesuygurs/fix/cli-empty-dotenv-path</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/bc6ef941200c2015ffcc17d40c4f8f76ffe24026"><code>bc6ef94</code></a>
fix(cli): load the default .env when DOTENV_PATH is empty</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/6d6e6c58074adc12131ec6ab6eac92fb92484dbc"><code>6d6e6c5</code></a>
Merge pull request <a
href="https://redirect.github.com/motdotla/dotenv/issues/1075">#1075</a>
from kory-kaai/test/fast-parser-branch-coverage</li>
<li><a
href="https://github.com/motdotla/dotenv/commit/10218f1b0fa1f83f0714dc3c8133d0daa54752ff"><code>10218f1</code></a>
test(parse-fast): cover the size-dependent and export-prefix
branches</li>
<li>See full diff in <a
href="https://github.com/motdotla/dotenv/compare/v18.0.8...v18.0.9">compare
view</a></li>
</ul>
</details>
<br />
Updates `@commitlint/cli` from 21.2.3 to 21.2.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/conventional-changelog/commitlint/releases">@commitlint/cli's
releases</a>.</em></p>
<blockquote>
<h2>v21.2.4</h2>
<h2><a
href="https://github.com/conventional-changelog/commitlint/compare/v21.2.3...v21.2.4">21.2.4</a>
(2026-10-18)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>fix(load): replace config file arrays with seed arrays by <a
href="https://github.com/escapedcat"><code>@escapedcat</code></a> in <a
href="https://redirect.github.com/conventional-changelog/commitlint/pull/5056">conventional-changelog/commitlint#5056</a></li>
<li>fix: update dependency jsonc to v3 by <a
href="https://github.com/renovate"><code>@renovate</code></a>[bot] in
<a
href="https://redirect.github.com/conventional-changelog/commitlint/pull/5020">conventional-changelog/commitlint#5020</a></li>
</ul>
<h3>Performance Improvements</h3>
<ul>
<li>perf(load): load typescript configs with jiti directly by <a
href="https://github.com/escapedcat"><code>@escapedcat</code></a> in <a
href="https://redirect.github.com/conventional-changelog/commitlint/pull/5052">conventional-changelog/commitlint#5052</a></li>
</ul>
<h3>Docs, etc</h3>
<ul>
<li>docs: add AGENTS.md with commit type guidance by <a
href="https://github.com/escapedcat"><code>@escapedcat</code></a> in <a
href="https://redirect.github.com/conventional-changelog/commitlint/pull/5053">conventional-changelog/commitlint#5053</a></li>
<li>test(ensure): pin case conversion of digits, punctuation and accents
by <a href="https://github.com/escapedcat"><code>@escapedcat</code></a>
in <a
href="https://redirect.github.com/conventional-changelog/commitlint/pull/5055">conventional-changelog/commitlint#5055</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/conventional-changelog/commitlint/compare/v21.2.3...v21.2.4">https://github.com/conventional-changelog/commitlint/compare/v21.2.3...v21.2.4</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/cli/CHANGELOG.md">@commitlint/cli's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/conventional-changelog/commitlint/compare/v21.2.3...v21.2.4">21.2.4</a>
(2026-10-18)</h2>
<p><strong>Note:</strong> Version bump only for package
<code>@commitlint/cli</code></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/conventional-changelog/commitlint/commit/d8e36560a485c5e5a0a74ebbb48591b3e2e08ca7"><code>d8e3656</code></a>
v21.2.4</li>
<li>See full diff in <a
href="https://github.com/conventional-changelog/commitlint/commits/v21.2.4/@commitlint/cli">compare
view</a></li>
</ul>
</details>
<br />
Updates `@commitlint/config-conventional` from 21.2.3 to 21.2.4
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/conventional-changelog/commitlint/releases">@commitlint/config-conventional's
releases</a>.</em></p>
<blockquote>
<h2>v21.2.4</h2>
<h2><a
href="https://github.com/conventional-changelog/commitlint/compare/v21.2.3...v21.2.4">21.2.4</a>
(2026-10-18)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>fix(load): replace config file arrays with seed arrays by <a
href="https://github.com/escapedcat"><code>@escapedcat</code></a> in <a
href="https://redirect.github.com/conventional-changelog/commitlint/pull/5056">conventional-changelog/commitlint#5056</a></li>
<li>fix: update dependency jsonc to v3 by <a
href="https://github.com/renovate"><code>@renovate</code></a>[bot] in
<a
href="https://redirect.github.com/conventional-changelog/commitlint/pull/5020">conventional-changelog/commitlint#5020</a></li>
</ul>
<h3>Performance Improvements</h3>
<ul>
<li>perf(load): load typescript configs with jiti directly by <a
href="https://github.com/escapedcat"><code>@escapedcat</code></a> in <a
href="https://redirect.github.com/conventional-changelog/commitlint/pull/5052">conventional-changelog/commitlint#5052</a></li>
</ul>
<h3>Docs, etc</h3>
<ul>
<li>docs: add AGENTS.md with commit type guidance by <a
href="https://github.com/escapedcat"><code>@escapedcat</code></a> in <a
href="https://redirect.github.com/conventional-changelog/commitlint/pull/5053">conventional-changelog/commitlint#5053</a></li>
<li>test(ensure): pin case conversion of digits, punctuation and accents
by <a href="https://github.com/escapedcat"><code>@escapedcat</code></a>
in <a
href="https://redirect.github.com/conventional-changelog/commitlint/pull/5055">conventional-changelog/commitlint#5055</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/conventional-changelog/commitlint/compare/v21.2.3...v21.2.4">https://github.com/conventional-changelog/commitlint/compare/v21.2.3...v21.2.4</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/conventional-changelog/commitlint/blob/master/@commitlint/config-conventional/CHANGELOG.md">@commitlint/config-conventional's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/conventional-changelog/commitlint/compare/v21.2.3...v21.2.4">21.2.4</a>
(2026-10-18)</h2>
<p><strong>Note:</strong> Version bump only for package
<code>@commitlint/config-conventional</code></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/conventional-changelog/commitlint/commit/d8e36560a485c5e5a0a74ebbb48591b3e2e08ca7"><code>d8e3656</code></a>
v21.2.4</li>
<li>See full diff in <a
href="https://github.com/conventional-changelog/commitlint/commits/v21.2.4/@commitlint/config-conventional">compare
view</a></li>
</ul>
</details>
<br />
Updates `@types/node` from 26.6.5 to 26.6.6
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node">compare
view</a></li>
</ul>
</details>
<br />
Updates `@types/pdfkit` from 0.17.6 to 0.17.7
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/pdfkit">compare
view</a></li>
</ul>
</details>
<br />
Updates `electron-builder` from 26.15.3 to 26.18.0
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/electron-userland/electron-builder/releases">electron-builder's
releases</a>.</em></p>
<blockquote>
<h2>electron-builder@26.18.0</h2>
<h2>What's Changed</h2>
<ul>
<li>fix(nsis): warn when differentialPackage "store-asar"
finds no app.asar (v26 backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10246">#10246</a>)
by <a href="https://github.com/claude"><code>@claude</code></a>[bot] in
<a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10249">electron-userland/electron-builder#10249</a></li>
<li>test(archive): make stored-member assertions independent of 7-Zip
folder order (v26 backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10247">#10247</a>)
by <a href="https://github.com/claude"><code>@claude</code></a>[bot] in
<a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10251">electron-userland/electron-builder#10251</a></li>
<li>fix(nsis): keep installer extraction in sync with the payload format
when useZip is set (v26 backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10248">#10248</a>)
by <a href="https://github.com/claude"><code>@claude</code></a>[bot] in
<a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10252">electron-userland/electron-builder#10252</a></li>
<li>fix(pnpm): read the app's own package.json when its name matches a
dependency (v26 backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10278">#10278</a>)
by <a href="https://github.com/claude"><code>@claude</code></a>[bot] in
<a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10282">electron-userland/electron-builder#10282</a></li>
<li>fix: import blake2b from <code>@noble/hashes/blake2.js</code> by <a
href="https://github.com/mmaietta"><code>@mmaietta</code></a> in <a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10292">electron-userland/electron-builder#10292</a></li>
<li>fix: encode GitLab package path segments (v26 backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10140">#10140</a>)
by <a href="https://github.com/claude"><code>@claude</code></a>[bot] in
<a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10299">electron-userland/electron-builder#10299</a></li>
<li>fix(updater): validate cached update filenames (v26 backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10115">#10115</a>)
by <a href="https://github.com/claude"><code>@claude</code></a>[bot] in
<a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10300">electron-userland/electron-builder#10300</a></li>
<li>fix: escape Squirrel project URLs in nuspec XML (v26 backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10141">#10141</a>)
by <a href="https://github.com/claude"><code>@claude</code></a>[bot] in
<a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10301">electron-userland/electron-builder#10301</a></li>
<li>fix: enforce workspace path boundaries for asar (v26 backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10135">#10135</a>)
by <a href="https://github.com/claude"><code>@claude</code></a>[bot] in
<a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10314">electron-userland/electron-builder#10314</a></li>
<li>fix(app-builder-lib): bump <code>@electron/rebuild</code> to 4.2.1
(v26 backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10308">#10308</a>)
by <a href="https://github.com/claude"><code>@claude</code></a>[bot] in
<a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10315">electron-userland/electron-builder#10315</a></li>
<li>feat(blockmap): finer content-defined blocks for the stored app.asar
region (v26 backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10235">#10235</a>)
by <a href="https://github.com/imlucas"><code>@imlucas</code></a> in <a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10309">electron-userland/electron-builder#10309</a></li>
<li>fix(pnpm): collect packages that <code>pnpm list</code> only prints
as deduped stubs by <a
href="https://github.com/mmaietta"><code>@mmaietta</code></a> in <a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10323">electron-userland/electron-builder#10323</a></li>
<li>fix: contain mapped app file destinations (v26 backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10137">#10137</a>)
by <a href="https://github.com/claude"><code>@claude</code></a>[bot] in
<a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10330">electron-userland/electron-builder#10330</a></li>
<li>fix(snap): don't request allow-sandbox by default for core24 (v26
backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10294">#10294</a>)
by <a href="https://github.com/claude"><code>@claude</code></a>[bot] in
<a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10331">electron-userland/electron-builder#10331</a></li>
<li>fix(snap): don't delete chrome-sandbox from the shared
linux-unpacked dir in template builds (v26 backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10327">#10327</a>)
by <a href="https://github.com/yokomohoyo"><code>@yokomohoyo</code></a>
in <a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10333">electron-userland/electron-builder#10333</a></li>
<li>fix(forge): make electron-builder makers loadable by current
Electron Forge (v26 backport) by <a
href="https://github.com/claude"><code>@claude</code></a>[bot] in <a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10352">electron-userland/electron-builder#10352</a></li>
<li>chore(deploy): Release (v26) by <a
href="https://github.com/electron-builder-release-bot"><code>@electron-builder-release-bot</code></a>[bot]
in <a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10250">electron-userland/electron-builder#10250</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/electron-userland/electron-builder/compare/electron-builder@26.17.0...electron-builder@26.18.0">https://github.com/electron-userland/electron-builder/compare/electron-builder@26.17.0...electron-builder@26.18.0</a></p>
<h2>electron-builder@26.17.0</h2>
<h2>What's Changed</h2>
<ul>
<li>fix: detect pnpm workspace root on Windows without shelling out to
pwd (v26 backport) by <a
href="https://github.com/claude"><code>@claude</code></a>[bot] in <a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10189">electron-userland/electron-builder#10189</a></li>
<li>test: pin globTest "failed peer dep" deps via lockfile
fixture and update snapshot for moment 2.31.0 (v26 backport of <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-builder/issues/10197">#10197</a>)
by <a href="https://github.com/claude"><code>@claude</code></a>[bot] in
<a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10198">electron-userland/electron-builder#10198</a></li>
<li>feat(nsis): "store-asar" mode for proportional
differential updates (v26 backport) by <a
href="https://github.com/claude"><code>@claude</code></a>[bot] in <a
href="https://redirect.github.com/electron-userland/electron-builder/pull/10201">electron-userland/electron-builder#10201</a></li>
<li>test(v26): bump package manager pins and disable dependency
lifecycle scripts in fixture installs (backport <a
href="https://github.com/electron-userland/electron-builder/tree/HEAD/packages/electron-buil…
…a dos providers (#332) ## Descricao Distribui os oito providers em 21 janelas automáticas diárias, com seleção efetiva por ProviderID e coordenação pelo lock global existente. Implementa grupos fixos Greenhouse, deadline absoluto, cobertura de keywords LinkedIn/Adzuna e orçamentos operacionais Gupy/Jooble. Preserva resultados parciais no catálogo PostgreSQL e na projeção Valkey, com status operacional compatível com falhas e timeouts. A integração foi validada com serviços descartáveis; a ativação automática em DEV permanece condicionada à configuração e à validação operacional. ## Linear [PAV-178](https://linear.app/candidateappbr/issue/PAV-178/jobs-processor-otimizar-agendamento-e-distribuicao-de-carga-dos) Close PAV-178 ## Como foi testado Resultados comprovados nas rodadas anteriores: | Validação | Resultado | |---|---| | Testes Go direcionados | 475 aprovados | | Testes Go com detector de corridas | 414 aprovados | | Integração Go com PostgreSQL e Valkey descartáveis | 15 aprovados | | Testes backend direcionados | 56 aprovados | | Testes backend com Valkey real descartável | 18 aprovados | | Build Go e verificação TypeScript | Aprovados | | Hotfix final: `cronjob` e `runlock` com `-race` | Aprovados | Esses números representam execuções distintas e **não devem ser somados como casos únicos**. Na preparação deste PR, os comandos `npm test` de backend e frontend foram tentados conforme a skill. Ambos terminaram antes de executar casos, com código 127 e `vitest: not found`, pois esta worktree está sem dependências locais. Não foram instaladas dependências nem repetidas as integrações anteriores. ### Reprodução direcionada Com dependências instaladas e sem apontar configurações de teste para serviços compartilhados: ```bash cd scraper-go go test ./internal/config ./internal/cronjob ./internal/runlock ./internal/pipeline ./internal/adapters/... -count=1 -timeout=60s go test -race ./internal/cronjob ./internal/runlock -count=1 -timeout=40s ``` Para as integrações, configurar `PAV125_TEST_DATABASE_URL` e `PAV125_TEST_VALKEY_URL` exclusivamente para instâncias descartáveis dedicadas: ```bash cd scraper-go go test ./internal/catalogops ./internal/pipeline -count=1 -timeout=120s ``` A integração backend de busca versionada utiliza: ```bash cd backend npx --no-install vitest run tests/integration/jobs.valkey.test.ts npx --no-install tsc --noEmit -p tsconfig.json ``` Não executar seeds ou scrapers reais como parte desses testes. ## Objetivo Reduzir concentração de carga entre providers e distribuir a atualização do catálogo ao longo do dia, preservando os controles existentes de concorrência, persistência e coordenação. A grade é a configuração operacional acordada. A caracterização completa de duração, CPU, memória e volume dos oito providers ainda deverá ser medida em DEV; este PR não apresenta essa capacidade como comprovada. ## Resumo das alterações | Etapa | Entrega | |---|---| | P0 — `bf554a5` | Preset com 21 janelas, timezone local, identidade independente e deduplicação das ocorrências. | | P1 — `284d1c9` | Manifesto versionado com quatro grupos fixos Greenhouse. | | P2 — `85793e5` | Deadline absoluto, reservas para finalização, admissão pontual e coordenação persistente. | | P3 — `814026a` | Cobertura das keywords elegíveis LinkedIn/Adzuna por janela, preservando modos legados. | | P3.1 — `9fad872` | Orçamentos e cursor Gupy, preservação parcial e reserva atômica da cota Jooble. | | P4 — `95e4e34` | Testes finais de cobertura/integração e correção da admissão tardia causada pela latência do Valkey. | A branch também inclui os commits anteriores da PAV-178: seleção por ProviderID, controle de ativação, preservação parcial, bloqueio de seeds demonstrativos, otimizações e observabilidade do pipeline. ## Arquivos e módulos afetados - **Configuração:** `scraper-go/internal/config/`, incluindo `provider_schedule.go`. - **Scheduler:** `scraper-go/internal/cronjob/`, incluindo despacho, manifesto Greenhouse, cursor Gupy e Retry-After. - **Coordenação:** `scraper-go/internal/runlock/`. - **Pipeline e dados:** `pipeline/`, `catalog/`, `catalogops/`, `jobstore/`, `jobindex/`, `classifier/` e `metrics/`. - **Providers:** adapters e respectivos testes de cobertura, orçamento e resultados parciais. - **Servidor Go:** contratos administrativos em `scraper-go/cmd/server/`. - **Backend:** integração administrativa Node → Go, tipos operacionais, proteção de seeds e testes. - **Docker:** `docker/docker-compose.app.yml` e `docker/docker-compose.migrate.yml`. - **Documentação commitada:** `docs/PAV-178-dev.md`, `docs/PAV-178-PR.md` e documentação técnica do Processor. Nenhuma alteração da PAV-181 integra este PR. ## Arquitetura e funcionamento do scheduler O preset `SCRAPER_PROVIDER_WINDOWS=pav178` reutiliza o scheduler e o lock distribuído existentes. A configuração de janelas substitui o acionamento periódico legado nesse modo. Todos os horários abaixo são locais em `America/Sao_Paulo`: | Provider | Janelas | |---|---| | Greenhouse | 00h, 06h, 11h, 17h | | Gupy | 01h, 07h, 12h, 18h | | InHire | 02h, 08h, 13h, 19h | | LinkedIn | 03h, 09h, 16h | | Adzuna | 04h, 14h | | Lever | 05h, 15h | | The Muse | 10h | | Jooble | 20h | São 21 ocorrências diárias, com IDs estáveis e claims persistidos por data local. - Admissão limitada à tolerância de 30 segundos após o horário previsto. - Revalidação temporal após a coordenação no Valkey, enquanto o lease global está adquirido. - Admissão tardia registrada como `missed:admission_late`, sem executar o provider. - Ocorrências impedidas não geram backlog, catch-up ou compensação em outro horário. - Execução limitada a 55 minutos totais, com reservas internas para processamento e liberação. - Conclusão antecipada aguarda a próxima janela; não encadeia outro provider. - Pausa global persistente de cinco minutos também protege disparos manuais. - Claims, checkpoints e coordenação dependem da retenção do Valkey. ### Cobertura dos providers - **Greenhouse:** manifesto com 3.339 identidades estáveis, distribuídas em 850/850/850/789. Falhas e timeouts não redistribuem empresas entre janelas. Alterações do catálogo exigem revisão explícita do manifesto. - **Gupy:** até 120 queries por janela automática, cinco páginas por query e 600 tentativas HTTP, incluindo retries. Coleta sequencial, detecção de páginas repetidas, cursor persistente e preservação parcial. - **LinkedIn/Adzuna:** conjunto configurado de keywords elegíveis por ocorrência; limites de paginação, taxa e deadline continuam aplicáveis. - **InHire:** catálogo de 496 tenants. - **Lever:** catálogo de 44 empresas em ambas as janelas. - **The Muse:** limite padrão de 50 páginas, com preservação dos resultados parciais. - **Jooble:** uma janela diária às 20h, até 37 keywords, cursor e cadência existentes; teto compartilhado de até 150 tentativas HTTP/dia, reservado atomicamente antes do envio. Cobertura planejada não significa conclusão garantida quando a fonte limita requisições ou o deadline é atingido. ## Validações realizadas Foram cobertos seleção exclusiva, horários locais, deduplicação após reinício, sobreposição, timeout, cancelamento, resultados parciais, persistência/indexação, quotas e cobertura dos catálogos. Os testes finais do hotfix simulam a latência da coordenação sem sleeps longos e confirmam: - admissão dentro da tolerância; - rejeição depois da tolerância; - ausência de execução do provider rejeitado; - liberação do lock e dos recursos de execução; - ocorrência perdida consumida após reinício; - próxima janela elegível; - preservação da pausa global. A comparação com `upstream/develop` não apresentou conflitos textuais na simulação de merge. Os testes anteriores foram executados na branch PAV-178, não sobre uma integração com os 34 commits posteriores do destino. ## Impacto de banco e migrations Não há nova migration neste PR. O catálogo PostgreSQL, IDs estáveis, transações e revisões de indexação existentes são preservados. Falhas de indexação deixam pendências identificáveis por `indexed_revision < revision`, recuperáveis pelos mecanismos existentes. O deploy deixa de executar automaticamente o seed demonstrativo. Migrations e backfill legítimo de PII continuam no fluxo. O startup exige o catálogo migrado e recusa estados que demandem backfill/reconstrução explícita. Não há limpeza ou reconstrução automática de índices. ## Impacto de configuração e variáveis de ambiente A origem das configurações do scraper é o **`.env` global da raiz do repositório**, não o `.env` do backend. O Compose principal inclui os arquivos modulares com `project_directory: .`. O serviço `scraper-go`: - recebe `./.env` por `env_file`; - monta esse arquivo em `/app/.env` como somente leitura; - recebe valores explícitos em `environment`, que prevalecem sobre `env_file`; - recebe `DATABASE_URL` pelo módulo de migrations e `VALKEY_URL` pela configuração do serviço. O carregamento Go utiliza `godotenv.Load`, sem sobrescrever variáveis já presentes no processo. | Variável | Configuração/efeito | |---|---| | `SCRAPER_SCHEDULER_ENABLED` | **Manter `false` em DEV até ativação controlada.** O padrão do código é `true`. | | `SCRAPER_PROVIDER_WINDOWS` | `pav178` seleciona a grade. Vazio mantém o modo legado quando habilitado. | | `SCRAPER_SCHEDULE_TIMEZONE` | O preset utiliza `America/Sao_Paulo`; rejeita timezone incompatível. | | `SCRAPER_SCRAPE_TIMEOUT` | Padrão `50m`; coleta limitada também pelo deadline total e reservas de finalização. | | `GUPY_AUTO_QUERY_LIMIT` | Padrão `120`, exclusivo do modo automático correspondente. | | `GUPY_AUTO_MAX_PAGES` | Padrão `5`. | | `GUPY_AUTO_MAX_HTTP_ATTEMPTS` | Padrão `600`, incluindo retries. | | `JOOBLE_DAILY_HTTP_LIMIT` | Padrão `150`; aceita valores entre 1 e 150. | | `SCRAPER_GREENHOUSE_BATCH_SIZE` | Mantido para o fluxo legado/manual; não substitui os grupos fixos do preset. | `SCRAPER_SCHEDULER_ENABLED`, os três limites automáticos Gupy e `JOOBLE_DAILY_HTTP_LIMIT` chegam pelo `env_file`, sem override explícito nesses campos do Compose. Timeout, janelas, concorrência, batches e parâmetros do lock possuem entradas explícitas em `environment`. ### Flags, credenciais e catálogos | Provider | Requisitos | |---|---| | LinkedIn | Registrado sem flag ou credencial obrigatória nesse registry. | | Adzuna | `ADZUNA_APP_ID` e `ADZUNA_APP_KEY`. | | Gupy | `GUPY_ENABLED=true`; preservar as flags de discovery/sweep existentes. | | InHire | `INHIRE_ENABLED=true`; catálogo indicado por `INHIRE_TENANTS_FILE`. | | Greenhouse | `GREENHOUSE_ENABLED=true`; catálogo indicado por `GREENHOUSE_COMPANIES_FILE`, compatível com o manifesto. | | Lever | `LEVER_ENABLED=true`; catálogo indicado por `LEVER_COMPANIES_FILE`. O padrão do Compose é `false`. | | The Muse | Registrado sem flag; `THEMUSE_API_KEY` é opcional no adapter. | | Jooble | `JOOBLE_API_KEY` e Valkey disponível para controle de quota. | Com `SCRAPER_PROVIDER_WINDOWS=pav178`, os oito providers precisam estar disponíveis no registry **mesmo com o scheduler desabilitado**, pois a validação ocorre no startup. Também permanecem necessários PostgreSQL/Valkey, configurações de concorrência e parâmetros de lease existentes. Nenhuma credencial ou arquivo `.env` está incluído neste PR. ## Impacto de contratos e APIs Preserva o disparo sem seleção explícita e adiciona seleção administrativa por provider, com validação e encaminhamento Node → Go. O status administrativo expõe resumo da última execução e janelas configuradas. Timeout com vagas persistidas é distinguido de sucesso completo. A integração mantém tratamento de seleção inválida, conflito de execução, rate limit/Retry-After e indisponibilidade de coordenação. A busca backend utiliza a versão ativa em `scraper:jobs:index-version` e documentos em `scraper:jobs:ns:<versao>:job:<id>`. Índices legados com IDs sem documentos não recuperam conteúdo perdido. ## Segurança e privacidade Mantém autenticação e autorização administrativas existentes no backend. Os endpoints administrativos Go devem permanecer acessíveis pela rede interna prevista. Não inclui credenciais, `.env`, binários ou Compose temporário. Não executa seeds, coletas reais, reconstruções de índice ou alterações em produção. As integrações utilizaram dados e serviços descartáveis. ## Riscos e limitações - **Pré-condição de DEV:** confirmar migrations, disponibilidade do catálogo e versão ativa do índice. Estado legado inconsistente pode impedir o startup. - **Pré-condição do preset:** habilitar os providers exigidos e provisionar suas credenciais; Lever vem desabilitado por padrão. - **Validação pendente:** repetir CI após a integração com o `develop` atualizado. - **Medição pendente:** duração, recursos e cobertura real dos oito providers em DEV. Quotas operacionais não comprovam limites contratuais das fontes. - **Documentação pendente:** parte dos documentos commitados ainda descreve o fluxo legado. O handoff `docs/PAV-178-scheduler-automatico.md` permanece não rastreado e não integra este PR. - Mudanças no catálogo Greenhouse e na lista de queries Gupy exigem tratamento explícito de manifesto/cursor. - Histórico detalhado em memória não constitui histórico SQL durável. - Deadline e shutdown dependem da cooperação dos adapters com o cancelamento. Encerramento abrupto do processo pode perder resultados ainda em memória. - Os testes completos backend/frontend não foram reexecutados nesta preparação por ausência de dependências locais. ## Rollback Manter ou retornar `SCRAPER_SCHEDULER_ENABLED=false` e utilizar a imagem anterior aprovada em DEV, sem apagar catálogo, índices, checkpoints ou volumes. Verificar a compatibilidade dos estados persistidos antes de voltar a um scheduler legado. Não remover claims ou contornar locks para recuperar ocorrências perdidas. Rollback de namespace do índice, quando necessário, exige procedimento separado e validação dos documentos existentes. ## Fora do escopo Deploy, ativação automática, merge, mudanças da PAV-181, reconstrução de índices em produção, remoção de dados demonstrativos já existentes e novas migrations. Também ficam fora do escopo novas políticas de frequência, aumento de concorrência e um dashboard/histórico completo de execuções — relacionado à PAV-179. ## Checklist final - [x] P0, P1, P2, P3, P3.1 e P4 registradas na branch. - [x] Lock global, concorrência e resultados parciais preservados nos testes. - [x] Hotfix de admissão tardia validado com `-race`. - [x] Integrações PostgreSQL/Valkey descartáveis aprovadas nas rodadas anteriores. - [x] Comparação atualizada e simulação sem conflitos. - [x] Sem alterações de frontend/PAV-181 ou arquivos locais excluídos do escopo. - [ ] Executar CI e regressões sobre a integração com `develop` atualizado. - [ ] Atualizar documentação operacional legada antes da ativação automática. - [ ] Confirmar flags, credenciais, catálogo e índice no destino DEV. - [ ] Publicar inicialmente com scheduler desabilitado. - [ ] Medir os oito providers e validar capacidade antes da ativação controlada.
Benevanio
approved these changes
Nov 2, 2026
nayarakarinesilva
approved these changes
Nov 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Descricao
Distribui os oito providers em 21 janelas automáticas diárias, com seleção efetiva por ProviderID e coordenação pelo lock global existente. Implementa grupos fixos Greenhouse, deadline absoluto, cobertura de keywords LinkedIn/Adzuna e orçamentos operacionais Gupy/Jooble. Preserva resultados parciais no catálogo PostgreSQL e na projeção Valkey, com status operacional compatível com falhas e timeouts. A integração foi validada com serviços descartáveis; a ativação automática em DEV permanece condicionada à configuração e à validação operacional.
Linear
PAV-178
Close PAV-178
Como foi testado
Resultados comprovados nas rodadas anteriores:
Validação | Resultado -- | -- Testes Go direcionados | 475 aprovados Testes Go com detector de corridas | 414 aprovados Integração Go com PostgreSQL e Valkey descartáveis | 15 aprovados Testes backend direcionados | 56 aprovados Testes backend com Valkey real descartável | 18 aprovados Build Go e verificação TypeScript | Aprovados Hotfix final: cronjob e runlock com -race | AprovadosCom
SCRAPER_PROVIDER_WINDOWS=pav178, os oito providers precisam estar disponíveis no registry mesmo com o scheduler desabilitado, pois a validação ocorre no startup.Também permanecem necessários PostgreSQL/Valkey, configurações de concorrência e parâmetros de lease existentes. Nenhuma credencial ou arquivo
.envestá incluído neste PR.Impacto de contratos e APIs
Preserva o disparo sem seleção explícita e adiciona seleção administrativa por provider, com validação e encaminhamento Node → Go.
O status administrativo expõe resumo da última execução e janelas configuradas. Timeout com vagas persistidas é distinguido de sucesso completo.
A integração mantém tratamento de seleção inválida, conflito de execução, rate limit/Retry-After e indisponibilidade de coordenação.
A busca backend utiliza a versão ativa em
scraper:jobs:index-versione documentos emscraper:jobs:ns:<versao>:job:<id>. Índices legados com IDs sem documentos não recuperam conteúdo perdido.Segurança e privacidade
Mantém autenticação e autorização administrativas existentes no backend. Os endpoints administrativos Go devem permanecer acessíveis pela rede interna prevista.
Não inclui credenciais,
.env, binários ou Compose temporário. Não executa seeds, coletas reais, reconstruções de índice ou alterações em produção.As integrações utilizaram dados e serviços descartáveis.
Riscos e limitações
developatualizado.docs/PAV-178-scheduler-automatico.mdpermanece não rastreado e não integra este PR.Rollback
Manter ou retornar
SCRAPER_SCHEDULER_ENABLED=falsee utilizar a imagem anterior aprovada em DEV, sem apagar catálogo, índices, checkpoints ou volumes.Verificar a compatibilidade dos estados persistidos antes de voltar a um scheduler legado. Não remover claims ou contornar locks para recuperar ocorrências perdidas.
Rollback de namespace do índice, quando necessário, exige procedimento separado e validação dos documentos existentes.
Fora do escopo
Deploy, ativação automática, merge, mudanças da PAV-181, reconstrução de índices em produção, remoção de dados demonstrativos já existentes e novas migrations.
Também ficam fora do escopo novas políticas de frequência, aumento de concorrência e um dashboard/histórico completo de execuções — relacionado à PAV-179.
Checklist final
- P0, P1, P2, P3, P3.1 e P4 registradas na branch.
- Lock global, concorrência e resultados parciais preservados nos testes.
- Hotfix de admissão tardia validado com
- Integrações PostgreSQL/Valkey descartáveis aprovadas nas rodadas anteriores.
- Comparação atualizada e simulação sem conflitos.
- Sem alterações de frontend/PAV-181 ou arquivos locais excluídos do escopo.
- Executar CI e regressões sobre a integração com
- Atualizar documentação operacional legada antes da ativação automática.
- Confirmar flags, credenciais, catálogo e índice no destino DEV.
- Publicar inicialmente com scheduler desabilitado.
- Medir os oito providers e validar capacidade antes da ativação controlada.
Descricao-race.developatualizado.Distribui os oito providers em 21 janelas automáticas diárias, com seleção efetiva por ProviderID e coordenação pelo lock global existente. Implementa grupos fixos Greenhouse, deadline absoluto, cobertura de keywords LinkedIn/Adzuna e orçamentos operacionais Gupy/Jooble. Preserva resultados parciais no catálogo PostgreSQL e na projeção Valkey, com status operacional compatível com falhas e timeouts. A integração foi validada com serviços descartáveis; a ativação automática em DEV permanece condicionada à configuração e à validação operacional.
Linear
PAV-178
Close PAV-178
Como foi testado
Resultados comprovados nas rodadas anteriores:
Validação Resultado
Testes Go direcionados 475 aprovados
Testes Go com detector de corridas 414 aprovados
Integração Go com PostgreSQL e Valkey descartáveis 15 aprovados
Testes backend direcionados 56 aprovados
Testes backend com Valkey real descartável 18 aprovados
Build Go e verificação TypeScript Aprovados
Hotfix final: cronjob e runlock com -race Aprovados
Esses números representam execuções distintas e não devem ser somados como casos únicos.
Na preparação deste PR, os comandos npm test de backend e frontend foram tentados conforme a skill. Ambos terminaram antes de executar casos, com código 127 e vitest: not found, pois esta worktree está sem dependências locais. Não foram instaladas dependências nem repetidas as integrações anteriores.
Reprodução direcionada
Com dependências instaladas e sem apontar configurações de teste para serviços compartilhados:
cd scraper-go
go test ./internal/config ./internal/cronjob ./internal/runlock ./internal/pipeline ./internal/adapters/... -count=1 -timeout=60s
go test -race ./internal/cronjob ./internal/runlock -count=1 -timeout=40s
Para as integrações, configurar PAV125_TEST_DATABASE_URL e PAV125_TEST_VALKEY_URL exclusivamente para instâncias descartáveis dedicadas:
cd scraper-go
go test ./internal/catalogops ./internal/pipeline -count=1 -timeout=120s
A integração backend de busca versionada utiliza:
cd backend
npx --no-install vitest run tests/integration/jobs.valkey.test.ts
npx --no-install tsc --noEmit -p tsconfig.json
Não executar seeds ou scrapers reais como parte desses testes.
Objetivo
Reduzir concentração de carga entre providers e distribuir a atualização do catálogo ao longo do dia, preservando os controles existentes de concorrência, persistência e coordenação.
A grade é a configuração operacional acordada. A caracterização completa de duração, CPU, memória e volume dos oito providers ainda deverá ser medida em DEV; este PR não apresenta essa capacidade como comprovada.
Resumo das alterações
Etapa Entrega
P0 — bf554a5 Preset com 21 janelas, timezone local, identidade independente e deduplicação das ocorrências.
P1 — 284d1c9 Manifesto versionado com quatro grupos fixos Greenhouse.
P2 — 85793e5 Deadline absoluto, reservas para finalização, admissão pontual e coordenação persistente.
P3 — 814026a Cobertura das keywords elegíveis LinkedIn/Adzuna por janela, preservando modos legados.
P3.1 — 9fad872 Orçamentos e cursor Gupy, preservação parcial e reserva atômica da cota Jooble.
P4 — 95e4e34 Testes finais de cobertura/integração e correção da admissão tardia causada pela latência do Valkey.
A branch também inclui os commits anteriores da PAV-178: seleção por ProviderID, controle de ativação, preservação parcial, bloqueio de seeds demonstrativos, otimizações e observabilidade do pipeline.
Arquivos e módulos afetados
Configuração: scraper-go/internal/config/, incluindo provider_schedule.go.
Scheduler: scraper-go/internal/cronjob/, incluindo despacho, manifesto Greenhouse, cursor Gupy e Retry-After.
Coordenação: scraper-go/internal/runlock/.
Pipeline e dados: pipeline/, catalog/, catalogops/, jobstore/, jobindex/, classifier/ e metrics/.
Providers: adapters e respectivos testes de cobertura, orçamento e resultados parciais.
Servidor Go: contratos administrativos em scraper-go/cmd/server/.
Backend: integração administrativa Node → Go, tipos operacionais, proteção de seeds e testes.
Docker: docker/docker-compose.app.yml e docker/docker-compose.migrate.yml.
Documentação commitada: docs/PAV-178-dev.md, docs/PAV-178-PR.md e documentação técnica do Processor.
Nenhuma alteração da PAV-181 integra este PR.
Arquitetura e funcionamento do scheduler
O preset SCRAPER_PROVIDER_WINDOWS=pav178 reutiliza o scheduler e o lock distribuído existentes. A configuração de janelas substitui o acionamento periódico legado nesse modo.
Todos os horários abaixo são locais em America/Sao_Paulo:
Provider Janelas
Greenhouse 00h, 06h, 11h, 17h
Gupy 01h, 07h, 12h, 18h
InHire 02h, 08h, 13h, 19h
LinkedIn 03h, 09h, 16h
Adzuna 04h, 14h
Lever 05h, 15h
The Muse 10h
Jooble 20h
São 21 ocorrências diárias, com IDs estáveis e claims persistidos por data local.
Admissão limitada à tolerância de 30 segundos após o horário previsto.
Revalidação temporal após a coordenação no Valkey, enquanto o lease global está adquirido.
Admissão tardia registrada como missed:admission_late, sem executar o provider.
Ocorrências impedidas não geram backlog, catch-up ou compensação em outro horário.
Execução limitada a 55 minutos totais, com reservas internas para processamento e liberação.
Conclusão antecipada aguarda a próxima janela; não encadeia outro provider.
Pausa global persistente de cinco minutos também protege disparos manuais.
Claims, checkpoints e coordenação dependem da retenção do Valkey.
Cobertura dos providers
Greenhouse: manifesto com 3.339 identidades estáveis, distribuídas em 850/850/850/789. Falhas e timeouts não redistribuem empresas entre janelas. Alterações do catálogo exigem revisão explícita do manifesto.
Gupy: até 120 queries por janela automática, cinco páginas por query e 600 tentativas HTTP, incluindo retries. Coleta sequencial, detecção de páginas repetidas, cursor persistente e preservação parcial.
LinkedIn/Adzuna: conjunto configurado de keywords elegíveis por ocorrência; limites de paginação, taxa e deadline continuam aplicáveis.
InHire: catálogo de 496 tenants.
Lever: catálogo de 44 empresas em ambas as janelas.
The Muse: limite padrão de 50 páginas, com preservação dos resultados parciais.
Jooble: uma janela diária às 20h, até 37 keywords, cursor e cadência existentes; teto compartilhado de até 150 tentativas HTTP/dia, reservado atomicamente antes do envio.
Cobertura planejada não significa conclusão garantida quando a fonte limita requisições ou o deadline é atingido.
Validações realizadas
Foram cobertos seleção exclusiva, horários locais, deduplicação após reinício, sobreposição, timeout, cancelamento, resultados parciais, persistência/indexação, quotas e cobertura dos catálogos.
Os testes finais do hotfix simulam a latência da coordenação sem sleeps longos e confirmam:
admissão dentro da tolerância;
rejeição depois da tolerância;
ausência de execução do provider rejeitado;
liberação do lock e dos recursos de execução;
ocorrência perdida consumida após reinício;
próxima janela elegível;
preservação da pausa global.
A comparação com upstream/develop não apresentou conflitos textuais na simulação de merge. Os testes anteriores foram executados na branch PAV-178, não sobre uma integração com os 34 commits posteriores do destino.
Impacto de banco e migrations
Não há nova migration neste PR.
O catálogo PostgreSQL, IDs estáveis, transações e revisões de indexação existentes são preservados. Falhas de indexação deixam pendências identificáveis por indexed_revision < revision, recuperáveis pelos mecanismos existentes.
O deploy deixa de executar automaticamente o seed demonstrativo. Migrations e backfill legítimo de PII continuam no fluxo.
O startup exige o catálogo migrado e recusa estados que demandem backfill/reconstrução explícita. Não há limpeza ou reconstrução automática de índices.
Impacto de configuração e variáveis de ambiente
A origem das configurações do scraper é o .env global da raiz do repositório, não o .env do backend.
O Compose principal inclui os arquivos modulares com project_directory: .. O serviço scraper-go:
recebe ./.env por env_file;
monta esse arquivo em /app/.env como somente leitura;
recebe valores explícitos em environment, que prevalecem sobre env_file;
recebe DATABASE_URL pelo módulo de migrations e VALKEY_URL pela configuração do serviço.
O carregamento Go utiliza godotenv.Load, sem sobrescrever variáveis já presentes no processo.
Variável Configuração/efeito
SCRAPER_SCHEDULER_ENABLED Manter false em DEV até ativação controlada. O padrão do código é true.
SCRAPER_PROVIDER_WINDOWS pav178 seleciona a grade. Vazio mantém o modo legado quando habilitado.
SCRAPER_SCHEDULE_TIMEZONE O preset utiliza America/Sao_Paulo; rejeita timezone incompatível.
SCRAPER_SCRAPE_TIMEOUT Padrão 50m; coleta limitada também pelo deadline total e reservas de finalização.
GUPY_AUTO_QUERY_LIMIT Padrão 120, exclusivo do modo automático correspondente.
GUPY_AUTO_MAX_PAGES Padrão 5.
GUPY_AUTO_MAX_HTTP_ATTEMPTS Padrão 600, incluindo retries.
JOOBLE_DAILY_HTTP_LIMIT Padrão 150; aceita valores entre 1 e 150.
SCRAPER_GREENHOUSE_BATCH_SIZE Mantido para o fluxo legado/manual; não substitui os grupos fixos do preset.
SCRAPER_SCHEDULER_ENABLED, os três limites automáticos Gupy e JOOBLE_DAILY_HTTP_LIMIT chegam pelo env_file, sem override explícito nesses campos do Compose. Timeout, janelas, concorrência, batches e parâmetros do lock possuem entradas explícitas em environment.
Flags, credenciais e catálogos
Provider Requisitos
LinkedIn Registrado sem flag ou credencial obrigatória nesse registry.
Adzuna ADZUNA_APP_ID e ADZUNA_APP_KEY.
Gupy GUPY_ENABLED=true; preservar as flags de discovery/sweep existentes.
InHire INHIRE_ENABLED=true; catálogo indicado por INHIRE_TENANTS_FILE.
Greenhouse GREENHOUSE_ENABLED=true; catálogo indicado por GREENHOUSE_COMPANIES_FILE, compatível com o manifesto.
Lever LEVER_ENABLED=true; catálogo indicado por LEVER_COMPANIES_FILE. O padrão do Compose é false.
The Muse Registrado sem flag; THEMUSE_API_KEY é opcional no adapter.
Jooble JOOBLE_API_KEY e Valkey disponível para controle de quota.
Com SCRAPER_PROVIDER_WINDOWS=pav178, os oito providers precisam estar disponíveis no registry mesmo com o scheduler desabilitado, pois a validação ocorre no startup.
Também permanecem necessários PostgreSQL/Valkey, configurações de concorrência e parâmetros de lease existentes. Nenhuma credencial ou arquivo .env está incluído neste PR.
Impacto de contratos e APIs
Preserva o disparo sem seleção explícita e adiciona seleção administrativa por provider, com validação e encaminhamento Node → Go.
O status administrativo expõe resumo da última execução e janelas configuradas. Timeout com vagas persistidas é distinguido de sucesso completo.
A integração mantém tratamento de seleção inválida, conflito de execução, rate limit/Retry-After e indisponibilidade de coordenação.
A busca backend utiliza a versão ativa em scraper:jobs:index-version e documentos em scraper:jobs:ns::job:. Índices legados com IDs sem documentos não recuperam conteúdo perdido.
Segurança e privacidade
Mantém autenticação e autorização administrativas existentes no backend. Os endpoints administrativos Go devem permanecer acessíveis pela rede interna prevista.
Não inclui credenciais, .env, binários ou Compose temporário. Não executa seeds, coletas reais, reconstruções de índice ou alterações em produção.
As integrações utilizaram dados e serviços descartáveis.
Riscos e limitações
Pré-condição de DEV: confirmar migrations, disponibilidade do catálogo e versão ativa do índice. Estado legado inconsistente pode impedir o startup.
Pré-condição do preset: habilitar os providers exigidos e provisionar suas credenciais; Lever vem desabilitado por padrão.
Validação pendente: repetir CI após a integração com o develop atualizado.
Medição pendente: duração, recursos e cobertura real dos oito providers em DEV. Quotas operacionais não comprovam limites contratuais das fontes.
Documentação pendente: parte dos documentos commitados ainda descreve o fluxo legado. O handoff docs/PAV-178-scheduler-automatico.md permanece não rastreado e não integra este PR.
Mudanças no catálogo Greenhouse e na lista de queries Gupy exigem tratamento explícito de manifesto/cursor.
Histórico detalhado em memória não constitui histórico SQL durável.
Deadline e shutdown dependem da cooperação dos adapters com o cancelamento. Encerramento abrupto do processo pode perder resultados ainda em memória.
Os testes completos backend/frontend não foram reexecutados nesta preparação por ausência de dependências locais.
Rollback
Manter ou retornar SCRAPER_SCHEDULER_ENABLED=false e utilizar a imagem anterior aprovada em DEV, sem apagar catálogo, índices, checkpoints ou volumes.
Verificar a compatibilidade dos estados persistidos antes de voltar a um scheduler legado. Não remover claims ou contornar locks para recuperar ocorrências perdidas.
Rollback de namespace do índice, quando necessário, exige procedimento separado e validação dos documentos existentes.
Fora do escopo
Deploy, ativação automática, merge, mudanças da PAV-181, reconstrução de índices em produção, remoção de dados demonstrativos já existentes e novas migrations.
Também ficam fora do escopo novas políticas de frequência, aumento de concorrência e um dashboard/histórico completo de execuções — relacionado à PAV-179.
Checklist final
P0, P1, P2, P3, P3.1 e P4 registradas na branch.
Lock global, concorrência e resultados parciais preservados nos testes.
Hotfix de admissão tardia validado com -race.
Integrações PostgreSQL/Valkey descartáveis aprovadas nas rodadas anteriores.
Comparação atualizada e simulação sem conflitos.
Sem alterações de frontend/PAV-181 ou arquivos locais excluídos do escopo.
Executar CI e regressões sobre a integração com develop atualizado.
Atualizar documentação operacional legada antes da ativação automática.
Confirmar flags, credenciais, catálogo e índice no destino DEV.
Publicar inicialmente com scheduler desabilitado.
Medir os oito providers e validar capacidade antes da ativação controlada.