# Angular v22.2.0-next.2 — 22.2.0-next.2 - Product: Angular (https://whatsnew.fyi/product/angular) - Vendor: Google - Date: 2026-08-13 - Version: v22.2.0-next.2 - Original notes: https://github.com/angular/angular/releases/tag/v22.2.0-next.2 - Permalink: https://whatsnew.fyi/product/angular/releases/v22.2.0-next.2 - Labels: Pre-release What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **fixed** — Do not encapsulate nested selectors if parent contains ::ng-deep - **fixed** — Generate correct expression for optional chaining - **fixed** — Remove namespaced MathML script elements - **fixed** — Scope nested CSS rules - **fixed** — Correctly resolve symbol for SafePropertyRead in chained optional navigation - **fixed** — Record class extends clause references in DeferredSymbolTracker - **fixed** — Ensure i18n_util hasOwnProperty checks are safe for property renaming - **fixed** — Fix incorrect loop in defer blocks - **fixed** — Reject prefixed SVG script hosts - **fixed** — Keep radio inputs in sync when values change - **fixed** — Always decode JSON responses as UTF-8 - **added** — Allow throwing RedirectCommand to trigger redirects - **fixed** — Limit protocol-relative URL handling to serialization ###### compiler | Commit | Description | | -- | -- | | [![fix - a4f1a94948](https://img.shields.io/badge/a4f1a94948-fix-green)](https://github.com/angular/angular/commit/a4f1a949486d20ce2bf9add427eea6629228b28b) | do not encapsulate nested selectors if parent contains ::ng-deep | | [![fix - d7b03f5523](https://img.shields.io/badge/d7b03f5523-fix-green)](https://github.com/angular/angular/commit/d7b03f5523d220c7935426d23ff5f103c96b00d9) | Generate correct expression for optional chaning. | | [![fix - 107f6fa49d](https://img.shields.io/badge/107f6fa49d-fix-green)](https://github.com/angular/angular/commit/107f6fa49d00ec250b94a8d5f484bae2fc3d71c9) | remove namespaced MathML script elements | | [![fix - d0d7f57e08](https://img.shields.io/badge/d0d7f57e08-fix-green)](https://github.com/angular/angular/commit/d0d7f57e0810a24ba16dbb1f2ab9f079a096fa3d) | scope nested CSS rules | ###### compiler-cli | Commit | Description | | -- | -- | | [![fix - e8aa222e7d](https://img.shields.io/badge/e8aa222e7d-fix-green)](https://github.com/angular/angular/commit/e8aa222e7d98d2e54c5604107a929a11cb1ef62d) | correctly resolve symbol for SafePropertyRead in chained optional navigation | | [![fix - 8d6c925392](https://img.shields.io/badge/8d6c925392-fix-green)](https://github.com/angular/angular/commit/8d6c925392c7230fbe6b39abdad05381672631b1) | record class extends clause references in DeferredSymbolTracker | ###### core | Commit | Description | | -- | -- | | [![fix - 8925a4ee49](https://img.shields.io/badge/8925a4ee49-fix-green)](https://github.com/angular/angular/commit/8925a4ee491aebaf6a1a74880c73dfb20e0a4ba1) | ensure i18n_util hasOwnProperty checks are safe for property renaming | | [![fix - 565dbb2fe5](https://img.shields.io/badge/565dbb2fe5-fix-green)](https://github.com/angular/angular/commit/565dbb2fe5406f2a86d43a5b3c6993434b7124a7) | incorrect loop in defer blocks | | [![fix - 9f8e32616b](https://img.shields.io/badge/9f8e32616b-fix-green)](https://github.com/angular/angular/commit/9f8e32616b79892785051fab1c3120a770f5f682) | reject prefixed SVG script hosts | ###### forms | Commit | Description | | -- | -- | | [![fix - 9e37a58e14](https://img.shields.io/badge/9e37a58e14-fix-green)](https://github.com/angular/angular/commit/9e37a58e14bd7955d40255e42e20aa84fcde02f4) | keep radio inputs in sync when values change | ###### http | Commit | Description | | -- | -- | | [![fix - 09bc90003e](https://img.shields.io/badge/09bc90003e-fix-green)](https://github.com/angular/angular/commit/09bc90003ed6e9f6c166e885503728af49d1af67) | always decode JSON responses as UTF-8 | ###### router | Commit | Description | | -- | -- | | [![feat - b65dea4f03](https://img.shields.io/badge/b65dea4f03-feat-blue)](https://github.com/angular/angular/commit/b65dea4f03e5fc01093a718c990c72ae9165c43f) | allow throwing RedirectCommand to trigger redirects | | [![fix - 435f8b2b8b](https://img.shields.io/badge/435f8b2b8b-fix-green)](https://github.com/angular/angular/commit/435f8b2b8b67277fc69888911251d14b32705828) | limit protocol-relative URL handling to serialization |