Repository navigation
Conversation
…1003) Bumps [marked](https://github.com/markedjs/marked) from 18.1.0 to 18.1.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/markedjs/marked/releases">marked's releases</a>.</em></p> <blockquote> <h2>v18.1.1</h2> <h2><a href="https://github.com/markedjs/marked/compare/v18.1.0...v18.1.1">18.1.1</a> (2026-10-12)</h2> <h3>Bug Fixes</h3> <ul> <li><strong>cli:</strong> honor an explicitly empty string input (<a href="https://redirect.github.com/markedjs/marked/issues/4113">#4113</a>) (<a href="https://github.com/markedjs/marked/commit/ec3a4e511aa0d60b3e9ab8aa0c769407cdaf08d9">ec3a4e5</a>)</li> <li>end blockquote before a lazy line after a heading, hr or html block (<a href="https://redirect.github.com/markedjs/marked/issues/4115">#4115</a>) (<a href="https://github.com/markedjs/marked/commit/9e64a6a3fe6b826d113fc337c21ebe345455a842">9e64a6a</a>)</li> <li>keep a backslash in a code span from hiding emphasis (<a href="https://redirect.github.com/markedjs/marked/issues/4117">#4117</a>) (<a href="https://github.com/markedjs/marked/commit/6a57018fc906333d358981682fd693e4bb85940f">6a57018</a>)</li> <li>keep a decoded character reference from forming a new one (<a href="https://redirect.github.com/markedjs/marked/issues/4111">#4111</a>) (<a href="https://github.com/markedjs/marked/commit/6bbac0cdb72cc3038baefe768c03f788e46126a5">6bbac0c</a>), closes <a href="https://redirect.github.com/markedjs/marked/issues/38">#38</a> <a href="https://redirect.github.com/markedjs/marked/issues/112">#112</a></li> <li>let indented and type 3-5 html blocks interrupt a paragraph (<a href="https://redirect.github.com/markedjs/marked/issues/4124">#4124</a>) (<a href="https://github.com/markedjs/marked/commit/eaa1fffb30fa334cc11ab93f1e5aaa1d2b916e7c">eaa1fff</a>)</li> <li>make walkTokens linear by appending values in place (<a href="https://redirect.github.com/markedjs/marked/issues/4121">#4121</a>) (<a href="https://github.com/markedjs/marked/commit/627d9ae4e5ea403580782a8f6e21fbc8bf56f4c1">627d9ae</a>), closes <a href="https://redirect.github.com/markedjs/marked/issues/4120">#4120</a></li> <li>match pre, script, style and textarea as whole tag names (<a href="https://redirect.github.com/markedjs/marked/issues/4114">#4114</a>) (<a href="https://github.com/markedjs/marked/commit/0db74cb0194f3acb5a53b14a73c2cd087c3c9981">0db74cb</a>)</li> <li>preserve enclosing link state after parsing images (<a href="https://redirect.github.com/markedjs/marked/issues/4123">#4123</a>) (<a href="https://github.com/markedjs/marked/commit/cc07bb9cb62bfd41a724d0a426f194188d7b35c1">cc07bb9</a>)</li> <li>respect tab stops in list continuation indentation (<a href="https://redirect.github.com/markedjs/marked/issues/4119">#4119</a>) (<a href="https://github.com/markedjs/marked/commit/4bd252811fb24ca6b7e22f60c39b89efc2b265d2">4bd2528</a>)</li> </ul> <h3>Performance Improvements</h3> <ul> <li>avoid repeated raw string copies in nested lists (<a href="https://redirect.github.com/markedjs/marked/issues/4082">#4082</a>) (<a href="https://github.com/markedjs/marked/commit/7e8754d60b3c37be30aa17106ada623d1f0cf9db">7e8754d</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/markedjs/marked/commit/cdbdc0122ab83b2b97560944bf009a22cfb78b05"><code>cdbdc01</code></a> chore(release): 18.1.1 [skip ci]</li> <li><a href="https://github.com/markedjs/marked/commit/2134976c497fef671d47fc3e2a0d58ea44ac9a53"><code>2134976</code></a> docs: add AGENTS.md (<a href="https://redirect.github.com/markedjs/marked/issues/4125">#4125</a>)</li> <li><a href="https://github.com/markedjs/marked/commit/699a969fe30855bce777364e9692df2279e8a65b"><code>699a969</code></a> chore(deps-dev): bump handlebars from 4.7.9 to 4.7.10 (<a href="https://redirect.github.com/markedjs/marked/issues/4133">#4133</a>)</li> <li><a href="https://github.com/markedjs/marked/commit/6a57018fc906333d358981682fd693e4bb85940f"><code>6a57018</code></a> fix: keep a backslash in a code span from hiding emphasis (<a href="https://redirect.github.com/markedjs/marked/issues/4117">#4117</a>)</li> <li><a href="https://github.com/markedjs/marked/commit/eaa1fffb30fa334cc11ab93f1e5aaa1d2b916e7c"><code>eaa1fff</code></a> fix: let indented and type 3-5 html blocks interrupt a paragraph (<a href="https://redirect.github.com/markedjs/marked/issues/4124">#4124</a>)</li> <li><a href="https://github.com/markedjs/marked/commit/7e8754d60b3c37be30aa17106ada623d1f0cf9db"><code>7e8754d</code></a> perf: avoid repeated raw string copies in nested lists (<a href="https://redirect.github.com/markedjs/marked/issues/4082">#4082</a>)</li> <li><a href="https://github.com/markedjs/marked/commit/cc07bb9cb62bfd41a724d0a426f194188d7b35c1"><code>cc07bb9</code></a> fix: preserve enclosing link state after parsing images (<a href="https://redirect.github.com/markedjs/marked/issues/4123">#4123</a>)</li> <li><a href="https://github.com/markedjs/marked/commit/627d9ae4e5ea403580782a8f6e21fbc8bf56f4c1"><code>627d9ae</code></a> fix: make walkTokens linear by appending values in place (<a href="https://redirect.github.com/markedjs/marked/issues/4121">#4121</a>)</li> <li><a href="https://github.com/markedjs/marked/commit/4bd252811fb24ca6b7e22f60c39b89efc2b265d2"><code>4bd2528</code></a> fix: respect tab stops in list continuation indentation (<a href="https://redirect.github.com/markedjs/marked/issues/4119">#4119</a>)</li> <li><a href="https://github.com/markedjs/marked/commit/9e64a6a3fe6b826d113fc337c21ebe345455a842"><code>9e64a6a</code></a> fix: end blockquote before a lazy line after a heading, hr or html block (<a href="https://redirect.github.com/markedjs/marked/issues/4115">#4115</a>)</li> <li>Additional commits viewable in <a href="https://github.com/markedjs/marked/compare/v18.1.0...v18.1.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….22.0 (#998) Bumps [github.com/nicholas-fedor/shoutrrr](https://github.com/nicholas-fedor/shoutrrr) from 0.21.2 to 0.22.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/nicholas-fedor/shoutrrr/releases">github.com/nicholas-fedor/shoutrrr's releases</a>.</em></p> <blockquote> <h2>v0.22.0</h2> <h2>Upgrade Notes</h2> <ul> <li>Router results from <code>Send</code>, <code>SendContext</code>, <code>SendItems</code>, and <code>SendItemsContext</code> now line up with the configured URLs, and each failure is a <code>*types.TargetError</code> whose <code>Index</code> field gives the URL's position.</li> <li>Errors and logs no longer contain service URLs or credentials. Errors keep the scheme and host, and the underlying cause text is unchanged.</li> <li><code>shoutrrr.Send</code> now runs through a one-shot router, so each service's send budget applies (10 seconds by default) and the service is closed afterwards.</li> <li>Undeclared <code>title</code>, <code>message</code>, and <code>level</code> params are now accepted instead of failing the send, and params no longer change a service's stored config between sends.</li> <li>Matrix logs in on the first send instead of during initialization, so creating a sender to validate a URL no longer contacts the server.</li> <li>MQTT keeps its connection open between sends, disconnects after 60 seconds idle, and disconnects when the sender is closed. Call <code>Close</code> on long-lived senders when you are done with them.</li> <li>Default HTTP clients now honor the <code>HTTP_PROXY</code>, <code>HTTPS_PROXY</code>, and <code>NO_PROXY</code> environment variables, and the generic service's default client has a 10 second timeout.</li> <li>The CLI reads every flag from a <code>SHOUTRRR_<FLAG></code> environment variable. Positional arguments no longer override flags, and extra arguments are an error.</li> <li><code>CreateSender</code>, <code>NewSender</code>, <code>router.New</code>, the <code>SendWithContext</code> methods, bark's <code>SendItems</code>, and <code>jsonclient.NewClient</code> are deprecated. Run <code>go fix ./...</code> to migrate callers.</li> </ul> <h2>Features</h2> <ul> <li>feat: add context-aware sends and closing to the router and root API by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1464">nicholas-fedor/shoutrrr#1464</a></li> <li>feat: add context-aware sends to json client services by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1469">nicholas-fedor/shoutrrr#1469</a></li> <li>feat: add context-aware sends to the push services by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1510">nicholas-fedor/shoutrrr#1510</a></li> <li>feat: add context-aware sends to the chat webhook services by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1512">nicholas-fedor/shoutrrr#1512</a></li> <li>feat: add context-aware sends to the remaining services by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1516">nicholas-fedor/shoutrrr#1516</a></li> <li>chore: let go fix migrate the remaining deprecated constructors by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1527">nicholas-fedor/shoutrrr#1527</a></li> </ul> <h2>Fixes</h2> <ul> <li>fix(router): stop custom url panic and url leaks by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1422">nicholas-fedor/shoutrrr#1422</a></li> <li>fix(router): return send errors in url order by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1424">nicholas-fedor/shoutrrr#1424</a></li> <li>fix(util): keep lines intact when batching messages by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1426">nicholas-fedor/shoutrrr#1426</a></li> <li>fix(discord): count the title toward each batch's embed limit by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1428">nicholas-fedor/shoutrrr#1428</a></li> <li>fix(format): accept reserved params that a service does not declare by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1430">nicholas-fedor/shoutrrr#1430</a></li> <li>fix: redact service urls from errors by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1432">nicholas-fedor/shoutrrr#1432</a></li> <li>fix(services): redact credentials from service errors and logs by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1441">nicholas-fedor/shoutrrr#1441</a></li> <li>fix(services): keep http client injection safe and authenticated by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1443">nicholas-fedor/shoutrrr#1443</a></li> <li>fix(telegram): report failed requests instead of success by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1445">nicholas-fedor/shoutrrr#1445</a></li> <li>fix(matrix): log in on first send instead of during initialize by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1447">nicholas-fedor/shoutrrr#1447</a></li> <li>fix(mqtt): keep connections open between sends and close them when idle by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1451">nicholas-fedor/shoutrrr#1451</a></li> <li>fix(services): apply send params to a per-send config copy by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1455">nicholas-fedor/shoutrrr#1455</a></li> <li>fix(services): match the capability interfaces the router dispatches on by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1459">nicholas-fedor/shoutrrr#1459</a></li> <li>fix: honor proxy environment variables in default http clients by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1479">nicholas-fedor/shoutrrr#1479</a></li> <li>fix(cli): read every flag from the environment and stop prompts at end of input by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1481">nicholas-fedor/shoutrrr#1481</a></li> <li>fix(cli): close services after sending so MQTT disconnects cleanly by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1508">nicholas-fedor/shoutrrr#1508</a></li> <li>fix: restore the default client when a nil *http.Client is set by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1518">nicholas-fedor/shoutrrr#1518</a></li> <li>fix(join): send the icon without requiring a title by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1525">nicholas-fedor/shoutrrr#1525</a></li> </ul> <h2>Dependency Updates</h2> <ul> <li>chore(deps): update go toolchain directive to v1.27.2 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1453">nicholas-fedor/shoutrrr#1453</a></li> <li>fix(deps): update module github.com/onsi/ginkgo/v2 to v2.33.1 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1505">nicholas-fedor/shoutrrr#1505</a></li> <li>fix(deps): update module github.com/mattn/go-colorable to v0.1.16 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1414">nicholas-fedor/shoutrrr#1414</a></li> <li>chore(deps): update module github.com/stretchr/objx to v0.7.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1547">nicholas-fedor/shoutrrr#1547</a></li> <li>chore(deps): update module golang.org/x/crypto to v0.58.0 by <a href="https://github.com/renovate"><code>@renovate</code></a>[bot] in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1499">nicholas-fedor/shoutrrr#1499</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/nicholas-fedor/shoutrrr/blob/main/CHANGELOG.md">github.com/nicholas-fedor/shoutrrr's changelog</a>.</em></p> <blockquote> <h2>[0.22.0] - 2026-10-13</h2> <h3>Added</h3> <ul> <li>Add context-aware sends to the remaining services by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1516">#1516</a></li> <li>Add context-aware sends to the chat webhook services by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1512">#1512</a></li> <li>Add context-aware sends to the push services by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1510">#1510</a></li> <li>Add context-aware sends to json client services by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1469">#1469</a></li> <li>Add context-aware sends and closing to the router and root API by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1464">#1464</a></li> </ul> <h3>Fixed</h3> <ul> <li>Send the icon without requiring a title by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1525">#1525</a></li> <li>Restore the default client when a nil *http.Client is set by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1518">#1518</a></li> <li>Close services after sending so MQTT disconnects cleanly by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1508">#1508</a></li> <li>Read every flag from the environment and stop prompts at end of input by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1481">#1481</a></li> <li>Honor proxy environment variables in default http clients by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1479">#1479</a></li> <li>Match the capability interfaces the router dispatches on by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1459">#1459</a></li> <li>Apply send params to a per-send config copy by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1455">#1455</a></li> <li>Keep connections open between sends and close them when idle by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1451">#1451</a></li> <li>Log in on first send instead of during initialize by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1447">#1447</a></li> <li>Report failed requests instead of success by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1445">#1445</a></li> <li>Keep http client injection safe and authenticated by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1443">#1443</a></li> <li>Redact credentials from service errors and logs by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1441">#1441</a></li> <li>Redact service urls from errors by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1432">#1432</a></li> <li>Accept reserved params that a service does not declare by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1430">#1430</a></li> <li>Count the title toward each batch's embed limit by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1428">#1428</a></li> <li>Keep lines intact when batching messages by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1426">#1426</a></li> <li>Return send errors in url order by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1424">#1424</a></li> <li>Stop custom url panic and url leaks by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1422">#1422</a></li> </ul> <h3>Documentation</h3> <ul> <li>Fix drift in the readme, docker, service, and package docs by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1520">#1520</a></li> <li>Document SendContext for per-send params by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1487">#1487</a></li> </ul> <h3>Tests</h3> <ul> <li>Stop unit tests from sending dns queries by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1466">#1466</a></li> <li>Type generator input before starting generate by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1457">#1457</a></li> <li>Add cross-service contract suite by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1418">#1418</a></li> <li>Fix data races and run tests with the race detector by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1416">#1416</a></li> </ul> <h3>Continuous Integration</h3> <ul> <li>Skip commit lint on changelog-only pull requests by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1514">#1514</a></li> <li>Add timeouts, PR concurrency, and module and release config checks by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1501">#1501</a></li> <li>Keep the write token out of the docs build by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1489">#1489</a></li> <li>Fix bot merges and group entries by commit type by <a href="https://github.com/nicholas-fedor"><code>@nicholas-fedor</code></a> in <a href="https://redirect.github.com/nicholas-fedor/shoutrrr/pull/1468">#1468</a></li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/nicholas-fedor/shoutrrr/commit/017cbd3c39dd31bfe60171e17545cf8007fc9575"><code>017cbd3</code></a> docs(changelog): update changelog (<a href="https://redirect.github.com/nicholas-fedor/shoutrrr/issues/1548">#1548</a>)</li> <li><a href="https://github.com/nicholas-fedor/shoutrrr/commit/99a1929f3160d0224f6de0a71fb2946740334032"><code>99a1929</code></a> chore(deps): update module github.com/stretchr/objx to v0.7.0 (<a href="https://redirect.github.com/nicholas-fedor/shoutrrr/issues/1547">#1547</a>)</li> <li><a href="https://github.com/nicholas-fedor/shoutrrr/commit/1bad90546aeba481d65058054d1b9261e1ab69ff"><code>1bad905</code></a> chore(deps): update goreleaser/goreleaser-action action to v7.3.0 (<a href="https://redirect.github.com/nicholas-fedor/shoutrrr/issues/1546">#1546</a>)</li> <li><a href="https://github.com/nicholas-fedor/shoutrrr/commit/088541d0d1cb272d7db142a7c9487fa0462f89a1"><code>088541d</code></a> docs(changelog): update changelog (<a href="https://redirect.github.com/nicholas-fedor/shoutrrr/issues/1543">#1543</a>)</li> <li><a href="https://github.com/nicholas-fedor/shoutrrr/commit/8e798b4079102afe667ef25fabfad89cfc609d58"><code>8e798b4</code></a> chore(deps): update dependency verspec to v0.2.0 (<a href="https://redirect.github.com/nicholas-fedor/shoutrrr/issues/1545">#1545</a>)</li> <li><a href="https://github.com/nicholas-fedor/shoutrrr/commit/ae7c3e2773901f32a1bc41a062feaddbfeb8571f"><code>ae7c3e2</code></a> chore(deps): update nicholas-fedor/govulncheck-action action to v1.1.1 (<a href="https://redirect.github.com/nicholas-fedor/shoutrrr/issues/1544">#1544</a>)</li> <li><a href="https://github.com/nicholas-fedor/shoutrrr/commit/00986b0e2c82fd81b4e00e963b83001e3647cc42"><code>00986b0</code></a> docs(changelog): update changelog (<a href="https://redirect.github.com/nicholas-fedor/shoutrrr/issues/1542">#1542</a>)</li> <li><a href="https://github.com/nicholas-fedor/shoutrrr/commit/f0f79fb585422a65064c2e95b3767d71ba20625b"><code>f0f79fb</code></a> chore(deps): update github.com/google/pprof digest to 2af12c3 (<a href="https://redirect.github.com/nicholas-fedor/shoutrrr/issues/1541">#1541</a>)</li> <li><a href="https://github.com/nicholas-fedor/shoutrrr/commit/18598fcc7110b69746b3928bf066bc6465fcab54"><code>18598fc</code></a> chore(deps): update binwiederhier/ntfy:latest docker digest to 8563a39 (<a href="https://redirect.github.com/nicholas-fedor/shoutrrr/issues/1540">#1540</a>)</li> <li><a href="https://github.com/nicholas-fedor/shoutrrr/commit/e8be763aa5611f68d1aa1a864a567b82dad5679f"><code>e8be763</code></a> docs(changelog): update changelog (<a href="https://redirect.github.com/nicholas-fedor/shoutrrr/issues/1539">#1539</a>)</li> <li>Additional commits viewable in <a href="https://github.com/nicholas-fedor/shoutrrr/compare/v0.21.2...v0.22.0">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…es (#999) Bumps the angular group in /webapp/frontend with 19 updates: | Package | From | To | | --- | --- | --- | | [@angular-eslint/schematics](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/schematics) | `22.5.0` | `22.6.0` | | [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) | `22.2.2` | `22.2.3` | | [@angular/cdk](https://github.com/angular/components) | `22.2.2` | `22.2.3` | | [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) | `22.2.2` | `22.2.3` | | [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) | `22.2.2` | `22.2.3` | | [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) | `22.2.2` | `22.2.3` | | [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) | `22.2.2` | `22.2.3` | | [@angular/material](https://github.com/angular/components) | `22.2.2` | `22.2.3` | | [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) | `22.2.2` | `22.2.3` | | [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) | `22.2.2` | `22.2.3` | | [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) | `22.2.2` | `22.2.3` | | [@angular-eslint/builder](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/builder) | `22.5.0` | `22.6.0` | | [@angular-eslint/eslint-plugin](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin) | `22.5.0` | `22.6.0` | | [@angular-eslint/eslint-plugin-template](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/eslint-plugin-template) | `22.5.0` | `22.6.0` | | [@angular-eslint/template-parser](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/template-parser) | `22.5.0` | `22.6.0` | | [@angular/build](https://github.com/angular/angular-cli) | `22.2.2` | `22.2.3` | | [@angular/cli](https://github.com/angular/angular-cli) | `22.2.2` | `22.2.3` | | [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) | `22.2.2` | `22.2.3` | | [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) | `22.2.2` | `22.2.3` | Updates `@angular-eslint/schematics` from 22.5.0 to 22.6.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular-eslint/angular-eslint/releases">@angular-eslint/schematics's releases</a>.</em></p> <blockquote> <h2>v22.6.0</h2> <h2>22.6.0 (2026-10-11)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [prefer-standalone] add allowExplicitStandalone option (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3237">#3237</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li>update dependency <code>@angular/compiler</code> to v22.1.5 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3205">#3205</a>)</li> <li>update dependency <code>@angular/compiler</code> to v22.1.6 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3217">#3217</a>)</li> <li>update dependency eslint to v10.10.0 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3209">#3209</a>)</li> <li>update typescript-eslint packages to v8.70.0 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3212">#3212</a>)</li> <li>update dependency <code>@angular/compiler</code> to v22.1.7 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3230">#3230</a>)</li> <li>update dependency eslint to v10.11.0 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3233">#3233</a>)</li> <li>update typescript-eslint packages to v8.70.1 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3244">#3244</a>)</li> <li>update dependency <code>@angular/compiler</code> to v22.2.0 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3247">#3247</a>)</li> <li>update typescript-eslint packages to v8.71.0 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3258">#3258</a>)</li> <li>update dependency <code>@angular/compiler</code> to v22.2.1 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3264">#3264</a>)</li> <li>update dependency eslint to v10.12.0 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3274">#3274</a>)</li> <li><strong>eslint-plugin:</strong> [reactive-context-must-read-signal] ignore inherited primitive names (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3201">#3201</a>)</li> <li><strong>eslint-plugin:</strong> ensure <code>prefix</code> rule option schema is fully typed (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3246">#3246</a>)</li> <li><strong>eslint-plugin:</strong> [prefer-signal-model] rewrite the emit calls of the removed output (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3200">#3200</a>)</li> <li><strong>eslint-plugin-template:</strong> [conditional-complexity] check control flow (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3260">#3260</a>)</li> <li><strong>template-parser:</strong> traverse <a href="https://github.com/defer"><code>@defer</code></a> hydrate triggers (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3231">#3231</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Andrew Kazakov <a href="https://github.com/andreww2012"><code>@andreww2012</code></a></li> <li>Daniel Pinto <a href="https://github.com/Cayan"><code>@Cayan</code></a></li> <li>Guillaume DROUARD</li> <li>Michael Doyle <a href="https://github.com/MichaelDoyle"><code>@MichaelDoyle</code></a></li> <li>Максим Иванов</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular-eslint/angular-eslint/blob/main/packages/schematics/CHANGELOG.md">@angular-eslint/schematics's changelog</a>.</em></p> <blockquote> <h2>22.6.0 (2026-10-11)</h2> <p>This was a version bump only for schematics to align it with other projects, there were no code changes.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular-eslint/angular-eslint/commit/7722ad2ab4da81568f19a7a29a3951fa443bf22c"><code>7722ad2</code></a> chore(release): publish 22.6.0</li> <li><a href="https://github.com/angular-eslint/angular-eslint/commit/6c37ac78baed857b9b3a554121860be612e7488a"><code>6c37ac7</code></a> chore: update nx monorepo to v23.2.0 (<a href="https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/schematics/issues/3202">#3202</a>)</li> <li>See full diff in <a href="https://github.com/angular-eslint/angular-eslint/commits/v22.6.0/packages/schematics">compare view</a></li> </ul> </details> <br /> Updates `@angular/animations` from 22.2.2 to 22.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases">@angular/animations's releases</a>.</em></p> <blockquote> <h2>22.2.3</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fafec77b5d4e6dfc89aad72db9c132d3dfe46ba6"><img src="https://img.shields.io/badge/fafec77b5d-fix-green" alt="fix - fafec77b5d" /></a></td> <td>harden param encoding against prototype pollution</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/54f3de517c2e4cda264eca5f2d143a1f6967c7a9"><img src="https://img.shields.io/badge/54f3de517c-fix-green" alt="fix - 54f3de517c" /></a></td> <td>check <code>@boundary</code> blocks in the control flow content projection diagnostic</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/5e50658fd23983dd27ef89a67cea26910af6fd79"><img src="https://img.shields.io/badge/5e50658fd2-fix-green" alt="fix - 5e50658fd2" /></a></td> <td>compare the operand in ReadTemporaryExpr.isEquivalent</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b6f9cc5d7013f8f136b38cccfe486264200f04f5"><img src="https://img.shields.io/badge/b6f9cc5d70-fix-green" alt="fix - b6f9cc5d70" /></a></td> <td>do not scope comments placed inside of a selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/35a02f8097724f4b6e83e1c9c008da8f1fc7f127"><img src="https://img.shields.io/badge/35a02f8097-fix-green" alt="fix - 35a02f8097" /></a></td> <td>harden JIT against prototype pollution</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/08075e8aa03800bc1b8ae793fb3d52761cdd28b6"><img src="https://img.shields.io/badge/08075e8aa0-fix-green" alt="fix - 08075e8aa0" /></a></td> <td>support dots in class binding names</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/c7a72c2bf2213d881496e70933fc61bdaaa00621"><img src="https://img.shields.io/badge/c7a72c2bf2-fix-green" alt="fix - c7a72c2bf2" /></a></td> <td>support popover property bindings</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fa21d083fe92e67a2a070059b850b9a32a08cef9"><img src="https://img.shields.io/badge/fa21d083fe-fix-green" alt="fix - fa21d083fe" /></a></td> <td>inline tcb when depending on local directive</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/b5208f9fc3a77a9631c2f38c30c38c777a642839"><img src="https://img.shields.io/badge/b5208f9fc3-fix-green" alt="fix - b5208f9fc3" /></a></td> <td>avoid deleting idle bucket created during another bucket's drain</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/90af679c3b585515651b138667b8eaf3df652968"><img src="https://img.shields.io/badge/90af679c3b-fix-green" alt="fix - 90af679c3b" /></a></td> <td>do not swallow compilation errors in computeStandaloneComponentScope</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/eca5fa466508ef68014cbebb0cafd63947f9eda7"><img src="https://img.shields.io/badge/eca5fa4665-fix-green" alt="fix - eca5fa4665" /></a></td> <td>don't crash initEventReplay when two apps share an APP_ID</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e59a2303dfb4f3242552d382bbeebf6a38446856"><img src="https://img.shields.io/badge/e59a2303df-fix-green" alt="fix - e59a2303df" /></a></td> <td>error when destroying embedded view with animations</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a23941fe7547634c9f1160541b3a2265e284f624"><img src="https://img.shields.io/badge/a23941fe75-fix-green" alt="fix - a23941fe75" /></a></td> <td>keep activeConsumer and currentInjector constant using Store helper</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/913ae7421f609c6ad375219045e9ab3f3b0eba73"><img src="https://img.shields.io/badge/913ae7421f-fix-green" alt="fix - 913ae7421f" /></a></td> <td>skip nested tick from onMicrotaskEmpty while a tick is running</td> </tr> </tbody> </table> <h3>forms</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/cc515b8b2331df643e7ff80915efc402bc97d3bb"><img src="https://img.shields.io/badge/cc515b8b23-perf-orange" alt="perf - cc515b8b23" /></a></td> <td>use addEventListener to avoid unconditional CD scheduling on blur</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/d04f214d04678f0dbb0b769a53d1f15ece09c4a2"><img src="https://img.shields.io/badge/d04f214d04-fix-green" alt="fix - d04f214d04" /></a></td> <td>normalize .d.ts paths in output migration field IDs</td> </tr> </tbody> </table> <h3>router</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/f9a4f751f0ad0f3f22d49430475d6d57fa29fd3f"><img src="https://img.shields.io/badge/f9a4f751f0-fix-green" alt="fix - f9a4f751f0" /></a></td> <td>check abort signal state on subscribe</td> </tr> </tbody> </table> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/angular/angular/commits/v22.2.3/packages/animations">compare view</a></li> </ul> </details> <br /> Updates `@angular/cdk` from 22.2.2 to 22.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/components/releases">@angular/cdk's releases</a>.</em></p> <blockquote> <h2>22.2.3</h2> <h3>material</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/e0c2d4df72a673d6bcab027aa4db78f2f7ec9af1"><img src="https://img.shields.io/badge/e0c2d4df7-fix-green" alt="fix - e0c2d4df7" /></a></td> <td><strong>chips:</strong> implement touch-target pattern/styles on chip component (<a href="https://redirect.github.com/angular/components/issues/33614">#33614</a>)</td> </tr> </tbody> </table> <h3>cdk</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/a307978dc42c034ed8a13a13fce93f6884c69487"><img src="https://img.shields.io/badge/a307978dc-fix-green" alt="fix - a307978dc" /></a></td> <td><strong>a11y:</strong> treat inert elements as non-focusable (<a href="https://redirect.github.com/angular/components/issues/33846">#33846</a>)</td> </tr> </tbody> </table> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular/components/blob/main/CHANGELOG.md">@angular/cdk's changelog</a>.</em></p> <blockquote> <h1>22.2.3 "rhenium-rotor" (2026-10-14)</h1> <h3>cdk</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/a307978dc42c034ed8a13a13fce93f6884c69487">a307978dc</a></td> <td>fix</td> <td><strong>a11y:</strong> treat inert elements as non-focusable (<a href="https://redirect.github.com/angular/components/pull/33846">#33846</a>)</td> </tr> </tbody> </table> <h3>material</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/e0c2d4df72a673d6bcab027aa4db78f2f7ec9af1">e0c2d4df7</a></td> <td>fix</td> <td><strong>chips:</strong> implement touch-target pattern/styles on chip component (<a href="https://redirect.github.com/angular/components/pull/33614">#33614</a>)</td> </tr> </tbody> </table> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p> <h1>22.3.0-next.1 "calcium-crown" (2026-10-07)</h1> <h3>cdk</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/cc3829f624b523d05397cf2d66c5e3d054070d0c">cc3829f62</a></td> <td>fix</td> <td><strong>drag-drop:</strong> remove old prefixes for fullscreen elements</td> </tr> <tr> <td><a href="https://github.com/angular/components/commit/84a2366bb1b0912dcdb6f767c9507a5ee1cc916f">84a2366bb</a></td> <td>fix</td> <td><strong>drag-drop:</strong> use consistent touch coordinates for bounded dragging (<a href="https://redirect.github.com/angular/components/pull/33928">#33928</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/components/commit/f6c2a193ec4ad454beeafc74469103fecfc96a12">f6c2a193e</a></td> <td>fix</td> <td><strong>overlay:</strong> remove old prefixes for fullscreen elements</td> </tr> </tbody> </table> <h3>material</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/cffa9cfea89ec1f1ec32295a5d1670172db4b653">cffa9cfea</a></td> <td>fix</td> <td><strong>icon:</strong> do not copy event attributes (<a href="https://redirect.github.com/angular/components/pull/33929">#33929</a>)</td> </tr> </tbody> </table> <h3>google-maps</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/52a1ef36c68c763656aeb070bfa9b7fa24905894">52a1ef36c</a></td> <td>fix</td> <td>use console.error instead of hard error (<a href="https://redirect.github.com/angular/components/pull/33917">#33917</a>)</td> </tr> </tbody> </table> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/components/commit/7c47fa5aa85eebeb10d0d28c6c60cc3bf92fd5e4"><code>7c47fa5</code></a> release: cut the v22.2.3 release</li> <li><a href="https://github.com/angular/components/commit/a307978dc42c034ed8a13a13fce93f6884c69487"><code>a307978</code></a> fix(cdk/a11y): treat inert elements as non-focusable (<a href="https://redirect.github.com/angular/components/issues/33846">#33846</a>)</li> <li><a href="https://github.com/angular/components/commit/01b48b1c9a6785ade74f1d5009afc8ef1f1829f6"><code>01b48b1</code></a> build: ban new usages of fakeAsync (<a href="https://redirect.github.com/angular/components/issues/33946">#33946</a>)</li> <li><a href="https://github.com/angular/components/commit/e0c2d4df72a673d6bcab027aa4db78f2f7ec9af1"><code>e0c2d4d</code></a> fix(material/chips): implement touch-target pattern/styles on chip component ...</li> <li>See full diff in <a href="https://github.com/angular/components/compare/v22.2.2...v22.2.3">compare view</a></li> </ul> </details> <br /> Updates `@angular/common` from 22.2.2 to 22.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases">@angular/common's releases</a>.</em></p> <blockquote> <h2>22.2.3</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fafec77b5d4e6dfc89aad72db9c132d3dfe46ba6"><img src="https://img.shields.io/badge/fafec77b5d-fix-green" alt="fix - fafec77b5d" /></a></td> <td>harden param encoding against prototype pollution</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/54f3de517c2e4cda264eca5f2d143a1f6967c7a9"><img src="https://img.shields.io/badge/54f3de517c-fix-green" alt="fix - 54f3de517c" /></a></td> <td>check <code>@boundary</code> blocks in the control flow content projection diagnostic</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/5e50658fd23983dd27ef89a67cea26910af6fd79"><img src="https://img.shields.io/badge/5e50658fd2-fix-green" alt="fix - 5e50658fd2" /></a></td> <td>compare the operand in ReadTemporaryExpr.isEquivalent</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b6f9cc5d7013f8f136b38cccfe486264200f04f5"><img src="https://img.shields.io/badge/b6f9cc5d70-fix-green" alt="fix - b6f9cc5d70" /></a></td> <td>do not scope comments placed inside of a selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/35a02f8097724f4b6e83e1c9c008da8f1fc7f127"><img src="https://img.shields.io/badge/35a02f8097-fix-green" alt="fix - 35a02f8097" /></a></td> <td>harden JIT against prototype pollution</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/08075e8aa03800bc1b8ae793fb3d52761cdd28b6"><img src="https://img.shields.io/badge/08075e8aa0-fix-green" alt="fix - 08075e8aa0" /></a></td> <td>support dots in class binding names</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/c7a72c2bf2213d881496e70933fc61bdaaa00621"><img src="https://img.shields.io/badge/c7a72c2bf2-fix-green" alt="fix - c7a72c2bf2" /></a></td> <td>support popover property bindings</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fa21d083fe92e67a2a070059b850b9a32a08cef9"><img src="https://img.shields.io/badge/fa21d083fe-fix-green" alt="fix - fa21d083fe" /></a></td> <td>inline tcb when depending on local directive</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/b5208f9fc3a77a9631c2f38c30c38c777a642839"><img src="https://img.shields.io/badge/b5208f9fc3-fix-green" alt="fix - b5208f9fc3" /></a></td> <td>avoid deleting idle bucket created during another bucket's drain</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/90af679c3b585515651b138667b8eaf3df652968"><img src="https://img.shields.io/badge/90af679c3b-fix-green" alt="fix - 90af679c3b" /></a></td> <td>do not swallow compilation errors in computeStandaloneComponentScope</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/eca5fa466508ef68014cbebb0cafd63947f9eda7"><img src="https://img.shields.io/badge/eca5fa4665-fix-green" alt="fix - eca5fa4665" /></a></td> <td>don't crash initEventReplay when two apps share an APP_ID</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e59a2303dfb4f3242552d382bbeebf6a38446856"><img src="https://img.shields.io/badge/e59a2303df-fix-green" alt="fix - e59a2303df" /></a></td> <td>error when destroying embedded view with animations</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a23941fe7547634c9f1160541b3a2265e284f624"><img src="https://img.shields.io/badge/a23941fe75-fix-green" alt="fix - a23941fe75" /></a></td> <td>keep activeConsumer and currentInjector constant using Store helper</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/913ae7421f609c6ad375219045e9ab3f3b0eba73"><img src="https://img.shields.io/badge/913ae7421f-fix-green" alt="fix - 913ae7421f" /></a></td> <td>skip nested tick from onMicrotaskEmpty while a tick is running</td> </tr> </tbody> </table> <h3>forms</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/cc515b8b2331df643e7ff80915efc402bc97d3bb"><img src="https://img.shields.io/badge/cc515b8b23-perf-orange" alt="perf - cc515b8b23" /></a></td> <td>use addEventListener to avoid unconditional CD scheduling on blur</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/d04f214d04678f0dbb0b769a53d1f15ece09c4a2"><img src="https://img.shields.io/badge/d04f214d04-fix-green" alt="fix - d04f214d04" /></a></td> <td>normalize .d.ts paths in output migration field IDs</td> </tr> </tbody> </table> <h3>router</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/f9a4f751f0ad0f3f22d49430475d6d57fa29fd3f"><img src="https://img.shields.io/badge/f9a4f751f0-fix-green" alt="fix - f9a4f751f0" /></a></td> <td>check abort signal state on subscribe</td> </tr> </tbody> </table> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/angular/commit/dcb29a9fb03e3b4cd10226571f1bc5043614520a"><code>dcb29a9</code></a> docs: fix <a href="https://github.com/param"><code>@param</code></a> names that don't match their parameters</li> <li><a href="https://github.com/angular/angular/commit/fafec77b5d4e6dfc89aad72db9c132d3dfe46ba6"><code>fafec77</code></a> fix(common): harden param encoding against prototype pollution</li> <li>See full diff in <a href="https://github.com/angular/angular/commits/v22.2.3/packages/common">compare view</a></li> </ul> </details> <br /> Updates `@angular/compiler` from 22.2.2 to 22.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases">@angular/compiler's releases</a>.</em></p> <blockquote> <h2>22.2.3</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fafec77b5d4e6dfc89aad72db9c132d3dfe46ba6"><img src="https://img.shields.io/badge/fafec77b5d-fix-green" alt="fix - fafec77b5d" /></a></td> <td>harden param encoding against prototype pollution</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/54f3de517c2e4cda264eca5f2d143a1f6967c7a9"><img src="https://img.shields.io/badge/54f3de517c-fix-green" alt="fix - 54f3de517c" /></a></td> <td>check <code>@boundary</code> blocks in the control flow content projection diagnostic</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/5e50658fd23983dd27ef89a67cea26910af6fd79"><img src="https://img.shields.io/badge/5e50658fd2-fix-green" alt="fix - 5e50658fd2" /></a></td> <td>compare the operand in ReadTemporaryExpr.isEquivalent</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b6f9cc5d7013f8f136b38cccfe486264200f04f5"><img src="https://img.shields.io/badge/b6f9cc5d70-fix-green" alt="fix - b6f9cc5d70" /></a></td> <td>do not scope comments placed inside of a selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/35a02f8097724f4b6e83e1c9c008da8f1fc7f127"><img src="https://img.shields.io/badge/35a02f8097-fix-green" alt="fix - 35a02f8097" /></a></td> <td>harden JIT against prototype pollution</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/08075e8aa03800bc1b8ae793fb3d52761cdd28b6"><img src="https://img.shields.io/badge/08075e8aa0-fix-green" alt="fix - 08075e8aa0" /></a></td> <td>support dots in class binding names</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/c7a72c2bf2213d881496e70933fc61bdaaa00621"><img src="https://img.shields.io/badge/c7a72c2bf2-fix-green" alt="fix - c7a72c2bf2" /></a></td> <td>support popover property bindings</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fa21d083fe92e67a2a070059b850b9a32a08cef9"><img src="https://img.shields.io/badge/fa21d083fe-fix-green" alt="fix - fa21d083fe" /></a></td> <td>inline tcb when depending on local directive</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/b5208f9fc3a77a9631c2f38c30c38c777a642839"><img src="https://img.shields.io/badge/b5208f9fc3-fix-green" alt="fix - b5208f9fc3" /></a></td> <td>avoid deleting idle bucket created during another bucket's drain</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/90af679c3b585515651b138667b8eaf3df652968"><img src="https://img.shields.io/badge/90af679c3b-fix-green" alt="fix - 90af679c3b" /></a></td> <td>do not swallow compilation errors in computeStandaloneComponentScope</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/eca5fa466508ef68014cbebb0cafd63947f9eda7"><img src="https://img.shields.io/badge/eca5fa4665-fix-green" alt="fix - eca5fa4665" /></a></td> <td>don't crash initEventReplay when two apps share an APP_ID</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e59a2303dfb4f3242552d382bbeebf6a38446856"><img src="https://img.shields.io/badge/e59a2303df-fix-green" alt="fix - e59a2303df" /></a></td> <td>error when destroying embedded view with animations</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a23941fe7547634c9f1160541b3a2265e284f624"><img src="https://img.shields.io/badge/a23941fe75-fix-green" alt="fix - a23941fe75" /></a></td> <td>keep activeConsumer and currentInjector constant using Store helper</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/913ae7421f609c6ad375219045e9ab3f3b0eba73"><img src="https://img.shields.io/badge/913ae7421f-fix-green" alt="fix - 913ae7421f" /></a></td> <td>skip nested tick from onMicrotaskEmpty while a tick is running</td> </tr> </tbody> </table> <h3>forms</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/cc515b8b2331df643e7ff80915efc402bc97d3bb"><img src="https://img.shields.io/badge/cc515b8b23-perf-orange" alt="perf - cc515b8b23" /></a></td> <td>use addEventListener to avoid unconditional CD scheduling on blur</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/d04f214d04678f0dbb0b769a53d1f15ece09c4a2"><img src="https://img.shields.io/badge/d04f214d04-fix-green" alt="fix - d04f214d04" /></a></td> <td>normalize .d.ts paths in output migration field IDs</td> </tr> </tbody> </table> <h3>router</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/f9a4f751f0ad0f3f22d49430475d6d57fa29fd3f"><img src="https://img.shields.io/badge/f9a4f751f0-fix-green" alt="fix - f9a4f751f0" /></a></td> <td>check abort signal state on subscribe</td> </tr> </tbody> </table> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/angular/commit/54f3de517c2e4cda264eca5f2d143a1f6967c7a9"><code>54f3de5</code></a> fix(compiler): check <code>@boundary</code> blocks in the control flow content projectio...</li> <li><a href="https://github.com/angular/angular/commit/5e50658fd23983dd27ef89a67cea26910af6fd79"><code>5e50658</code></a> fix(compiler): compare the operand in ReadTemporaryExpr.isEquivalent</li> <li><a href="https://github.com/angular/angular/commit/35a02f8097724f4b6e83e1c9c008da8f1fc7f127"><code>35a02f8</code></a> fix(compiler): harden JIT against prototype pollution</li> <li><a href="https://github.com/angular/angular/commit/b6f9cc5d7013f8f136b38cccfe486264200f04f5"><code>b6f9cc5</code></a> fix(compiler): do not scope comments placed inside of a selector</li> <li><a href="https://github.com/angular/angular/commit/08075e8aa03800bc1b8ae793fb3d52761cdd28b6"><code>08075e8</code></a> fix(compiler): support dots in class binding names</li> <li><a href="https://github.com/angular/angular/commit/c7a72c2bf2213d881496e70933fc61bdaaa00621"><code>c7a72c2</code></a> fix(compiler): support popover property bindings</li> <li>See full diff in <a href="https://github.com/angular/angular/commits/v22.2.3/packages/compiler">compare view</a></li> </ul> </details> <br /> Updates `@angular/core` from 22.2.2 to 22.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases">@angular/core's releases</a>.</em></p> <blockquote> <h2>22.2.3</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fafec77b5d4e6dfc89aad72db9c132d3dfe46ba6"><img src="https://img.shields.io/badge/fafec77b5d-fix-green" alt="fix - fafec77b5d" /></a></td> <td>harden param encoding against prototype pollution</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/54f3de517c2e4cda264eca5f2d143a1f6967c7a9"><img src="https://img.shields.io/badge/54f3de517c-fix-green" alt="fix - 54f3de517c" /></a></td> <td>check <code>@boundary</code> blocks in the control flow content projection diagnostic</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/5e50658fd23983dd27ef89a67cea26910af6fd79"><img src="https://img.shields.io/badge/5e50658fd2-fix-green" alt="fix - 5e50658fd2" /></a></td> <td>compare the operand in ReadTemporaryExpr.isEquivalent</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b6f9cc5d7013f8f136b38cccfe486264200f04f5"><img src="https://img.shields.io/badge/b6f9cc5d70-fix-green" alt="fix - b6f9cc5d70" /></a></td> <td>do not scope comments placed inside of a selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/35a02f8097724f4b6e83e1c9c008da8f1fc7f127"><img src="https://img.shields.io/badge/35a02f8097-fix-green" alt="fix - 35a02f8097" /></a></td> <td>harden JIT against prototype pollution</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/08075e8aa03800bc1b8ae793fb3d52761cdd28b6"><img src="https://img.shields.io/badge/08075e8aa0-fix-green" alt="fix - 08075e8aa0" /></a></td> <td>support dots in class binding names</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/c7a72c2bf2213d881496e70933fc61bdaaa00621"><img src="https://img.shields.io/badge/c7a72c2bf2-fix-green" alt="fix - c7a72c2bf2" /></a></td> <td>support popover property bindings</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fa21d083fe92e67a2a070059b850b9a32a08cef9"><img src="https://img.shields.io/badge/fa21d083fe-fix-green" alt="fix - fa21d083fe" /></a></td> <td>inline tcb when depending on local directive</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/b5208f9fc3a77a9631c2f38c30c38c777a642839"><img src="https://img.shields.io/badge/b5208f9fc3-fix-green" alt="fix - b5208f9fc3" /></a></td> <td>avoid deleting idle bucket created during another bucket's drain</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/90af679c3b585515651b138667b8eaf3df652968"><img src="https://img.shields.io/badge/90af679c3b-fix-green" alt="fix - 90af679c3b" /></a></td> <td>do not swallow compilation errors in computeStandaloneComponentScope</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/eca5fa466508ef68014cbebb0cafd63947f9eda7"><img src="https://img.shields.io/badge/eca5fa4665-fix-green" alt="fix - eca5fa4665" /></a></td> <td>don't crash initEventReplay when two apps share an APP_ID</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e59a2303dfb4f3242552d382bbeebf6a38446856"><img src="https://img.shields.io/badge/e59a2303df-fix-green" alt="fix - e59a2303df" /></a></td> <td>error when destroying embedded view with animations</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a23941fe7547634c9f1160541b3a2265e284f624"><img src="https://img.shields.io/badge/a23941fe75-fix-green" alt="fix - a23941fe75" /></a></td> <td>keep activeConsumer and currentInjector constant using Store helper</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/913ae7421f609c6ad375219045e9ab3f3b0eba73"><img src="https://img.shields.io/badge/913ae7421f-fix-green" alt="fix - 913ae7421f" /></a></td> <td>skip nested tick from onMicrotaskEmpty while a tick is running</td> </tr> </tbody> </table> <h3>forms</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/cc515b8b2331df643e7ff80915efc402bc97d3bb"><img src="https://img.shields.io/badge/cc515b8b23-perf-orange" alt="perf - cc515b8b23" /></a></td> <td>use addEventListener to avoid unconditional CD scheduling on blur</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/d04f214d04678f0dbb0b769a53d1f15ece09c4a2"><img src="https://img.shields.io/badge/d04f214d04-fix-green" alt="fix - d04f214d04" /></a></td> <td>normalize .d.ts paths in output migration field IDs</td> </tr> </tbody> </table> <h3>router</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/f9a4f751f0ad0f3f22d49430475d6d57fa29fd3f"><img src="https://img.shields.io/badge/f9a4f751f0-fix-green" alt="fix - f9a4f751f0" /></a></td> <td>check abort signal state on subscribe</td> </tr> </tbody> </table> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/angular/commit/90af679c3b585515651b138667b8eaf3df652968"><code>90af679</code></a> fix(core): do not swallow compilation errors in computeStandaloneComponentScope</li> <li><a href="https://github.com/angular/angular/commit/eca5fa466508ef68014cbebb0cafd63947f9eda7"><code>eca5fa4</code></a> fix(core): don't crash initEventReplay when two apps share an APP_ID</li> <li><a href="https://github.com/angular/angular/commit/cc515b8b2331df643e7ff80915efc402bc97d3bb"><code>cc515b8</code></a> perf(forms): use addEventListener to avoid unconditional CD scheduling on blur</li> <li><a href="https://github.com/angular/angular/commit/dcb29a9fb03e3b4cd10226571f1bc5043614520a"><code>dcb29a9</code></a> docs: fix <a href="https://github.com/param"><code>@param</code></a> names that don't match their parameters</li> <li><a href="https://github.com/angular/angular/commit/d04f214d04678f0dbb0b769a53d1f15ece09c4a2"><code>d04f214</code></a> fix(migrations): normalize .d.ts paths in output migration field IDs</li> <li><a href="https://github.com/angular/angular/commit/51ce6e53807da3887a5765d38facdcc2b6183248"><code>51ce6e5</code></a> docs: use consistent headers in best-practices.md</li> <li><a href="https://github.com/angular/angular/commit/e59a2303dfb4f3242552d382bbeebf6a38446856"><code>e59a230</code></a> fix(core): error when destroying embedded view with animations</li> <li><a href="https://github.com/angular/angular/commit/08075e8aa03800bc1b8ae793fb3d52761cdd28b6"><code>08075e8</code></a> fix(compiler): support dots in class binding names</li> <li><a href="https://github.com/angular/angular/commit/913ae7421f609c6ad375219045e9ab3f3b0eba73"><code>913ae74</code></a> fix(core): skip nested tick from onMicrotaskEmpty while a tick is running</li> <li><a href="https://github.com/angular/angular/commit/b5208f9fc3a77a9631c2f38c30c38c777a642839"><code>b5208f9</code></a> fix(core): avoid deleting idle bucket created during another bucket's drain</li> <li>Additional commits viewable in <a href="https://github.com/angular/angular/commits/v22.2.3/packages/core">compare view</a></li> </ul> </details> <br /> Updates `@angular/forms` from 22.2.2 to 22.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases">@angular/forms's releases</a>.</em></p> <blockquote> <h2>22.2.3</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fafec77b5d4e6dfc89aad72db9c132d3dfe46ba6"><img src="https://img.shields.io/badge/fafec77b5d-fix-green" alt="fix - fafec77b5d" /></a></td> <td>harden param encoding against prototype pollution</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/54f3de517c2e4cda264eca5f2d143a1f6967c7a9"><img src="https://img.shields.io/badge/54f3de517c-fix-green" alt="fix - 54f3de517c" /></a></td> <td>check <code>@boundary</code> blocks in the control flow content projection diagnostic</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/5e50658fd23983dd27ef89a67cea26910af6fd79"><img src="https://img.shields.io/badge/5e50658fd2-fix-green" alt="fix - 5e50658fd2" /></a></td> <td>compare the operand in ReadTemporaryExpr.isEquivalent</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b6f9cc5d7013f8f136b38cccfe486264200f04f5"><img src="https://img.shields.io/badge/b6f9cc5d70-fix-green" alt="fix - b6f9cc5d70" /></a></td> <td>do not scope comments placed inside of a selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/35a02f8097724f4b6e83e1c9c008da8f1fc7f127"><img src="https://img.shields.io/badge/35a02f8097-fix-green" alt="fix - 35a02f8097" /></a></td> <td>harden JIT against prototype pollution</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/08075e8aa03800bc1b8ae793fb3d52761cdd28b6"><img src="https://img.shields.io/badge/08075e8aa0-fix-green" alt="fix - 08075e8aa0" /></a></td> <td>support dots in class binding names</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/c7a72c2bf2213d881496e70933fc61bdaaa00621"><img src="https://img.shields.io/badge/c7a72c2bf2-fix-green" alt="fix - c7a72c2bf2" /></a></td> <td>support popover property bindings</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fa21d083fe92e67a2a070059b850b9a32a08cef9"><img src="https://img.shields.io/badge/fa21d083fe-fix-green" alt="fix - fa21d083fe" /></a></td> <td>inline tcb when depending on local directive</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/b5208f9fc3a77a9631c2f38c30c38c777a642839"><img src="https://img.shields.io/badge/b5208f9fc3-fix-green" alt="fix - b5208f9fc3" /></a></td> <td>avoid deleting idle bucket created during another bucket's drain</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/90af679c3b585515651b138667b8eaf3df652968"><img src="https://img.shields.io/badge/90af679c3b-fix-green" alt="fix - 90af679c3b" /></a></td> <td>do not swallow compilation errors in computeStandaloneComponentScope</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/eca5fa466508ef68014cbebb0cafd63947f9eda7"><img src="https://img.shields.io/badge/eca5fa4665-fix-green" alt="fix - eca5fa4665" /></a></td> <td>don't crash initEventReplay when two apps share an APP_ID</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e59a2303dfb4f3242552d382bbeebf6a38446856"><img src="https://img.shields.io/badge/e59a2303df-fix-green" alt="fix - e59a2303df" /></a></td> <td>error when destroying embedded view with animations</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a23941fe7547634c9f1160541b3a2265e284f624"><img src="https://img.shields.io/badge/a23941fe75-fix-green" alt="fix - a23941fe75" /></a></td> <td>keep activeConsumer and currentInjector constant using Store helper</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/913ae7421f609c6ad375219045e9ab3f3b0eba73"><img src="https://img.shields.io/badge/913ae7421f-fix-green" alt="fix - 913ae7421f" /></a></td> <td>skip nested tick from onMicrotaskEmpty while a tick is running</td> </tr> </tbody> </table> <h3>forms</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/cc515b8b2331df643e7ff80915efc402bc97d3bb"><img src="https://img.shields.io/badge/cc515b8b23-perf-orange" alt="perf - cc515b8b23" /></a></td> <td>use addEventListener to avoid unconditional CD scheduling on blur</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/d04f214d04678f0dbb0b769a53d1f15ece09c4a2"><img src="https://img.shields.io/badge/d04f214d04-fix-green" alt="fix - d04f214d04" /></a></td> <td>normalize .d.ts paths in output migration field IDs</td> </tr> </tbody> </table> <h3>router</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/f9a4f751f0ad0f3f22d49430475d6d57fa29fd3f"><img src="https://img.shields.io/badge/f9a4f751f0-fix-green" alt="fix - f9a4f751f0" /></a></td> <td>check abort signal state on subscribe</td> </tr> </tbody> </table> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/angular/commit/cc515b8b2331df643e7ff80915efc402bc97d3bb"><code>cc515b8</code></a> perf(forms): use addEventListener to avoid unconditional CD scheduling on blur</li> <li><a href="https://github.com/angular/angular/commit/dcb29a9fb03e3b4cd10226571f1bc5043614520a"><code>dcb29a9</code></a> docs: fix <a href="https://github.com/param"><code>@param</code></a> names that don't match their parameters</li> <li><a href="https://github.com/angular/angular/commit/276248ff3d93caa3d170edda90a0b9ee706ad7ad"><code>276248f</code></a> docs(forms): document that minDate and maxDate expect UTC dates</li> <li><a href="https://github.com/angular/angular/commit/26279ed4f1cbacf947c743bebac80398eeef5989"><code>26279ed</code></a> test(forms): cover the deprecated disabled signatures</li> <li><a href="https://github.com/angular/angular/commit/206f541d59446c088c455a56ae129f999d0b1610"><code>206f541</code></a> docs(forms): use the <code>when</code> option in disabled examples</li> <li>See full diff in <a href="https://github.com/angular/angular/commits/v22.2.3/packages/forms">compare view</a></li> </ul> </details> <br /> Updates `@angular/material` from 22.2.2 to 22.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/components/releases">@angular/material's releases</a>.</em></p> <blockquote> <h2>22.2.3</h2> <h3>material</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/e0c2d4df72a673d6bcab027aa4db78f2f7ec9af1"><img src="https://img.shields.io/badge/e0c2d4df7-fix-green" alt="fix - e0c2d4df7" /></a></td> <td><strong>chips:</strong> implement touch-target pattern/styles on chip component (<a href="https://redirect.github.com/angular/components/issues/33614">#33614</a>)</td> </tr> </tbody> </table> <h3>cdk</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/a307978dc42c034ed8a13a13fce93f6884c69487"><img src="https://img.shields.io/badge/a307978dc-fix-green" alt="fix - a307978dc" /></a></td> <td><strong>a11y:</strong> treat inert elements as non-focusable (<a href="https://redirect.github.com/angular/components/issues/33846">#33846</a>)</td> </tr> </tbody> </table> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular/components/blob/main/CHANGELOG.md">@angular/material's changelog</a>.</em></p> <blockquote> <h1>22.2.3 "rhenium-rotor" (2026-10-14)</h1> <h3>cdk</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/a307978dc42c034ed8a13a13fce93f6884c69487">a307978dc</a></td> <td>fix</td> <td><strong>a11y:</strong> treat inert elements as non-focusable (<a href="https://redirect.github.com/angular/components/pull/33846">#33846</a>)</td> </tr> </tbody> </table> <h3>material</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/e0c2d4df72a673d6bcab027aa4db78f2f7ec9af1">e0c2d4df7</a></td> <td>fix</td> <td><strong>chips:</strong> implement touch-target pattern/styles on chip component (<a href="https://redirect.github.com/angular/components/pull/33614">#33614</a>)</td> </tr> </tbody> </table> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p> <h1>22.3.0-next.1 "calcium-crown" (2026-10-07)</h1> <h3>cdk</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/cc3829f624b523d05397cf2d66c5e3d054070d0c">cc3829f62</a></td> <td>fix</td> <td><strong>drag-drop:</strong> remove old prefixes for fullscreen elements</td> </tr> <tr> <td><a href="https://github.com/angular/components/commit/84a2366bb1b0912dcdb6f767c9507a5ee1cc916f">84a2366bb</a></td> <td>fix</td> <td><strong>drag-drop:</strong> use consistent touch coordinates for bounded dragging (<a href="https://redirect.github.com/angular/components/pull/33928">#33928</a>)</td> </tr> <tr> <td><a href="https://github.com/angular/components/commit/f6c2a193ec4ad454beeafc74469103fecfc96a12">f6c2a193e</a></td> <td>fix</td> <td><strong>overlay:</strong> remove old prefixes for fullscreen elements</td> </tr> </tbody> </table> <h3>material</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/cffa9cfea89ec1f1ec32295a5d1670172db4b653">cffa9cfea</a></td> <td>fix</td> <td><strong>icon:</strong> do not copy event attributes (<a href="https://redirect.github.com/angular/components/pull/33929">#33929</a>)</td> </tr> </tbody> </table> <h3>google-maps</h3> <table> <thead> <tr> <th>Commit</th> <th>Type</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/components/commit/52a1ef36c68c763656aeb070bfa9b7fa24905894">52a1ef36c</a></td> <td>fix</td> <td>use console.error instead of hard error (<a href="https://redirect.github.com/angular/components/pull/33917">#33917</a>)</td> </tr> </tbody> </table> <!-- raw HTML omitted --> <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular/components/commit/7c47fa5aa85eebeb10d0d28c6c60cc3bf92fd5e4"><code>7c47fa5</code></a> release: cut the v22.2.3 release</li> <li><a href="https://github.com/angular/components/commit/a307978dc42c034ed8a13a13fce93f6884c69487"><code>a307978</code></a> fix(cdk/a11y): treat inert elements as non-focusable (<a href="https://redirect.github.com/angular/components/issues/33846">#33846</a>)</li> <li><a href="https://github.com/angular/components/commit/01b48b1c9a6785ade74f1d5009afc8ef1f1829f6"><code>01b48b1</code></a> build: ban new usages of fakeAsync (<a href="https://redirect.github.com/angular/components/issues/33946">#33946</a>)</li> <li><a href="https://github.com/angular/components/commit/e0c2d4df72a673d6bcab027aa4db78f2f7ec9af1"><code>e0c2d4d</code></a> fix(material/chips): implement touch-target pattern/styles on chip component ...</li> <li>See full diff in <a href="https://github.com/angular/components/compare/v22.2.2...v22.2.3">compare view</a></li> </ul> </details> <br /> Updates `@angular/platform-browser` from 22.2.2 to 22.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases">@angular/platform-browser's releases</a>.</em></p> <blockquote> <h2>22.2.3</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fafec77b5d4e6dfc89aad72db9c132d3dfe46ba6"><img src="https://img.shields.io/badge/fafec77b5d-fix-green" alt="fix - fafec77b5d" /></a></td> <td>harden param encoding against prototype pollution</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/54f3de517c2e4cda264eca5f2d143a1f6967c7a9"><img src="https://img.shields.io/badge/54f3de517c-fix-green" alt="fix - 54f3de517c" /></a></td> <td>check <code>@boundary</code> blocks in the control flow content projection diagnostic</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/5e50658fd23983dd27ef89a67cea26910af6fd79"><img src="https://img.shields.io/badge/5e50658fd2-fix-green" alt="fix - 5e50658fd2" /></a></td> <td>compare the operand in ReadTemporaryExpr.isEquivalent</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b6f9cc5d7013f8f136b38cccfe486264200f04f5"><img src="https://img.shields.io/badge/b6f9cc5d70-fix-green" alt="fix - b6f9cc5d70" /></a></td> <td>do not scope comments placed inside of a selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/35a02f8097724f4b6e83e1c9c008da8f1fc7f127"><img src="https://img.shields.io/badge/35a02f8097-fix-green" alt="fix - 35a02f8097" /></a></td> <td>harden JIT against prototype pollution</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/08075e8aa03800bc1b8ae793fb3d52761cdd28b6"><img src="https://img.shields.io/badge/08075e8aa0-fix-green" alt="fix - 08075e8aa0" /></a></td> <td>support dots in class binding names</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/c7a72c2bf2213d881496e70933fc61bdaaa00621"><img src="https://img.shields.io/badge/c7a72c2bf2-fix-green" alt="fix - c7a72c2bf2" /></a></td> <td>support popover property bindings</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fa21d083fe92e67a2a070059b850b9a32a08cef9"><img src="https://img.shields.io/badge/fa21d083fe-fix-green" alt="fix - fa21d083fe" /></a></td> <td>inline tcb when depending on local directive</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/b5208f9fc3a77a9631c2f38c30c38c777a642839"><img src="https://img.shields.io/badge/b5208f9fc3-fix-green" alt="fix - b5208f9fc3" /></a></td> <td>avoid deleting idle bucket created during another bucket's drain</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/90af679c3b585515651b138667b8eaf3df652968"><img src="https://img.shields.io/badge/90af679c3b-fix-green" alt="fix - 90af679c3b" /></a></td> <td>do not swallow compilation errors in computeStandaloneComponentScope</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/eca5fa466508ef68014cbebb0cafd63947f9eda7"><img src="https://img.shields.io/badge/eca5fa4665-fix-green" alt="fix - eca5fa4665" /></a></td> <td>don't crash initEventReplay when two apps share an APP_ID</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e59a2303dfb4f3242552d382bbeebf6a38446856"><img src="https://img.shields.io/badge/e59a2303df-fix-green" alt="fix - e59a2303df" /></a></td> <td>error when destroying embedded view with animations</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a23941fe7547634c9f1160541b3a2265e284f624"><img src="https://img.shields.io/badge/a23941fe75-fix-green" alt="fix - a23941fe75" /></a></td> <td>keep activeConsumer and currentInjector constant using Store helper</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/913ae7421f609c6ad375219045e9ab3f3b0eba73"><img src="https://img.shields.io/badge/913ae7421f-fix-green" alt="fix - 913ae7421f" /></a></td> <td>skip nested tick from onMicrotaskEmpty while a tick is running</td> </tr> </tbody> </table> <h3>forms</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/cc515b8b2331df643e7ff80915efc402bc97d3bb"><img src="https://img.shields.io/badge/cc515b8b23-perf-orange" alt="perf - cc515b8b23" /></a></td> <td>use addEventListener to avoid unconditional CD scheduling on blur</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/d04f214d04678f0dbb0b769a53d1f15ece09c4a2"><img src="https://img.shields.io/badge/d04f214d04-fix-green" alt="fix - d04f214d04" /></a></td> <td>normalize .d.ts paths in output migration field IDs</td> </tr> </tbody> </table> <h3>router</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/f9a4f751f0ad0f3f22d49430475d6d57fa29fd3f"><img src="https://img.shields.io/badge/f9a4f751f0-fix-green" alt="fix - f9a4f751f0" /></a></td> <td>check abort signal state on subscribe</td> </tr> </tbody> </table> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/angular/angular/commits/v22.2.3/packages/platform-browser">compare view</a></li> </ul> </details> <br /> Updates `@angular/platform-browser-dynamic` from 22.2.2 to 22.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases">@angular/platform-browser-dynamic's releases</a>.</em></p> <blockquote> <h2>22.2.3</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fafec77b5d4e6dfc89aad72db9c132d3dfe46ba6"><img src="https://img.shields.io/badge/fafec77b5d-fix-green" alt="fix - fafec77b5d" /></a></td> <td>harden param encoding against prototype pollution</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/54f3de517c2e4cda264eca5f2d143a1f6967c7a9"><img src="https://img.shields.io/badge/54f3de517c-fix-green" alt="fix - 54f3de517c" /></a></td> <td>check <code>@boundary</code> blocks in the control flow content projection diagnostic</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/5e50658fd23983dd27ef89a67cea26910af6fd79"><img src="https://img.shields.io/badge/5e50658fd2-fix-green" alt="fix - 5e50658fd2" /></a></td> <td>compare the operand in ReadTemporaryExpr.isEquivalent</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b6f9cc5d7013f8f136b38cccfe486264200f04f5"><img src="https://img.shields.io/badge/b6f9cc5d70-fix-green" alt="fix - b6f9cc5d70" /></a></td> <td>do not scope comments placed inside of a selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/35a02f8097724f4b6e83e1c9c008da8f1fc7f127"><img src="https://img.shields.io/badge/35a02f8097-fix-green" alt="fix - 35a02f8097" /></a></td> <td>harden JIT against prototype pollution</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/08075e8aa03800bc1b8ae793fb3d52761cdd28b6"><img src="https://img.shields.io/badge/08075e8aa0-fix-green" alt="fix - 08075e8aa0" /></a></td> <td>support dots in class binding names</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/c7a72c2bf2213d881496e70933fc61bdaaa00621"><img src="https://img.shields.io/badge/c7a72c2bf2-fix-green" alt="fix - c7a72c2bf2" /></a></td> <td>support popover property bindings</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fa21d083fe92e67a2a070059b850b9a32a08cef9"><img src="https://img.shields.io/badge/fa21d083fe-fix-green" alt="fix - fa21d083fe" /></a></td> <td>inline tcb when depending on local directive</td> </tr> </tbody> </table> <h3>core</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/b5208f9fc3a77a9631c2f38c30c38c777a642839"><img src="https://img.shields.io/badge/b5208f9fc3-fix-green" alt="fix - b5208f9fc3" /></a></td> <td>avoid deleting idle bucket created during another bucket's drain</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/90af679c3b585515651b138667b8eaf3df652968"><img src="https://img.shields.io/badge/90af679c3b-fix-green" alt="fix - 90af679c3b" /></a></td> <td>do not swallow compilation errors in computeStandaloneComponentScope</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/eca5fa466508ef68014cbebb0cafd63947f9eda7"><img src="https://img.shields.io/badge/eca5fa4665-fix-green" alt="fix - eca5fa4665" /></a></td> <td>don't crash initEventReplay when two apps share an APP_ID</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/e59a2303dfb4f3242552d382bbeebf6a38446856"><img src="https://img.shields.io/badge/e59a2303df-fix-green" alt="fix - e59a2303df" /></a></td> <td>error when destroying embedded view with animations</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/a23941fe7547634c9f1160541b3a2265e284f624"><img src="https://img.shields.io/badge/a23941fe75-fix-green" alt="fix - a23941fe75" /></a></td> <td>keep activeConsumer and currentInjector constant using Store helper</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/913ae7421f609c6ad375219045e9ab3f3b0eba73"><img src="https://img.shields.io/badge/913ae7421f-fix-green" alt="fix - 913ae7421f" /></a></td> <td>skip nested tick from onMicrotaskEmpty while a tick is running</td> </tr> </tbody> </table> <h3>forms</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/cc515b8b2331df643e7ff80915efc402bc97d3bb"><img src="https://img.shields.io/badge/cc515b8b23-perf-orange" alt="perf - cc515b8b23" /></a></td> <td>use addEventListener to avoid unconditional CD scheduling on blur</td> </tr> </tbody> </table> <h3>migrations</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/d04f214d04678f0dbb0b769a53d1f15ece09c4a2"><img src="https://img.shields.io/badge/d04f214d04-fix-green" alt="fix - d04f214d04" /></a></td> <td>normalize .d.ts paths in output migration field IDs</td> </tr> </tbody> </table> <h3>router</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/f9a4f751f0ad0f3f22d49430475d6d57fa29fd3f"><img src="https://img.shields.io/badge/f9a4f751f0-fix-green" alt="fix - f9a4f751f0" /></a></td> <td>check abort signal state on subscribe</td> </tr> </tbody> </table> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/angular/angular/commits/v22.2.3/packages/platform-browser-dynamic">compare view</a></li> </ul> </details> <br /> Updates `@angular/router` from 22.2.2 to 22.2.3 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular/angular/releases">@angular/router's releases</a>.</em></p> <blockquote> <h2>22.2.3</h2> <h3>common</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/fafec77b5d4e6dfc89aad72db9c132d3dfe46ba6"><img src="https://img.shields.io/badge/fafec77b5d-fix-green" alt="fix - fafec77b5d" /></a></td> <td>harden param encoding against prototype pollution</td> </tr> </tbody> </table> <h3>compiler</h3> <table> <thead> <tr> <th>Commit</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://github.com/angular/angular/commit/54f3de517c2e4cda264eca5f2d143a1f6967c7a9"><img src="https://img.shields.io/badge/54f3de517c-fix-green" alt="fix - 54f3de517c" /></a></td> <td>check <code>@boundary</code> blocks in the control flow content projection diagnostic</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/5e50658fd23983dd27ef89a67cea26910af6fd79"><img src="https://img.shields.io/badge/5e50658fd2-fix-green" alt="fix - 5e50658fd2" /></a></td> <td>compare the operand in ReadTemporaryExpr.isEquivalent</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/b6f9cc5d7013f8f136b38cccfe486264200f04f5"><img src="https://img.shields.io/badge/b6f9cc5d70-fix-green" alt="fix - b6f9cc5d70" /></a></td> <td>do not scope comments placed inside of a selector</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/35a02f8097724f4b6e83e1c9c008da8f1fc7f127"><img src="https://img.shields.io/badge/35a02f8097-fix-green" alt="fix - 35a02f8097" /></a></td> <td>harden JIT against prototype pollution</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/08075e8aa03800bc1b8ae793fb3d52761cdd28b6"><img src="https://img.shields.io/badge/08075e8aa0-fix-green" alt="fix - 08075e8aa0" /></a></td> <td>support dots in class binding names</td> </tr> <tr> <td><a href="https://github.com/angular/angular/commit/c7a72c2bf2213d881496e70933fc61bdaaa00621"><img src="https://img.shields.io/badge/c7a72c2bf2-fix-green" alt="fix - c7a72c2bf2" /></a></td> <td>support popover property bindings</td> </tr> </tbody> </table> <h3>compiler-cli</h3> <table> <thead> <tr> <th>Commit</th> …
…1029) ## Summary With `COLLECTOR_CRON_SCHEDULE` configured, the dashboard's Run collectors action launches the SMART collector as a scheduler and kills it after five minutes. Manual and managed SMART invocations now pass `--cron-schedule=` so they collect once and exit, even when YAML contains a schedule. ## Type of Change - [x] Bug fix (non-breaking change that fixes an issue) - [ ] New feature (non-breaking change that adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [x] Documentation update - [ ] Refactoring (no functional changes) - [ ] CI/CD or infrastructure change ## Related Issues / Linked Issues Closes #1014 ## Changes Made - Share one-shot arguments between the backend manual trigger and the standalone omnibus runner. Only SMART receives the schedule flag; other collectors retain their existing arguments. - Apply the explicit override to Docker SMART cron and startup invocations, including the collector-omnibus startup helper. - Document manual execution and correct CLI help. Preserve normal standalone scheduling, API settings, and the backend timeout. - Repair the dependency audit exposed by this PR: update active Undici copies to 6.29.1/7.30.1, npm to 11.21.1, and frontend body-parser/fast-uri patches. The branch includes current develop, whose Angular CLI 22.2.3 update supplies patched Zod. Replace obsolete bundled-npm advisory exceptions with the three remaining IDs, retaining the existing November 1 expiry and bundle-only path restrictions. Add six policy regression tests to CI. ## Testing / Test plan - [x] I have tested this locally - [x] I have added/updated tests that prove my fix/feature works - [x] All existing tests pass Passed: - `go test -race ./collector/cmd/collector-metrics ./collector/pkg/omnibus ./webapp/backend/pkg/web/handler` - `TMPDIR=/private/tmp go test ./collector/...` - `go vet ./collector/cmd/collector-metrics ./collector/pkg/omnibus ./webapp/backend/pkg/web/handler` - `bash docker/tests/collector-startup-gate_test.sh` and `bash docker/tests/entrypoint-startup-log_test.sh` using Bash 5 locally - `go mod vendor`, followed by golangci-lint v2.14.0 with `--timeout=5m --new-from-rev=origin/develop`: 0 issues - `git diff --cached --check` Regression tests exercise the actual CLI with environment/YAML schedules and startup delays, and verify child arguments and retained API settings through executable fixtures. The full collector suite initially encountered two unchanged macOS `/var` versus `/private/var` path assertions; it passed with canonical `TMPDIR=/private/tmp`. The original collector head passed repository CI apart from the dependency audit. All 29 GitHub checks passed on previous head `02afd6865b3d3fa9e0f4a459e8dcf816147529ac`, including both npm audit stages, frontend/backend tests, lint, builds, and security scans. Dependency repair validation on Node 24.15.0: clean root/frontend installs, both audit gates, six audit-policy tests, imports of every configured release plugin, frontend production build, and frontend lint pass. Frontend audit reports zero vulnerabilities. Root audit retains two vulnerable packages only inside the unused bundled npm; the gate permits their three documented advisories until the unchanged November 1 expiry. Build output retains existing template, stylesheet-budget, CommonJS, and browser-support warnings. The follow-up at `e7b5234bde80936284c5be07fff188ba86e76885` rejects empty audit paths for bundled advisory exceptions. Empty-path cases failed for all three advisory IDs before the fix; all six policy tests and the live root audit gate pass after the fix. All 29 GitHub checks passed for this head. ## Checklist - [x] My code follows the project's code style - [x] I have performed a self-review of my code - [x] I have commented my code where necessary (particularly complex areas) - [x] I have updated the documentation if needed - [x] My changes generate no new warnings - [x] No console.log, debug statements, or commented-out code ## Screenshots (if applicable) Not applicable. No visual changes. ## Additional Notes Review: required (user-requested independent review and dependency-audit policy change). The review at 02afd68 returned FIX_FIRST for empty audit paths satisfying the bundled-path check. Independent read-only follow-up review of e7b5234 returned SHIP: the finding is fixed and no new findings were identified. All 29 checks passed. Merge remains pending operator authorization. Target: `develop`. No cross-repository dependency. Updated binaries and images require deployment before this changes running instances. No deployment or real-disk acceptance test has been performed. This change does not import the beta branch's separate collector concurrency changes.
…nd (#1002) Bumps [ng-apexcharts](https://github.com/apexcharts/ng-apexcharts) from 3.1.0 to 3.2.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/apexcharts/ng-apexcharts/releases">ng-apexcharts's releases</a>.</em></p> <blockquote> <h2>v3.2.0</h2> <h3>Features</h3> <ul> <li>the <code>apexcharts</code> peer dependency is now <code>^6.0.0 || ^7.0.0 || ^8.0.0</code>, so installing ApexCharts 8 next to this package does not produce a peer conflict once 8 is released</li> <li><code>ng add ng-apexcharts</code> installs <code>^6.7.0 || ^7.0.0 || ^8.0.0</code>. npm resolves it to the newest published version that satisfies, so a fresh project lands on 7.x today and on 8.x once ApexCharts 8 is released, with no further ng-apexcharts release needed</li> </ul> <h3>Bug Fixes</h3> <ul> <li>the published package declares its licence. Its <code>package.json</code> had no <code>license</code> field, so npm and licence scanners showed this commercial package as unlicensed. It now reads <code>SEE LICENSE IN LICENSE.md</code>, and the package ships that file</li> <li>the licence text is corrected: the Community threshold counts revenue, budget, funding or equivalent resources, whichever is highest, and the file is renamed <code>LICENSE.md</code> so GitHub renders it</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/apexcharts/ng-apexcharts/blob/master/CHANGELOG.md">ng-apexcharts's changelog</a>.</em></p> <blockquote> <h1><a href="https://github.com/apexcharts/ng-apexcharts/compare/v3.1.0...v3.2.0">3.2.0</a> (2026-10-09)</h1> <h3>Features</h3> <ul> <li>the <code>apexcharts</code> peer dependency is now <code>^6.0.0 || ^7.0.0 || ^8.0.0</code>, so installing ApexCharts 8 next to this package does not produce a peer conflict once 8 is released</li> <li><code>ng add ng-apexcharts</code> installs <code>^6.7.0 || ^7.0.0 || ^8.0.0</code>. npm resolves it to the newest published version that satisfies, so a fresh project lands on 7.x today and on 8.x once ApexCharts 8 is released, with no further ng-apexcharts release needed</li> </ul> <h3>Bug Fixes</h3> <ul> <li>the published package declares its licence. Its <code>package.json</code> had no <code>license</code> field, so npm and licence scanners showed this commercial package as unlicensed. It now reads <code>SEE LICENSE IN LICENSE.md</code>, and the package ships that file</li> <li>the licence text is corrected: the Community threshold counts revenue, budget, funding or equivalent resources, whichever is highest, and the file is renamed <code>LICENSE.md</code> so GitHub renders it</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/apexcharts/ng-apexcharts/commit/97d2b588b3694fc2f644adc088a36370493963f7"><code>97d2b58</code></a> release: 3.2.0</li> <li><a href="https://github.com/apexcharts/ng-apexcharts/commit/c36ef1f4965853891078bae80ec29aaffc05bcbb"><code>c36ef1f</code></a> feat: admit apexcharts 8 in the peer range</li> <li><a href="https://github.com/apexcharts/ng-apexcharts/commit/f8034a047ed011be1a7525b1a41c2376a1505135"><code>f8034a0</code></a> fix(npm): ship LICENSE.md, the file the manifest points at</li> <li><a href="https://github.com/apexcharts/ng-apexcharts/commit/b1a0fe8b11798d58c41d3f0ee9012f0ced08d16b"><code>b1a0fe8</code></a> fix(licence): thank Community users without calling the product free and open</li> <li><a href="https://github.com/apexcharts/ng-apexcharts/commit/b1cbb4c3ba7af0c4f347b2a3eaee0760aa18b4f4"><code>b1cbb4c</code></a> build(deps): bump Angular to 22.2.1 and patch vulnerable transitive deps (<a href="https://redirect.github.com/apexcharts/ng-apexcharts/issues/529">#529</a>)</li> <li><a href="https://github.com/apexcharts/ng-apexcharts/commit/d60f9a06530836c44b2067d4d891bc8adb686a37"><code>d60f9a0</code></a> fix(licence): rename LICENSE to LICENSE.md so GitHub renders it</li> <li><a href="https://github.com/apexcharts/ng-apexcharts/commit/e723c51df66bb97d161d8c36845ead66ede812f6"><code>e723c51</code></a> fix(npm): the published package declared no licence at all</li> <li><a href="https://github.com/apexcharts/ng-apexcharts/commit/e43636df123005e026f40cf758c920e9f922f914"><code>e43636d</code></a> fix(licence): the $2M threshold is not a revenue test</li> <li><a href="https://github.com/apexcharts/ng-apexcharts/commit/99105aa7260c44ec84ab6fc195042b8ed4de5d83"><code>99105aa</code></a> fix(licence): branch the licence on which plan the product needs</li> <li><a href="https://github.com/apexcharts/ng-apexcharts/commit/84e92be622e9848ffce2c0e322ccec2422f9b261"><code>84e92be</code></a> fix(licence): drop the backslash escapes before the dollar amounts</li> <li>Additional commits viewable in <a href="https://github.com/apexcharts/ng-apexcharts/compare/v3.1.0...v3.2.0">compare view</a></li> </ul> </details> <br /> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Starosdev <eder@staros.dev>
…1001) Bumps [apexcharts](https://github.com/apexcharts/apexcharts.js) from 7.6.0 to 8.4.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/apexcharts/apexcharts.js/releases">apexcharts's releases</a>.</em></p> <blockquote> <h2>💎 Version 8.4.1</h2> <p>Charts now work inside a shadow root: menus, undo, ink and storyboard keep working, CSS variable colours set on the host resolve against the chart, and exports bake them in. Every chart's styles are injected into its own root and removed when the last chart there is destroyed.</p> <h2>🐛 Fixes</h2> <ul> <li>Bind the hold-to-measure key after the first render.</li> <li>Keep menus, undo, ink and storyboard working inside a shadow root.</li> <li>Resolve CSS variable colours against the chart, and bake them into exports.</li> <li>Close the export menu on outside presses, resolve treemap scale vars.</li> </ul> <p>Upgrading is <code>npm install apexcharts@8.4.1</code>.</p> <p>Full changelog, with the detail behind each change: <a href="https://github.com/apexcharts/apexcharts.js/compare/v8.4.0...v8.4.1">https://github.com/apexcharts/apexcharts.js/compare/v8.4.0...v8.4.1</a></p> <h2>💎 Version 8.4.0</h2> <p>A security fix: a series name, category or goal name containing HTML could run script in the legend or tooltip, also in server-rendered HTML. Data you pass in now shows as text there; HTML a formatter returns still renders. Upgrade if those labels come from user data.</p> <p>Also less work per render for bars, timelines and treemaps, tooltip.custom on sunburst, icicle and treemap branches, and these changes you may notice:</p> <table> <thead> <tr> <th>Change</th> <th>What to check</th> </tr> </thead> <tbody> <tr> <td>Names and labels show HTML as text</td> <td>markup in names</td> </tr> <tr> <td>tooltip.custom runs on treemap branches</td> <td>custom reading points</td> </tr> <tr> <td>Trellis honours chart.zoom.enabled false</td> <td>grids that set it</td> </tr> <tr> <td>Sunburst, icicle honour dataLabels.enabled</td> <td>dataLabels.enabled</td> </tr> <tr> <td>Sunburst crumb uses drilldown.breadcrumb</td> <td>breadcrumb options</td> </tr> </tbody> </table> <h2>🐛 Fixes</h2> <ul> <li>Project stream-scroll pathFrom from the joined path (<a href="https://redirect.github.com/apexcharts/apexcharts.js/issues/5316">#5316</a>). Thanks <a href="https://github.com/SahinurDEV"><code>@SahinurDEV</code></a>.</li> <li>Do not expand zero stacked columns by series stroke width (<a href="https://redirect.github.com/apexcharts/apexcharts.js/issues/5046">#5046</a>). Thanks <a href="https://github.com/SahinurDEV"><code>@SahinurDEV</code></a>.</li> <li>Draw series added to a shared logarithmic axis. Thanks <a href="https://github.com/Arthur031221"><code>@Arthur031221</code></a>.</li> <li>Read dates past year 9999 as utc, not local time.</li> <li>Fire legendHover once per item, not on every mouse move.</li> <li>Keep reordered series on a shared logarithmic axis (<a href="https://redirect.github.com/apexcharts/apexcharts.js/issues/5353">#5353</a>).</li> <li>Ease an axis border from its own extent.</li> <li>Draw server renders the way the browser draws them.</li> <li>Return to a level as it is now, its overrides undone.</li> <li>Honour enabled toggles and settle async levels safely.</li> <li>Hand back the raw series when an alias type is switched off.</li> <li>Grid tooltip reads numeric x and horizontal bars right.</li> <li>Push one panel data patch from render and updateSeries.</li> <li>Keep legend, zoom and tool state in step across rebuilds.</li> <li>Respect zoom.enabled false; edge labels read effective y.</li> <li>Sort dates, leave combo series alone.</li> <li>Restored zoom focus keeps its ancestors.</li> <li>Gradient legend spans explicit colour stops.</li> <li>Keep line forecasts and gradient area strokes on SVG.</li> <li>Paint primitive styling and custom series identity.</li> <li>Divide 100% stacked parts by their own stack's total.</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/apexcharts/apexcharts.js/commit/0cda9fbcda66de67a584d06324b66ef5ae7469aa"><code>0cda9fb</code></a> release: 8.4.1</li> <li><a href="https://github.com/apexcharts/apexcharts.js/commit/ecbbfb2ec5cb943704f90874f48ba397ca864e01"><code>ecbbfb2</code></a> chore: bump version to 8.4.1</li> <li><a href="https://github.com/apexcharts/apexcharts.js/commit/3753022c39c4ea9ff363bed3328458ce1c77f93d"><code>3753022</code></a> chore(build): raise the default budget for the export menu and treemap fixes</li> <li><a href="https://github.com/apexcharts/apexcharts.js/commit/9a2f64273973531dea3f20a0d7bae24b8fe062a8"><code>9a2f642</code></a> fix: close the export menu on outside presses, resolve treemap scale vars</li> <li><a href="https://github.com/apexcharts/apexcharts.js/commit/e650bc10c2b18f7c49b30e642f32bd610aee5763"><code>e650bc1</code></a> chore(build): raise the default and full budgets for the shadow DOM fixes</li> <li><a href="https://github.com/apexcharts/apexcharts.js/commit/c8860a0b1348ad235ec4cb61bba8242f642efb23"><code>c8860a0</code></a> fix: resolve CSS variable colours against the chart, and bake them into exports</li> <li><a href="https://github.com/apexcharts/apexcharts.js/commit/d2f99dec9907d8c42c8933dba63280846660c607"><code>d2f99de</code></a> fix: keep menus, undo, ink and storyboard working inside a shadow root</li> <li><a href="https://github.com/apexcharts/apexcharts.js/commit/0520bddcde160def5bed36d4a065b6371a9deabe"><code>0520bdd</code></a> fix(measure): bind the hold-to-measure key after the first render</li> <li><a href="https://github.com/apexcharts/apexcharts.js/commit/a52936ef27dfa041af222a8f6533dd17c7623e11"><code>a52936e</code></a> build(deps): bump apex-commons to 0.8.3 for the shadow DOM helpers</li> <li><a href="https://github.com/apexcharts/apexcharts.js/commit/3017de3d0e1695045ea672e4c4eb3ef86055f2fd"><code>3017de3</code></a> release: 8.4.0</li> <li>Additional commits viewable in <a href="https://github.com/apexcharts/apexcharts.js/compare/v7.6.0...v8.4.1">compare view</a></li> </ul> </details> <br /> --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Starosdev <eder@staros.dev>
…8 updates (#1030) Bumps the dev-dependencies group with 8 updates in the /webapp/frontend directory: | Package | From | To | | --- | --- | --- | | [@types/lodash](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/lodash) | `4.17.26` | `4.17.27` | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.71.1` | `8.72.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.71.1` | `8.72.0` | | [angular-eslint](https://github.com/angular-eslint/angular-eslint/tree/HEAD/packages/angular-eslint) | `22.5.0` | `22.6.0` | | [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) | `5.5.6` | `5.5.7` | | [ngx-markdown](https://github.com/jfcere/ngx-markdown) | `22.1.0` | `22.1.1` | | [prettier](https://github.com/prettier/prettier) | `3.9.9` | `3.9.10` | | [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) | `8.71.1` | `8.72.0` | Updates `@types/lodash` from 4.17.26 to 4.17.27 <details> <summary>Commits</summary> <ul> <li>See full diff in <a href="https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/lodash">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/eslint-plugin` from 8.71.1 to 8.72.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/eslint-plugin's releases</a>.</em></p> <blockquote> <h2>v8.72.0</h2> <h2>8.72.0 (2026-10-19)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> lazy load rules (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13010">#13010</a>)</li> <li><strong>eslint-plugin:</strong> [await-thenable] add <code>allowMixedPromiseArrays</code> option (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12992">#12992</a>)</li> <li><strong>typescript-estree:</strong> error on abstract keyword that precedes export (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13019">#13019</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>ast-spec:</strong> add <code>JSXFragment</code> to <code>JSXAttribute['value']</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13051">#13051</a>)</li> <li><strong>eslint-plugin:</strong> [prefer-readonly-parameter-types] check where allowed type aliases are declared (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13016">#13016</a>)</li> <li><strong>eslint-plugin:</strong> [no-deprecated] report deprecated properties in object literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12704">#12704</a>)</li> <li><strong>eslint-plugin:</strong> use isTypeLiteralType instead of type.isLiteral() to include bigint literals on TS < 5.0 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13053">#13053</a>)</li> <li><strong>eslint-plugin:</strong> [require-array-sort-compare] check tuples (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13058">#13058</a>)</li> <li><strong>eslint-plugin:</strong> [require-array-sort-compare] ignore extra this type argument on TS < 5.1 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13055">#13055</a>)</li> <li><strong>type-utils:</strong> discriminateAnyType crashes when calling getAwaitedType on awaited type in TS < 5.0 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13054">#13054</a>)</li> <li><strong>typescript-estree:</strong> include leading and trailing comments & whitespace in Program range (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12991">#12991</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Junichiro Kasuya <a href="https://github.com/jksy"><code>@jksy</code></a></li> <li>Mitch Fultz <a href="https://github.com/fitchmultz"><code>@fitchmultz</code></a></li> <li>Shaan GS <a href="https://github.com/ShaanGS"><code>@ShaanGS</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.71.2</h2> <h2>8.71.2 (2026-10-12)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unused-vars] avoid false-positives when not using our parser (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12989">#12989</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-parameters] count instantiated mapped type templates (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12974">#12974</a>)</li> <li><strong>eslint-plugin:</strong> [no-unused-vars] ignore type-only refs for after-used (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12977">#12977</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12995">#12995</a>)</li> <li><strong>eslint-plugin:</strong> [prefer-optional-chain] safe fix when the chain ends with a strict null comparison (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12805">#12805</a>)</li> <li><strong>type-utils:</strong> match linked packages and packages with missing version in <code>TypeOrValueSpecifier</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12948">#12948</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Abraham Guo</li> <li>Brad Zacher <a href="https://github.com/bradzacher"><code>@bradzacher</code></a></li> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg</li> <li>Vinccool96</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md">@typescript-eslint/eslint-plugin's changelog</a>.</em></p> <blockquote> <h2>8.72.0 (2026-10-19)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [await-thenable] add <code>allowMixedPromiseArrays</code> option (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12992">#12992</a>)</li> <li><strong>eslint-plugin:</strong> lazy load rules (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13010">#13010</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>type-utils:</strong> discriminateAnyType crashes when calling getAwaitedType on awaited type in TS < 5.0 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13054">#13054</a>)</li> <li><strong>eslint-plugin:</strong> [require-array-sort-compare] ignore extra this type argument on TS < 5.1 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13055">#13055</a>)</li> <li><strong>eslint-plugin:</strong> [require-array-sort-compare] check tuples (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13058">#13058</a>)</li> <li><strong>eslint-plugin:</strong> use isTypeLiteralType instead of type.isLiteral() to include bigint literals on TS < 5.0 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13053">#13053</a>)</li> <li><strong>eslint-plugin:</strong> [no-deprecated] report deprecated properties in object literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12704">#12704</a>)</li> <li><strong>eslint-plugin:</strong> [prefer-readonly-parameter-types] check where allowed type aliases are declared (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13016">#13016</a>)</li> <li><strong>typescript-estree:</strong> include leading and trailing comments & whitespace in Program range (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12991">#12991</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Junichiro Kasuya <a href="https://github.com/jksy"><code>@jksy</code></a></li> <li>Mitch Fultz <a href="https://github.com/fitchmultz"><code>@fitchmultz</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.71.2 (2026-10-12)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [prefer-optional-chain] safe fix when the chain ends with a strict null comparison (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12805">#12805</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12995">#12995</a>)</li> <li><strong>eslint-plugin:</strong> [no-unused-vars] ignore type-only refs for after-used (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12977">#12977</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-parameters] count instantiated mapped type templates (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12974">#12974</a>)</li> <li><strong>eslint-plugin:</strong> [no-unused-vars] avoid false-positives when not using our parser (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12989">#12989</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Abraham Guo</li> <li>Brad Zacher <a href="https://github.com/bradzacher"><code>@bradzacher</code></a></li> <li>Josh Goldberg</li> <li>Vinccool96</li> <li>Younsang Na <a href="https://github.com/nayounsang"><code>@nayounsang</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/a4c2603d3e4fd43b33bc25b82457716e9f7cef71"><code>a4c2603</code></a> chore(release): publish 8.72.0</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/c6eb98c17cbeee540d3c48d1406098430b2f0660"><code>c6eb98c</code></a> feat(eslint-plugin): [await-thenable] add <code>allowMixedPromiseArrays</code> option (#...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/b382b74579e5514c247ed54d0dfc428f3a173f3a"><code>b382b74</code></a> fix(type-utils): discriminateAnyType crashes when calling getAwaitedType on a...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/79edd896790b031457fc0ca6f81c732b29921c9d"><code>79edd89</code></a> fix(eslint-plugin): [require-array-sort-compare] ignore extra this type argum...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/e7d57dd6ea0945ae71ba9f68d04270caecda1735"><code>e7d57dd</code></a> fix(eslint-plugin): [require-array-sort-compare] check tuples (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/13058">#13058</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/2d107aef73ec9a36a6b4da501ab3fb97dca1d4c0"><code>2d107ae</code></a> fix(eslint-plugin): use isTypeLiteralType instead of type.isLiteral() to incl...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/e4695b39dbf2427afe14531095c6221c340ee3f1"><code>e4695b3</code></a> feat(eslint-plugin): lazy load rules (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/13010">#13010</a>)</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/a1a912bffce02a96f8661806d92202f867f9c6ce"><code>a1a912b</code></a> fix(eslint-plugin): [no-deprecated] report deprecated properties in object li...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/1edc975742ca23390a4daf3a1d0193feafe92818"><code>1edc975</code></a> fix(eslint-plugin): [prefer-readonly-parameter-types] check where allowed typ...</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/61cb7009708e90add897ca53c58666a19e615606"><code>61cb700</code></a> chore: fix all <code>eslint-plugin-internal/no-multiple-lines-of-errors</code> (<a href="https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin/issues/12893">#12893</a>)</li> <li>Additional commits viewable in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.72.0/packages/eslint-plugin">compare view</a></li> </ul> </details> <br /> Updates `@typescript-eslint/parser` from 8.71.1 to 8.72.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">@typescript-eslint/parser's releases</a>.</em></p> <blockquote> <h2>v8.72.0</h2> <h2>8.72.0 (2026-10-19)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> lazy load rules (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13010">#13010</a>)</li> <li><strong>eslint-plugin:</strong> [await-thenable] add <code>allowMixedPromiseArrays</code> option (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12992">#12992</a>)</li> <li><strong>typescript-estree:</strong> error on abstract keyword that precedes export (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13019">#13019</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>ast-spec:</strong> add <code>JSXFragment</code> to <code>JSXAttribute['value']</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13051">#13051</a>)</li> <li><strong>eslint-plugin:</strong> [prefer-readonly-parameter-types] check where allowed type aliases are declared (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13016">#13016</a>)</li> <li><strong>eslint-plugin:</strong> [no-deprecated] report deprecated properties in object literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12704">#12704</a>)</li> <li><strong>eslint-plugin:</strong> use isTypeLiteralType instead of type.isLiteral() to include bigint literals on TS < 5.0 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13053">#13053</a>)</li> <li><strong>eslint-plugin:</strong> [require-array-sort-compare] check tuples (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13058">#13058</a>)</li> <li><strong>eslint-plugin:</strong> [require-array-sort-compare] ignore extra this type argument on TS < 5.1 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13055">#13055</a>)</li> <li><strong>type-utils:</strong> discriminateAnyType crashes when calling getAwaitedType on awaited type in TS < 5.0 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13054">#13054</a>)</li> <li><strong>typescript-estree:</strong> include leading and trailing comments & whitespace in Program range (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12991">#12991</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Junichiro Kasuya <a href="https://github.com/jksy"><code>@jksy</code></a></li> <li>Mitch Fultz <a href="https://github.com/fitchmultz"><code>@fitchmultz</code></a></li> <li>Shaan GS <a href="https://github.com/ShaanGS"><code>@ShaanGS</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.71.2</h2> <h2>8.71.2 (2026-10-12)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unused-vars] avoid false-positives when not using our parser (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12989">#12989</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-parameters] count instantiated mapped type templates (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12974">#12974</a>)</li> <li><strong>eslint-plugin:</strong> [no-unused-vars] ignore type-only refs for after-used (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12977">#12977</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12995">#12995</a>)</li> <li><strong>eslint-plugin:</strong> [prefer-optional-chain] safe fix when the chain ends with a strict null comparison (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12805">#12805</a>)</li> <li><strong>type-utils:</strong> match linked packages and packages with missing version in <code>TypeOrValueSpecifier</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12948">#12948</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Abraham Guo</li> <li>Brad Zacher <a href="https://github.com/bradzacher"><code>@bradzacher</code></a></li> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg</li> <li>Vinccool96</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md">@typescript-eslint/parser's changelog</a>.</em></p> <blockquote> <h2>8.72.0 (2026-10-19)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.71.2 (2026-10-12)</h2> <p>This was a version bump only for parser to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/a4c2603d3e4fd43b33bc25b82457716e9f7cef71"><code>a4c2603</code></a> chore(release): publish 8.72.0</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb"><code>7488d68</code></a> chore(release): publish 8.71.2</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.72.0/packages/parser">compare view</a></li> </ul> </details> <br /> Updates `angular-eslint` from 22.5.0 to 22.6.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/angular-eslint/angular-eslint/releases">angular-eslint's releases</a>.</em></p> <blockquote> <h2>v22.6.0</h2> <h2>22.6.0 (2026-10-11)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> [prefer-standalone] add allowExplicitStandalone option (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3237">#3237</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li>update dependency <code>@angular/compiler</code> to v22.1.5 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3205">#3205</a>)</li> <li>update dependency <code>@angular/compiler</code> to v22.1.6 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3217">#3217</a>)</li> <li>update dependency eslint to v10.10.0 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3209">#3209</a>)</li> <li>update typescript-eslint packages to v8.70.0 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3212">#3212</a>)</li> <li>update dependency <code>@angular/compiler</code> to v22.1.7 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3230">#3230</a>)</li> <li>update dependency eslint to v10.11.0 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3233">#3233</a>)</li> <li>update typescript-eslint packages to v8.70.1 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3244">#3244</a>)</li> <li>update dependency <code>@angular/compiler</code> to v22.2.0 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3247">#3247</a>)</li> <li>update typescript-eslint packages to v8.71.0 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3258">#3258</a>)</li> <li>update dependency <code>@angular/compiler</code> to v22.2.1 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3264">#3264</a>)</li> <li>update dependency eslint to v10.12.0 (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3274">#3274</a>)</li> <li><strong>eslint-plugin:</strong> [reactive-context-must-read-signal] ignore inherited primitive names (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3201">#3201</a>)</li> <li><strong>eslint-plugin:</strong> ensure <code>prefix</code> rule option schema is fully typed (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3246">#3246</a>)</li> <li><strong>eslint-plugin:</strong> [prefer-signal-model] rewrite the emit calls of the removed output (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3200">#3200</a>)</li> <li><strong>eslint-plugin-template:</strong> [conditional-complexity] check control flow (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3260">#3260</a>)</li> <li><strong>template-parser:</strong> traverse <a href="https://github.com/defer"><code>@defer</code></a> hydrate triggers (<a href="https://redirect.github.com/angular-eslint/angular-eslint/pull/3231">#3231</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Andrew Kazakov <a href="https://github.com/andreww2012"><code>@andreww2012</code></a></li> <li>Daniel Pinto <a href="https://github.com/Cayan"><code>@Cayan</code></a></li> <li>Guillaume DROUARD</li> <li>Michael Doyle <a href="https://github.com/MichaelDoyle"><code>@MichaelDoyle</code></a></li> <li>Максим Иванов</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/angular-eslint/angular-eslint/blob/main/packages/angular-eslint/CHANGELOG.md">angular-eslint's changelog</a>.</em></p> <blockquote> <h2>22.6.0 (2026-10-11)</h2> <p>This was a version bump only for angular-eslint to align it with other projects, there were no code changes.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/angular-eslint/angular-eslint/commit/7722ad2ab4da81568f19a7a29a3951fa443bf22c"><code>7722ad2</code></a> chore(release): publish 22.6.0</li> <li>See full diff in <a href="https://github.com/angular-eslint/angular-eslint/commits/v22.6.0/packages/angular-eslint">compare view</a></li> </ul> </details> <br /> Updates `eslint-plugin-prettier` from 5.5.6 to 5.5.7 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/prettier/eslint-plugin-prettier/releases">eslint-plugin-prettier's releases</a>.</em></p> <blockquote> <h2>v5.5.7</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/prettier/eslint-plugin-prettier/pull/796">#796</a> <a href="https://github.com/prettier/eslint-plugin-prettier/commit/7e53ecd882fe6f0f74150cb0a539776b64182b3e"><code>7e53ecd</code></a> Thanks <a href="https://github.com/OskarEichler"><code>@OskarEichler</code></a>! - Fix fallback diagnostic locations for all supported line endings.</p> </li> <li> <p><a href="https://redirect.github.com/prettier/eslint-plugin-prettier/pull/805">#805</a> <a href="https://github.com/prettier/eslint-plugin-prettier/commit/1b7c43322ce0eb3ee7495d91481613d39d97af52"><code>1b7c433</code></a> Thanks <a href="https://github.com/JounQin"><code>@JounQin</code></a>! - Report a clear error when the sync worker fails to load, so a missing <code>prettier</code> dependency now fails fast with <code>Cannot find package 'prettier'</code> instead of hanging ESLint indefinitely.</p> </li> </ul> <h3>New Contributors</h3> <ul> <li><a href="https://github.com/truongbo17"><code>@truongbo17</code></a> made their first contribution in <a href="https://redirect.github.com/prettier/eslint-plugin-prettier/pull/798">prettier/eslint-plugin-prettier#798</a></li> <li><a href="https://github.com/OskarEichler"><code>@OskarEichler</code></a> made their first contribution in <a href="https://redirect.github.com/prettier/eslint-plugin-prettier/pull/796">prettier/eslint-plugin-prettier#796</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.6...v5.5.7">https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.6...v5.5.7</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md">eslint-plugin-prettier's changelog</a>.</em></p> <blockquote> <h2>5.5.7</h2> <h3>Patch Changes</h3> <ul> <li> <p><a href="https://redirect.github.com/prettier/eslint-plugin-prettier/pull/796">#796</a> <a href="https://github.com/prettier/eslint-plugin-prettier/commit/7e53ecd882fe6f0f74150cb0a539776b64182b3e"><code>7e53ecd</code></a> Thanks <a href="https://github.com/OskarEichler"><code>@OskarEichler</code></a>! - Fix fallback diagnostic locations for all supported line endings.</p> </li> <li> <p><a href="https://redirect.github.com/prettier/eslint-plugin-prettier/pull/805">#805</a> <a href="https://github.com/prettier/eslint-plugin-prettier/commit/1b7c43322ce0eb3ee7495d91481613d39d97af52"><code>1b7c433</code></a> Thanks <a href="https://github.com/JounQin"><code>@JounQin</code></a>! - Report a clear error when the sync worker fails to load, so a missing <code>prettier</code> dependency now fails fast with <code>Cannot find package 'prettier'</code> instead of hanging ESLint indefinitely.</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/e6dd27a4e4015748b2e87c646be2c1a530789343"><code>e6dd27a</code></a> chore: keep packageManager when cleaning package.json for release (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/808">#808</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/7544956b642d4e653c235d178432e4d60a312b6b"><code>7544956</code></a> chore: release eslint-plugin-prettier (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/799">#799</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/e3e52386bd8ab1604d4d41ecd961de5e6749eed8"><code>e3e5238</code></a> ci: enable npm publish provenance for changesets v3 (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/807">#807</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/7c923c41069c939d6c6c8b7cfcad8f6a266f5276"><code>7c923c4</code></a> build(deps): Bump http-cache-semantics from 4.2.0 to 4.3.0 (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/806">#806</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/1b7c43322ce0eb3ee7495d91481613d39d97af52"><code>1b7c433</code></a> fix: bump synckit to surface worker failures instead of hanging (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/805">#805</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/a6b3feb3ce5d0bf785ddf4a83d24cf6a5c4bb902"><code>a6b3feb</code></a> docs: explain line endings and <code>endOfLine</code> behavior (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/804">#804</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/2f6ba1dca350a40857884103a7bf0e74b64901f7"><code>2f6ba1d</code></a> ci: exercise the getLocFromIndex ponyfill on ESLint 9 (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/803">#803</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/cf1d2c5cffb7520d28fe680603cc4906ada0816f"><code>cf1d2c5</code></a> chore(deps): update (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/802">#802</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/9f14a554f9737b1b985e2b26501d3bb2defac920"><code>9f14a55</code></a> chore(deps): update all dependencies (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/788">#788</a>)</li> <li><a href="https://github.com/prettier/eslint-plugin-prettier/commit/7e53ecd882fe6f0f74150cb0a539776b64182b3e"><code>7e53ecd</code></a> fix: map fallback source locations to actual line starts (<a href="https://redirect.github.com/prettier/eslint-plugin-prettier/issues/796">#796</a>)</li> <li>Additional commits viewable in <a href="https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.6...v5.5.7">compare view</a></li> </ul> </details> <br /> Updates `ngx-markdown` from 22.1.0 to 22.1.1 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/jfcere/ngx-markdown/releases">ngx-markdown's releases</a>.</em></p> <blockquote> <h2>v22.1.1</h2> <h2>Security fixes</h2> <ul> <li>build(deps): bump fast-uri from 3.1.6 to 3.1.8 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/jfcere/ngx-markdown/pull/695">jfcere/ngx-markdown#695</a></li> <li>build(deps): bump ip-address from 10.7.0 to 10.7.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/jfcere/ngx-markdown/pull/696">jfcere/ngx-markdown#696</a></li> <li>build(deps-dev): bump brace-expansion from 1.1.18 to 1.1.21 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/jfcere/ngx-markdown/pull/697">jfcere/ngx-markdown#697</a></li> <li>build(deps): bump dompurify from 3.4.14 to 3.4.16 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/jfcere/ngx-markdown/pull/698">jfcere/ngx-markdown#698</a></li> <li>build(deps): bump hono from 4.13.5 to 4.13.13 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/jfcere/ngx-markdown/pull/700">jfcere/ngx-markdown#700</a></li> <li>build(deps): bump proxy-addr from 2.0.7 to 2.0.8 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/jfcere/ngx-markdown/pull/704">jfcere/ngx-markdown#704</a></li> <li>build(deps): bump source-map-js from 1.2.1 to 1.2.2 by <a href="https://github.com/dependabot"><code>@dependabot</code></a>[bot] in <a href="https://redirect.github.com/jfcere/ngx-markdown/pull/706">jfcere/ngx-markdown#706</a></li> <li>build(deps): support KaTeX 0.18 in the library by <a href="https://github.com/jfcere"><code>@jfcere</code></a> in <a href="https://redirect.github.com/jfcere/ngx-markdown/pull/708">jfcere/ngx-markdown#708</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/jfcere/ngx-markdown/compare/v22.1.0...v22.1.1">https://github.com/jfcere/ngx-markdown/compare/v22.1.0...v22.1.1</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/jfcere/ngx-markdown/commit/fa3fedee0f44dc7284702e96bfd2d8a31ee11c90"><code>fa3fede</code></a> 22.1.1</li> <li><a href="https://github.com/jfcere/ngx-markdown/commit/07045853ea4cb9655eb1a9aee2b7bcafa60528a6"><code>0704585</code></a> build(deps): support KaTeX 0.18 in the library (<a href="https://redirect.github.com/jfcere/ngx-markdown/issues/708">#708</a>)</li> <li><a href="https://github.com/jfcere/ngx-markdown/commit/8557332b7410d0539c3d5ebee1f8c7ade58e89c9"><code>8557332</code></a> build(deps): bump source-map-js from 1.2.1 to 1.2.2 (<a href="https://redirect.github.com/jfcere/ngx-markdown/issues/706">#706</a>)</li> <li><a href="https://github.com/jfcere/ngx-markdown/commit/52e196ea557a9f4c91ad4df55856782741507f29"><code>52e196e</code></a> build(deps): bump proxy-addr from 2.0.7 to 2.0.8 (<a href="https://redirect.github.com/jfcere/ngx-markdown/issues/704">#704</a>)</li> <li><a href="https://github.com/jfcere/ngx-markdown/commit/3f44676ffd0b497900b47f889d58e76f39684091"><code>3f44676</code></a> build(deps): bump hono from 4.13.5 to 4.13.13 (<a href="https://redirect.github.com/jfcere/ngx-markdown/issues/700">#700</a>)</li> <li><a href="https://github.com/jfcere/ngx-markdown/commit/fe53b1fc9b3c6cbc959c6736043134c3245d4b7c"><code>fe53b1f</code></a> build(deps): bump dompurify from 3.4.14 to 3.4.16 (<a href="https://redirect.github.com/jfcere/ngx-markdown/issues/698">#698</a>)</li> <li><a href="https://github.com/jfcere/ngx-markdown/commit/638380492954c1f8cf20785aa696dd230b58c107"><code>6383804</code></a> build(deps-dev): bump brace-expansion from 1.1.18 to 1.1.21 (<a href="https://redirect.github.com/jfcere/ngx-markdown/issues/697">#697</a>)</li> <li><a href="https://github.com/jfcere/ngx-markdown/commit/d0708657315031a95e98a8416ee2dc5fb05272be"><code>d070865</code></a> build(deps): bump ip-address from 10.7.0 to 10.7.2 (<a href="https://redirect.github.com/jfcere/ngx-markdown/issues/696">#696</a>)</li> <li><a href="https://github.com/jfcere/ngx-markdown/commit/60e268a2099a858c5354f1fea768b87db0563fec"><code>60e268a</code></a> build(deps): bump fast-uri from 3.1.6 to 3.1.8 (<a href="https://redirect.github.com/jfcere/ngx-markdown/issues/695">#695</a>)</li> <li>See full diff in <a href="https://github.com/jfcere/ngx-markdown/compare/v22.1.0...v22.1.1">compare view</a></li> </ul> </details> <br /> Updates `prettier` from 3.9.9 to 3.9.10 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/prettier/prettier/releases">prettier's releases</a>.</em></p> <blockquote> <h2>3.9.10</h2> <ul> <li>Markdown: Update <code>micromark-extension-gfm-table</code> to fix the table parse issue on performance (<a href="https://redirect.github.com/prettier/prettier/pull/20266">#20266</a> by <a href="https://github.com/fisker"><code>@fisker</code></a>)</li> </ul> <p>🔗 <a href="https://github.com/prettier/prettier/blob/3.9.10/CHANGELOG.md#3910">Changelog</a></p> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/prettier/prettier/blob/main/CHANGELOG.md">prettier's changelog</a>.</em></p> <blockquote> <h1>3.9.10</h1> <p><a href="https://github.com/prettier/prettier/compare/3.9.9...3.9.10">diff</a></p> <h4>Markdown: Update <code>micromark-extension-gfm-table</code> to fix the table parse issue on performance (<a href="https://redirect.github.com/prettier/prettier/pull/20266">#20266</a> by <a href="https://github.com/fisker"><code>@fisker</code></a>)</h4> <p>See <a href="https://github.com/micromark/micromark-extension-gfm-table/commit/4f43ead37b786bc531d924530d4ab4c714886267">https://github.com/micromark/micromark-extension-gfm-table/commit/4f43ead37b786bc531d924530d4ab4c714886267</a> for details.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/prettier/prettier/commit/1172b82c295c4f889fd787dc6c78c3e194ebf353"><code>1172b82</code></a> Release 3.9.10</li> <li><a href="https://github.com/prettier/prettier/commit/d0142273aff2c76f8a69785d42ee2cedc4b0aaa3"><code>d014227</code></a> Update <code>micromark-extension-gfm-table</code> to fix the table parse issue on perfor...</li> <li><a href="https://github.com/prettier/prettier/commit/953b9084329dcd06ed1072a04b333f1e6e9371e8"><code>953b908</code></a> Bump Prettier dependency to 3.9.9</li> <li><a href="https://github.com/prettier/prettier/commit/ad8a6bf4fa23c42fd114683fec43b28a11bd24af"><code>ad8a6bf</code></a> Clean changelog_unreleased</li> <li>See full diff in <a href="https://github.com/prettier/prettier/compare/3.9.9...3.9.10">compare view</a></li> </ul> </details> <br /> Updates `typescript-eslint` from 8.71.1 to 8.72.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/releases">typescript-eslint's releases</a>.</em></p> <blockquote> <h2>v8.72.0</h2> <h2>8.72.0 (2026-10-19)</h2> <h3>🚀 Features</h3> <ul> <li><strong>eslint-plugin:</strong> lazy load rules (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13010">#13010</a>)</li> <li><strong>eslint-plugin:</strong> [await-thenable] add <code>allowMixedPromiseArrays</code> option (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12992">#12992</a>)</li> <li><strong>typescript-estree:</strong> error on abstract keyword that precedes export (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13019">#13019</a>)</li> </ul> <h3>🩹 Fixes</h3> <ul> <li><strong>ast-spec:</strong> add <code>JSXFragment</code> to <code>JSXAttribute['value']</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13051">#13051</a>)</li> <li><strong>eslint-plugin:</strong> [prefer-readonly-parameter-types] check where allowed type aliases are declared (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13016">#13016</a>)</li> <li><strong>eslint-plugin:</strong> [no-deprecated] report deprecated properties in object literals (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12704">#12704</a>)</li> <li><strong>eslint-plugin:</strong> use isTypeLiteralType instead of type.isLiteral() to include bigint literals on TS < 5.0 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13053">#13053</a>)</li> <li><strong>eslint-plugin:</strong> [require-array-sort-compare] check tuples (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13058">#13058</a>)</li> <li><strong>eslint-plugin:</strong> [require-array-sort-compare] ignore extra this type argument on TS < 5.1 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13055">#13055</a>)</li> <li><strong>type-utils:</strong> discriminateAnyType crashes when calling getAwaitedType on awaited type in TS < 5.0 (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/13054">#13054</a>)</li> <li><strong>typescript-estree:</strong> include leading and trailing comments & whitespace in Program range (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12991">#12991</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Junichiro Kasuya <a href="https://github.com/jksy"><code>@jksy</code></a></li> <li>Mitch Fultz <a href="https://github.com/fitchmultz"><code>@fitchmultz</code></a></li> <li>Shaan GS <a href="https://github.com/ShaanGS"><code>@ShaanGS</code></a></li> </ul> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>v8.71.2</h2> <h2>8.71.2 (2026-10-12)</h2> <h3>🩹 Fixes</h3> <ul> <li><strong>eslint-plugin:</strong> [no-unused-vars] avoid false-positives when not using our parser (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12989">#12989</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-parameters] count instantiated mapped type templates (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12974">#12974</a>)</li> <li><strong>eslint-plugin:</strong> [no-unused-vars] ignore type-only refs for after-used (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12977">#12977</a>)</li> <li><strong>eslint-plugin:</strong> [no-unnecessary-type-parameters] parenthesize constraint in optional tuple elements (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12995">#12995</a>)</li> <li><strong>eslint-plugin:</strong> [prefer-optional-chain] safe fix when the chain ends with a strict null comparison (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12805">#12805</a>)</li> <li><strong>type-utils:</strong> match linked packages and packages with missing version in <code>TypeOrValueSpecifier</code> (<a href="https://redirect.github.com/typescript-eslint/typescript-eslint/pull/12948">#12948</a>)</li> </ul> <h3>❤️ Thank You</h3> <ul> <li>Abraham Guo</li> <li>Brad Zacher <a href="https://github.com/bradzacher"><code>@bradzacher</code></a></li> <li>Evyatar Daud <a href="https://github.com/StyleShit"><code>@StyleShit</code></a></li> <li>Josh Goldberg</li> <li>Vinccool96</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md">typescript-eslint's changelog</a>.</em></p> <blockquote> <h2>8.72.0 (2026-10-19)</h2> <p>This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.72.0">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> <h2>8.71.2 (2026-10-12)</h2> <p>This was a version bump only for typescript-eslint to align it with other projects, there were no code changes.</p> <p>See <a href="https://github.com/typescript-eslint/typescript-eslint/releases/tag/v8.71.2">GitHub Releases</a> for more information.</p> <p>You can read about our <a href="https://typescript-eslint.io/users/versioning">versioning strategy</a> and <a href="https://typescript-eslint.io/users/releases">releases</a> on our website.</p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/a4c2603d3e4fd43b33bc25b82457716e9f7cef71"><code>a4c2603</code></a> chore(release): publish 8.72.0</li> <li><a href="https://github.com/typescript-eslint/typescript-eslint/commit/7488d681f6e0e96c2aaa1eee9c3d1b9b1ef077cb"><code>7488d68</code></a> chore(release): publish 8.71.2</li> <li>See full diff in <a href="https://github.com/typescript-eslint/typescript-eslint/commits/v8.72.0/packages/typescript-eslint">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 <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Starosdev <eder@staros.dev>
## Summary Links stable and beta server and collector version badges to their matching GitHub release pages. Development and git-describe versions remain plain badges. ## Type of Change - [x] New feature (non-breaking change that adds functionality) ## Related Issues Fixes #916 ## Changes Made - Added release URL handling for stable and beta release versions. - Opened version links in a new tab with `rel="noopener"`. - Added coverage for release and development version formats. ## Testing - `npm run lint` — passed with 0 errors; 3 warnings remain in unrelated existing files. - `npm test -- --watch=false --browsers=ChromeHeadless` — 218 passed. - `npm run build:prod` — passed; warnings were in unrelated existing areas. - `git diff --check` — passed. ## Checklist - [x] My code follows the project's code style - [x] I have performed a self-review of my code - [x] I have added/updated tests that prove my change works - [x] All existing tests pass Co-authored-by: Starosdev <eder@staros.dev>
) ## Summary The dashboard's Run collectors action starts ZFS and MDADM whenever their binaries are installed, even when those optional collectors are not enabled. On a host without ZFS access, this produces a misleading pool-list failure. Manual runs now use the all-in-one image's existing enablement conditions and log disabled collectors as skipped. ## Type of Change - [x] Bug fix (non-breaking change that fixes an issue) - [ ] New feature (non-breaking change that adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [x] Documentation update - [ ] Refactoring (no functional changes) - [ ] CI/CD or infrastructure change ## Related Issues / Linked Issues Related to #1014 and #1029. This fixes the separate optional-collector behavior discovered during live acceptance of #1029. No separate tracking issue exists. ## Changes Made - Reuse collector metadata to check ZFS and MDADM schedule/startup settings before launching binaries. Preserve SMART's default execution and one-shot arguments. - Match startup boolean normalization, including quoted environment-file values. A configured schedule still enables manual runs when startup is false. - Keep enabled-collector errors visible and document optional collector settings. ## Testing / Test plan - [x] I have tested this locally - [x] I have added/updated tests that prove my fix/feature works - [x] All existing tests pass (focused suites and all 19 current CI checks passed) Passed: - `go test -race ./webapp/backend/pkg/web/handler ./collector/pkg/omnibus` - `go vet ./webapp/backend/pkg/web/handler ./collector/pkg/omnibus` - `go mod vendor` and golangci-lint v2.14.0 with `--timeout=5m --new-from-rev=HEAD`: 0 issues before commit - `git diff --check` and pre-commit checks Fifteen executable-fixture scenarios cover disabled collectors, separate ZFS/MDADM enablement, normalized startup values, schedules with startup disabled, and enabled failures. They retain coverage of SMART one-shot arguments and API settings. The two disabled-collector cases failed against the original implementation before the fix. The follow-up adds double-quoted, single-quoted, padded, and whitespace-only empty schedule cases, plus quoted real schedules and startup enablement with an empty schedule. Four cases failed before the repair. Race tests, vet, golangci-lint v2.14.0, and pre-commit checks passed after it. All 19 CI checks passed at `5cdc73e57414bd0de758987b220043f1ccca81e6`, with none pending. ## Checklist - [x] My code follows the project's code style - [x] I have performed a self-review of my code - [x] I have commented my code where necessary (particularly complex areas) - [x] I have updated the documentation if needed - [x] My changes generate no new warnings - [x] No console.log, debug statements, or commented-out code ## Screenshots (if applicable) Not applicable. No visual changes. ## Additional Notes Review: required (user-requested independent review). Review at 59d5f73 returned FIX_FIRST for quoted-empty schedules. Commit 5cdc73e trims surrounding schedule quotes and whitespace; fresh read-only review is pending at that head. Target: develop. No dependency changes or cross-repository dependencies. Updated binaries/images require deployment before running instances gain this behavior. This follow-up has not been deployed or tested live. No merge or deployment is authorized.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Product changes
Summary
Fix dashboard Run collectors hanging when a SMART schedule is configured, and skip disabled ZFS and MDADM collectors. Link stable and beta version badges to their GitHub release pages.
Promote all 10 commits currently in develop ahead of master, including dependency maintenance and collector image-tag documentation.
Type of Change
Related Issues
Closes #1014
Closes #916
Included PRs: #1029, #1031, #920, #998, #999, #1001, #1002, #1003, #1027, #1030.
Changes Made
Testing
Checklist
Screenshots (if applicable)
No new visual changes are introduced by this promotion beyond the version links in #920.
Additional Notes
Review: required (release audit policy changes). Independent reviews passed for the collector fixes at their exact source PR heads. Final promotion review remains pending.
The npm bundled-advisory exceptions remain narrowly scoped and expire November 1, 2026. A passing audit gate does not mean those unused bundled copies are patched.
Master contains release history absent from develop. The documented update-branch step may be needed before merge; CI must pass again after that update.
Creating this PR does not merge, release, or deploy it. Stable release publication and production rollout remain separate approval steps. Production and beta were unchanged during Zeus develop acceptance. No cross-repository change is included.
Course: Not applicable (Scrutiny service).
Version: Determined by semantic-release during an authorized release.
Track: Stable promotion.
Branch: develop to master.