dependabot[bot] opened a new pull request, #827: URL: https://github.com/apache/fineract-backoffice-ui/pull/827
Bumps [@modelcontextprotocol/server](https://github.com/modelcontextprotocol/typescript-sdk) to 2.3.1 and updates ancestor dependency [@angular/cli](https://github.com/angular/angular-cli). These dependencies need to be updated together. Updates `@modelcontextprotocol/server` from 2.0.0 to 2.3.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/modelcontextprotocol/typescript-sdk/releases">@modelcontextprotocol/server's releases</a>.</em></p> <blockquote> <h2><code>@modelcontextprotocol/server-legacy</code><a href="https://github.com/2"><code>@2</code></a>.3.1</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/2952">#2952</a> <a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/5a1867390b91b8836f49af76c45427279f513325"><code>5a18673</code></a> Thanks <a href="https://github.com/apps/claude"><code>@claude</code></a>! - <code>requireBearerAuth</code> in <code>@modelcontextprotocol/server-legacy</code> takes the optional <code>expectedResource</code> that <code>@modelcontextprotocol/server</code> 2.3.0 and <code>@modelcontextprotocol/sdk</code> 1.32.0 added: the resource the token must be issued for (its audience), usually the server's URL. When it is set, a token is accepted only if the verifier reports that value in <code>AuthInfo.resource</code>; the two are compared as strings, ignoring a fragment and one trailing slash. A token reported for another value, or for none, is answered <code>401 invalid_token</code> with the usual <code>WWW-Authenticate</code> challenge. When it is not set, nothing changes. The package stays frozen otherwise; this option is added so that its <code>requireBearerAuth</code> matches the 1.x middleware it is a copy of.</p> </li> <li> <p>Updated dependencies []:</p> <ul> <li><code>@modelcontextprotocol/core</code><a href="https://github.com/2"><code>@2</code></a>.3.1</li> </ul> </li> </ul> <h2><code>@modelcontextprotocol/server</code><a href="https://github.com/2"><code>@2</code></a>.3.1</h2> <h3>Patch Changes</h3> <ul> <li>Updated dependencies []: <ul> <li><code>@modelcontextprotocol/core</code><a href="https://github.com/2"><code>@2</code></a>.3.1</li> </ul> </li> </ul> <h2><code>@modelcontextprotocol/server-legacy</code><a href="https://github.com/2"><code>@2</code></a>.3.0</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/2908">#2908</a> <a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/633dd3e12bff6869c932c4a526341622320912b1"><code>633dd3e</code></a> Thanks <a href="https://github.com/apps/claude"><code>@claude</code></a>! - The <code>license</code> field of the package manifests is now <code>Apache-2.0</code>; the <code>LICENSE</code> file shipped in each package carries the full terms, including the MIT text for earlier contributions. No code change.</p> </li> <li> <p>Updated dependencies [<a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/633dd3e12bff6869c932c4a526341622320912b1"><code>633dd3e</code></a>]:</p> <ul> <li><code>@modelcontextprotocol/core</code><a href="https://github.com/2"><code>@2</code></a>.3.0</li> </ul> </li> </ul> <h2><code>@modelcontextprotocol/server</code><a href="https://github.com/2"><code>@2</code></a>.3.0</h2> <h3>Minor Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/2929">#2929</a> <a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/40f8f4e229d963cd7fd2890bda2aeebe7005299a"><code>40f8f4e</code></a> Thanks <a href="https://github.com/apps/claude"><code>@claude</code></a>! - <code>requireBearerAuth</code> and <code>verifyBearerToken</code> take a new optional <code>expectedResource</code>, which makes them accept only tokens issued for this resource (the token's audience). Set it to the value your authorization server puts into tokens meant for this server, usually the server's URL. When it is set, a token is accepted only if the verifier reports that value in <code>AuthInfo.resource</code>; the two are compared as strings, ignoring a fragment and one trailing slash. A token reported for another value, or for none, is answered <code>401 invalid_token</code> with the usual <code>WWW-Authenticate</code> challenge. When it is not set, nothing cha nges. To use it, pass <code>expectedResource</code> and have <code>verifyAccessToken</code> fill <code>AuthInfo.resource</code>, for example from the <code>aud</code> claim. The option is declared on a new exported type, <code>VerifyBearerTokenOptions</code>, which extends <code>BearerAuthOptions</code>; <code>BearerAuthOptions</code> itself is unchanged. The Express <code>requireBearerAuth</code> passes the option through. With Express, <code>@modelcontextprotocol/express</code> has to be upgraded to this release as well: 2.0.1 does not pass the option on, so nothing is compared. Its options type does not have the option, so TypeScript reports an <code>expectedResource</code> written in a call to the 2.0.1 <code>requireBearerAuth</code> as an error.</p> </li> <li> <p><a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/2926">#2926</a> <a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/6d8dbc6cb590edf766fcb66b636ca6b654e99c37"><code>6d8dbc6</code></a> Thanks <a href="https://github.com/apps/claude"><code>@claude</code></a>! - <code>McpServer</code> now accepts a <code>maxToolInputElements</code> option that limits the number of elements in tool-call arguments: the largest combined number of array elements and object members a single <code>tools/call</code> <code>arguments</code> payload may contain. It is off by default, so behavior is unchanged unless you set it. When it is set and a call exceeds it, that call is answered with an <code>isError: true</code> tool result that names the limit, before the input schema runs, and the server keeps serving. Set it above the largest arguments your tools legitimately accept; <code>maxRequestBodySize</code> remains the primary limit on request size. The v alue must be a number of at least 1, or <code>Infinity</code> for no limit; any other value is rejected at construction. The options type is exported as <code>McpServerOptions</code>.</p> </li> <li> <p><a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/2918">#2918</a> <a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/84804c22e45a662675a198f853b7f00063838a8d"><code>84804c2</code></a> Thanks <a href="https://github.com/apps/claude"><code>@claude</code></a>! - A <code>Server</code> or <code>McpServer</code> now serves one connection at a time, and a Streamable HTTP server transport without sessions (<code>sessionIdGenerator: undefined</code>) serves one request. An app that uses one server object, or one stateless transport, for every HTTP request fails on the second request after this upgrade. Build the server and the transport per request instead.</p> <p>What keeps working without a change:</p> <ul> <li><code>createMcpHandler(buildServer)</code> and <code>serveStdio(buildServer)</code>, where <code>buildServer</code> returns a new server on every call.</li> <li>A handler that builds a new server and a new stateless transport for each request.</li> <li>One server and one transport per session (a transport with a <code>sessionIdGenerator</code>).</li> <li>Connecting a server again after <code>close()</code>.</li> <li><code>Client</code>.</li> </ul> <p>What fails now, how it shows, and what to change:</p> <ul> <li>One server object with a new stateless transport per request (<code>const server = new McpServer(...)</code> outside the handler, <code>await server.connect(transport)</code> inside it): the second HTTP request the process receives fails, and so does every later one. <code>connect()</code> rejects with an <code>SdkError</code> of code <code>ALREADY_CONNECTED</code>. If the handler closes the transport when the response ends, requests that arrive one after the other still work and a request that overlaps another one fails. Change: move <code>new McpServer(...)</code> and its registrations into the handler.</li> <li>One stateless transport for every request (a transport built once with <code>sessionIdGenerator: undefined</code>): the second HTTP request fails. <code>WebStandardStreamableHTTPServerTransport.handleRequest()</code> rejects with <code>Stateless transport cannot be reused across requests. Create a new transport per request.</code>, and <code>NodeStreamableHTTPServerTransport.handleRequest()</code> answers <code>500</code>. Change: build the server and the transport inside the handler and connect them there.</li> <li><code>createMcpHandler(() => server)</code> with a server built once: a request that arrives after the previous response has been read to its end still works. A request that arrives while another one is being served is answered <code>500</code> with the JSON-RPC error <code>-32603</code> (<code>Internal server error</code>); the reason is reported only through the <code>onerror</code> option. Change: pass a function that builds the server, as in <code>createMcpHandler(buildServer)</code>.</li> <li>One server object for every session: the <code>initialize</code> request of the second session fails with <code>ALREADY_CONNECTED</code>. Change: build a server per session.</li> </ul> <p>What the caller sees when <code>connect()</code> or <code>handleRequest()</code> rejects depends on the host. Express 5, Fastify and Hono answer <code>500</code>. A plain <code>node:http</code> listener without its own error handling gets an unhandled rejection, which ends the process.</p> <p>The README examples of <code>@modelcontextprotocol/express</code>, <code>@modelcontextprotocol/fastify</code>, <code>@modelcontextprotocol/hono</code> and <code>@modelcontextprotocol/node</code>, and the handler examples in the JSDoc of <code>WebStandardStreamableHTTPServerTransport</code> and <code>NodeStreamableHTTPServerTransport</code>, now build a server and a transport per request.</p> </li> <li> <p><a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/pull/2907">#2907</a> <a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/e55f9ac1b1cae413599b499cbaa45c0378edba78"><code>e55f9ac</code></a> Thanks <a href="https://github.com/apps/claude"><code>@claude</code></a>! - <code>allowedOrigins</code> and <code>validateOriginHeader</code> accept lowercase entries of the form <code><scheme>://*</code>, such as <code>moz-extension://*</code> or <code>chrome-extension://*</code>, which admit every origin of that scheme. This lets a server admit MCP clients that run as a browser extension when the extension ID cannot be listed, as on Firefox, where it differs on every install. <code>http://*</code> and <code>https://*</code> are not honoured, and the defaults are unchanged.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/fcef852f6cdafea07f36cf6fae69b37c8adf85be"><code>fcef852</code></a> Version Packages (<a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/2953">#2953</a>)</li> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/e8b7f05f5b9e4204510289dc0596531265e9ddcb"><code>e8b7f05</code></a> docs: one opening note in the server and client package READMEs (<a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/2955">#2955</a>)</li> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/5a1867390b91b8836f49af76c45427279f513325"><code>5a18673</code></a> feat(server-legacy): add expectedResource to requireBearerAuth (<a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/2952">#2952</a>)</li> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/3ab61c61f5ff1cd6b67eec6222247c66635495fd"><code>3ab61c6</code></a> docs: update the README banners (<a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/2940">#2940</a>)</li> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/8aabbdcef6e016978a3132045281dfbd51c69792"><code>8aabbdc</code></a> test(e2e): expect SdkHttpError after a second 401 from onUnauthorized (<a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/2936">#2936</a>)</li> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/33fecfb119cb637022fcb345c61c09227ed04fc4"><code>33fecfb</code></a> test(e2e): cover tools/call without arguments (<a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/2933">#2933</a>)</li> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/818f7828898f367bfd4436bf55ccdfa17c3757d6"><code>818f782</code></a> docs: state the principles in CLAUDE.md and shorten REVIEW.md (<a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/2938">#2938</a>)</li> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/a202a3621fcb97918e09fa45d0f9efd2dbdee19b"><code>a202a36</code></a> Version Packages (<a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/2896">#2896</a>)</li> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/2d731faef167b3df78d4be05f547a134f0e23bcf"><code>2d731fa</code></a> fix(client): refresh again when an SSE retry failed for a reason other than 4...</li> <li><a href="https://github.com/modelcontextprotocol/typescript-sdk/commit/b6e5c5574e107c33cb6ae33c2e869780f5684c3a"><code>b6e5c55</code></a> test(e2e): cover prompts/get without arguments for prompts with a schema (<a href="https://redirect.github.com/modelcontextprotocol/typescript-sdk/issues/2928">#2928</a>)</li> <li>Additional commits viewable in <a href="https://github.com/modelcontextprotocol/typescript-sdk/compare/@modelcontextprotocol/[email protected]...@modelcontextprotocol/[email protected]">compare view</a></li> </ul> </details> <br /> Updates `@angular/cli` from 22.2.0 to 22.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular-cli/releases">@angular/cli's releases</a>.</em></p> <blockquote> <h2>22.2.3</h2> <h3><code>@schematics/angular</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular-cli/commit/881865f364b33b36630aa6ab7a129f7ed665cfa7"><img src="https://img.shields.io/badge/881865f36-fix-green" alt="fix - 881865f36" /></a></td> <td>keep the workspace build version in the use-application-builder migration</td> </tr> </tbody> </table> <h3><code>@angular/cli</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular-cli/commit/3158e865ffdd828711d645dff16cc17fd26bb58e"><img src="https://img.shields.io/badge/3158e865f-fix-green" alt="fix - 3158e865f" /></a></td> <td>accept multi-digit array indices in ng config</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/bcff0e76adf73cfa32b02c5256490189675cb132"><img src="https://img.shields.io/badge/bcff0e76a-fix-green" alt="fix - bcff0e76a" /></a></td> <td>keep ng version working when the package manager is not installed</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/5570c91d2f38764cd841fcce146f1d13fef49b0c"><img src="https://img.shields.io/badge/5570c91d2-fix-green" alt="fix - 5570c91d2" /></a></td> <td>resolve package name in npm workspace members</td> </tr> </tbody> </table> <h3><code>@angular-devkit/schematics</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular-cli/commit/cf1f3b9d43177e15cf9a00973e6da3baeaf4b2dd"><img src="https://img.shields.io/badge/cf1f3b9d4-fix-green" alt="fix - cf1f3b9d4" /></a></td> <td>avoid stack overflow when chaining many rules</td> </tr> </tbody> </table> <h3><code>@angular/build</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular-cli/commit/1d477d6bc27159cb0c78288e047fcadfe6fc31d4"><img src="https://img.shields.io/badge/1d477d6bc-fix-green" alt="fix - 1d477d6bc" /></a></td> <td>add CSP nonce to stylesheet and modulepreload link elements</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/fbe208f8392ec0ce82d597e8b690f146370bdc81"><img src="https://img.shields.io/badge/fbe208f83-fix-green" alt="fix - fbe208f83" /></a></td> <td>always use AOT when extracting i18n messages</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/c1c4216a680891b80670660a621d6736c4aecaf0"><img src="https://img.shields.io/badge/c1c4216a6-fix-green" alt="fix - c1c4216a6" /></a></td> <td>coalesce external watcher directories to avoid macOS FSEvents limit</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/792990bc2eacdcc8ed4de6ef46e58ceeb5fe8741"><img src="https://img.shields.io/badge/792990bc2-fix-green" alt="fix - 792990bc2" /></a></td> <td>disable Vitest fsModuleCache in unit-test builder</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/82439399cbfb4c1d21d1c80d976021efa9e4a39a"><img src="https://img.shields.io/badge/82439399c-fix-green" alt="fix - 82439399c" /></a></td> <td>ensure Sass importers return global Promise instances</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/a818de415e933819e7a2e3e679cd0b2d2be734de"><img src="https://img.shields.io/badge/a818de415-fix-green" alt="fix - a818de415" /></a></td> <td>keep Vite server file watcher disabled in Vitest watch mode</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/91bad469ec5ce7b2dfd07e394b482d2cef411407"><img src="https://img.shields.io/badge/91bad469e-fix-green" alt="fix - 91bad469e" /></a></td> <td>sort discovered unit-test files for deterministic builds</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/e84db4af70ca9be490b462e6d8112524dc8eb6d4"><img src="https://img.shields.io/badge/e84db4af7-fix-green" alt="fix - e84db4af7" /></a></td> <td>use module.registerHooks() for in-memory ESM loader</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/a428021b77dbccf404f39712f1c88bed9b8e4272"><img src="https://img.shields.io/badge/a428021b7-perf-orange" alt="perf - a428021b7" /></a></td> <td>avoid invalidating Angular diagnostic cache on stylesheet change</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/b0ac394a063f084d885df67660224b6a25e2c614"><img src="https://img.shields.io/badge/b0ac394a0-perf-orange" alt="perf - b0ac394a0" /></a></td> <td>resolve asset patterns concurrently with bounded concurrency</td> </tr> </tbody> </table> <h3><code>@angular/ssr</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular-cli/commit/bd09b98fcaff4b76c7fd65999b51bfaa942d1858"><img src="https://img.shields.io/badge/bd09b98fc-fix-green" alt="fix - bd09b98fc" /></a></td> <td>preserve preload metadata for nested empty-path routes</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/a925468929c74c30a3e64b361a6dc5d6fdc1006a"><img src="https://img.shields.io/badge/a92546892-fix-green" alt="fix - a92546892" /></a></td> <td>preserve query parameters on relative route redirects</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/a2b86cc94d408ba4c3d422224b58e26b7a68f692"><img src="https://img.shields.io/badge/a2b86cc94-fix-green" alt="fix - a2b86cc94" /></a></td> <td>resolve relative redirects against the parent route</td> </tr> </tbody> </table> <h2>22.2.2</h2> <h3><code>@angular-devkit/build-angular</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular-cli/commit/cfe970c8bcfbc47e9fa1fa6b17e41cdf1d3b30bf"><img src="https://img.shields.io/badge/cfe970c8bc-fix-green" alt="fix - cfe970c8bc" /></a></td> <td>preserve Host header when proxying in ssr-dev-server</td> </tr> </tbody> </table> <h3><code>@angular/build</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular-cli/commit/405bfa370ac3c8f14808d58cfc707b7ff23348c4"><img src="https://img.shields.io/badge/405bfa370a-fix-green" alt="fix - 405bfa370a" /></a></td> <td>keep the order of glob entries in the proxy configuration</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/996e47f809a3172486df665bfce6d5c11e652154"><img src="https://img.shields.io/badge/996e47f809-fix-green" alt="fix - 996e47f809" /></a></td> <td>support a string <code>context</code> in array-form proxy configurations</td> </tr> </tbody> </table> <h2>22.2.1</h2> <h3><code>@angular-devkit/schematics-cli</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> </table> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular/angular-cli/blob/main/CHANGELOG.md">@angular/cli's changelog</a>.</em></p> <blockquote> <h1>22.2.3 (2026-10-15)</h1> <h3><code>@angular/cli</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular-cli/commit/3158e865ffdd828711d645dff16cc17fd26bb58e">3158e865f</a></td> <td>fix</td> <td>accept multi-digit array indices in ng config</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/bcff0e76adf73cfa32b02c5256490189675cb132">bcff0e76a</a></td> <td>fix</td> <td>keep ng version working when the package manager is not installed</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/5570c91d2f38764cd841fcce146f1d13fef49b0c">5570c91d2</a></td> <td>fix</td> <td>resolve package name in npm workspace members</td> </tr> </tbody> </table> <h3><code>@schematics/angular</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular-cli/commit/881865f364b33b36630aa6ab7a129f7ed665cfa7">881865f36</a></td> <td>fix</td> <td>keep the workspace build version in the use-application-builder migration</td> </tr> </tbody> </table> <h3><code>@angular-devkit/schematics</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular-cli/commit/cf1f3b9d43177e15cf9a00973e6da3baeaf4b2dd">cf1f3b9d4</a></td> <td>fix</td> <td>avoid stack overflow when chaining many rules</td> </tr> </tbody> </table> <h3><code>@angular/build</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular-cli/commit/1d477d6bc27159cb0c78288e047fcadfe6fc31d4">1d477d6bc</a></td> <td>fix</td> <td>add CSP nonce to stylesheet and modulepreload link elements</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/fbe208f8392ec0ce82d597e8b690f146370bdc81">fbe208f83</a></td> <td>fix</td> <td>always use AOT when extracting i18n messages</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/c1c4216a680891b80670660a621d6736c4aecaf0">c1c4216a6</a></td> <td>fix</td> <td>coalesce external watcher directories to avoid macOS FSEvents limit</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/792990bc2eacdcc8ed4de6ef46e58ceeb5fe8741">792990bc2</a></td> <td>fix</td> <td>disable Vitest fsModuleCache in unit-test builder</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/82439399cbfb4c1d21d1c80d976021efa9e4a39a">82439399c</a></td> <td>fix</td> <td>ensure Sass importers return global Promise instances</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/a818de415e933819e7a2e3e679cd0b2d2be734de">a818de415</a></td> <td>fix</td> <td>keep Vite server file watcher disabled in Vitest watch mode</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/91bad469ec5ce7b2dfd07e394b482d2cef411407">91bad469e</a></td> <td>fix</td> <td>sort discovered unit-test files for deterministic builds</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/e84db4af70ca9be490b462e6d8112524dc8eb6d4">e84db4af7</a></td> <td>fix</td> <td>use module.registerHooks() for in-memory ESM loader</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/a428021b77dbccf404f39712f1c88bed9b8e4272">a428021b7</a></td> <td>perf</td> <td>avoid invalidating Angular diagnostic cache on stylesheet change</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/b0ac394a063f084d885df67660224b6a25e2c614">b0ac394a0</a></td> <td>perf</td> <td>resolve asset patterns concurrently with bounded concurrency</td> </tr> </tbody> </table> <h3><code>@angular/ssr</code></h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular-cli/commit/bd09b98fcaff4b76c7fd65999b51bfaa942d1858">bd09b98fc</a></td> <td>fix</td> <td>preserve preload metadata for nested empty-path routes</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/a925468929c74c30a3e64b361a6dc5d6fdc1006a">a92546892</a></td> <td>fix</td> <td>preserve query parameters on relative route redirects</td> </tr> <tr> <td><a href="https://github.com/angular/angular-cli/commit/a2b86cc94d408ba4c3d422224b58e26b7a68f692">a2b86cc94</a></td> <td>fix</td> <td>resolve relative redirects against the parent route</td> </tr> </tbody> </table> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p> <h1>21.2.27 (2026-10-14)</h1> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/angular-cli/commit/afa3814ab9bf938006e2b144af8bd3112e38cc96"><code>afa3814</code></a> release: cut the v22.2.3 release</li> <li><a href="https://github.com/angular/angular-cli/commit/cc05ecf28b8c4b09a6604973e39458d6c673d3e8"><code>cc05ecf</code></a> build: update pnpm to v12.11.2</li> <li><a href="https://github.com/angular/angular-cli/commit/c1c4216a680891b80670660a621d6736c4aecaf0"><code>c1c4216</code></a> fix(<code>@angular/build</code>): coalesce external watcher directories to avoid macOS FSE...</li> <li><a href="https://github.com/angular/angular-cli/commit/116cb9324e55b4195f2e252403e0bc3bc87e1ce5"><code>116cb93</code></a> build: update cross-repo angular dependencies</li> <li><a href="https://github.com/angular/angular-cli/commit/e84db4af70ca9be490b462e6d8112524dc8eb6d4"><code>e84db4a</code></a> fix(<code>@angular/build</code>): use module.registerHooks() for in-memory ESM loader</li> <li><a href="https://github.com/angular/angular-cli/commit/cf1f3b9d43177e15cf9a00973e6da3baeaf4b2dd"><code>cf1f3b9</code></a> fix(<code>@angular-devkit/schematics</code>): avoid stack overflow when chaining many rules</li> <li><a href="https://github.com/angular/angular-cli/commit/91bad469ec5ce7b2dfd07e394b482d2cef411407"><code>91bad46</code></a> fix(<code>@angular/build</code>): sort discovered unit-test files for deterministic builds</li> <li><a href="https://github.com/angular/angular-cli/commit/bd09b98fcaff4b76c7fd65999b51bfaa942d1858"><code>bd09b98</code></a> fix(<code>@angular/ssr</code>): preserve preload metadata for nested empty-path routes</li> <li><a href="https://github.com/angular/angular-cli/commit/931377629d16d3a4d9a1c699d84cade3e1b34058"><code>9313776</code></a> build: lock file maintenance</li> <li><a href="https://github.com/angular/angular-cli/commit/c0b66596b5747f947c42f0c99ef9f61fe2c95227"><code>c0b6659</code></a> build: update dependency zod to v4.6.6</li> <li>Additional commits viewable in <a href="https://github.com/angular/angular-cli/compare/v22.2.0...v22.2.3">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/apache/fineract-backoffice-ui/network/alerts). </details> -- 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]
