Angular version tracker

206 changes
Release notes
  • merge object options from CLI

  • 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`

    refactor
  • remove Protractor builder and schematics

    refactor
  • remove deprecated `fileBuffer` function in favor of `stringToFileBuffer`

    refactor
  • add package manager option to blank schematic

  • 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

    refactor
  • 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

  • add `createRequestHandler` and `createNodeRequestHandler `utilities

  • 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

  • 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`

  • add optional rounded transform support in cloudinary image loader

  • automatically use sizes auto in NgOptimizedImage

  • disable keyvalue sorting using null compareFn

  • add diagnostic for unused standalone imports

  • add support for the `typeof` keyword in template expressions.

  • `this.a` should always refer to class property `a`

  • add more specific matcher for hydrate never block

  • avoid having to duplicate core environment

  • control flow nodes with root at the end projected incorrectly

  • fix `:host` parsing in pseudo-selectors

  • fix multiline selectors

  • handle typeof expressions in serializer

  • ignore placeholder-only i18n messages

  • resolve `:host:host-context(.foo)`

  • transform chained pseudo-selectors

  • 'strictStandalone' flag enforces standalone

  • ensure template style elements are preprocessed as inline styles

  • generate the HMR replacement module

  • disable standalone by default on older versions of Angular

  • do not fail fatal when references to non-existent module are discovered

  • do not report unused declarations coming from an imported array

  • incorrectly generating relative file paths on case-insensitive platforms

  • make the unused imports diagnostic easier to read

  • report individual diagnostics for unused imports

  • reduce duplicate component style resolution

  • Add a schematics to migrate to `standalone: false`.

  • Add async `run` method on `ExperimentalPendingTasks`

  • Add incremental hydration public api

  • Add rxjs operator prevent app stability until an event

  • add syntactic sugar for initializers

  • allow passing `undefined` without needing to include it in the type argument of `input`

  • allow running output migration on a subset of paths

  • change effect() execution timing & no-op `allowSignalWrites`

  • drop support for TypeScript 5.4

  • experimental `resource()` API for async dependencies

  • experimental impl of `rxResource()`

  • flipping the default value for `standalone` to `true`

  • initial version of the output migration

  • introduce `afterRenderEffect`

  • introduce debugName optional arg to framework signal functions

  • introduce the reactive linkedSignal

  • mark input, output and model APIs as stable

  • mark signal-based query APIs as stable

  • migrate ExperimentalPendingTasks to PendingTasks

  • promote `outputFromObservable` & `outputToObservable` to stable.

  • Promote `takeUntilDestroyed` to stable.

  • stabilize `@let` syntax

  • support TypeScript 5.6

  • treat directives, pipes, components as by default

  • allow signal write error

  • avoid breaking change with apps using rxjs 6.x

  • clean up event contract once hydration is done

  • ComponentFixture autoDetect feature works like production

  • Ensure the `ViewContext` is retained after closure minification

  • fallback to default ng-content with empty projectable nodes.

  • Fix fixture.detectChanges with autoDetect disabled and zoneless

  • fixes issues with control flow and incremental hydration

  • prevent errors on contract cleanup

  • Prevents trying to trigger incremental hydration on CSR

  • Re-assign error codes to be within core bounds (<1000)

  • resolve forward-referenced host directives during directive matching

  • rethrow errors during ApplicationRef.tick in TestBed

  • Schedulers run in zone above Angular rather than root

  • set encapsulation to `None` for empty component styles

  • remove deprecated `factories` Property in `KeyValueDiffers`

    refactor
  • support `output()`-shaped outputs

  • switch to `ComponentRef.setInput` & remove custom scheduler

  • add ability to clear a FormRecord

  • fix FormRecord type inference

  • promote `withRequestsMadeViaParent` to stable.

  • preserve all headers from Headers object

  • add code fix for unused standalone imports

  • add code reactoring action to migrate `@Input` to signal-input

  • allow code refactorings to compute edits asynchronously

  • support converting to signal queries in VSCode extension

  • support migrating full classes to signal inputs in VSCode

  • support migrating full classes to signal queries

  • The suppress diagnostics option should work for external templates

  • remove deprecated `name` option.

    refactor
  • add a combined migration for all signals APIs

  • add schematic to migrate to signal queries

  • capture output migration stats

  • expose output as function migration

  • introduce signal input migration as `ng generate` schematic

  • migrate .pipe calls in outputs used in tests

  • print output migration stats in ng generate

  • remove complete calls for migrated outputs

  • replace .next usage on outputs

  • add outputs migration to combined shorthand

  • change imports to be G3 compatible

  • do not migrate next calls in template if not an EventEmitter

  • flip the default standalone flag in route-lazy-loading migration

  • include the output migration in the defaults of the signal migration

  • inject migration always inserting generated variables before super call

  • inject migration not inserting generated code after super call in some cases

  • migrate more .next output usages

  • properly bundle shared compiler code into migrations

  • properly handle comments in output migration

  • properly migrate output aliases

  • properly replace imports across files

  • properly resolve tsconfig paths on windows

  • replace removed NgModules in tests with their exports

  • correctly add external stylesheets to ShadowDOM components

  • remove deprecated `BrowserModule.withServerTransition` method

    refactor
  • destroy `PlatformRef` when error happens during the `bootstrap()` phase

  • Add `routerOutletData` input to `RouterOutlet` directive

  • Align RouterModule.forRoot errorHandler with provider error handler

  • remove setter for `injector` on `OutletContext`

  • Update Resolve interface to include RedirectCommand like ResolveFn

  • allow specifying maxAge for entire application

  • finish implementation of refreshAhead feature