Angular 20 Release Notes
Angular 20, released on May 28, 2025, continues the framework's evolution with a focus on polishing in-progress features for a more robust developer experience. This major version builds on reactivity advancements like Signals and introduces refinements to core components, enhanced build tools, and better integration with modern web standards. It includes contributions from over 225 developers across the framework, CLI, and components since the v19 release.
Key themes emphasize performance optimizations, zoneless application support, and alignment with Material Design 3 (M3) specifications. Angular 20 maintains compatibility with TypeScript 5.6 and higher, while supporting browsers based on the "widely available" baseline for broad reach. This release is ideal for building scalable web applications, with seamless upgrades from previous versions via the Angular CLI.
Zoneless Application Support
Zoneless mode, introduced in earlier versions, reaches greater maturity in Angular 20. It allows developers to run applications without zone.js, leading to smaller bundle sizes, faster change detection, and improved debugging. Enable it by opting into the zoneless change detection strategy in your bootstrap configuration.
This feature enhances interoperability with other libraries and reduces overhead in server-side rendering scenarios. The Angular CDK and Material libraries now fully support zoneless execution, making it production-ready for new projects.
Build Tool Enhancements
The esbuild-based builder, default since v17, sees further optimizations in v20. Development servers using Vite and multi-file compilation deliver quicker hot module replacement and faster initial loads. Production builds benefit from advanced tree-shaking and code splitting.
New CLI commands streamline migrations, such as automated updates for deprecated APIs. These changes cut build times by up to 20% in large codebases, improving the overall workflow for teams.
Component Polish and Material Design 3 Alignment
Angular Material components receive significant refinements to better match the Material Design 3 (M3) specification. The button component, for instance, gains updated styling for elevation, color roles, and tonal variants, ensuring consistency across applications.
Other components like cards, chips, and navigation elements incorporate M3 principles for improved accessibility and visual hierarchy. Developers can theme these with CSS custom properties for easy customization without overriding styles.
Signals and Reactivity Improvements
Building on Signals from v16, Angular 20 introduces computed signals with better dependency tracking and effect cleanup. This leads to more predictable reactivity in templates and services, reducing boilerplate for state management.
Integration with RxJS observables is smoother, allowing seamless mixing of reactive patterns. These updates make complex data flows easier to reason about and debug.
Performance Optimizations
Core runtime performance sees gains through optimized hydration for server-side rendered apps and deferred loading strategies. Bundle analyzers in the CLI provide deeper insights into lazy-loaded modules.
Change detection cycles are more efficient in zoneless mode, with benchmarks showing up to 15% faster rendering in dynamic UIs. These improvements benefit mobile and high-interaction applications.
Developer Experience Enhancements
The Angular Language Service integrates tighter with VS Code, offering inline diagnostics for Signals and template expressions. New schematics automate setup for standalone components and control flow syntax from v17.
Testing utilities expand with better mocks for HTTP interceptors and router events, speeding up unit tests. Documentation updates include interactive tutorials for zoneless migration.
Standard Library and API Updates
Router: Enhanced guards with async resolvers and query parameter serialization. Forms: Improved validation messages and reactive form patching.
HTTP Client: Built-in support for AbortController signals. Animations: Stagger effects optimized for lists. Common: New pipes for date formatting and currency localization.
These additions reduce reliance on third-party libraries while maintaining backward compatibility.
Deprecations
Legacy module-based bootstrapping is deprecated in favor of standalone APIs. Zone.js polyfills are marked for removal in future versions. Older router events like NavigationStart are phased out.
ViewEncapsulation.Native is deprecated due to browser inconsistencies. Update guides in the CLI help identify and migrate these usages.
Removals
Removed support for IE11 polyfills and older Node.js versions below 18. Unused internal APIs from pre-v16 eras are cleaned up. NgModule-based lazy loading redirects to standalone equivalents.
These removals slim down the framework, focusing resources on modern web platforms.
TypeScript and Browser Compatibility
Requires TypeScript 5.6 or later for full feature support. Browser baseline targets Chrome 120+, Firefox 115+, Safari 17+, and Edge 120+, covering 95% of users.
Differential loading for legacy browsers is no longer default. Use the update guide for polyfill adjustments if needed.
Migration and Support
Upgrade from v19 using ng update @angular/cli@20, which runs automated migrations for zoneless opt-in and component updates. Test for deprecations with ng lint.
Angular 20 follows semantic versioning with quarterly minor releases and annual majors. Full support until May 2026, with security patches extended. Follow @angular on X for announcements and check the blog for detailed changelogs.