Angular v22 Released - Signals-First Era Stabilizes with Signal Forms and Default OnPush
By Vatsal Shah | June 24, 2026 | 5 min read | Source: Angular GitHub Releases
AI SUMMARY
- Signals maturity: The Angular v22 release on June 3, 2026, represents the culmination of a multi-year effort to pivot Angular into a signals-first reactive framework.
- Stable APIs: Key systems like Angular Signal Forms stable, the
resource()API, and accessibility integrations under Angular Aria have exited developer preview. - Default performance: The default change detection strategy for new components is now Angular default OnPush change detection, reducing unnecessary template checks.
- Modern HTTP backend: The framework has retired the legacy XMLHttpRequest, making the Angular Fetch client HTTP backend the standard for data retrieval.
- Error containment: A new
@boundarytemplate syntax introduces Angular boundary error handling, preventing template runtime crashes from tearing down whole subtrees.
What Happened
The Google Angular team has officially announced the general availability of the Angular v22 release as of June 3, 2026. This major framework release represents a definitive turning point for the ecosystem, establishing the signals-first reactive model as the primary, stable architectural path for web application development.
With v22, Angular has promoted its core reactive building blocks to stable API status. Developers can now utilize Angular Signal Forms stable for reactive forms, the asynchronous resource() API for remote data fetching, and the Angular Aria accessibility library without developer preview flags.
In addition to API stabilization, the release introduces major default configuration adjustments. To improve initial load times and runtime execution speed, the default change detection strategy has been switched to Angular default OnPush change detection. Furthermore, the default backend layer for Angular's HTTP client has transitioned to the modern Fetch API, officially deprecating the legacy XMLHttpRequest library. Finally, template-level error containment receives a massive upgrade with the introduction of the @boundary template control flow block, enabling clean runtime error isolation.

Why It Matters
For enterprise frontend architects, Angular v22 is the most significant upgrade since the transition to Standalone Components. The framework is moving away from its historically heavy, zone-based runtime to a fine-grained, localized reactivity model.
The Signal-First Reactive Topology
In traditional Angular, the framework relies on Zone.js to intercept asynchronous operations and trigger a global change detection sweep. Under the new signal-first model, change detection is directed exclusively to the nodes that have modified signals.
Signal Update Event ──► [Local Signal Registry] ──► [Direct Template binding Update]
│
▼
Skip Global ZoneJS Dirty Checks (Zero Overhead)
By bypassing Zone.js, applications execute template updates with minimal CPU footprint. To understand how these changes compare to trends in other major frontend libraries, see my detailed review on React in 2026: Signals, Compiler, and Hydration Trends.
The Default OnPush Shift
Historically, new Angular components defaulted to the "Default" change detection strategy, which runs checks on every component in the rendering tree whenever any event occurs. Switching to Angular default OnPush change detection shifts the responsibility to explicit data inputs or reactive signals.
Under OnPush, Angular only runs change detection on a component if:
- An
@Input()reference changes. - An event handler inside the component template fires.
- An active signal within the component template receives an updated value.
This shift resolves a persistent performance bottleneck in complex corporate dashboards. However, migrating existing codebases requires developers to carefully audit their model references. For legacy codebases targeting edge runtimes, see Serverless Edge Monoliths: Architectural Tradeoffs for 2026.

:::insight — Vatsal's Expert Take
Angular v22 is not just a version bump; it is the death certificate of Zone.js. For years, Zone.js was both Angular's magic wand and its performance curse, intercepting everything from mouse moves to microtasks to force global redraws.
With v22 making OnPush the default and stabilizing Signal Forms, the Angular team is giving developers the tools to build truly lightweight, high-performance web applications. The transition of the HTTP client to the Fetch API also aligns the framework with modern browser standards and edge computing environments.
If you are maintaining an enterprise Angular application, I recommend the following three-step upgrade strategy:
- Adopt Signal Forms immediately: Replace your classic Reactive Forms with the new signal-based form controls. They reduce change detection cycles and simplify state tracking.
- Implement
@boundaryblocks: Add error boundaries around complex dashboard cards and external widget imports to prevent a single third-party API error from bricking the entire user interface. - Graduate to zoneless execution: While Zone.js is still supported for backward compatibility, compile new submodules with zoneless configurations to measure memory and performance improvements.
:::
Technical Details: Fetch Defaults & Template Error Boundaries
The migration of the HTTP client layer represents a significant modernization of the core framework. By adopting the Angular Fetch client HTTP backend, Angular can leverage modern web standards, including streaming responses, service worker interception, and standard Request/Response objects.
[HttpClient Request] ──► [HTTP Fetch Backend Client] ──► [Native Fetch API Browser Layer]
│
▼
Zero XMLHttpRequest Overhead
This change results in minor bundle size reductions and native compatibility with serverless and edge runtime environments, where XMLHttpRequest is generally unsupported.
Template-Level Error Boundaries
The introduction of the @boundary template control flow block brings native error isolation to Angular templates. This feature, known as Angular boundary error handling, allows developers to define fallback UI segments directly in HTML.
For example, a dashboard template can now handle widget failures cleanly:
@boundary {
<app-complex-financial-chart />
} @catch (error) {
<div class=\class="tok-str">"error-card\">
<p>Failed to load chart data: {{ error.message }}</p>
</div>
}
If the throws a rendering error or fails during instantiation, Angular intercepts the exception, prevents it from propagating up to the parent component, and renders the @catch block instead. This ensures high application availability even when individual components fail.

What to Watch Next
- Zoneless CLI Scaffold Defaults: Look for future Angular CLI updates where Zone.js is completely excluded from the initial project template. By v23, we expect zoneless compilation to become the default project template setting.
- Third-Party Component Parity: Observe major third-party component libraries (like Angular Material, PrimeNG, and NG-ZORRO) as they rewrite their core components to leverage Signal Forms and native OnPush change detection.
- Enterprise Adoption Velocities: Monitor whether large enterprises prioritize the migration to v22. The potential reduction in rendering latency makes this release a high-priority update for financial and real-time dashboard applications.
Sources
- Angular GitHub Releases — Angular v22.0.0
- The Next Web — Angular v22 Signals Maturity
- Angular Developer Portal — Signal Forms Specification