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>[^()"']+</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>"</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>"</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>$&</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>[^()"']+</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>"</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>"</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>$&</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: "For AI assistants" 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><Activity></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]
