1 Features Released with 20.0.0
Browse Other Releases
Top Contributors in 20.0.0
Directory Browser for 20.0.0
We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.
Release Notes Published
@angular/cli
| Commit | Description |
| -- | -- |
| | add Node.js 24 as supported version |
|
| remove Node.js v18 support |
|
| update min Node.js support to 20.19, 22.12, and 24.0 |
|
| update minimum supported Node.js 22 version to 22.11.0 |
@schematics/angular
| Commit | Description |
| -- | -- |
| | Add global error listeners to new app generation |
|
| add migration to update
moduleResolution
to bundler
|
| | add migrations for server rendering updates |
|
| Add prompt for new apps to be zoneless |
|
| add update migration to keep previous style guide generation behavior |
|
| directly use
@angular/build
in new projects |
| | generate applications using TypeScript project references |
|
| generate libraries using TypeScript project references |
|
| remove
--server-routing
option |
| | use TypeScript module preserve option for new projects |
|
| add
@angular/ssr
dependency only when provideServerRendering
import has been updated |
| | add type checking of host bindings to strict config |
|
| application migration should migrate karma builder package |
|
| avoid empty polyfill option for new zoneless application |
|
| default component templates to not use
.ng.html
extension |
| | drop composite in tsconfig |
|
| ensure app-shell schematic consistently uses
withAppShell
|
| | ensure module discovery checks for an NgModule decorator |
|
| generate component templates with a
.ng.html
file extension |
| | generate components without a
.component
extension/type |
| | generate directives without a .directive extension/type |
|
| generate guards with a dash type separator |
|
| generate interceptors with a dash type separator |
|
| generate modules with a dash type separator |
|
| generate pipes with a dash type separator |
|
| generate resolvers with a dash type separator |
|
| generate services without a .service extension/type |
|
| infer app component name and path in server schematic |
|
| migrate
provideServerRoutesConfig
to provideServerRendering
|
| | relative tsconfig paths in references |
|
| remove empty
scripts
option value from new applications |
| | Remove experimental from zoneless |
|
| remove explicit
outputPath
option value from generated applications |
| | remove explicit index option from new applications |
|
| remove setting files tsconfig field with SSR/Server generation |
|
| set explicit type in library schematic |
|
| skip spec project reference for minimal ng new |
|
| support using default browser option when not present |
|
| use protected for class member |
@angular-devkit/build-angular
| Commit | Description |
| -- | -- |
| | respect i18nDuplicateTranslation option when duplicates exist |
@angular-devkit/schematics
| Commit | Description |
| -- | -- |
| | remove deprecated
NodePackageLinkTask
|
@angular/build
| Commit | Description |
| -- | -- |
| | add experimental vitest browser support to unit-testing |
|
| add experimental vitest unit-testing support |
|
| allow control of source map sources content for application builds |
|
| drop support for TypeScript older than 5.8 |
|
| expand browser support policy to widely available Baseline |
|
| integrate Chrome automatic workspace folders |
|
| support a default outputPath option for applications |
|
| support custom resolution conditions with applications |
|
| Support Sass package importers |
|
| allow a default application
browser
option |
| | allow component HMR for templates with i18n |
|
| allow TestBed provider configuration with vitest unit-testing |
|
| allow vitest-based unit testing to use watch option |
|
| disable TypeScript
composite
option with Angular compiler |
| | enable unit-test builder watch outside CI |
|
| enable unit-test reporters option |
|
| ensure
com.chrome.devtools.json
is consistently served after initial run |
| | ensure disabled vitest config loading |
|
| ensure matching coverage excludes with karma on Windows |
|
| exclude only source test files with unit-test vitest support |
|
| invalidate
com.chrome.devtools.json
if project is moved |
| | perform testing module cleanup when using Vitest |
|
| provide direct debugging support for unit test builder |
|
| provide vitest globals in unit-test builder |
|
| revert setup unit-test polyfills before TestBed init |
|
| setup unit-test polyfills before TestBed init |
|
| show unit-test error for missing vitest browser package |
|
| show unit-test error for missing vitest package |
|
| use global unit-test hooks during TestBed init |
|
| use virtual module for Karma TestBed initialization |
|
| warn and remove jsdom launcher when used with karma |
|
| directly check code for Angular partial linking |
@angular/pwa
| Commit | Description |
| -- | -- |
| | support using default index option when not present |
@angular/ssr
| Commit | Description |
| -- | -- |
| | expose
provideServerRendering
and remove provideServerRouting
|
| | stabilize
AngularNodeAppEngine
, AngularAppEngine
, and provideServerRouting
APIs |
| | manage unhandled errors in zoneless applications |
|
| return 302 when redirectTo is a function |
|
| SSR should work without
@angular/router
|
| | flush headers prior to start rendering the HTML |
|
| optimize response times by introducing header flushing |
|
| optimized request handling performance |
@ngtools/webpack
| Commit | Description |
| -- | -- |
| | disable TypeScript composite option with Angular compiler |
Breaking Changes
@schematics/angular
--server-routing
option has been removed from several schematics. Server routing will be used when using the application builder. ### @angular/cli- Node.js v18 is no longer supported with Angular.
Before updating a project to Angular v20, the Node.js version must be at least 20.19.0. For the full list of supported Node.js versions, see https://angular.dev/reference/versions. - Node.js versions from 22.0 to 22.10 are no longer supported
@angular-devkit/schematics
- The
NodePackageLinkTask
has been removed without a replacement. Create a custom task if needed.
Note: This does not affect application developers.
@angular/build
- TypeScript versions less than 5.8 are no longer supported.