dependabot[bot] opened a new pull request, #75295:
URL: https://github.com/apache/airflow/pull/75295

   Bumps the 3-4-core-ui-package-updates group with 29 updates in the 
/airflow-core/src/airflow/ui directory:
   
   | Package | From | To |
   | --- | --- | --- |
   | [@guanmingchiu/sqlparser-ts](https://github.com/guan404ming/sqlparser-ts) 
| `0.62.0` | `0.63.0` |
   | 
[@tanstack/react-query](https://github.com/TanStack/query/tree/HEAD/packages/react-query)
 | `5.104.0` | `5.104.3` |
   | 
[@tanstack/react-table](https://github.com/TanStack/table/tree/HEAD/packages/react-table)
 | `9.2.6` | `9.3.1` |
   | 
[@tanstack/react-virtual](https://github.com/TanStack/virtual/tree/HEAD/packages/react-virtual)
 | `3.14.13` | `3.14.21` |
   | [i18next](https://github.com/i18next/i18next) | `26.4.2` | `26.4.7` |
   | [i18next-http-backend](https://github.com/i18next/i18next-http-backend) | 
`4.0.2` | `4.0.3` |
   | [mermaid](https://github.com/mermaid-js/mermaid) | `12.1.0` | `12.2.0` |
   | [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-hook-form](https://github.com/react-hook-form/react-hook-form) | 
`7.89.0` | `7.90.0` |
   | [react-i18next](https://github.com/i18next/react-i18next) | `17.0.15` | 
`17.0.20` |
   | 
[react-resizable-panels](https://github.com/bvaughn/react-resizable-panels) | 
`4.14.1` | `4.14.5` |
   | 
[react-syntax-highlighter](https://github.com/react-syntax-highlighter/react-syntax-highlighter)
 | `16.1.1` | `16.1.2` |
   | [@playwright/test](https://github.com/microsoft/playwright) | `1.63.0` | 
`1.64.1` |
   | 
[@tanstack/eslint-plugin-query](https://github.com/TanStack/query/tree/HEAD/packages/eslint-plugin-query)
 | `5.104.0` | `5.104.3` |
   | 
[@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)
 | `26.6.3` | `26.6.5` |
   | 
[@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)
 | `8.71.0` | `8.71.2` |
   | 
[@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)
 | `8.71.0` | `8.71.2` |
   | 
[@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils)
 | `8.71.0` | `8.71.2` |
   | 
[@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/HEAD/packages/plugin-react)
 | `6.1.1` | `6.1.2` |
   | 
[@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8)
 | `5.0.3` | `5.0.5` |
   | [eslint](https://github.com/eslint/eslint) | `10.11.0` | `10.13.0` |
   | 
[eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | 
`5.5.6` | `5.5.7` |
   | [happy-dom](https://github.com/capricorn86/happy-dom) | `20.14.5` | 
`20.14.6` |
   | [msw](https://github.com/mswjs/msw) | `3.0.2` | `3.0.3` |
   | [prettier](https://github.com/prettier/prettier) | `3.9.9` | `3.9.10` |
   | 
[typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint)
 | `8.71.0` | `8.71.2` |
   | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.3` | 
`8.3.4` |
   | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | 
`5.0.3` | `5.0.5` |
   
   
   Updates `@guanmingchiu/sqlparser-ts` from 0.62.0 to 0.63.0
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/guan404ming/sqlparser-ts/commit/3afc96c499542c18afcdb207e5ba9d7c2178918e";><code>3afc96c</code></a>
 ⬆️ Upgrade to sqlparser v0.63.0 (<a 
href="https://redirect.github.com/guan404ming/sqlparser-ts/issues/26";>#26</a>)</li>
   <li><a 
href="https://github.com/guan404ming/sqlparser-ts/commit/6d85c14c1cc3ceb5b13442fad7ef81935807ae02";><code>6d85c14</code></a>
 Use badgen for npm downloads badge to avoid rate limits (<a 
href="https://redirect.github.com/guan404ming/sqlparser-ts/issues/25";>#25</a>)</li>
   <li>See full diff in <a 
href="https://github.com/guan404ming/sqlparser-ts/compare/v0.62.0...v0.63.0";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `@tanstack/react-query` from 5.104.0 to 5.104.3
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/TanStack/query/releases";>@​tanstack/react-query's 
releases</a>.</em></p>
   <blockquote>
   <h2><code>@​tanstack/react-query-devtools</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.3</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies []:
   <ul>
   <li><code>@​tanstack/react-query</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.3</li>
   <li><code>@​tanstack/query-devtools</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.3</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-query-next-experimental</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.3</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies []:
   <ul>
   <li><code>@​tanstack/react-query</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.3</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-query-persist-client</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.3</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/query/commit/ed4d849731bfe6404be9d40aec84eda54f958d7f";><code>ed4d849</code></a>]:
   <ul>
   <li><code>@​tanstack/query-persist-client-core</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.3</li>
   <li><code>@​tanstack/react-query</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.3</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-query</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.3</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/query/commit/0f15bc925db5813be6a17527988ec7d7b3c8cfc0";><code>0f15bc9</code></a>]:
   <ul>
   <li><code>@​tanstack/query-core</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.3</li>
   </ul>
   </li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/TanStack/query/blob/main/packages/react-query/CHANGELOG.md";>@​tanstack/react-query's
 changelog</a>.</em></p>
   <blockquote>
   <h2>5.104.3</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/query/commit/0f15bc925db5813be6a17527988ec7d7b3c8cfc0";><code>0f15bc9</code></a>]:
   <ul>
   <li><code>@​tanstack/query-core</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.3</li>
   </ul>
   </li>
   </ul>
   <h2>5.104.2</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/query/commit/03e8c3955ddbf20f0a07b79982b52dfad8df5323";><code>03e8c39</code></a>]:
   <ul>
   <li><code>@​tanstack/query-core</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.2</li>
   </ul>
   </li>
   </ul>
   <h2>5.104.1</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies []:
   <ul>
   <li><code>@​tanstack/query-core</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.1</li>
   </ul>
   </li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/TanStack/query/commit/ee47993724e5b71e65d9f38ae416367d2dd18395";><code>ee47993</code></a>
 ci: Version Packages (<a 
href="https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11998";>#11998</a>)</li>
   <li><a 
href="https://github.com/TanStack/query/commit/0f15bc925db5813be6a17527988ec7d7b3c8cfc0";><code>0f15bc9</code></a>
 fix(query-core): preserve union narrowing in setQueryData updaters (<a 
href="https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11935";>#11935</a>)</li>
   <li><a 
href="https://github.com/TanStack/query/commit/b699b52d60e10220403673a407d95bcebeba3e81";><code>b699b52</code></a>
 ci: Version Packages (<a 
href="https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11849";>#11849</a>)</li>
   <li><a 
href="https://github.com/TanStack/query/commit/e22e7c4a27129457636a2a800f8ce19fc0c7b0e3";><code>e22e7c4</code></a>
 chore: test TypeScript 7.1 preview and drop 5.6 (<a 
href="https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11947";>#11947</a>)</li>
   <li><a 
href="https://github.com/TanStack/query/commit/df78a9d137993546a6d7407b3fd68c1b5429888a";><code>df78a9d</code></a>
 chore(*): pass the root 'settings' to the package oxlint configs, which 
'exte...</li>
   <li><a 
href="https://github.com/TanStack/query/commit/833062c2fcf3720f6e0201adb832aa7bd90e3770";><code>833062c</code></a>
 chore: replace prettier with oxfmt (<a 
href="https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11939";>#11939</a>)</li>
   <li><a 
href="https://github.com/TanStack/query/commit/d0cfa6a4a8ee7ad9895ae196910a8718e9308a74";><code>d0cfa6a</code></a>
 chore: replace eslint with oxlint (<a 
href="https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11938";>#11938</a>)</li>
   <li><a 
href="https://github.com/TanStack/query/commit/0012ec14c3679f4a441acf6fdc1f928cd602ed5d";><code>0012ec1</code></a>
 docs(react-query): add JSDoc to the properties of the exported interfaces 
and...</li>
   <li><a 
href="https://github.com/TanStack/query/commit/b5e8e7b697b9a4a104c7c1a550280a9e03e33048";><code>b5e8e7b</code></a>
 docs(react-query): add JSDoc to the exported classes, methods, and arrow 
func...</li>
   <li><a 
href="https://github.com/TanStack/query/commit/01abab33f866299afa2aeebfd4e00fd0c2bbc4c8";><code>01abab3</code></a>
 docs(*): note that 'throwOnError' makes the hook rethrow the errors of 
'mutat...</li>
   <li>Additional commits viewable in <a 
href="https://github.com/TanStack/query/commits/@tanstack/[email protected]/packages/react-query";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `@tanstack/react-table` from 9.2.6 to 9.3.1
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/TanStack/table/releases";>@​tanstack/react-table's 
releases</a>.</em></p>
   <blockquote>
   <h2><code>@​tanstack/react-table-devtools</code><a 
href="https://github.com/9";><code>@​9</code></a>.3.1</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/table/commit/87c6bcc52a5cd614d83d698c76048b4c1c2bb8f7";><code>87c6bcc</code></a>]:
   <ul>
   <li><code>@​tanstack/table-devtools</code><a 
href="https://github.com/9";><code>@​9</code></a>.3.1</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-table</code><a 
href="https://github.com/9";><code>@​9</code></a>.3.1</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li><a href="https://redirect.github.com/TanStack/table/pull/6631";>#6631</a> 
<a 
href="https://github.com/TanStack/table/commit/3d3648f788310465e135c09fd3f803ef25a92c18";><code>3d3648f</code></a>
 - Refresh the <code>AppTable</code> context when the <code>useAppTable</code> 
owner renders with new options or state, so <code>useTableContext()</code> 
consumers no longer show stale rows after <code>data</code> is replaced under a 
cached (React Compiler, <code>useMemo</code>, <code>memo</code>) 
<code>AppTable</code> element.</li>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/table/commit/2d5f5b65a98350949ac9ce7397a29ee9bbe2fd5e";><code>2d5f5b6</code></a>,
 <a 
href="https://github.com/TanStack/table/commit/87c6bcc52a5cd614d83d698c76048b4c1c2bb8f7";><code>87c6bcc</code></a>]:
   <ul>
   <li><code>@​tanstack/table-core</code><a 
href="https://github.com/9";><code>@​9</code></a>.3.1</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-table-devtools</code><a 
href="https://github.com/9";><code>@​9</code></a>.2.8</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/table/commit/f1c3409bb4aae6c07ebb1cb0a0723372ed64223e";><code>f1c3409</code></a>]:
   <ul>
   <li><code>@​tanstack/table-devtools</code><a 
href="https://github.com/9";><code>@​9</code></a>.2.8</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-table</code><a 
href="https://github.com/9";><code>@​9</code></a>.2.8</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/table/commit/f1c3409bb4aae6c07ebb1cb0a0723372ed64223e";><code>f1c3409</code></a>]:
   <ul>
   <li><code>@​tanstack/table-core</code><a 
href="https://github.com/9";><code>@​9</code></a>.2.8</li>
   </ul>
   </li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/TanStack/table/blob/main/packages/react-table/CHANGELOG.md";>@​tanstack/react-table's
 changelog</a>.</em></p>
   <blockquote>
   <h2>9.3.1</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li><a href="https://redirect.github.com/TanStack/table/pull/6631";>#6631</a> 
<a 
href="https://github.com/TanStack/table/commit/3d3648f788310465e135c09fd3f803ef25a92c18";><code>3d3648f</code></a>
 - Refresh the <code>AppTable</code> context when the <code>useAppTable</code> 
owner renders with new options or state, so <code>useTableContext()</code> 
consumers no longer show stale rows after <code>data</code> is replaced under a 
cached (React Compiler, <code>useMemo</code>, <code>memo</code>) 
<code>AppTable</code> element.</li>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/table/commit/2d5f5b65a98350949ac9ce7397a29ee9bbe2fd5e";><code>2d5f5b6</code></a>,
 <a 
href="https://github.com/TanStack/table/commit/87c6bcc52a5cd614d83d698c76048b4c1c2bb8f7";><code>87c6bcc</code></a>]:
   <ul>
   <li><code>@​tanstack/table-core</code><a 
href="https://github.com/9";><code>@​9</code></a>.3.1</li>
   </ul>
   </li>
   </ul>
   <h2>9.2.8</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/table/commit/f1c3409bb4aae6c07ebb1cb0a0723372ed64223e";><code>f1c3409</code></a>]:
   <ul>
   <li><code>@​tanstack/table-core</code><a 
href="https://github.com/9";><code>@​9</code></a>.2.8</li>
   </ul>
   </li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/TanStack/table/commit/95c4768496c07b45b1e65d8e33c3291ac66eae9b";><code>95c4768</code></a>
 ci: Version Packages (<a 
href="https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6632";>#6632</a>)</li>
   <li><a 
href="https://github.com/TanStack/table/commit/3d3648f788310465e135c09fd3f803ef25a92c18";><code>3d3648f</code></a>
 fix(react-table, preact-table): refresh AppTable context under cached 
element...</li>
   <li><a 
href="https://github.com/TanStack/table/commit/d8ae30bcfe8665ef43d7557f4a492e0caa6f9c40";><code>d8ae30b</code></a>
 ci: Version Packages (<a 
href="https://github.com/TanStack/table/tree/HEAD/packages/react-table/issues/6625";>#6625</a>)</li>
   <li>See full diff in <a 
href="https://github.com/TanStack/table/commits/@tanstack/[email protected]/packages/react-table";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `@tanstack/react-virtual` from 3.14.13 to 3.14.21
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/TanStack/virtual/releases";>@​tanstack/react-virtual's 
releases</a>.</em></p>
   <blockquote>
   <h2><code>@​tanstack/react-virtual</code><a 
href="https://github.com/3";><code>@​3</code></a>.14.21</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/05bb4d3e75359442e7a650f1814bd496e382bc3d";><code>05bb4d3</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.6</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-virtual</code><a 
href="https://github.com/3";><code>@​3</code></a>.14.20</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/56b2a63d2336907659d87125b072fa11e4ac9046";><code>56b2a63</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/d2c7911d6b749aaa47e9aab1dc10125040363bd0";><code>d2c7911</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5";><code>9c762fe</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/6789f7affc32c3fe77d8ed5b3b9d7c274d158be9";><code>6789f7a</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/77cb05eef131699bcef0f0a5877b60503e54a366";><code>77cb05e</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/4a1a4fdae1fa86cdda6603194876399f6651630d";><code>4a1a4fd</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/3c61b6e30723e6af24d375ea1c5221d12a2e894d";><code>3c61b6e</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5";><code>9c762fe</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.5</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-virtual</code><a 
href="https://github.com/3";><code>@​3</code></a>.14.19</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/269e8ed12db0b9ce55543da5b0bb1082a6296aac";><code>269e8ed</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.4</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-virtual</code><a 
href="https://github.com/3";><code>@​3</code></a>.14.18</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/f211d3a64de6cbdd85469c9b97959db65df32eb6";><code>f211d3a</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.3</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-virtual</code><a 
href="https://github.com/3";><code>@​3</code></a>.14.17</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/3800fb3e76aa7e86bc8a8eba7ddde84aef3066eb";><code>3800fb3</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/cb510cbb50a3e10eaaa7ff8c3c51f320d1224c79";><code>cb510cb</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.2</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-virtual</code><a 
href="https://github.com/3";><code>@​3</code></a>.14.16</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/7aa34f62587aab20938dbc84ba88a25e59552036";><code>7aa34f6</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/e7a0a92e4bec5ecd0a37659e951c8e8ff72e0207";><code>e7a0a92</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.1</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-virtual</code><a 
href="https://github.com/3";><code>@​3</code></a>.14.15</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/28a21741bcc5055bbda9891655630989dc6b7517";><code>28a2174</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/92c697f7b9c5189137b14f0b0fb41a29eddedbc6";><code>92c697f</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.0</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-virtual</code><a 
href="https://github.com/3";><code>@​3</code></a>.14.14</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>
   <p><a 
href="https://redirect.github.com/TanStack/virtual/pull/1301";>#1301</a> <a 
href="https://github.com/TanStack/virtual/commit/ce57b78ddf7c2c3384067c528ef59f18d3199a46";><code>ce57b78</code></a>
 - fix(react-virtual): position <code>directDomUpdates</code> rows that mount 
without the owner re-rendering</p>
   <p>Rows were only positioned by the owner's layout effect or the next 
<code>onChange</code>. A row mounted by a child that re-renders on its own 
(local state, context, a resolved Suspense boundary) skipped both when it was 
fixed-size, and stayed unpositioned until the range changed. Rows are now 
positioned as they register through <code>measureElement</code>, and 
<code>containerRef</code> positions the rows that mounted together with the 
container.</p>
   </li>
   <li>
   <p>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/43675bc42e3043cb2cea4dba015df077d9813602";><code>43675bc</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/9df47a3215f3fb3d182442316d058e2a96696e4f";><code>9df47a3</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/c644f1096c9f4d8221d92862afdc9316b17df62a";><code>c644f10</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/2a631f46f4366227533f45604af3db8e60deb70f";><code>2a631f4</code></a>]:</p>
   </li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/TanStack/virtual/blob/main/packages/react-virtual/CHANGELOG.md";>@​tanstack/react-virtual's
 changelog</a>.</em></p>
   <blockquote>
   <h2>3.14.21</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/05bb4d3e75359442e7a650f1814bd496e382bc3d";><code>05bb4d3</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.6</li>
   </ul>
   </li>
   </ul>
   <h2>3.14.20</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/56b2a63d2336907659d87125b072fa11e4ac9046";><code>56b2a63</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/d2c7911d6b749aaa47e9aab1dc10125040363bd0";><code>d2c7911</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5";><code>9c762fe</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/6789f7affc32c3fe77d8ed5b3b9d7c274d158be9";><code>6789f7a</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/77cb05eef131699bcef0f0a5877b60503e54a366";><code>77cb05e</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/4a1a4fdae1fa86cdda6603194876399f6651630d";><code>4a1a4fd</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/3c61b6e30723e6af24d375ea1c5221d12a2e894d";><code>3c61b6e</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5";><code>9c762fe</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.5</li>
   </ul>
   </li>
   </ul>
   <h2>3.14.19</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/269e8ed12db0b9ce55543da5b0bb1082a6296aac";><code>269e8ed</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.4</li>
   </ul>
   </li>
   </ul>
   <h2>3.14.18</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/f211d3a64de6cbdd85469c9b97959db65df32eb6";><code>f211d3a</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.3</li>
   </ul>
   </li>
   </ul>
   <h2>3.14.17</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/3800fb3e76aa7e86bc8a8eba7ddde84aef3066eb";><code>3800fb3</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/cb510cbb50a3e10eaaa7ff8c3c51f320d1224c79";><code>cb510cb</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.2</li>
   </ul>
   </li>
   </ul>
   <h2>3.14.16</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/7aa34f62587aab20938dbc84ba88a25e59552036";><code>7aa34f6</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/e7a0a92e4bec5ecd0a37659e951c8e8ff72e0207";><code>e7a0a92</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.1</li>
   </ul>
   </li>
   </ul>
   <h2>3.14.15</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/28a21741bcc5055bbda9891655630989dc6b7517";><code>28a2174</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/92c697f7b9c5189137b14f0b0fb41a29eddedbc6";><code>92c697f</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.0</li>
   </ul>
   </li>
   </ul>
   <h2>3.14.14</h2>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/TanStack/virtual/commit/28ff2cab7a970f4e0908229d65a0da8803903900";><code>28ff2ca</code></a>
 ci: Version Packages (<a 
href="https://github.com/TanStack/virtual/tree/HEAD/packages/react-virtual/issues/1333";>#1333</a>)</li>
   <li><a 
href="https://github.com/TanStack/virtual/commit/4296ac2c7d4736072f5a3e5edcfb0bc56d7778ed";><code>4296ac2</code></a>
 ci: Version Packages (<a 
href="https://github.com/TanStack/virtual/tree/HEAD/packages/react-virtual/issues/1323";>#1323</a>)</li>
   <li><a 
href="https://github.com/TanStack/virtual/commit/9c762fe49021b602b1109e471ba38e3065cba5b5";><code>9c762fe</code></a>
 fix(virtual-core): finish the iOS scroll-correction plan and simplify the 
scr...</li>
   <li><a 
href="https://github.com/TanStack/virtual/commit/4a1a4fdae1fa86cdda6603194876399f6651630d";><code>4a1a4fd</code></a>
 fix(virtual-core): defer iOS scroll corrections only for touch-driven 
scrolls...</li>
   <li><a 
href="https://github.com/TanStack/virtual/commit/4f9636e36e43fa8fcb67c14e2277b5b7a6461f37";><code>4f9636e</code></a>
 ci: Version Packages (<a 
href="https://github.com/TanStack/virtual/tree/HEAD/packages/react-virtual/issues/1322";>#1322</a>)</li>
   <li><a 
href="https://github.com/TanStack/virtual/commit/676a098bfbe168a9bcb55ce3cca984823a85cea7";><code>676a098</code></a>
 ci: Version Packages (<a 
href="https://github.com/TanStack/virtual/tree/HEAD/packages/react-virtual/issues/1317";>#1317</a>)</li>
   <li><a 
href="https://github.com/TanStack/virtual/commit/7c20899ba738f898a95a259390bf189b5fc1e6b5";><code>7c20899</code></a>
 ci: Version Packages (<a 
href="https://github.com/TanStack/virtual/tree/HEAD/packages/react-virtual/issues/1315";>#1315</a>)</li>
   <li><a 
href="https://github.com/TanStack/virtual/commit/cb510cbb50a3e10eaaa7ff8c3c51f320d1224c79";><code>cb510cb</code></a>
 refactor(virtual-core): describe an in-flight scroll command by one phase (<a 
href="https://github.com/TanStack/virtual/tree/HEAD/packages/react-virtual/issues/1";>#1</a>...</li>
   <li><a 
href="https://github.com/TanStack/virtual/commit/46f73fb419185536ee34ec1c6eba8ad8824d77b7";><code>46f73fb</code></a>
 ci: Version Packages (<a 
href="https://github.com/TanStack/virtual/tree/HEAD/packages/react-virtual/issues/1312";>#1312</a>)</li>
   <li><a 
href="https://github.com/TanStack/virtual/commit/6732e00f9baa0a155321e788503bc2f487ea3b00";><code>6732e00</code></a>
 test(virtual-core): pin the iOS deferral and index-scroll orderings measured 
...</li>
   <li>Additional commits viewable in <a 
href="https://github.com/TanStack/virtual/commits/@tanstack/[email protected]/packages/react-virtual";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `i18next` from 26.4.2 to 26.4.7
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/i18next/i18next/releases";>i18next's 
releases</a>.</em></p>
   <blockquote>
   <h2>v26.4.7</h2>
   <ul>
   <li>perf: <code>cloneInstance()</code> no longer inherits 
<code>preload</code>. <code>loadResources()</code> adds every 
<code>preload</code> language to each load, and clones copied 
<code>preload</code> from the parent, so a clone's <code>init()</code> and 
every <code>changeLanguage()</code> walked all preloaded languages × all 
namespaces through <code>queueLoad()</code> / <code>hasResourceBundle()</code>, 
although the parent had already loaded them into the shared store. With 
i18next-http-middleware (one clone + <code>changeLanguage()</code> per 
request), 25 preloaded languages and 20 namespaces, that was most of the 
per-request CPU: the reproduction from the issue went from ~90 µs to ~10 µs per 
request, the same as with a single language. A clone now only loads what it 
uses itself: its <code>changeLanguage()</code> no longer waits for parent 
preload languages that are still loading (the parent's own <code>init()</code> 
still does), and <code>clone.loadNamespaces()</code> load
 s the new namespace for the clone's language and fallbacks instead of every 
preloaded language. <code>clone.loadLanguages()</code> works as before, the 
parent instance is unchanged, and passing <code>preload</code> to 
<code>cloneInstance()</code> keeps the old behavior. Thanks <a 
href="https://github.com/theMostCuriousHomunculus";><code>@​theMostCuriousHomunculus</code></a>
 for the detailed report (<a 
href="https://redirect.github.com/i18next/i18next/issues/2451";>#2451</a>).</li>
   </ul>
   <h2>v26.4.6</h2>
   <ul>
   <li>fix: a fallback language whose formatted code is already in the 
hierarchy is no longer added a second time. <code>toResolveHierarchy()</code> 
checked the raw <code>fallbackLng</code> value against the list, but the list 
holds formatted codes, so any fallback written differently from its formatted 
form slipped through: <code>lng: 'de-CH'</code> with <code>fallbackLng: 
'de-ch'</code> gave <code>languages</code> <code>['de-CH', 'de', 
'de-CH']</code>, and the same happened with <code>fallbackLng: 'EN'</code> + 
<code>cleanCode</code>, <code>lowerCaseLng</code>, and Intl aliases 
(<code>iw-IL</code> → <code>he-IL</code>). Missing keys were looked up in the 
same language twice. Only exact duplicates are removed; the order is unchanged. 
Thanks <a href="https://github.com/lprnmns";><code>@​lprnmns</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2450";>#2450</a>).</li>
   </ul>
   <h2>v26.4.5</h2>
   <ul>
   <li>fix: <code>hasLoadedNamespace(ns, { lng })</code> no longer stays 
<code>false</code> forever when the passed in <code>lng</code> is loaded under 
another code, or not at all. It checked the load state of the raw 
<code>lng</code>, but <code>loadLanguages()</code> stores a language under its 
resolved code (<code>de-ch</code> → <code>de-CH</code>, <code>de-CH</code> → 
<code>de</code> with <code>load: 'languageOnly'</code>) and skips a 
<code>lng</code> outside <code>supportedLngs</code> entirely (only the fallback 
gets loaded), so that state never got set. react-i18next's 
<code>useTranslation(ns, { lng })</code> then never became ready: with 
<code>useSuspense</code> it kept throwing an already resolved promise and React 
retried forever (100% CPU, SSR never finished), without it the load effect 
re-rendered in a loop. It now checks the code the language is actually loaded 
under, and for a <code>lng</code> outside <code>supportedLngs</code> only waits 
for the fallback, which is al
 so what <code>t()</code> resolves to. Calls without <code>lng</code> and the 
<code>precheck</code> (react-i18next's <code>bindI18n: 
'languageChanging'</code>) are unchanged (<a 
href="https://redirect.github.com/i18next/react-i18next/issues/1934";>react-i18next#1934</a>).</li>
   </ul>
   <h2>v26.4.4</h2>
   <ul>
   <li>fix(security): the nesting regexp no longer backtracks exponentially 
(ReDoS) on an unclosed <code>$t(</code>. Its repeated group had overlapping 
alternatives (<code>[^()&quot;']+</code> inside <code>(?:...)*?</code>, and 
inside parentheses <code>[^()]</code> also matched quotes), so a string 
containing <code>$t(</code> without a closing <code>)</code> made the engine 
try every way to split the text: about 2x the runtime per extra character, and 
a ~25 character value hung <code>t()</code> for minutes. With the default 
config this was reachable through any interpolated value (<code>t('greet', { 
name: '$t(aaaaaaaaaaaaaaaaaaaaaaaa' })</code>): escaping does not touch 
<code>$</code>, <code>t</code> or <code>(</code>, and the 
<code>skipOnVariables</code> check runs the regexp on the interpolated result, 
so <code>nest: false</code> did not help either. Every alternative now starts 
with a different character (plain char, <code>&quot;</code>, <code>'</code> or 
<code>(</code>), so there
  is only one way to match and the cost is linear. Quoted strings and one level 
of parentheses in nesting options keep working (<a 
href="https://redirect.github.com/i18next/i18next/issues/2336";>#2336</a>). The 
only difference: a lone <code>&quot;</code> or <code>'</code> inside unquoted 
parentheses within <code>$t(...)</code> is no longer matched. Affects 25.3.3 to 
26.4.3. Thanks to Anisetti Chaitanya Eshwar Prasad for the responsible 
disclosure.</li>
   <li>fix(security): <code>nest()</code> now resolves <code>$t(...)</code> in 
a single pass and no longer nests text that came out of a resolved value. Every 
nested lookup reset the shared nesting regexp, so the loop started over from 
the beginning of the string after each match. That had two effects. First, a 
<code>$t(...)</code> inside a variable that the nested lookup deliberately kept 
literal (default <code>skipOnVariables: true</code>) was resolved anyway by the 
outer loop: with <code>outer: 'A $t(inner) B'</code> and <code>inner: 'Hi 
{{name}}'</code>, <code>t('outer', { name: '$t(secret)' })</code> rendered the 
<code>secret</code> translation. It now stays <code>A Hi $t(secret) B</code>, 
the same as without the outer nesting; with <code>skipOnVariables: false</code> 
it is still resolved. Second, the cost was quadratic when an unclosed 
<code>$t(</code> preceded many nestings, which matters when an app passes 
untrusted input as the key itself (<code>t(userInput)</code>): 20,000 
 nestings took ~1.4 s, now ~25 ms. The resolved value is now sliced into the 
result instead of going through <code>String.replace</code>, so 
<code>$&amp;</code>, <code>$`</code>, <code>$'</code> and <code>$$</code> stay 
literal as before (26.4.2).</li>
   </ul>
   <h2>v26.4.3</h2>
   <ul>
   <li>perf: <code>ResourceStore.hasLanguageSomeTranslations()</code> no longer 
enumerates every key of a large bundle on each call. It ran 
<code>Object.keys()</code> on the whole bundle just to learn whether it had at 
least one key, and <code>init()</code> / <code>changeLanguage()</code> reach it 
three times per instance (once while picking the language, twice via 
<code>setResolvedLanguage()</code>). With large flat bundles and one i18next 
instance per SSR request reusing the same resources, that showed up as 
measurable CPU work before any <code>t()</code> call. Bundle objects already 
found non-empty are now remembered in a <code>WeakSet</code> shared across 
instances, so later checks are O(1): 2,000 inits with a 6,800-key bundle went 
from ~750 ms to ~20 ms, the same as a one-key bundle. Only the non-empty result 
is cached. No API removes single keys from a bundle, so a non-empty bundle 
stays non-empty, and empty bundles are re-checked every time, so keys added 
later (backend loads,
  <code>addResource</code>, <code>addResourceBundle</code>, direct or silent 
changes) count right away. The only edge case: a bundle emptied by hand with 
<code>delete</code> on every key while it is still in the store keeps counting 
as having translations; use <code>removeResourceBundle()</code> for that. 
Thanks <a href="https://github.com/dmchoi77";><code>@​dmchoi77</code></a> for 
the detailed report (<a 
href="https://redirect.github.com/i18next/i18next/issues/2449";>#2449</a>).</li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/i18next/i18next/blob/master/CHANGELOG.md";>i18next's 
changelog</a>.</em></p>
   <blockquote>
   <h2>26.4.7</h2>
   <ul>
   <li>perf: <code>cloneInstance()</code> no longer inherits 
<code>preload</code>. <code>loadResources()</code> adds every 
<code>preload</code> language to each load, and clones copied 
<code>preload</code> from the parent, so a clone's <code>init()</code> and 
every <code>changeLanguage()</code> walked all preloaded languages × all 
namespaces through <code>queueLoad()</code> / <code>hasResourceBundle()</code>, 
although the parent had already loaded them into the shared store. With 
i18next-http-middleware (one clone + <code>changeLanguage()</code> per 
request), 25 preloaded languages and 20 namespaces, that was most of the 
per-request CPU: the reproduction from the issue went from ~90 µs to ~10 µs per 
request, the same as with a single language. A clone now only loads what it 
uses itself: its <code>changeLanguage()</code> no longer waits for parent 
preload languages that are still loading (the parent's own <code>init()</code> 
still does), and <code>clone.loadNamespaces()</code> load
 s the new namespace for the clone's language and fallbacks instead of every 
preloaded language. <code>clone.loadLanguages()</code> works as before, the 
parent instance is unchanged, and passing <code>preload</code> to 
<code>cloneInstance()</code> keeps the old behavior. Thanks <a 
href="https://github.com/theMostCuriousHomunculus";><code>@​theMostCuriousHomunculus</code></a>
 for the detailed report (<a 
href="https://redirect.github.com/i18next/i18next/issues/2451";>#2451</a>).</li>
   </ul>
   <h2>26.4.6</h2>
   <ul>
   <li>fix: a fallback language whose formatted code is already in the 
hierarchy is no longer added a second time. <code>toResolveHierarchy()</code> 
checked the raw <code>fallbackLng</code> value against the list, but the list 
holds formatted codes, so any fallback written differently from its formatted 
form slipped through: <code>lng: 'de-CH'</code> with <code>fallbackLng: 
'de-ch'</code> gave <code>languages</code> <code>['de-CH', 'de', 
'de-CH']</code>, and the same happened with <code>fallbackLng: 'EN'</code> + 
<code>cleanCode</code>, <code>lowerCaseLng</code>, and Intl aliases 
(<code>iw-IL</code> → <code>he-IL</code>). Missing keys were looked up in the 
same language twice. Only exact duplicates are removed; the order is unchanged. 
Thanks <a href="https://github.com/lprnmns";><code>@​lprnmns</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2450";>#2450</a>).</li>
   </ul>
   <h2>26.4.5</h2>
   <ul>
   <li>fix: <code>hasLoadedNamespace(ns, { lng })</code> no longer stays 
<code>false</code> forever when the passed in <code>lng</code> is loaded under 
another code, or not at all. It checked the load state of the raw 
<code>lng</code>, but <code>loadLanguages()</code> stores a language under its 
resolved code (<code>de-ch</code> → <code>de-CH</code>, <code>de-CH</code> → 
<code>de</code> with <code>load: 'languageOnly'</code>) and skips a 
<code>lng</code> outside <code>supportedLngs</code> entirely (only the fallback 
gets loaded), so that state never got set. react-i18next's 
<code>useTranslation(ns, { lng })</code> then never became ready: with 
<code>useSuspense</code> it kept throwing an already resolved promise and React 
retried forever (100% CPU, SSR never finished), without it the load effect 
re-rendered in a loop. It now checks the code the language is actually loaded 
under, and for a <code>lng</code> outside <code>supportedLngs</code> only waits 
for the fallback, which is al
 so what <code>t()</code> resolves to. Calls without <code>lng</code> and the 
<code>precheck</code> (react-i18next's <code>bindI18n: 
'languageChanging'</code>) are unchanged (<a 
href="https://redirect.github.com/i18next/react-i18next/issues/1934";>react-i18next#1934</a>).</li>
   </ul>
   <h2>26.4.4</h2>
   <ul>
   <li>fix(security): the nesting regexp no longer backtracks exponentially 
(ReDoS) on an unclosed <code>$t(</code>. Its repeated group had overlapping 
alternatives (<code>[^()&quot;']+</code> inside <code>(?:...)*?</code>, and 
inside parentheses <code>[^()]</code> also matched quotes), so a string 
containing <code>$t(</code> without a closing <code>)</code> made the engine 
try every way to split the text: about 2x the runtime per extra character, and 
a ~25 character value hung <code>t()</code> for minutes. With the default 
config this was reachable through any interpolated value (<code>t('greet', { 
name: '$t(aaaaaaaaaaaaaaaaaaaaaaaa' })</code>): escaping does not touch 
<code>$</code>, <code>t</code> or <code>(</code>, and the 
<code>skipOnVariables</code> check runs the regexp on the interpolated result, 
so <code>nest: false</code> did not help either. Every alternative now starts 
with a different character (plain char, <code>&quot;</code>, <code>'</code> or 
<code>(</code>), so there
  is only one way to match and the cost is linear. Quoted strings and one level 
of parentheses in nesting options keep working (<a 
href="https://redirect.github.com/i18next/i18next/issues/2336";>#2336</a>). The 
only difference: a lone <code>&quot;</code> or <code>'</code> inside unquoted 
parentheses within <code>$t(...)</code> is no longer matched. Affects 25.3.3 to 
26.4.3. See advisory <a 
href="https://github.com/i18next/i18next/security/advisories/GHSA-5jr9-983r-c8x4";>GHSA-5jr9-983r-c8x4</a>,
 CVSS 7.5 (<code>CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H</code>). Thanks 
to Anisetti Chaitanya Eshwar Prasad for the responsible disclosure.</li>
   <li>fix(security): <code>nest()</code> now resolves <code>$t(...)</code> in 
a single pass and no longer nests text that came out of a resolved value. Every 
nested lookup reset the shared nesting regexp, so the loop started over from 
the beginning of the string after each match. That had two effects. First, a 
<code>$t(...)</code> inside a variable that the nested lookup deliberately kept 
literal (default <code>skipOnVariables: true</code>) was resolved anyway by the 
outer loop: with <code>outer: 'A $t(inner) B'</code> and <code>inner: 'Hi 
{{name}}'</code>, <code>t('outer', { name: '$t(secret)' })</code> rendered the 
<code>secret</code> translation. It now stays <code>A Hi $t(secret) B</code>, 
the same as without the outer nesting; with <code>skipOnVariables: false</code> 
it is still resolved. Second, the cost was quadratic when an unclosed 
<code>$t(</code> preceded many nestings, which matters when an app passes 
untrusted input as the key itself (<code>t(userInput)</code>): 20,000 
 nestings took ~1.4 s, now ~25 ms. The resolved value is now sliced into the 
result instead of going through <code>String.replace</code>, so 
<code>$&amp;</code>, <code>$`</code>, <code>$'</code> and <code>$$</code> stay 
literal as before (26.4.2).</li>
   </ul>
   <h2>26.4.3</h2>
   <ul>
   <li>perf: <code>ResourceStore.hasLanguageSomeTranslations()</code> no longer 
enumerates every key of a large bundle on each call. It ran 
<code>Object.keys()</code> on the whole bundle just to learn whether it had at 
least one key, and <code>init()</code> / <code>changeLanguage()</code> reach it 
three times per instance (once while picking the language, twice via 
<code>setResolvedLanguage()</code>). With large flat bundles and one i18next 
instance per SSR request reusing the same resources, that showed up as 
measurable CPU work before any <code>t()</code> call. Bundle objects already 
found non-empty are now remembered in a <code>WeakSet</code> shared across 
instances, so later checks are O(1): 2,000 inits with a 6,800-key bundle went 
from ~750 ms to ~20 ms, the same as a one-key bundle. Only the non-empty result 
is cached. No API removes single keys from a bundle, so a non-empty bundle 
stays non-empty, and empty bundles are re-checked every time, so keys added 
later (backend loads,
  <code>addResource</code>, <code>addResourceBundle</code>, direct or silent 
changes) count right away. The only edge case: a bundle emptied by hand with 
<code>delete</code> on every key while it is still in the store keeps counting 
as having translations; use <code>removeResourceBundle()</code> for that. 
Thanks <a href="https://github.com/dmchoi77";><code>@​dmchoi77</code></a> for 
the detailed report (<a 
href="https://redirect.github.com/i18next/i18next/issues/2449";>#2449</a>).</li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/i18next/i18next/commit/5546d211a32e73642d22b57e58cc762338270afa";><code>5546d21</code></a>
 26.4.7</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/f27c937e5866f33700db40d0bf055694ee890cca";><code>f27c937</code></a>
 build</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/50ecc221940e99dcb36670c93b342a896165fca4";><code>50ecc22</code></a>
 perf: clones no longer inherit preload, so changeLanguage on a clone doesn't 
...</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/bc951ab36e601d459e4afe7040c72cc7632d3b9e";><code>bc951ab</code></a>
 26.4.6</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/45d0aba52fba755039a8f6f6be76825f5aebaa81";><code>45d0aba</code></a>
 changelog + build for 26.4.6</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/0458efc507c88e78b2daa4b0cab9c254cfdc77d2";><code>0458efc</code></a>
 fix: don't repeat a fallback language that differs only in casing (<a 
href="https://redirect.github.com/i18next/i18next/issues/2450";>#2450</a>)</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/ce7b9cf970b2e6dcbecc6eb997d460ea1ea811ad";><code>ce7b9cf</code></a>
 26.4.5</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/4d4c60720e05da72e53af33fa0a8e0d69a56487a";><code>4d4c607</code></a>
 build</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/8f8651e938e122b5e40eacf616c9fb823a189087";><code>8f8651e</code></a>
 fix: hasLoadedNamespace with a passed in lng checks the code it is actually 
l...</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/15d0b9d90e0564947861b926352b06deff0a8a05";><code>15d0b9d</code></a>
 changelog: link GHSA-5jr9-983r-c8x4 in v26.4.4</li>
   <li>Additional commits viewable in <a 
href="https://github.com/i18next/i18next/compare/v26.4.2...v26.4.7";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `i18next-http-backend` from 4.0.2 to 4.0.3
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/i18next/i18next-http-backend/blob/master/CHANGELOG.md";>i18next-http-backend's
 changelog</a>.</em></p>
   <blockquote>
   <h3>4.0.3</h3>
   <p>Security release. See advisory <a 
href="https://github.com/i18next/i18next-http-backend/security/advisories/GHSA-9jhj-wvmw-cfx5";>GHSA-9jhj-wvmw-cfx5</a>.</p>
   <ul>
   <li>security: refuse a request URL that starts with <code>//</code> (or 
<code>\</code>) when the <code>loadPath</code> / <code>addPath</code> template 
does not. With a template that puts <code>{{ns}}</code> directly after a 
leading <code>/</code> (e.g. <code>/{{ns}}/{{lng}}.json</code>), an 
<code>ns</code> value of <code>/evil.example</code> passed the per-value 
checks, because a single <code>/</code> is allowed for nested namespaces, but 
it joined the template's own <code>/</code> into 
<code>//evil.example/en.json</code>, a protocol-relative URL that browsers send 
to another origin. The 4.0.2 <code>//</code> check looked at the value only, so 
it missed this. The interpolated URL is now checked as a whole. The default 
<code>/locales/{{lng}}/{{ns}}.json</code>, templates with an origin, and 
protocol-relative CDN templates such as 
<code>//cdn.example/{{lng}}/{{ns}}.json</code> are not affected and keep 
working.</li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/i18next/i18next-http-backend/commit/42e86393fd4b8d2fc34f2ddadfa6c3097bf87238";><code>42e8639</code></a>
 4.0.3</li>
   <li><a 
href="https://github.com/i18next/i18next-http-backend/commit/042c3d4e4e9d73b2ae3aa76b22cb45d48f1e35b7";><code>042c3d4</code></a>
 security: reject interpolated URLs that turn into <code>//host</code> 
(GHSA-9jhj-wvmw-cfx5)</li>
   <li><a 
href="https://github.com/i18next/i18next-http-backend/commit/9b5f1e2f65365d958f9e6459c6e51d0ac9a028fa";><code>9b5f1e2</code></a>
 Bump i18next-http-backend from 1.2.6 to 4.0.2 in /example/angular (<a 
href="https://redirect.github.com/i18next/i18next-http-backend/issues/194";>#194</a>)</li>
   <li><a 
href="https://github.com/i18next/i18next-http-backend/commit/be8b9a4962a09b4833e630b3cdbd7a380a5b2aff";><code>be8b9a4</code></a>
 Bump next from 16.3.3 to 16.3.6 in /example/next (<a 
href="https://redirect.github.com/i18next/i18next-http-backend/issues/193";>#193</a>)</li>
   <li><a 
href="https://github.com/i18next/i18next-http-backend/commit/23e45382f49bb78b5dbef49f7c5d5a9321e5f9b9";><code>23e4538</code></a>
 Bump next from 16.2.11 to 16.3.3 in /example/next (<a 
href="https://redirect.github.com/i18next/i18next-http-backend/issues/192";>#192</a>)</li>
   <li><a 
href="https://github.com/i18next/i18next-http-backend/commit/848617fe6bf007c782b9b587818df90d0b14528e";><code>848617f</code></a>
 docs: &quot;For AI assistants&quot; paragraph in the README and addPath 
JSDoc</li>
   <li>See full diff in <a 
href="https://github.com/i18next/i18next-http-backend/compare/v4.0.2...v4.0.3";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `mermaid` from 12.1.0 to 12.2.0
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/mermaid-js/mermaid/releases";>mermaid's 
releases</a>.</em></p>
   <blockquote>
   <h2>[email protected]</h2>
   <h3>Minor Changes</h3>
   <ul>
   <li><a 
href="https://redirect.github.com/mermaid-js/mermaid/pull/8394";>#8394</a> <a 
href="https://github.com/mermaid-js/mermaid/commit/6ac38cb4441f67a29336cb3039c1a63e7a87d969";><code>6ac38cb</code></a>
 Thanks <a 
href="https://github.com/jackroberts236";><code>@​jackroberts236</code></a>! - 
feat: Add opt-in mindmap coloring by hierarchy depth using 
<code>mindmap.colorBy: depth</code> and the existing theme palette.</li>
   </ul>
   <h3>Patch Changes</h3>
   <ul>
   <li>
   <p><a 
href="https://redirect.github.com/mermaid-js/mermaid/pull/8409";>#8409</a> <a 
href="https://github.com/mermaid-js/mermaid/commit/419ee6855da1ee1170445164e8ba9850ef279568";><code>419ee68</code></a>
 Thanks <a 
href="https://github.com/ashishjain0512";><code>@​ashishjain0512</code></a>! - 
fix: size circle and double-circle nodes from their label instead of 
<code>minNodeWidth</code>, and trim neo circle padding</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/mermaid-js/mermaid/pull/8395";>#8395</a> <a 
href="https://github.com/mermaid-js/mermaid/commit/2fb3ff1d9f4f74478f28096e3e38565378b9f686";><code>2fb3ff1</code></a>
 Thanks <a 
href="https://github.com/ashishjain0512";><code>@​ashishjain0512</code></a>! - 
fix: ELK no longer straightens an edge terminal when that would put a label 
over another edge, or an edge through a label</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/mermaid-js/mermaid/pull/8394";>#8394</a> <a 
href="https://github.com/mermaid-js/mermaid/commit/cbf89ab1377a8e7febff2614d7cbd5f78dd3d87c";><code>cbf89ab</code></a>
 Thanks <a 
href="https://github.com/jackroberts236";><code>@​jackroberts236</code></a>! - 
fix: Keep mindmap HTML labels readable in the neo look on themes that repaint 
node backgrounds</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/mermaid-js/mermaid/pull/8390";>#8390</a> <a 
href="https://github.com/mermaid-js/mermaid/commit/430ac9b4de28ec360df92df0adf998523a57ce4d";><code>430ac9b</code></a>
 Thanks <a 
href="https://github.com/ashishjain0512";><code>@​ashishjain0512</code></a>! - 
fix: Centre mindmap node labels when <code>htmlLabels</code> is false</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/mermaid-js/mermaid/pull/8161";>#8161</a> <a 
href="https://github.com/mermaid-js/mermaid/commit/d7532edcc2d8dbb7563469884ebdfda4fe85994b";><code>d7532ed</code></a>
 Thanks <a 
href="https://github.com/filipsajdak";><code>@​filipsajdak</code></a>! - fix: 
scope a swimlane cluster's DOM id like every other cluster, so two diagrams on 
one page do not collide</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/mermaid-js/mermaid/pull/8270";>#8270</a> <a 
href="https://github.com/mermaid-js/mermaid/commit/ad8d61ad3fe2a2262970e3a9059e308a99680891";><code>ad8d61a</code></a>
 Thanks <a 
href="https://github.com/filipsajdak";><code>@​filipsajdak</code></a>! - 
fix(rendering): clip an edge for the layout engine that drew it, so a diagram 
pinning its own engine (bpmn, swimlanes) still renders when the configured 
default is another one</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/mermaid-js/mermaid/pull/8383";>#8383</a> <a 
href="https://github.com/mermaid-js/mermaid/commit/9d41c0fbf856fc71aff93e4ed55a38c9cc932a76";><code>9d41c0f</code></a>
 Thanks <a 
href="https://github.com/filipsajdak";><code>@​filipsajdak</code></a>! - 
fix(swimlanes): split shared terminal lanes again after crossing cleanup, so an 
edge that detours around another lane no longer ends on the same attachment 
point as a neighbouring edge</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/mermaid-js/mermaid/pull/8384";>#8384</a> <a 
href="https://github.com/mermaid-js/mermaid/commit/6c67397dee4422a07646dd0b8960f1fcf64849e8";><code>6c67397</code></a>
 Thanks <a 
href="https://github.com/filipsajdak";><code>@​filipsajdak</code></a>! - 
fix(swimlanes): move a lane's title band clear of an edge that crosses it, in 
LR diagrams whose lanes carry no direction of their own and when the edge runs 
along the band's border</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/mermaid-js/mermaid/pull/8366";>#8366</a> <a 
href="https://github.com/mermaid-js/mermaid/commit/40124c3a471040cdf92269dda43c737d7431f8f2";><code>40124c3</code></a>
 Thanks <a 
href="https://github.com/SwastikTripathi";><code>@​SwastikTripathi</code></a>! - 
fix: swimlane nodes with no edges keep their source order inside a lane instead 
of being sorted by ID</p>
   </li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/mermaid-js/mermaid/commit/1fb7869866dd619168d840291c9c54b4f129758b";><code>1fb7869</code></a>
 Merge pull request <a 
href="https://redirect.github.com/mermaid-js/mermaid/issues/8432";>#8432</a> 
from mermaid-js/changeset-release/master</li>
   <li><a 
href="https://github.com/mermaid-js/mermaid/commit/34772ca17ed84bd5de149bacd83f75ed856b653e";><code>34772ca</code></a>
 Version Packages</li>
   <li><a 
href="https://github.com/mermaid-js/mermaid/commit/42292eaee1ee921cbe716761b51d57e708dba2c4";><code>42292ea</code></a>
 Merge pull request <a 
href="https://redirect.github.com/mermaid-js/mermaid/issues/8428";>#8428</a> 
from mermaid-js/release/12.2.0</li>
   <li><a 
href="https://github.com/mermaid-js/mermaid/commit/e6c805914ae3b65c7e7bde78a23ca98fec4a9b36";><code>e6c8059</code></a>
 Wrong version set previously</li>
   <li><a 
href="https://github.com/mermaid-js/mermaid/commit/6c55f565dcf2650fc7d0ad847938a6eddb8eab8d";><code>6c55f56</code></a>
 Set mermaid version when Coloring by depth supported in Mindmap</li>
   <li><a 
href="https://github.com/mermaid-js/mermaid/commit/5a0d8cf4067eba24e5ff12094284ee77bb8202e9";><code>5a0d8cf</code></a>
 Fix missing parallel uploads</li>
   <li><a 
href="https://github.com/mermaid-js/mermaid/commit/788f396725fa3fca1237b092d6c9595b0cfa6ecf";><code>788f396</code></a>
 Update according to discussion with core-team members</li>
   <li><a 
href="https://github.com/mermaid-js/mermaid/commit/33d0a4997b742df0d04838cce3f572e674d1cf9d";><code>33d0a49</code></a>
 Merge pull request <a 
href="https://redirect.github.com/mermaid-js/mermaid/issues/8411";>#8411</a> 
from mermaid-js/renovate/npm-katex-vulnerability</li>
   <li><a 
href="https://github.com/mermaid-js/mermaid/commit/6538fde92b6c30bca704e913f2f0476cc09bbd97";><code>6538fde</code></a>
 Update dependency katex to ^0.18.0 [SECURITY]</li>
   <li><a 
href="https://github.com/mermaid-js/mermaid/commit/ba3022d16a17cf60fc4eda5022848f938f79b6e6";><code>ba3022d</code></a>
 Merge pull request <a 
href="https://redirect.github.com/mermaid-js/mermaid/issues/8398";>#8398</a> 
from mermaid-js/pebr/12.1.0-tmp</li>
   <li>Additional commits viewable in <a 
href="https://github.com/mermaid-js/mermaid/compare/[email protected]@12.2.0";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `react` from 19.3.0 to 19.3.1
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/react/react/releases";>react's releases</a>.</em></p>
   <blockquote>
   <h2>19.3.1 (October 14th, 2026)</h2>
   <h2>React Server Components</h2>
   <ul>
   <li>Improve transport protocol (<a 
href="https://redirect.github.com/facebook/react/pull/37845";>#37845</a> by <a 
href="https://github.com/unstubbable";><code>@​unstubbable</code></a> and <a 
href="https://github.com/eps1lon";><code>@​eps1lon</code></a>)</li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/react/react/commit/61aa00df822d0eb76d0362eb8b6fdd3527693efe";><code>61aa00d</code></a>
 [19.3.x][Flight] Improve transport protocol (<a 
href="https://github.com/react/react/tree/HEAD/packages/react/issues/37845";>#37845</a>)</li>
   <li>See full diff in <a 
href="https://github.com/react/react/commits/v19.3.1/packages/react";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `react-dom` from 19.3.0 to 19.3.1
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/react/react/releases";>react-dom's 
releases</a>.</em></p>
   <blockquote>
   <h2>19.3.1 (October 14th, 2026)</h2>
   <h2>React Server Components</h2>
   <ul>
   <li>Improve transport protocol (<a 
href="https://redirect.github.com/facebook/react/pull/37845";>#37845</a> by <a 
href="https://github.com/unstubbable";><code>@​unstubbable</code></a> and <a 
href="https://github.com/eps1lon";><code>@​eps1lon</code></a>)</li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/react/react/commit/61aa00df822d0eb76d0362eb8b6fdd3527693efe";><code>61aa00d</code></a>
 [19.3.x][Flight] Improve transport protocol (<a 
href="https://github.com/react/react/tree/HEAD/packages/react-dom/issues/37845";>#37845</a>)</li>
   <li>See full diff in <a 
href="https://github.com/react/react/commits/v19.3.1/packages/react-dom";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `react-hook-form` from 7.89.0 to 7.90.0
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/react-hook-form/react-hook-form/releases";>react-hook-form's
 releases</a>.</em></p>
   <blockquote>
   <h2>Version 7.90.0</h2>
   <h2>🐞 Fixes</h2>
   <ul>
   <li>Fix <code>useForm</code> marking fields named after 
<code>Object.prototype</code> members as touched on blur and 
<code>setValue</code> (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13833";>#13833</a>)</li>
   <li>Fix <code>cloneObject</code> preserving the length of sparse arrays (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13834";>#13834</a>)</li>
   <li>Fix dirty values extraction for fields named <code>hasOwnProperty</code> 
(<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13832";>#13832</a>)</li>
   <li>Fix <code>useForm</code> retaining options removed from props on 
re-render (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13831";>#13831</a>)</li>
   <li>Fix <code>useFieldArray</code> handling duplicate indexes in 
<code>remove()</code> without mutating the provided indexes (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13830";>#13830</a>)</li>
   <li>Fix <code>useFieldArray</code> unregistering fields while a parent array 
reindexes (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13828";>#13828</a>)</li>
   <li>Fix input values edited before the form is ready being lost (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13827";>#13827</a>)</li>
   <li>Fix <code>useWatch</code> not updating watched objects after an Activity 
subtree reconnects (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13819";>#13819</a>)</li>
   <li>Fix <code>reset()</code> incorrectly setting <code>isDirty</code> when 
using <code>keepDefaultValues</code> without values (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13820";>#13820</a>)</li>
   <li>Fix <code>Controller</code> blur validation not working after 
<code>reset()</code> (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13817";>#13817</a>)</li>
   <li>Fix <code>watch</code> using stale <code>shouldUnregister</code> options 
when registering fields (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13814";>#13814</a>)</li>
   <li>Fix form value comparison for fields named <code>ref</code> (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13812";>#13812</a>)</li>
   <li>Fix native validation using stale <code>shouldUseNativeValidation</code> 
options (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13806";>#13806</a>)</li>
   <li>Fix <code>cloneObject</code> not cloning objects with a null prototype 
(<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13808";>#13808</a>)</li>
   <li>Fix <code>useWatch</code> array names not prioritizing form 
<code>defaultValues</code> (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13805";>#13805</a>)</li>
   <li>Fix error updates not producing a new <code>errors</code> reference (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13800";>#13800</a>)</li>
   <li>Fix <code>setError</code> and <code>clearErrors</code> not producing a 
new <code>errors</code> reference (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13791";>#13791</a>)</li>
   </ul>
   <h2>⚡ Performance Improvements</h2>
   <ul>
   <li>Improve dirty fields checking (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13788";>#13788</a>)</li>
   <li>Improve subscription value handling (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13787";>#13787</a>)</li>
   <li>Improve <code>watch</code> API performance (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13792";>#13792</a>)</li>
   <li>Improve named scoped subscriptions (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13793";>#13793</a>)</li>
   <li>Preserve form-state tracking across unsubscribe (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13794";>#13794</a>)</li>
   <li>Improve subject subscription handling (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13795";>#13795</a>)</li>
   <li>Skip redundant form-state merges during subscriber notifications (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13796";>#13796</a>)</li>
   <li>Avoid allocations when matching subscription names (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13823";>#13823</a>)</li>
   </ul>
   <h2>🧹 Refactors</h2>
   <ul>
   <li>Reduce bundle size (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13797";>#13797</a>,
 <a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13798";>#13798</a>)</li>
   <li>Clean up tests and fix warnings (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13835";>#13835</a>)</li>
   </ul>
   <h2>🧪 Tests</h2>
   <ul>
   <li>Add coverage for <code>useFieldArray</code> index boundary and no-op 
behavior (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13815";>#13815</a>,
 <a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13822";>#13822</a>,
 <a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13824";>#13824</a>,
 <a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13829";>#13829</a>)</li>
   <li>Add coverage for JSON stringify and parse edge cases (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13821";>#13821</a>)</li>
   </ul>
   <h2>📦 Dependencies</h2>
   <ul>
   <li>Bump <code>fast-uri</code> from 3.1.2 to 3.1.8 (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13811";>#13811</a>)</li>
   <li>Bump <code>joi</code> from 18.2.5 to 18.2.6 (<a 
href="https://redirect.github.com/react-hook-form/react-hook-form/issues/13810";>#13810</a>)</li>
   </ul>
   <h2>❤️ Thank You</h2>
   <p>Thanks to <a 
href="https://github.com/charan-rathore";><code>@​charan-rathore</code></a>, <a 
href="https://github.com/zigzagdev";><code>@​zigzagdev</code></a>, <a 
href="https://github.com/AdzerKI";><code>@​AdzerKI</code></a>, <a 
href="https://github.com/huytdps13400";><code>@​huytdps13400</code></a>, <a 
href="https://github.com/dfedoryshchev";><code>@​dfedoryshchev</code></a>, <a 
href="https://github.com/kory-kaai";><code>@​kory-kaai</code></a>, <a 
href="https://github.com/Mohamed-Elshesheny";><code>@​Mohamed-Elshesheny</code></a>,
 <a href="https://github.com/breken-ai";><code>@​breken-ai</code></a>, <a 
href="https://github.com/sarmah-rup";><code>@​sarmah-rup</code></a>, <a 
href="https://github.com/00200200";><code>@​00200200</code></a>, <a 
href="https://github.com/giaBaoJS";><code>@​giaBaoJS</code></a> and <a 
href="https://github.com/bluebill1049";><code>@​bluebill1049</code></a> for 
their contributions! 🎉</p>
   </blockquote>
   </details>
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/react-hook-form/react-hook-form/blob/master/CHANGELOG.md";>react-hook-form's
 changelog</a>.</em></p>
   <blockquote>
   <h2>[7.90.0] - 2026-10-10</h2>
   <h3>Changed</h3>
   <ul>
   <li>Improve performance of <code>watch</code>, <code>subscribe</code>, 
scoped subscriptions, dirty field checks and form state fan-out</li>
   <li>Reduce bundle size</li>
   </ul>
   <h3>Fixed</h3>
   <ul>
   <li>Fields named after <code>Object.prototype</code> members not being 
marked as touched on blur and <code>setValue</code></li>
   <li>Dirty values extraction for fields named <code>hasOwnProperty</code></li>
   <li><code>cloneObject</code> dropping the length of sparse arrays</li>
   <li><code>cloneObject</code> failing on objects with a null prototype</li>
   <li>Form options removed from props on re-render not being reset</li>
   <li><code>remove()</code> mishandling duplicated indexes and mutating the 
indexes passed in</li>
   <li><code>useFieldArray</code> unregistering fields while a parent array 
reindexes</li>
   <li>Input edited before the form is ready being overwritten</li>
   <li><code>useWatch</code> not updating watched objects after an 
<code>&lt;Activity&gt;</code> subtree reconnects</li>
   <li><code>useWatch</code> preferring its own <code>defaultValue</code> over 
form <code>defaultValues</code> for array names</li>
   <li><code>reset</cod...
   
   _Description has been truncated_


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to