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

   Bumps the core-ui-package-updates group with 19 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.2` | `5.104.5` |
   | 
[@tanstack/react-virtual](https://github.com/TanStack/virtual/tree/HEAD/packages/react-virtual)
 | `3.14.17` | `3.14.22` |
   | [chart.js](https://github.com/chartjs/Chart.js) | `4.5.1` | `4.6.1` |
   | [i18next](https://github.com/i18next/i18next) | `26.4.4` | `26.5.10` |
   | 
[i18next-browser-languagedetector](https://github.com/i18next/i18next-browser-languageDetector)
 | `8.2.1` | `8.2.2` |
   | [i18next-http-backend](https://github.com/i18next/i18next-http-backend) | 
`4.0.2` | `4.0.5` |
   | [katex](https://github.com/KaTeX/KaTeX) | `0.19.0` | `0.19.1` |
   | [mermaid](https://github.com/mermaid-js/mermaid) | `12.1.0` | `12.2.0` |
   | [react-hook-form](https://github.com/react-hook-form/react-hook-form) | 
`7.90.0` | `7.91.0` |
   | [react-i18next](https://github.com/i18next/react-i18next) | `17.0.16` | 
`17.1.8` |
   | 
[react-resizable-panels](https://github.com/bvaughn/react-resizable-panels) | 
`4.14.4` | `4.15.0` |
   | [zustand](https://github.com/pmndrs/zustand) | `5.0.15` | `5.0.16` |
   | [@playwright/test](https://github.com/microsoft/playwright) | `1.64.0` | 
`1.64.1` |
   | 
[@tanstack/eslint-plugin-query](https://github.com/TanStack/query/tree/HEAD/packages/eslint-plugin-query)
 | `5.104.2` | `5.104.5` |
   | 
[@vitest/coverage-v8](https://github.com/vitest-dev/vitest/tree/HEAD/packages/coverage-v8)
 | `5.0.4` | `5.0.5` |
   | [happy-dom](https://github.com/capricorn86/happy-dom) | `21.0.1` | 
`21.0.4` |
   | [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) | `8.3.4` | 
`8.3.5` |
   | [vitest](https://github.com/vitest-dev/vitest/tree/HEAD/packages/vitest) | 
`5.0.4` | `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.2 to 5.104.5
   <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.5</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/query/commit/1f8d134ea3fa356072b40c69d5cd0227886b89bd";><code>1f8d134</code></a>]:
   <ul>
   <li><code>@​tanstack/react-query</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.5</li>
   <li><code>@​tanstack/query-devtools</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.5</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-query-next-experimental</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.5</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/query/commit/1f8d134ea3fa356072b40c69d5cd0227886b89bd";><code>1f8d134</code></a>]:
   <ul>
   <li><code>@​tanstack/react-query</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.5</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-query-persist-client</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.5</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/query/commit/1f8d134ea3fa356072b40c69d5cd0227886b89bd";><code>1f8d134</code></a>]:
   <ul>
   <li><code>@​tanstack/react-query</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.5</li>
   <li><code>@​tanstack/query-persist-client-core</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.5</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-query</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.5</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li><a 
href="https://redirect.github.com/TanStack/query/pull/12117";>#12117</a> <a 
href="https://github.com/TanStack/query/commit/1f8d134ea3fa356072b40c69d5cd0227886b89bd";><code>1f8d134</code></a>
 - Recompute <code>useMutationState</code> and <code>useIsMutating</code> 
results when their filters, selector, or query client change, without waiting 
for a mutation cache update.</li>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/query/commit/f608f933a36da30670082e90d0a56b2569290563";><code>f608f93</code></a>]:
   <ul>
   <li><code>@​tanstack/query-core</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.5</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-query-devtools</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.4</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>
   <p><a 
href="https://redirect.github.com/TanStack/query/pull/11722";>#11722</a> <a 
href="https://github.com/TanStack/query/commit/0992a9291469d02d677f10a4994b1af0fdb8ac74";><code>0992a92</code></a>
 - fix(react-query-devtools): create the devtools instance only once instead of 
on every render</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/TanStack/query/pull/11728";>#11728</a> <a 
href="https://github.com/TanStack/query/commit/a10839824cecec8ea141330191c2e0ad0ae2b53f";><code>a108398</code></a>
 - fix(react-query*): declare '<code>@​types/react</code>' as an optional peer 
dependency</p>
   </li>
   <li>
   <p>Updated dependencies [<a 
href="https://github.com/TanStack/query/commit/c8f5eac9df24c3cf987dc23865493ebd0d346caa";><code>c8f5eac</code></a>,
 <a 
href="https://github.com/TanStack/query/commit/c20886163a3759725cceafb421e864e7d213ec26";><code>c208861</code></a>,
 <a 
href="https://github.com/TanStack/query/commit/b61abc2033f9e2fbf24d6753baedeaa74b2f1c17";><code>b61abc2</code></a>,
 <a 
href="https://github.com/TanStack/query/commit/a10839824cecec8ea141330191c2e0ad0ae2b53f";><code>a108398</code></a>]:</p>
   <ul>
   <li><code>@​tanstack/query-devtools</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.4</li>
   <li><code>@​tanstack/react-query</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.4</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-query-next-experimental</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.4</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li><a 
href="https://redirect.github.com/TanStack/query/pull/11728";>#11728</a> <a 
href="https://github.com/TanStack/query/commit/a10839824cecec8ea141330191c2e0ad0ae2b53f";><code>a108398</code></a>
 - fix(react-query*): declare '<code>@​types/react</code>' as an optional peer 
dependency</li>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/query/commit/c20886163a3759725cceafb421e864e7d213ec26";><code>c208861</code></a>,
 <a 
href="https://github.com/TanStack/query/commit/a10839824cecec8ea141330191c2e0ad0ae2b53f";><code>a108398</code></a>]:
   <ul>
   <li><code>@​tanstack/react-query</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.4</li>
   </ul>
   </li>
   </ul>
   <h2><code>@​tanstack/react-query-persist-client</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.4</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li><a 
href="https://redirect.github.com/TanStack/query/pull/11728";>#11728</a> <a 
href="https://github.com/TanStack/query/commit/a10839824cecec8ea141330191c2e0ad0ae2b53f";><code>a108398</code></a>
 - fix(react-query*): declare '<code>@​types/react</code>' as an optional peer 
dependency</li>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/query/commit/c20886163a3759725cceafb421e864e7d213ec26";><code>c208861</code></a>,
 <a 
href="https://github.com/TanStack/query/commit/a10839824cecec8ea141330191c2e0ad0ae2b53f";><code>a108398</code></a>]:
   <ul>
   <li><code>@​tanstack/react-query</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.4</li>
   </ul>
   </li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </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.5</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li><a 
