Skip to content
verdict:

Angular 22.1.0

notable

ok: safe to upgrade

0 breaking changes5 key points

Adds HTTP caching options and CSS variable namespacing, deprecates JSONP, and lists no breaking changes.

summary · from the release notes only · claude-haiku-5-5 · prompt v7

key points

release-notesgithub.com/angular/angular · 66 lines
  1. ### common
  2. | Commit | Description |
  3. | -- | -- |
  4. | [![fix - 1ad6824d0d](https://img.shields.io/badge/1ad6824d0d-fix-green)](https://github.com/angular/angular/commit/1ad6824d0dd17a0515ad0544cf435d1e3af6982e) | skip transfer cache for uncacheable HTTP traffic (#69017) |
  5. ### compiler
  6. | Commit | Description |
  7. | -- | -- |
  8. | [![feat - af5e4e1131](https://img.shields.io/badge/af5e4e1131-feat-blue)](https://github.com/angular/angular/commit/af5e4e113130427ba8152166b4d904dd177c982e) | Add an error for --global-foo cases (#68846) |
  9. | [![feat - d579ecaf73](https://img.shields.io/badge/d579ecaf73-feat-blue)](https://github.com/angular/angular/commit/d579ecaf733db325f628cc11a28688fa0dad85ee) | Disable '--global-' error outside of g3 (#68846) |
  10. | [![feat - f98547675c](https://img.shields.io/badge/f98547675c-feat-blue)](https://github.com/angular/angular/commit/f98547675cd2026bb755671b28dea4e6d48eb7bb) | Namespace CSS variables to the app (#68846) |
  11. | [![feat - 8c8b2f7783](https://img.shields.io/badge/8c8b2f7783-feat-blue)](https://github.com/angular/angular/commit/8c8b2f77831236b23ca99ccb62e6197ff43b400d) | Support css var namespacing in properties (#68846) |
  12. | [![fix - 292199aa4d](https://img.shields.io/badge/292199aa4d-fix-green)](https://github.com/angular/angular/commit/292199aa4dd4cbf09f14c20bd7049d6ab55d83f4) | permissive whitespace parsing in default never blocks |
  13. | [![fix - 25c744c4d0](https://img.shields.io/badge/25c744c4d0-fix-green)](https://github.com/angular/angular/commit/25c744c4d0abd3bfe863ed2d528fea756ec5801b) | support foreign components defined outside top-level scope |
  14. | [![fix - 5bd00add07](https://img.shields.io/badge/5bd00add07-fix-green)](https://github.com/angular/angular/commit/5bd00add071e404ddab318eea82db81b5715a194) | support foreign components inside control flow blocks (#69674) |
  15. | [![perf - 2e442f7876](https://img.shields.io/badge/2e442f7876-perf-orange)](https://github.com/angular/angular/commit/2e442f787627a1f44d8b6463a1cb979ef6f7e049) | do not emit tag name when control flow root is foreign component (#69674) |
  16. ### compiler-cli
  17. | Commit | Description |
  18. | -- | -- |
  19. | [![fix - aeb55c8bc1](https://img.shields.io/badge/aeb55c8bc1-fix-green)](https://github.com/angular/angular/commit/aeb55c8bc101dc313dc64f83f4428ddfad28d54e) | allow passing uninvoked signals as foreign component props |
  20. | [![fix - 7c60a98b3c](https://img.shields.io/badge/7c60a98b3c-fix-green)](https://github.com/angular/angular/commit/7c60a98b3ccc2090f3bfb3c76d6207f37a5df0ff) | support import aliases in foreignImports (#68674) |
  21. ### core
  22. | Commit | Description |
  23. | -- | -- |
  24. | [![feat - 124ba10ead](https://img.shields.io/badge/124ba10ead-feat-blue)](https://github.com/angular/angular/commit/124ba10ead58c9f93b0b74c4102022c4674db1f5) | add custom set option to linkedSignal |
  25. | [![feat - eab4847a8b](https://img.shields.io/badge/eab4847a8b-feat-blue)](https://github.com/angular/angular/commit/eab4847a8bd1b47ba630ca9b20c85770f990c717) | Adds deep linking from Performance panel to DevTools |
  26. | [![fix - 091456a214](https://img.shields.io/badge/091456a214-fix-green)](https://github.com/angular/angular/commit/091456a2146d81b225fa9322a9ebde24695aaad0) | account for namespaces in host binding sanitization (#69558) |
  27. | [![fix - b3748e9fe4](https://img.shields.io/badge/b3748e9fe4-fix-green)](https://github.com/angular/angular/commit/b3748e9fe4a4f9f56f9843b448db59674ad01452) | correct container anchor collection order to match DOM layout |
  28. | [![fix - 11b206b919](https://img.shields.io/badge/11b206b919-fix-green)](https://github.com/angular/angular/commit/11b206b919074149f2db6e3640a55284aecfe48a) | introduce disposal mechanism for Angular views in foreign `@content` |
  29. | [![fix - 56607967db](https://img.shields.io/badge/56607967db-fix-green)](https://github.com/angular/angular/commit/56607967dbba25e63f86fd128ec0c1c4ce3e5232) | introduce logical-only containers for foreign content |
  30. | [![fix - 23cf1a828b](https://img.shields.io/badge/23cf1a828b-fix-green)](https://github.com/angular/angular/commit/23cf1a828be0d5bd29ce84cb904b5df9ed67f544) | sanitize host bindings on concrete hosts (#69558) |
  31. | [![fix - 0c07356c5c](https://img.shields.io/badge/0c07356c5c-fix-green)](https://github.com/angular/angular/commit/0c07356c5c9dc76a532d7d4ecf43d8fce81b405b) | set current tnode in foreign component instruction on reuse |
  32. ### forms
  33. | Commit | Description |
  34. | -- | -- |
  35. | [![fix - bbbd357bd2](https://img.shields.io/badge/bbbd357bd2-fix-green)](https://github.com/angular/angular/commit/bbbd357bd2b29f0b04578e3fa651418df4aefc67) | add utility to assert that value is a field tree |
  36. ### http
  37. | Commit | Description |
  38. | -- | -- |
  39. | [![feat - e3630c23c5](https://img.shields.io/badge/e3630c23c5-feat-blue)](https://github.com/angular/angular/commit/e3630c23c59445fc8bace5117283f20d6379dded) | add options to allow caching of credentialed and non-cacheable HTTP requests |
  40. | [![fix - ec16a3d6c6](https://img.shields.io/badge/ec16a3d6c6-fix-green)](https://github.com/angular/angular/commit/ec16a3d6c6785992197bc0ae81afb1e699232f64) | enable xsrf for root-provided HttpClient |
  41. | [![fix - 39e362eea5](https://img.shields.io/badge/39e362eea5-fix-green)](https://github.com/angular/angular/commit/39e362eea5603fa36bda436c9f03d9304960c1ea) | match header values exactly when deleting |
  42. | [![fix - be46ca8696](https://img.shields.io/badge/be46ca8696-fix-green)](https://github.com/angular/angular/commit/be46ca869642aefebb0236fd87843c9e2367ea81) | preserve immutability of materialized clones |
  43. | [![fix - c0cbd46bd7](https://img.shields.io/badge/c0cbd46bd7-fix-green)](https://github.com/angular/angular/commit/c0cbd46bd77443749444f816de1e0df4ede28c96) | skip transfer cache for fetch credentialed requests (#69017) |
  44. | [![refactor - af04e266cc](https://img.shields.io/badge/af04e266cc-refactor-yellow)](https://github.com/angular/angular/commit/af04e266cc9df4502802b565ccbb9928f10f51f5) | deprecate jsonp support |
  45. ### language-service
  46. | Commit | Description |
  47. | -- | -- |
  48. | [![feat - 7f0265e43a](https://img.shields.io/badge/7f0265e43a-feat-blue)](https://github.com/angular/angular/commit/7f0265e43ab9f6b1ab9ad0ae84e70a40db417417) | compile non-exported classes if standalone (#68454) |
  49. | [![feat - 4f9c824dd9](https://img.shields.io/badge/4f9c824dd9-feat-blue)](https://github.com/angular/angular/commit/4f9c824dd9ec4462d29ed07b5e7916be86c19e84) | Typecheck templates which would require inline typecheck blocks (#68454) |
  50. | [![fix - a99fb915c0](https://img.shields.io/badge/a99fb915c0-fix-green)](https://github.com/angular/angular/commit/a99fb915c09b352ac67f24e71af84cda30bcbf3e) | account for strictTemplates being enabled by default |
  51. ### migrations
  52. | Commit | Description |
  53. | -- | -- |
  54. | [![feat - c75ff0255c](https://img.shields.io/badge/c75ff0255c-feat-blue)](https://github.com/angular/angular/commit/c75ff0255c3d5ee16f94a9969cd611ab2e02d4a2) | add migration from injectable to service |
  55. | [![fix - 5d5b2ea72d](https://img.shields.io/badge/5d5b2ea72d-fix-green)](https://github.com/angular/angular/commit/5d5b2ea72d03ffc2350e66e202cbca0bf491a5f2) | correctly detect `then`/`else` keywords in control flow migration |
  56. ### platform-server
  57. | Commit | Description |
  58. | -- | -- |
  59. | [![fix - cf9d7fa0f8](https://img.shields.io/badge/cf9d7fa0f8-fix-green)](https://github.com/angular/angular/commit/cf9d7fa0f8090bae61bb4fa2f50d6f0570412e6e) | harden platform location origin validation during SSR (#69184) |
  60. ### router
  61. | Commit | Description |
  62. | -- | -- |
  63. | [![feat - 97a3fd6a55](https://img.shields.io/badge/97a3fd6a55-feat-blue)](https://github.com/angular/angular/commit/97a3fd6a55eccabf7c9adfb33f745c8d1da6d3e9) | handle null and undefined inputs in RouterLinkActive |
  64. ## Deprecations
  65. ### http
  66. - `HttpClient.jsonp`, `HttpClientJsonpModule`, and related JSONP classes/functions are deprecated. Use standard HTTP requests instead.

view on githubimported 2026-09-28 via npm