Skip to content

20.0.0

Compare
Choose a tag to compare
@jkrems jkrems released this 28 May 14:52
· 132 commits to main since this release

@angular/cli

Commit Description
fix - e513cd4aa add Node.js 24 as supported version
fix - 5e90c1b4e remove Node.js v18 support
fix - 787e510dc update min Node.js support to 20.19, 22.12, and 24.0
fix - 64732534e update minimum supported Node.js 22 version to 22.11.0

@schematics/angular

Commit Description
feat - e03f2b899 Add global error listeners to new app generation
feat - 1e137ca84 add migration to update moduleResolution to bundler
feat - 26fd4ea73 add migrations for server rendering updates
feat - 5876577af Add prompt for new apps to be zoneless
feat - fdc6291dd add update migration to keep previous style guide generation behavior
feat - 093c5a315 directly use @angular/build in new projects
feat - d6f594fe0 generate applications using TypeScript project references
feat - 0ab1ddf63 generate libraries using TypeScript project references
feat - 18e13e2ce remove --server-routing option
feat - 03180fe03 use TypeScript module preserve option for new projects
fix - 86d241629 add @angular/ssr dependency only when provideServerRendering import has been updated
fix - 9e6b9b537 add type checking of host bindings to strict config
fix - 8654b3fea application migration should migrate karma builder package
fix - c557a19ef avoid empty polyfill option for new zoneless application
fix - 90615a88b default component templates to not use .ng.html extension
fix - 672ae14cd drop composite in tsconfig
fix - da6ef626f ensure app-shell schematic consistently uses withAppShell
fix - f126f8d34 ensure module discovery checks for an NgModule decorator
fix - dc2f65999 generate component templates with a .ng.html file extension
fix - 23fc8e1e1 generate components without a .component extension/type
fix - 8d715fa94 generate directives without a .directive extension/type
fix - 5fc595144 generate guards with a dash type separator
fix - 040282d8f generate interceptors with a dash type separator
fix - 070d60fb3 generate modules with a dash type separator
fix - e6083b57b generate pipes with a dash type separator
fix - 92e193c0b generate resolvers with a dash type separator
fix - bc0f07b48 generate services without a .service extension/type
fix - ea1143ddd infer app component name and path in server schematic
fix - bcc0892a6 migrate provideServerRoutesConfig to provideServerRendering
fix - 5e8c6494d relative tsconfig paths in references
fix - 381d35fe4 remove empty scripts option value from new applications
fix - 148498c2b Remove experimental from zoneless
fix - a910fe9ae remove explicit outputPath option value from generated applications
fix - 901ab60d9 remove explicit index option from new applications
fix - be6f13ec1 remove setting files tsconfig field with SSR/Server generation
fix - 661609e3e set explicit type in library schematic
fix - 0f7dc2cd8 skip spec project reference for minimal ng new
fix - 3cf6ab0f7 support using default browser option when not present
fix - b13805a77 use protected for class member

@angular-devkit/build-angular

Commit Description
fix - a42e045ba respect i18nDuplicateTranslation option when duplicates exist

@angular-devkit/schematics

Commit Description
refactor - e6be37601 remove deprecated NodePackageLinkTask

@angular/build

Commit Description
feat - d6ea6b09f add experimental vitest browser support to unit-testing
feat - 12def3a2e add experimental vitest unit-testing support
feat - c1de63300 allow control of source map sources content for application builds
feat - 31c81e9c6 drop support for TypeScript older than 5.8
feat - e80963036 expand browser support policy to widely available Baseline
feat - 3c9172159 integrate Chrome automatic workspace folders
feat - 9b682e625 support a default outputPath option for applications
feat - d067cedf0 support custom resolution conditions with applications
feat - f4be83119 Support Sass package importers
fix - f36a27272 allow a default application browser option
fix - f42f5c14c allow component HMR for templates with i18n
fix - e36bf964a allow TestBed provider configuration with vitest unit-testing
fix - 769961e4a allow vitest-based unit testing to use watch option
fix - 3e24a59a9 disable TypeScript composite option with Angular compiler
fix - b155ba1dc enable unit-test builder watch outside CI
fix - 7bb1f8747 enable unit-test reporters option
fix - 05485ede7 ensure com.chrome.devtools.json is consistently served after initial run
fix - 7877d9a97 ensure disabled vitest config loading
fix - c8c73185a ensure matching coverage excludes with karma on Windows
fix - aec95042b exclude only source test files with unit-test vitest support
fix - 5bea3de4c invalidate com.chrome.devtools.json if project is moved
fix - 1cd65a08d perform testing module cleanup when using Vitest
fix - c51a540ce provide direct debugging support for unit test builder
fix - c7f2cb596 provide vitest globals in unit-test builder
fix - d2bfc6bd4 revert setup unit-test polyfills before TestBed init
fix - 0d40cdecd setup unit-test polyfills before TestBed init
fix - fa3dc6387 show unit-test error for missing vitest browser package
fix - 247cd3352 show unit-test error for missing vitest package
fix - eee816f79 use global unit-test hooks during TestBed init
fix - 566de64cb use virtual module for Karma TestBed initialization
fix - 52fbffcd7 warn and remove jsdom launcher when used with karma
perf - 5ff6188c4 directly check code for Angular partial linking

@angular/pwa

Commit Description
fix - fa0a06f9f support using default index option when not present

@angular/ssr

Commit Description
feat - 33b9de3eb expose provideServerRendering and remove provideServerRouting
feat - cdfc50c29 stabilize AngularNodeAppEngine, AngularAppEngine, and provideServerRouting APIs
fix - 319b8e0c2 manage unhandled errors in zoneless applications
fix - 2d11e8e45 return 302 when redirectTo is a function
fix - 059c10eb4 SSR should work without @angular/router
perf - 63428f3f1 flush headers prior to start rendering the HTML
perf - 280693231 optimize response times by introducing header flushing
perf - 6bd7b9b4a optimized request handling performance

@ngtools/webpack

Commit Description
fix - 427bd846f 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.