href="https://redirect.github.com/TanStack/query/pull/12117";>#12117</a> <a 
href="https://github.com/TanStack/query/commit/1f8d134ea3fa356072b40c69d5cd0227886b89bd";><code>1f8d134</code></a>
 - Recompute <code>useMutationState</code> and <code>useIsMutating</code> 
results when their filters, selector, or query client change, without waiting 
for a mutation cache update.</li>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/query/commit/f608f933a36da30670082e90d0a56b2569290563";><code>f608f93</code></a>]:
   <ul>
   <li><code>@​tanstack/query-core</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.5</li>
   </ul>
   </li>
   </ul>
   <h2>5.104.4</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>
   <p><a 
href="https://redirect.github.com/TanStack/query/pull/11328";>#11328</a> <a 
href="https://github.com/TanStack/query/commit/c20886163a3759725cceafb421e864e7d213ec26";><code>c208861</code></a>
 - Allow queries with falsy errors to retry on mount when 
<code>throwOnError</code> returns false.</p>
   </li>
   <li>
   <p><a 
href="https://redirect.github.com/TanStack/query/pull/11728";>#11728</a> <a 
href="https://github.com/TanStack/query/commit/a10839824cecec8ea141330191c2e0ad0ae2b53f";><code>a108398</code></a>
 - fix(react-query*): declare '<code>@​types/react</code>' as an optional peer 
dependency</p>
   </li>
   <li>
   <p>Updated dependencies [<a 
href="https://github.com/TanStack/query/commit/1fee0443dbeb346b8401557ca286a66cdec7ad71";><code>1fee044</code></a>,
 <a 
href="https://github.com/TanStack/query/commit/fce89ddf7a35b14252096ff64a1217efd81b415c";><code>fce89dd</code></a>]:</p>
   <ul>
   <li><code>@​tanstack/query-core</code><a 
