2 Features Released with 19.0.0
Browse Other Releases
Top Contributors in 19.0.0
Directory Browser for 19.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
<a name="19.0.0"></a>
19.0.0 (2024-11-19)
@angular/cli
| Commit | Description |
| -- | -- |
|  | handle string key/value pairs, e.g. --define |
| 
 | recommend optional application update migration during v19 update |
| 
 | enable Node.js compile code cache when available |
| 
 | enable Node.js compile code cache when available |
@schematics/angular
| Commit | Description |
| -- | -- |
|  | add option to export component as default |
| 
 | add option to setup new workspace or application as zoneless mode |
| 
 | integrate 
withEventReplay() in provideClientHydration for new SSR apps |
|  | update app-shell and ssr schematics to adopt new Server Rendering API |
| 
 | component spec with export default |
| 
 | don't show server routing prompt when using 
browser builder |
|  | enable opt-in for new 
@angular/ssr feature |
|  | explicitly set standalone:false |
| 
 | remove 
declaration and sourceMap from default tsconfig |
|  | use default import for 
express |
@angular-devkit/schematics-cli
| Commit | Description |
| -- | -- |
|  | add package manager option to blank schematic |
@angular-devkit/architect
| Commit | Description |
| -- | -- |
|  | merge object options from CLI |
@angular-devkit/build-angular
| Commit | Description |
| -- | -- |
|  | karma-coverage w/ app builder |
| 
 | karma+esbuild+watch |
| 
 | support karma with esbuild |
| 
 | bring back style tags in browser builder |
| 
 | fix --watch regression in karma |
| 
 | fix hanging terminal when 
browser-sync is not installed |
|  | handle basename collisions |
| 
 | handle main field |
| 
 | remove double-watch in karma |
| 
 | serve assets |
| 
 | zone.js/testing + karma + esbuild |
| 
 | remove deprecated 
browserTarget |
|  | remove Protractor builder and schematics |
@angular-devkit/core
| Commit | Description |
| -- | -- |
|  | remove deprecated 
fileBuffer function in favor of stringToFileBuffer |
@angular/build
| Commit | Description |
| -- | -- |
|  | add 
sass to stylePreprocessorOptions in application builder |
|  | Auto-CSP support as a part of angular.json schema |
| 
 | enable component stylesheet hot replacement by default |
| 
 | introduce 
outputMode option to the application builder |
|  | introduce 
ssr.experimentalPlatform option |
|  | set development/production condition |
| 
 | utilize 
ssr.entry during prerendering to enable access to local API routes |
|  | utilize 
ssr.entry in Vite dev-server when available |
|  | add missing redirect in SSR manifest |
| 
 | add warning when 
--prerendering or --app-shell are no-ops |
|  | always clear dev-server error overlay on non-error result |
| 
 | always record component style usage for HMR updates |
| 
 | avoid hashing development external component stylesheets |
| 
 | avoid overwriting inline style bundling additional results |
| 
 | check referenced files against native file paths |
| 
 | correctly use dev-server hmr option to control stylesheet hot replacement |
| 
 | disable dev-server websocket when live reload is disabled |
| 
 | ensure 
index.csr.html is always generated when prerendering or SSR are enabled |
|  | ensure accurate content size in server asset metadata |
| 
 | ensure SVG template URLs are considered templates with external stylesheets |
| 
 | Exclude known 
--import from execArgv when spawning workers |
|  | fully disable component style HMR in JIT mode |
| 
 | handle 
APP_BASE_HREF correctly in prerendered routes |
|  | incomplete string escaping or encoding |
| 
 | move lmdb to optionalDependencies |
| 
 | prevent prerendering of catch-all routes |
| 
 | relax constraints on external stylesheet component id |
| 
 | set 
ngServerMode during vite prebundling |
|  | simplify disabling server features with 
--no-server via command line |
|  | skip wildcard routes from being listed as prerendered routes |
| 
 | synchronize import/export conditions between bundler and TypeScript |
| 
 | update logic to support both internal and external SSR middlewares |
| 
 | use named export 
reqHandler for server.ts request handling |
|  | workaround Vite CSS ShadowDOM hot replacement |
| 
 | remove automatic addition of 
@angular/localize/init polyfill and related warnings |
@angular/ssr
| Commit | Description |
| -- | -- |
|  | add 
createRequestHandler and createNodeRequestHandlerutilities |
|  | Add 
getHeaders Method to AngularAppEngine and AngularNodeAppEngine for handling pages static headers |
|  | add 
isMainModule function |
|  | add server routing configuration API |
| 
 | dynamic route resolution using Angular router |
| 
 | export 
AngularAppEngine as public API |
|  | expose 
writeResponseToNodeResponse and createWebRequestFromNodeRequest in public API |
|  | improve handling of aborted requests in 
AngularServerApp |
|  | introduce 
AngularNodeAppEngine API for Node.js integration |
|  | introduce new hybrid rendering API |
| 
 | move 
CommonEngine API to /node entry-point |
|  | add missing peer dependency on 
@angular/platform-server |
|  | add validation to prevent use of 
provideServerRoutesConfig in browser context |
|  | correct route extraction and error handling |
| 
 | designate package as side-effect free |
| 
 | enable serving of prerendered pages in the App Engine |
| 
 | ensure wildcard RenderMode is applied when no Angular routes are defined |
| 
 | export 
RESPONSE_INIT, REQUEST, and REQUEST_CONTEXT tokens |
|  | export PrerenderFallback |
| 
 | improve handling of route mismatches between Angular server routes and Angular router |
| 
 | initialize the DI tokens with 
null to avoid requiring them to be set to optional |
|  | resolve 
bootstrap is not a function error |
|  | resolve circular dependency issue from main.server.js reference in manifest |
| 
 | show error when multiple routes are set with 
RenderMode.AppShell |
|  | support for HTTP/2 request/response handling |
| 
 | use wildcard server route configuration on the '/' route when the app router is empty |
| 
 | cache generated inline CSS for HTML |
| 
 | cache resolved entry-points |
| 
 | integrate ETags for prerendered pages |
| 
 | prevent potential stampede in entry-points cache |
Breaking Changes
@schematics/angular
- The app-shell schematic is no longer compatible with Webpack-based builders. ### @angular-devkit/build-angular
- The browserTargetoption has been removed from the DevServer and ExtractI18n builders.buildTargetis to be used instead.
- Protractor is no longer supported.
Protractor was marked end-of-life in August 2023 (see https://protractortest.org/). Projects still relying on Protractor should consider migrating to another E2E testing framework, several support solid migration paths from Protractor.
- https://angular.dev/tools/cli/end-to-end
- https://blog.angular.dev/the-state-of-end-to-end-testing-with-angular-d175f751cb9c
### @angular-devkit/core
- The deprecated fileBufferfunction is no longer available. Update your code to usestringToFileBufferinstead to maintain compatibility.
 
- The deprecated 
Note: that this change does not affect application developers.
@angular/build
- The @angular/localize/initpolyfill will no longer be added automatically to projects. To prevent runtime issues, ensure that this polyfill is manually included in the "polyfills" section of your "angular.json" file if your application relies on Angular localization features. ### @angular/ssr
- The CommonEngineAPI now needs to be imported from@angular/ssr/node.
Before
  ts
  import { CommonEngine } from '@angular/ssr';
After
  ts
  import { CommonEngine } from '@angular/ssr/node';