href="https://github.com/5";><code>@​5</code></a>.104.4</li>
   </ul>
   </li>
   </ul>
   <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>
   </blockquote>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/TanStack/query/commit/a8ecc8d42f82c795fbe5771be5e41dee54bd7e34";><code>a8ecc8d</code></a>
 ci: Version Packages (<a 
href="https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/12128";>#12128</a>)</li>
   <li><a 
href="https://github.com/TanStack/query/commit/1f8d134ea3fa356072b40c69d5cd0227886b89bd";><code>1f8d134</code></a>
 fix(react, preact): recompute mutation state snapshots (<a 
href="https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/12117";>#12117</a>)</li>
   <li><a 
href="https://github.com/TanStack/query/commit/12199722dc3f7443b7bbb575611dce59cfd08534";><code>1219972</code></a>
 ci: Version Packages (<a 
href="https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/12062";>#12062</a>)</li>
   <li><a 
href="https://github.com/TanStack/query/commit/1fee0443dbeb346b8401557ca286a66cdec7ad71";><code>1fee044</code></a>
 fix(query-core): clear mutations before notifying subscribers (<a 
href="https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11470";>#11470</a>)</li>
   <li><a 
href="https://github.com/TanStack/query/commit/c20886163a3759725cceafb421e864e7d213ec26";><code>c208861</code></a>
 fix(react-query): retry queries with falsy errors on mount (<a 
href="https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11328";>#11328</a>)</li>
   <li><a 
href="https://github.com/TanStack/query/commit/a10839824cecec8ea141330191c2e0ad0ae2b53f";><code>a108398</code></a>
 fix(react-query*): declare '<code>@​types/react</code>' as an optional peer 
dependency (<a 
href="https://github.com/TanStack/query/tree/HEAD/packages/react-query/issues/11";>#11</a>...</li>
   <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>See full diff 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-virtual` from 3.14.17 to 3.14.22
   <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.22</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/887e97172207c28d12bf9a0df8a842e261565a42";><code>887e971</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/5d51f1d972c8c22b9cb0b767741a9c544bd89299";><code>5d51f1d</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.7</li>
   </ul>
   </li>
   </ul>
   <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>
   </blockquote>
   </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.22</h2>
   <h3>Patch Changes</h3>
   <ul>
   <li>Updated dependencies [<a 
href="https://github.com/TanStack/virtual/commit/887e97172207c28d12bf9a0df8a842e261565a42";><code>887e971</code></a>,
 <a 
href="https://github.com/TanStack/virtual/commit/5d51f1d972c8c22b9cb0b767741a9c544bd89299";><code>5d51f1d</code></a>]:
   <ul>
   <li><code>@​tanstack/virtual-core</code><a 
href="https://github.com/3";><code>@​3</code></a>.19.7</li>
   </ul>
   </li>
   </ul>
   <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>
   </blockquote>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/TanStack/virtual/commit/c462c6141ea434fdbc52b5dd866bb8db7e4fd07e";><code>c462c61</code></a>
 ci: Version Packages (<a 
href="https://github.com/TanStack/virtual/tree/HEAD/packages/react-virtual/issues/1336";>#1336</a>)</li>
   <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>See full diff in <a 
href="https://github.com/TanStack/virtual/commits/@tanstack/[email protected]/packages/react-virtual";>compare
 view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `chart.js` from 4.5.1 to 4.6.1
   <details>
   <summary>Release notes</summary>
   <p><em>Sourced from <a 
href="https://github.com/chartjs/Chart.js/releases";>chart.js's 
releases</a>.</em></p>
   <blockquote>
   <h2>v4.6.1</h2>
   <h1>Essential Links</h1>
   <ul>
   <li><a href="https://www.npmjs.com/package/chart.js";>npm</a></li>
   <li><a 
href="https://www.chartjs.org/docs/4.6.1/migration/v4-migration.html";>Migration 
guide</a></li>
   <li><a href="https://www.chartjs.org/docs/4.6.1/";>Docs</a></li>
   <li><a href="https://www.chartjs.org/docs/4.6.1/api/";>API</a></li>
   <li><a 
href="https://www.chartjs.org/docs/4.6.1/samples/information.html";>Samples</a></li>
   </ul>
   <ul>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12355";>#12355</a> 
fix: trusted publishing fix + version 4.6.1 bump</li>
   </ul>
   <p>Thanks to <a 
href="https://github.com/etimberg";><code>@​etimberg</code></a></p>
   <h2>v4.6.0</h2>
   <h1>Essential Links</h1>
   <ul>
   <li><a href="https://www.npmjs.com/package/chart.js";>npm</a></li>
   <li><a 
href="https://www.chartjs.org/docs/4.6.0/migration/v4-migration.html";>Migration 
guide</a></li>
   <li><a href="https://www.chartjs.org/docs/4.6.0/";>Docs</a></li>
   <li><a href="https://www.chartjs.org/docs/4.6.0/api/";>API</a></li>
   <li><a 
href="https://www.chartjs.org/docs/4.6.0/samples/information.html";>Samples</a></li>
   </ul>
   <ul>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12354";>#12354</a> 
chore: version bump to 4.6.0 to prepare for release</li>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12328";>#12328</a> 
test: stabilize overlapping polar-area label fixture</li>
   </ul>
   <h2>Enhancements</h2>
   <ul>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12238";>#12238</a> 
Corrected spacing in pie/doughnut/polarArea (Fixes #<!-- raw HTML omitted 
-->10059)</li>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12130";>#12130</a> 
Enable scale title stroke (12092)</li>
   </ul>
   <h2>Bugs Fixed</h2>
   <ul>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12283";>#12283</a> 
filler plugin fill extends past line when offset: true + index scale 
min/max</li>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12155";>#12155</a> Fix 
early exit from clearStacks</li>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12142";>#12142</a> Use 
integer canvas dimensions</li>
   </ul>
   <h2>Types</h2>
   <ul>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12321";>#12321</a> 
fix(types): allow scriptable and indexed grid tick widths</li>
   </ul>
   <h2>Documentation</h2>
   <ul>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12258";>#12258</a> Add 
a note that axis labels can span lines</li>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12134";>#12134</a> 
docs: Add note about flexbox/grid layout responsivity issue</li>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12139";>#12139</a> Fix 
amount of category scales count in docs</li>
   </ul>
   <h2>Development</h2>
   <ul>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12306";>#12306</a> 
Bump actions/setup-node from 6 to 7</li>
   <li><a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12303";>#12303</a> 
Bump actions/checkout from 6 to 7</li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/chartjs/Chart.js/commit/76d8cf895a7485dc838c90ef37e2bc9d9e388fcb";><code>76d8cf8</code></a>
 fix: trusted publishing fix + version 4.6.1 bump (<a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12355";>#12355</a>)</li>
   <li><a 
href="https://github.com/chartjs/Chart.js/commit/4e5443d6a8705a66a40e90bfb4f59cf58c5010ee";><code>4e5443d</code></a>
 chore: version bump to 4.6.0 to prepare for release (<a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12354";>#12354</a>)</li>
   <li><a 
href="https://github.com/chartjs/Chart.js/commit/7169e65147a47f3720957a6f156a33c838ab9f57";><code>7169e65</code></a>
 fix(types): allow scriptable and indexed grid tick widths (<a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12321";>#12321</a>)</li>
   <li><a 
href="https://github.com/chartjs/Chart.js/commit/714b48cdec6f3a2e44f7fdacd049159c68c9ef7c";><code>714b48c</code></a>
 test: stabilize overlapping polar-area labels across browsers (<a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12328";>#12328</a>)</li>
   <li><a 
href="https://github.com/chartjs/Chart.js/commit/6a86e238fac3d1ad35eb84b93e7804dfb5813f79";><code>6a86e23</code></a>
 Bump actions/setup-node from 6 to 7 (<a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12306";>#12306</a>)</li>
   <li><a 
href="https://github.com/chartjs/Chart.js/commit/afb3d6476f6159f233f2ed18b88fe287455ff7b1";><code>afb3d64</code></a>
 Bump actions/checkout from 6 to 7 (<a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12303";>#12303</a>)</li>
   <li><a 
href="https://github.com/chartjs/Chart.js/commit/0db976cad6f3bdce824e22ec036bc57658ce4971";><code>0db976c</code></a>
 Bump pnpm/action-setup from 4.2.0 to 6.1.0 (<a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12307";>#12307</a>)</li>
   <li><a 
href="https://github.com/chartjs/Chart.js/commit/d2ddcf9ed78cbdd6f7dc0af96f7ebee0c7ce615f";><code>d2ddcf9</code></a>
 Specify build script for compressed size (<a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12310";>#12310</a>)</li>
   <li><a 
href="https://github.com/chartjs/Chart.js/commit/b97257450d5d7d19b445b9b6a4a45cf7b3f1f3f8";><code>b972574</code></a>
 filler plugin fill extends past line when offset: true + index scale min/max 
...</li>
   <li><a 
href="https://github.com/chartjs/Chart.js/commit/0ad783f10ac3706dfcf6e7e1c54bc4b67e8fb0dc";><code>0ad783f</code></a>
 Use node 24 for CI (<a 
href="https://redirect.github.com/chartjs/Chart.js/issues/12309";>#12309</a>)</li>
   <li>Additional commits viewable in <a 
href="https://github.com/chartjs/Chart.js/compare/v4.5.1...v4.6.1";>compare 
view</a></li>
   </ul>
   </details>
   <details>
   <summary>Maintainer changes</summary>
   <p>This version was pushed to npm by <a 
href="https://www.npmjs.com/~GitHub%20Actions";>GitHub Actions</a>, a new 
releaser for chart.js since your current version.</p>
   </details>
   <br />
   
   Updates `i18next` from 26.4.4 to 26.5.10
   <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.5.10</h2>
   <ul>
   <li>fix: when none of the detected languages is in 
<code>supportedLngs</code>, the best match no longer picks a different language 
whose code only starts with the same letters. The last fuzzy check took any 
supported code starting with the language part, so with <code>supportedLngs: 
['en', 'fil-PH']</code> a Finnish user (<code>fi-FI</code>) got Filipino 
instead of the fallback language, and <code>ha</code> (Hausa) picked 
<code>haw-US</code> (Hawaiian). Other regions of the same language still match 
as before (<code>de-CH</code> → <code>de-DE</code>, <code>pt-PT</code> → 
<code>pt-BR</code>, <code>fil</code> → <code>fil-PH</code>). Compatibility 
note: a two-letter code no longer matches a supported three-letter code that 
extends it, like <code>ar</code> → <code>arz-EG</code>, <code>sw</code> → 
<code>swh-KE</code> or <code>no</code> → <code>nob-NO</code>; list the 
two-letter code in <code>supportedLngs</code> (or map it with 
<code>fallbackLng</code>) if you relied on tha
 t. Thanks <a href="https://github.com/Pharex38";><code>@​Pharex38</code></a> 
(<a 
href="https://redirect.github.com/i18next/i18next/pull/2460";>#2460</a>).</li>
   </ul>
   <h2>v26.5.9</h2>
   <ul>
   <li>fix: nested lookups no longer resolve to methods inherited from the 
prototype, like <code>constructor</code>, <code>toString</code> or 
<code>map</code>. Only the top level was guarded, so 
<code>{{constructor}}</code> was treated as missing, but 
<code>{{user.constructor}}</code> rendered the function source (with a class 
instance, the full source code of the class), and 
<code>{{user.toString}}</code>, <code>{{items.map}}</code> or a class method 
like <code>{{user.greet}}</code> did the same. The same lookup is used for 
translation keys when <code>ignoreJSONStructure</code> is on (the default): a 
nested key named like an inherited method that is missing in the current 
language (<code>t('roles.constructor')</code> with 
<code>roles.constructor</code> only in the fallback language) returned 
<code>function Object() { [native code] }</code> instead of falling back, and 
<code>exists('roles.valueOf')</code> returned <code>true</code>. These keys are 
now missing, so the fallback languag
 e, <code>missingInterpolationHandler</code>, <code>saveMissing</code> and the 
missing key handler apply as for any other missing key. Getters defined on a 
class (<code>{{user.fullName}}</code> with <code>get fullName()</code>) still 
work. Nested lookups also no longer walk into the prototype via 
<code>__proto__</code>, so <code>{{user.__proto__.constructor}}</code> no 
longer prints the class source either. Thanks <a 
href="https://github.com/Pharex38";><code>@​Pharex38</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2459";>#2459</a>).</li>
   </ul>
   <h2>v26.5.8</h2>
   <ul>
   <li>fix: arrays returned with <code>joinArrays</code> now get the same 
resolved details as strings. The joined value was extended with 
<code>lastKey</code> in the place of the resolved lookup, so with 
<code>postProcessPassResolved</code> a post processor got no 
<code>usedLng</code>, <code>usedNS</code> or <code>exactUsedKey</code> 
(<code>t('steps', { joinArrays: ' / ' })</code> reported 
<code>undefined/undefined:undefined</code>). This affected the subliminal post 
processor used by the locize InContext editor, which could not map a joined 
array to its key. The nesting recursion guard did not get the parent key 
either, so arrays that nest each other (<code>listA: ['a', '$t(listB)']</code>, 
<code>listB: ['b', '$t(listA)']</code>) threw <code>Maximum call stack size 
exceeded</code>. They now stop at the guard, as strings do. An 
<code>i18nFormat</code> plugin with <code>handleAsObject</code> and 
<code>parse</code> also no longer throws <code>Cannot read properties of 
undefined (readin
 g 'usedNS')</code> on joined arrays. Thanks <a 
href="https://github.com/nk-batman21";><code>@​nk-batman21</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2458";>#2458</a>).</li>
   </ul>
   <h2>v26.5.7</h2>
   <ul>
   <li>fix: with the default <code>cacheInBuiltFormats: true</code>, built-in 
formats now also work when the <code>t()</code> options contain a BigInt or a 
circular object. The cache key was built with <code>JSON.stringify</code> over 
all options, including the interpolation values, which throws on those, so 
every built-in format in that call returned the raw value: <code>t('num', { 
val: 12345678901234567890n })</code> with <code>'Total: {{val, number}}'</code> 
returned <code>'Total: 12345678901234567890'</code> instead of <code>'Total: 
12,345,678,901,234,567,890'</code>, and passing an object with a back-reference 
(like an ORM entity) left all numbers, dates and lists of that call 
unformatted. When the key cannot be built, the value is now formatted without 
the cache, as with <code>cacheInBuiltFormats: false</code>. This also applies 
to formatters added with <code>addCached</code>. Other calls still use the 
cache as before. Thanks <a href="https://github.com/nk-batman21";><code>@​n
 k-batman21</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2457";>#2457</a>).</li>
   </ul>
   <h2>v26.5.6</h2>
   <ul>
   <li>fix: <code>cloneInstance({ forkResourceStore: true })</code> now copies 
the resources at every level. It copied them only down to the namespace 
objects, so nested keys and arrays stayed shared with the original instance: 
<code>addResource()</code> with a nested key (<code>fork.addResource('en', 
'translation', 'greeting.hello', 'Hi')</code>) or a deep 
<code>addResourceBundle()</code> on the fork also changed the original instance 
and every other fork. Flat keys were already isolated. Forking a large store 
takes a bit longer: with 300k keys in nested groups, about 11 ms instead of 3 
ms per fork. Clones without <code>forkResourceStore</code> still share the 
store as before. Thanks <a 
href="https://github.com/nk-batman21";><code>@​nk-batman21</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2456";>#2456</a>, 
follow-up to <a 
href="https://redirect.github.com/i18next/i18next/issues/2270";>#2270</a>).</li>
   </ul>
   <h2>v26.5.5</h2>
   <ul>
   <li>fix: with the default <code>skipOnVariables: true</code>, a 
<code>{{placeholder}}</code> inside a value inserted with an unescaped 
<code>{{- var}}</code> now stays literal, as it already did for 
<code>{{var}}</code>. The escape pass ran after the unescaped values were 
written and scanned them again, so <code>t('{{- a}}', { a: '{{b}}', b: 'c' 
})</code> returned <code>'c'</code> instead of <code>'{{b}}'</code>. With 
pre-built HTML that carries user text, like <code>t('You may contact {{name}} 
at {{- emailHTML}}.', { name, emailHTML })</code>, that text could pull another 
variable of the same <code>t()</code> call into the output. Results with 
<code>skipOnVariables: false</code>, and values without placeholders, are 
unchanged. Compatibility note: a <code>{{- var}}</code> value whose 
placeholders were meant to be filled from the same <code>t()</code> call now 
keeps them literally; <code>skipOnVariables: false</code> restores the old 
behavior. Thanks <a href="https://github.com/nk-
 batman21"><code>@​nk-batman21</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2455";>#2455</a>, 
reported in <a 
href="https://redirect.github.com/i18next/i18next/issues/1595#issuecomment-814611747";>#1595</a>).</li>
   </ul>
   <h2>v26.5.4</h2>
   <ul>
   <li>fix: with the default <code>skipOnVariables: true</code>, a 
<code>{{placeholder}}</code> inside an interpolated value now stays literal 
also when the same placeholder appears later in the translation. Each value was 
written with <code>String.replace</code>, which replaces the first copy of the 
placeholder text, and that could be the copy inside an earlier value: 
<code>t('{{name}} has {{count}} items', { name: '{{count}}', count: 5 })</code> 
returned <code>'5 has {{count}} items'</code> instead of <code>'{{count}} has 5 
items'</code>. The value is now written at the position of the matched 
placeholder. Results with <code>skipOnVariables: false</code> are unchanged. 
Thanks <a href="https://github.com/nk-batman21";><code>@​nk-batman21</code></a> 
(<a href="https://redirect.github.com/i18next/i18next/pull/2454";>#2454</a>, 
reported in <a 
href="https://redirect.github.com/i18next/i18next/issues/1595#issuecomment-814609503";>#1595</a>).</li>
   <li>fix: with <code>useRawValueToEscape: true</code>, a non-string value in 
an unescaped <code>{{- var}}</code> placeholder or with <code>escapeValue: 
false</code> no longer throws <code>val.replace is not a function</code>; it is 
converted to a string like any other value.</li>
   </ul>
   <h2>v26.5.3</h2>
   <ul>
   <li>fix(types): with the selector API, a plural key now requires 
<code>count</code> also when the call passes an explicit <code>ns</code>. 
<code>t(($) =&gt; $.item)</code> already failed without <code>count</code>, but 
<code>t(($) =&gt; $.item, { ns: 'items' })</code> compiled, although at runtime 
it looks up <code>item</code> instead of <code>item_one</code> / 
<code>item_other</code> and returns the key. It now fails the same way, also 
with <code>ordinal: true</code>, <code>defaultValue</code>, an <code>ns</code> 
array, a key prefix and <code>i18n.t</code>. Calls with <code>count</code>, 
<code>context</code>, <code>returnObjects: true</code> and arrays of selectors, 
as well as return types, are unchanged. Thanks <a 
href="https://github.com/nyarthan";><code>@​nyarthan</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2452";>#2452</a>).</li>
   </ul>
   <h2>v26.5.2</h2>
   <ul>
   <li>fix(types): on TypeScript 7, a <code>t()</code> call with a missing, 
misspelled or wrongly typed option now reports that option again 
(<code>Property 'album' is missing</code>, <code>Type 'string' is not 
assignable to type 'number'</code>), as TypeScript 5 and 6 do. TypeScript 7 
elaborated the error against the default-value signature instead and ended in 
<code>'{ count: 3; albm: &quot;Summer&quot;; }' is not assignable to type 
'string'</code>: on a failed call TypeScript explains the last of the equally 
matching signatures, and TypeScript 7 sorts the 3-element <code>[key, 
defaultValue, options?]</code> last. It is now written as two signatures, 
<code>[key, defaultValue]</code> and <code>[key, defaultValue, options]</code>. 
This affects the default key checks with i18next <code>{{name}}</code> messages 
as well as <code>parseInterpolation: 'icu'</code> and <code>'mf2'</code>. Which 
calls compile, their return types and the error positions are unchanged on 
TypeScript 5.9, 6 and 
 7.</li>
   </ul>
   <h2>v26.5.1</h2>
   <ul>
   <li>perf(types): type-checking <code>t()</code> calls against a large 
namespace is no longer quadratic in the number of keys. TypeScript does not 
cache <code>keyof</code> of an object type, and the types rebuilt the union of 
all keys of a namespace once per key while building the key union, and again in 
every <code>t()</code> call to look up the return type. Both now use a cached 
key union, and a literal key is looked up directly instead of being intersected 
with every key. With 5,000 keys in one namespace and one call per key, the 
check time went from 14.8s to 1.1s (TypeScript 6); with 1,000 keys from 0.75s 
to 0.27s. Keys, return types and errors are unchanged.</li>
   <li>perf(types): the selector API (<code>enableSelector: true</code> / 
<code>'strict'</code>) with <code>context</code> is no longer quadratic in the 
size of an object. To decide which keys a context keeps, the types scanned all 
keys of the object once for every key, also when TypeScript checks the selector 
with <code>context</code> widened to <code>string</code>. With 1,000 keys plus 
one context variant each, a namespace took 18.7s and failed with &quot;Type 
instantiation is excessively deep and possibly infinite&quot; (TS2589); 2,500 
and more ran out of memory. The context variants of an object are now collected 
once, in one pass over its keys: 1,000 keys check in 0.69s, 5,000 in 3.1s. Long 
keys (whole sentences with <code>keySeparator: false</code>) work as before. 
Selected values and errors are unchanged.</li>
   </ul>
   <h2>v26.5.0</h2>
   <ul>
   <li>feat(types): <code>parseInterpolation: 'icu'</code> and 
<code>parseInterpolation: 'mf2'</code> type <code>t()</code> options from the 
message's ICU MessageFormat arguments (i18next-icu) or MessageFormat 2 
variables (i18next-mf2), so ICU and MF2 users no longer need 
<code>parseInterpolation: false</code> and lose argument checking. Missing, 
misspelled and wrongly typed arguments fail, and so does leaving out the 
options for a message with arguments (<code>t('greeting')</code>); that error 
names the missing arguments. Opt-in, default <code>true</code> is unchanged.
   <ul>
   <li>ICU: <code>{name}</code> takes <code>string | number</code>, <code>{n, 
number}</code>, <code>plural</code> and <code>selectordinal</code> take 
<code>number</code>, <code>{d, date}</code> and <code>{t, time}</code> take 
<code>Date</code>, <code>select</code> takes its case keys or any string (for 
<code>other</code>), and arguments nested in cases are required too. 
<code>#</code> and tags are not arguments, apostrophe quoting is read like 
intl-messageformat does.</li>
   <li>MF2: <code>{$name}</code> takes <code>string | number</code>, a variable 
annotated with <code>:number</code>, <code>:integer</code>, 
<code>:currency</code>, <code>:percent</code> or <code>:unit</code> (inline or 
through <code>.input</code> / <code>.local</code>) takes <code>number</code>, 
<code>:datetime</code>, <code>:date</code> and <code>:time</code> take 
<code>Date</code>, <code>:string</code> takes <code>string</code>, option and 
markup variables (<code>minimumFractionDigits=$digits</code>, <code>{#link 
href=$url}</code>) are required too, <code>.local</code> variables are not 
arguments, and <code>|quoted literals|</code> and <code>\{</code> escapes are 
skipped.</li>
   <li><code>interpolationFormatTypeMap</code> overrides a type by ICU format 
or MF2 function name, e.g. <code>date: Date | number</code> or a custom 
<code>uppercase: string</code>.</li>
   <li>Applies to <code>t()</code>, <code>getFixedT()</code>, 
<code>i18n.t</code>, key prefixes, namespaces, the selector API and 
react-i18next's <code>Trans</code> <code>values</code>. Messages need literal 
types, as the resources file from i18next-cli's <code>types</code> command has 
them.</li>
   <li>Type-check cost with 1,000 messages and one call each: 1.35s instead of 
0.86s with <code>false</code> (TypeScript 6), 0.5s instead of 0.26s with 
TypeScript 7. Messages that no call uses cost nothing.</li>
   </ul>
   </li>
   <li>fix(types): with the default (non-strict) key checks, an options object 
with a missing or misspelled interpolation variable now reports the missing 
variable (<code>Property 'name' is missing</code>) instead of <code>'{ nmae: 
string }' is not assignable to type 'string'</code> from the default-value 
overload.</li>
   </ul>
   <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>
   </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.5.10</h2>
   <ul>
   <li>fix: when none of the detected languages is in 
<code>supportedLngs</code>, the best match no longer picks a different language 
whose code only starts with the same letters. The last fuzzy check took any 
supported code starting with the language part, so with <code>supportedLngs: 
['en', 'fil-PH']</code> a Finnish user (<code>fi-FI</code>) got Filipino 
instead of the fallback language, and <code>ha</code> (Hausa) picked 
<code>haw-US</code> (Hawaiian). Other regions of the same language still match 
as before (<code>de-CH</code> → <code>de-DE</code>, <code>pt-PT</code> → 
<code>pt-BR</code>, <code>fil</code> → <code>fil-PH</code>). Compatibility 
note: a two-letter code no longer matches a supported three-letter code that 
extends it, like <code>ar</code> → <code>arz-EG</code>, <code>sw</code> → 
<code>swh-KE</code> or <code>no</code> → <code>nob-NO</code>; list the 
two-letter code in <code>supportedLngs</code> (or map it with 
<code>fallbackLng</code>) if you relied on tha
 t. Thanks <a href="https://github.com/Pharex38";><code>@​Pharex38</code></a> 
(<a 
href="https://redirect.github.com/i18next/i18next/pull/2460";>#2460</a>).</li>
   </ul>
   <h2>26.5.9</h2>
   <ul>
   <li>fix: nested lookups no longer resolve to methods inherited from the 
prototype, like <code>constructor</code>, <code>toString</code> or 
<code>map</code>. Only the top level was guarded, so 
<code>{{constructor}}</code> was treated as missing, but 
<code>{{user.constructor}}</code> rendered the function source (with a class 
instance, the full source code of the class), and 
<code>{{user.toString}}</code>, <code>{{items.map}}</code> or a class method 
like <code>{{user.greet}}</code> did the same. The same lookup is used for 
translation keys when <code>ignoreJSONStructure</code> is on (the default): a 
nested key named like an inherited method that is missing in the current 
language (<code>t('roles.constructor')</code> with 
<code>roles.constructor</code> only in the fallback language) returned 
<code>function Object() { [native code] }</code> instead of falling back, and 
<code>exists('roles.valueOf')</code> returned <code>true</code>. These keys are 
now missing, so the fallback languag
 e, <code>missingInterpolationHandler</code>, <code>saveMissing</code> and the 
missing key handler apply as for any other missing key. Getters defined on a 
class (<code>{{user.fullName}}</code> with <code>get fullName()</code>) still 
work. Nested lookups also no longer walk into the prototype via 
<code>__proto__</code>, so <code>{{user.__proto__.constructor}}</code> no 
longer prints the class source either. Thanks <a 
href="https://github.com/Pharex38";><code>@​Pharex38</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2459";>#2459</a>).</li>
   </ul>
   <h2>26.5.8</h2>
   <ul>
   <li>fix: arrays returned with <code>joinArrays</code> now get the same 
resolved details as strings. The joined value was extended with 
<code>lastKey</code> in the place of the resolved lookup, so with 
<code>postProcessPassResolved</code> a post processor got no 
<code>usedLng</code>, <code>usedNS</code> or <code>exactUsedKey</code> 
(<code>t('steps', { joinArrays: ' / ' })</code> reported 
<code>undefined/undefined:undefined</code>). This affected the subliminal post 
processor used by the locize InContext editor, which could not map a joined 
array to its key. The nesting recursion guard did not get the parent key 
either, so arrays that nest each other (<code>listA: ['a', '$t(listB)']</code>, 
<code>listB: ['b', '$t(listA)']</code>) threw <code>Maximum call stack size 
exceeded</code>. They now stop at the guard, as strings do. An 
<code>i18nFormat</code> plugin with <code>handleAsObject</code> and 
<code>parse</code> also no longer throws <code>Cannot read properties of 
undefined (readin
 g 'usedNS')</code> on joined arrays. Thanks <a 
href="https://github.com/nk-batman21";><code>@​nk-batman21</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2458";>#2458</a>).</li>
   </ul>
   <h2>26.5.7</h2>
   <ul>
   <li>fix: with the default <code>cacheInBuiltFormats: true</code>, built-in 
formats now also work when the <code>t()</code> options contain a BigInt or a 
circular object. The cache key was built with <code>JSON.stringify</code> over 
all options, including the interpolation values, which throws on those, so 
every built-in format in that call returned the raw value: <code>t('num', { 
val: 12345678901234567890n })</code> with <code>'Total: {{val, number}}'</code> 
returned <code>'Total: 12345678901234567890'</code> instead of <code>'Total: 
12,345,678,901,234,567,890'</code>, and passing an object with a back-reference 
(like an ORM entity) left all numbers, dates and lists of that call 
unformatted. When the key cannot be built, the value is now formatted without 
the cache, as with <code>cacheInBuiltFormats: false</code>. This also applies 
to formatters added with <code>addCached</code>. Other calls still use the 
cache as before. Thanks <a href="https://github.com/nk-batman21";><code>@​n
 k-batman21</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2457";>#2457</a>).</li>
   </ul>
   <h2>26.5.6</h2>
   <ul>
   <li>fix: <code>cloneInstance({ forkResourceStore: true })</code> now copies 
the resources at every level. It copied them only down to the namespace 
objects, so nested keys and arrays stayed shared with the original instance: 
<code>addResource()</code> with a nested key (<code>fork.addResource('en', 
'translation', 'greeting.hello', 'Hi')</code>) or a deep 
<code>addResourceBundle()</code> on the fork also changed the original instance 
and every other fork. Flat keys were already isolated. Forking a large store 
takes a bit longer: with 300k keys in nested groups, about 11 ms instead of 3 
ms per fork. Clones without <code>forkResourceStore</code> still share the 
store as before. Thanks <a 
href="https://github.com/nk-batman21";><code>@​nk-batman21</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2456";>#2456</a>, 
follow-up to <a 
href="https://redirect.github.com/i18next/i18next/issues/2270";>#2270</a>).</li>
   </ul>
   <h2>26.5.5</h2>
   <ul>
   <li>fix: with the default <code>skipOnVariables: true</code>, a 
<code>{{placeholder}}</code> inside a value inserted with an unescaped 
<code>{{- var}}</code> now stays literal, as it already did for 
<code>{{var}}</code>. The escape pass ran after the unescaped values were 
written and scanned them again, so <code>t('{{- a}}', { a: '{{b}}', b: 'c' 
})</code> returned <code>'c'</code> instead of <code>'{{b}}'</code>. With 
pre-built HTML that carries user text, like <code>t('You may contact {{name}} 
at {{- emailHTML}}.', { name, emailHTML })</code>, that text could pull another 
variable of the same <code>t()</code> call into the output. Results with 
<code>skipOnVariables: false</code>, and values without placeholders, are 
unchanged. Compatibility note: a <code>{{- var}}</code> value whose 
placeholders were meant to be filled from the same <code>t()</code> call now 
keeps them literally; <code>skipOnVariables: false</code> restores the old 
behavior. Thanks <a href="https://github.com/nk-
 batman21"><code>@​nk-batman21</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2455";>#2455</a>, 
reported in <a 
href="https://redirect.github.com/i18next/i18next/issues/1595#issuecomment-814611747";>#1595</a>).</li>
   </ul>
   <h2>26.5.4</h2>
   <ul>
   <li>fix: with the default <code>skipOnVariables: true</code>, a 
<code>{{placeholder}}</code> inside an interpolated value now stays literal 
also when the same placeholder appears later in the translation. Each value was 
written with <code>String.replace</code>, which replaces the first copy of the 
placeholder text, and that could be the copy inside an earlier value: 
<code>t('{{name}} has {{count}} items', { name: '{{count}}', count: 5 })</code> 
returned <code>'5 has {{count}} items'</code> instead of <code>'{{count}} has 5 
items'</code>. The value is now written at the position of the matched 
placeholder. Results with <code>skipOnVariables: false</code> are unchanged. 
Thanks <a href="https://github.com/nk-batman21";><code>@​nk-batman21</code></a> 
(<a href="https://redirect.github.com/i18next/i18next/pull/2454";>#2454</a>, 
reported in <a 
href="https://redirect.github.com/i18next/i18next/issues/1595#issuecomment-814609503";>#1595</a>).</li>
   <li>fix: with <code>useRawValueToEscape: true</code>, a non-string value in 
an unescaped <code>{{- var}}</code> placeholder or with <code>escapeValue: 
false</code> no longer throws <code>val.replace is not a function</code>; it is 
converted to a string like any other value.</li>
   </ul>
   <h2>26.5.3</h2>
   <ul>
   <li>fix(types): with the selector API, a plural key now requires 
<code>count</code> also when the call passes an explicit <code>ns</code>. 
<code>t(($) =&gt; $.item)</code> already failed without <code>count</code>, but 
<code>t(($) =&gt; $.item, { ns: 'items' })</code> compiled, although at runtime 
it looks up <code>item</code> instead of <code>item_one</code> / 
<code>item_other</code> and returns the key. It now fails the same way, also 
with <code>ordinal: true</code>, <code>defaultValue</code>, an <code>ns</code> 
array, a key prefix and <code>i18n.t</code>. Calls with <code>count</code>, 
<code>context</code>, <code>returnObjects: true</code> and arrays of selectors, 
as well as return types, are unchanged. Thanks <a 
href="https://github.com/nyarthan";><code>@​nyarthan</code></a> (<a 
href="https://redirect.github.com/i18next/i18next/pull/2452";>#2452</a>).</li>
   </ul>
   <h2>26.5.2</h2>
   <ul>
   <li>fix(types): on TypeScript 7, a <code>t()</code> call with a missing, 
misspelled or wrongly typed option now reports that option again 
(<code>Property 'album' is missing</code>, <code>Type 'string' is not 
assignable to type 'number'</code>), as TypeScript 5 and 6 do. TypeScript 7 
elaborated the error against the default-value signature instead and ended in 
<code>'{ count: 3; albm: &quot;Summer&quot;; }' is not assignable to type 
'string'</code>: on a failed call TypeScript explains the last of the equally 
matching signatures, and TypeScript 7 sorts the 3-element <code>[key, 
defaultValue, options?]</code> last. It is now written as two signatures, 
<code>[key, defaultValue]</code> and <code>[key, defaultValue, options]</code>. 
This affects the default key checks with i18next <code>{{name}}</code> messages 
as well as <code>parseInterpolation: 'icu'</code> and <code>'mf2'</code>. Which 
calls compile, their return types and the error positions are unchanged on 
TypeScript 5.9, 6 and 
 7.</li>
   </ul>
   <h2>26.5.1</h2>
   <ul>
   <li>perf(types): type-checking <code>t()</code> calls against a large 
namespace is no longer quadratic in the number of keys. TypeScript does not 
cache <code>keyof</code> of an object type, and the types rebuilt the union of 
all keys of a namespace once per key while building the key union, and again in 
every <code>t()</code> call to look up the return type. Both now use a cached 
key union, and a literal key is looked up directly instead of being intersected 
with every key. With 5,000 keys in one namespace and one call per key, the 
check time went from 14.8s to 1.1s (TypeScript 6); with 1,000 keys from 0.75s 
to 0.27s. Keys, return types and errors are unchanged.</li>
   <li>perf(types): the selector API (<code>enableSelector: true</code> / 
<code>'strict'</code>) with <code>context</code> is no longer quadratic in the 
size of an object. To decide which keys a context keeps, the types scanned all 
keys of the object once for every key, also when TypeScript checks the selector 
with <code>context</code> widened to <code>string</code>. With 1,000 keys plus 
one context variant each, a namespace took 18.7s and failed with &quot;Type 
instantiation is excessively deep and possibly infinite&quot; (TS2589); 2,500 
and more ran out of memory. The context variants of an object are now collected 
once, in one pass over its keys: 1,000 keys check in 0.69s, 5,000 in 3.1s. Long 
keys (whole sentences with <code>keySeparator: false</code>) work as before. 
Selected values and errors are unchanged.</li>
   </ul>
   <h2>26.5.0</h2>
   <ul>
   <li>feat(types): <code>parseInterpolation: 'icu'</code> and 
<code>parseInterpolation: 'mf2'</code> type <code>t()</code> options from the 
message's ICU MessageFormat arguments (i18next-icu) or MessageFormat 2 
variables (i18next-mf2), so ICU and MF2 users no longer need 
<code>parseInterpolation: false</code> and lose argument checking. Missing, 
misspelled and wrongly typed arguments fail, and so does leaving out the 
options for a message with arguments (<code>t('greeting')</code>); that error 
names the missing arguments. Opt-in, default <code>true</code> is unchanged.
   <ul>
   <li>ICU: <code>{name}</code> takes <code>string | number</code>, <code>{n, 
number}</code>, <code>plural</code> and <code>selectordinal</code> take 
<code>number</code>, <code>{d, date}</code> and <code>{t, time}</code> take 
<code>Date</code>, <code>select</code> takes its case keys or any string (for 
<code>other</code>), and arguments nested in cases are required too. 
<code>#</code> and tags are not arguments, apostrophe quoting is read like 
intl-messageformat does.</li>
   <li>MF2: <code>{$name}</code> takes <code>string | number</code>, a variable 
annotated with <code>:number</code>, <code>:integer</code>, 
<code>:currency</code>, <code>:percent</code> or <code>:unit</code> (inline or 
through <code>.input</code> / <code>.local</code>) takes <code>number</code>, 
<code>:datetime</code>, <code>:date</code> and <code>:time</code> take 
<code>Date</code>, <code>:string</code> takes <code>string</code>, option and 
markup variables (<code>minimumFractionDigits=$digits</code>, <code>{#link 
href=$url}</code>) are required too, <code>.local</code> variables are not 
arguments, and <code>|quoted literals|</code> and <code>\{</code> escapes are 
skipped.</li>
   <li><code>interpolationFormatTypeMap</code> overrides a type by ICU format 
or MF2 function name, e.g. <code>date: Date | number</code> or a custom 
<code>uppercase: string</code>.</li>
   <li>Applies to <code>t()</code>, <code>getFixedT()</code>, 
<code>i18n.t</code>, key prefixes, namespaces, the selector API and 
react-i18next's <code>Trans</code> <code>values</code>. Messages need literal 
types, as the resources file from i18next-cli's <code>types</code> command has 
them.</li>
   <li>Type-check cost with 1,000 messages and one call each: 1.35s instead of 
0.86s with <code>false</code> (TypeScript 6), 0.5s instead of 0.26s with 
TypeScript 7. Messages that no call uses cost nothing.</li>
   </ul>
   </li>
   </ul>
   <!-- raw HTML omitted -->
   </blockquote>
   <p>... (truncated)</p>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/i18next/i18next/commit/00b6a3f22771e50be732826014d49a6ae2647ef5";><code>00b6a3f</code></a>
 26.5.10</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/9bdd4f6567573e529b7d8088b4e74ec9f3aeef82";><code>9bdd4f6</code></a>
 build</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/fb168f3b2f81f46e64ffbdbde6b97f682a933dde";><code>fb168f3</code></a>
 changelog for 26.5.10</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/2584a56acf2aa2a9f723f0c5a97f8a95499a60ca";><code>2584a56</code></a>
 fix: don't match a supported language that only starts with the same letters 
...</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/6c98e55c7e08b510d705e7d618073997126a9636";><code>6c98e55</code></a>
 build</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/3465ae460a304294475839900d3a813c24a9c6b3";><code>3465ae4</code></a>
 26.5.9</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/5888c1635b27bb6282ef082ef8f59204cbfd695d";><code>5888c16</code></a>
 changelog for 26.5.9</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/db036c88cb58ef27b651ab3562e332dbc9819f97";><code>db036c8</code></a>
 fix: don't walk into the prototype via <strong>proto</strong> in nested 
lookups</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/0815882cb34e3e2aab630544692c3be786daf5e0";><code>0815882</code></a>
 fix: don't interpolate inherited methods like constructor from nested values 
...</li>
   <li><a 
href="https://github.com/i18next/i18next/commit/45ae264ad20c0faf7d5e19dd09f100f545c312cf";><code>45ae264</code></a>
 26.5.8</li>
   <li>Additional commits viewable in <a 
href="https://github.com/i18next/i18next/compare/v26.4.4...v26.5.10";>compare 
view</a></li>
   </ul>
   </details>
   <br />
   
   Updates `i18next-browser-languagedetector` from 8.2.1 to 8.2.2
   <details>
   <summary>Changelog</summary>
   <p><em>Sourced from <a 
href="https://github.com/i18next/i18next-browser-languageDetector/blob/master/CHANGELOG.md";>i18next-browser-languagedetector's
 changelog</a>.</em></p>
   <blockquote>
   <h3>8.2.2</h3>
   <ul>
   <li>fix: the path and hash detectors keep digits in a language segment, so 
<code>/es-419/</code> and <code>#/es-419</code> are detected as 
<code>es-419</code> instead of <code>es-</code> (which i18next resolved to 
<code>es</code>). Segments that start with a digit (<code>/2024/</code>) still 
yield no language, and <code>lookupFromPathIndex</code> / 
<code>lookupFromHashIndex</code> point at the same segments as before. Thanks 
<a href="https://github.com/nk-batman21";><code>@​nk-batman21</code></a> <a 
href="https://redirect.github.com/i18next/i18next-browser-languageDetector/pull/327";>327</a></li>
   </ul>
   </blockquote>
   </details>
   <details>
   <summary>Commits</summary>
   <ul>
   <li><a 
href="https://github.com/i18next/i18next-browser-languageDetector/commit/6e4fa0123b9ebf60b1c2b109ee2f0079c2f6403b";><code>6e4fa01</code></a>
 8.2.2</li>
   <li><a 
href="https://github.com/i18next/i18next-browser-languageDetector/commit/e66a3afc957eb85293022ab05ad67d609ec8e797";><code>e66a3af</code></a>
 release</li>
   <li><a 
href="https://github.com/i18next/i18next-browser-languageDetector/commit/feedf66e8d036878249a38047141b1c186611b2d";><code>feedf66</code></a>
 fix: keep digits of region subtags in path and hash detection (<a 
href="https://redirect.github.com/i18next/i18next-browser-languageDetector/issues/327";>#327</a>)</li>
   <li><a 
href="https://github.com/i18next/i18next-browser-languageDetector/commit/a05f0c5e8c49ec22d88f80feff0291df523dc362";><code>a05f0c5</code></a>
 Bump brace-expansion from 1.1.18 to 1.1.21 (<a 
href="https://redirect.github.com/i18next/i18next-browser-languageDetector/issues/326";>#326</a>)</li>
   <li><a 
href="https://github.com/i18next/i18next-browser-languageDetector/commit/ca2366c6197ee05165c9b069fc7a1df59fa906df";><code>ca2366c</code></a>
 Bump js-yaml (<a 
href="https://redirect.github.com/i18next/i18next-browser-languageDetector/issues/325";>#325</a>)</li>
   <li><a 
href="https://github.com/i18next/i18next-browser-languageDetector/commit/b1edea5c58908bea7a67c90bb82f46b01386db32";><code>b1edea5</code></a>
 Bump browserslist from 4.28.2 to 4.28.9 (<a 
href="https://redirect.github.com/i18next/i18next-browser-languageDetector/issues/324";>#324</a>)</li>
   <li><a 
href="https://github.com/i18next/i18next-browser-languageDetector/commit/b4b823e1f4464871f95f9b2f6be514a0968b571e";><code>b4b823e</code></a>
 docs: &quot;For AI assistants&quot; paragraph in the README</li>
   <li><a 
href="https://github.com/i18next/i18next-browser-languageDetector/commit/8d55454ec754047c2acc6f301982e388c40a40c7";><code>8d55454</code></a>
 chore: keep dev-only and local files out of the npm package</li>
   <li><a h...
   
   _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