All commits for Angular 20.x releases
| Type | Package | Version | Description |
|---|---|---|---|
| fix | router | 20.3.32 | avoid dense elements allocation for numeric URL keys |
| fix | platform-server | 20.3.31 | update domino to latest version |
| fix | platform-server | 20.3.30 | avoid stripping unicode whitespace during url resolution |
| fix | platform-server | 20.3.30 | update domino to latest version |
| fix | platform-browser | 20.3.29 | disallow event handler attributes in Meta |
| fix | core | 20.3.28 | sanitize host bindings on concrete hosts |
| fix | http | 20.3.28 | match header values exactly when deleting |
| fix | http | 20.3.28 | preserve immutability of materialized clones |
| fix | http | 20.3.28 | run root interceptors in the terminal request chain |
| fix | compiler | 20.3.27 | disallow i18n event attributes |
| fix | compiler | 20.3.27 | restrict possible event handler check to property names longer than 2 characters |
| fix | http | 20.3.27 | distinguish repeated transfer cache params |
| fix | platform-server | 20.3.27 | update domino to latest version |
| fix | compiler-cli | 20.3.26 | update babel dependencies to latest v7 |
| fix | core | 20.3.26 | avoid caching missing locale data |
| fix | core | 20.3.26 | reject dynamic script host elements |
| fix | http | 20.3.26 | prevent caching of responses with Set-Cookie headers |
| fix | service-worker | 20.3.26 | preserve referrer in asset requests |
| fix | service-worker | 20.3.26 | preserve referrer policy in asset requests |
| fix | common | 20.3.25 | Limits date format string length |
| fix | common | 20.3.25 | skip transfer cache for uncacheable HTTP traffic |
| fix | common | 20.3.25 | use cryptographically secure SHA-256 for transfer cache key generation |
| fix | compiler | 20.3.25 | sanitize two-way properties |
| fix | core | 20.3.25 | harden TransferState restoration against DOM clobbering |
| fix | core | 20.3.25 | validate lowercase SVG animation attribute names |
| fix | http | 20.3.25 | preserve empty referrer option in HttpRequest |
| fix | http | 20.3.25 | Rejects non-HTTP(S) URLs in JSONP requests |
| fix | http | 20.3.25 | skip transfer cache for fetch credentialed requests |
| fix | platform-server | 20.3.25 | harden platform location origin validation during SSR |
| refactor | platform-server | 20.3.25 | deprecate ServerXhr |
| fix | service-worker | 20.3.25 | Strips sensitive headers on cross-origin redirects |
| fix | platform-server | 20.3.24 | throw on suspicious URLs and restrict protocol-relative URLs |
| fix | platform-server | 20.3.24 | update domino to latest version |
| fix | compiler | 20.3.23 | prevent namespaced SVG <style> elements from being stripped |
| fix | common | 20.3.22 | add upper bounds for digitsInfo |
| fix | common | 20.3.22 | sanitize placeholder |
| fix | compiler | 20.3.22 | normalize tag names with custom namespaces in DomElementSchemaRegistry |
| fix | compiler | 20.3.22 | sanitize dynamic href and xlink:href bindings on SVG a elements |
| fix | compiler | 20.3.22 | strip namespaced SVG script elements during template compilation |
| fix | core | 20.3.22 | normalize tag names in runtime i18n attribute security context lookup |
| fix | core | 20.3.22 | reject script element as a dynamic component host |
| fix | core | 20.3.22 | sanitize meta selectors |
| fix | core | 20.3.22 | support prefix-insensitive DOM schema lookups and compile-time i18n attribute validation |
| fix | core | 20.3.22 | synchronize core sanitization schema with compiler |
| fix | http | 20.3.22 | exclude withCredentials requests from transfer cache |
| fix | http | 20.3.22 | skip TransferCache for cookie-bearing requests by default |
| fix | platform-server | 20.3.22 | secure location and document initialization against SSRF and path hijack |
| fix | service-worker | 20.3.22 | preserve redirect policy on reconstructed asset requests |
| fix | service-worker | 20.3.22 | Preserves explicit 'credentials: omit' in asset requests |
| fix | service-worker | 20.3.22 | Preserves HTTP cache mode in asset group requests |
| fix | platform-server | 20.3.21 | add `allowedHosts` option to `renderModule` and `renderApplication` |
| fix | core | 20.3.20 | disallow event attribute bindings in host bindings unconditionally |
| fix | core | 20.3.20 | validate security-sensitive attributes in i18n bindings |
| fix | platform-server | 20.3.20 | ensure origin has a trailing slash when parsing url |
| fix | platform-server | 20.3.19 | prevent SSRF bypasses via protocol-relative and backslash URLs |
| fix | compiler | 20.3.18 | disallow translations of iframe src |
| fix | core | 20.3.18 | sanitize translated attribute bindings with interpolations |
| fix | core | 20.3.18 | sanitize translated form attributes |
| fix | core | 20.3.17 | block creation of sensitive URI attributes from ICU messages |
| fix | core | 20.3.16 | sanitize sensitive attributes on SVG script elements |
| fix | compiler | 20.3.15 | prevent XSS via SVG animation `attributeName` and MathML/SVG URLs |
| fix | http | 20.3.14 | prevent XSRF token leakage to protocol-relative URLs |
| fix | common | 20.3.11 | remove placeholder image listeners once view is removed |
| fix | compiler | 20.3.11 | support arbitrary nesting in :host-context() |
| fix | compiler | 20.3.11 | support commas in :host() argument |
| fix | compiler | 20.3.11 | support complex selectors in :nth-child() |
| fix | compiler | 20.3.11 | support one additional level of nesting in :host() |
| fix | core | 20.3.11 | skip leave animations on view swaps |
| fix | compiler-cli | 20.3.10 | make required inputs diagnostic less noisy |
| fix | migrations | 20.3.10 | Prevent removal of templates referenced with preceding whitespace characters |
| feat | common | 20.3.8 | Blocks IPv6 localhost from preconnect checks |
| fix | core | 20.3.8 | Clear lView from IcuIteratorState when stack is empty to prevent memory leak |
| fix | migrations | 20.3.8 | Do not remove a template if it is referenced even with a trailing semilocon |
| fix | router | 20.3.8 | handle parenthesized outlets without a name in DefaultUrlSerializer |
| fix | animations | 20.3.7 | account for `Element.animate` exceptions |
| fix | compiler | 20.3.7 | correctly compile long numeric HTML entities |
| fix | compiler-cli | 20.3.7 | missingStructuralDirective diagnostic produces false negatives |
| fix | core | 20.3.7 | pass element removal property through in all locations |
| fix | core | 20.3.7 | prevent duplicate nodes from being retained with fast `animate.leave`` calls |
| fix | router | 20.3.7 | Fix outlet serialization and parsing with no primary children |
| fix | router | 20.3.7 | Surface parse errors in Router.parseUrl |
| fix | core | 20.3.6 | update animation scheduling |
| fix | platform-browser | 20.3.6 | `DomEventsPlugin` should always be the last plugin to be called for `supports()`. |
| fix | compiler-cli | 20.3.5 | capture metadata for undecorated fields |
| perf | compiler-cli | 20.3.5 | fix performance of "interpolated signal not invoked" check |
| fix | core | 20.3.5 | fixes regression in `animate.leave` function bindings |
| fix | core | 20.3.5 | Prevents early style pruning with leave animations |
| fix | migrations | 20.3.5 | migrating input with more than 1 usage in a method |
| fix | migrations | 20.3.5 | remove error for no matching files in control flow migration |
| fix | router | 20.3.5 | Scroll restoration should use instant scroll behavior for traversals |
| fix | core | 20.3.4 | ensure missing leave animations don't queue leave animations |
| fix | core | 20.3.4 | Fixes animations in conjunction with content projection |
| fix | core | 20.3.4 | handle undefined CSS time values in parseCssTimeUnitsToMs function |
| fix | core | 20.3.4 | prevent early exit from leave animations when multiple transitions are present |
| fix | migrations | 20.3.4 | preserve component imports when pruning NgModules in standalone migration |
| fix | compiler | 20.3.3 | recover template literals with broken expressions |
| fix | core | 20.3.3 | do not rename ARIA property bindings to attributes |
| fix | core | 20.3.3 | Fixes animations in conjunction with content projection |
| fix | core | 20.3.3 | prevents unintended early termination of leave animations and hoisting |
| fix | migrations | 20.3.3 | handle shorthand property declarations in NgModule |
| fix | migrations | 20.3.3 | skip migration for inputs with 'this' references |
| fix | compiler-cli | 20.3.2 | capture metadata for undecorated fields |
| fix | compiler-cli | 20.3.2 | resolve import alias in defer blocks |
| fix | core | 20.3.2 | fix narrowing of `Resource.hasValue()` |
| fix | core | 20.3.2 | prevent animations renderer from impacting `animate.leave` |
| fix | forms | 20.3.2 | Emit `FormResetEvent` when resetting control |
| fix | migrations | 20.3.2 | handle import aliases to the same module name |
| fix | migrations | 20.3.2 | handle reused templates in control flow migration |
| fix | compiler | 20.3.1 | Add support for `aria-invalid` |
| fix | compiler-cli | 20.3.1 | only bind inputs that are part of microsyntax to a structural directive |
| fix | compiler-cli | 20.3.1 | signal not invoked diagnostic not raised when input has same name in template |
| fix | core | 20.3.1 | prevent animation events from being cleaned up on destroy |
| fix | core | 20.3.1 | Prevent leave animations on a move operation |
| fix | migrations | 20.3.1 | fix route-lazy-loading migration |
| fix | 20.3.0 | remove refresh button from transfer state tab | |
| feat | core | 20.3.0 | introduce `BootstrapContext` for improved server bootstrapping |
| fix | core | 20.2.4 | Fixed inject migration schematics for migrate destructured properties |
| fix | platform-server | 20.2.4 | prevent false warning for duplicate state serialization |
| fix | compiler | 20.2.3 | fixes regression with event parsing and animate prefix |
| fix | core | 20.2.3 | avoid injecting internal error handler from a destroyed injector |
| fix | core | 20.2.3 | Fix cancellation of animation enter classes |
| fix | core | 20.2.3 | Prevent an error on cleanup when an `rxResource` `stream` threw before returning an `Observable` |
| fix | compiler | 20.2.2 | fixes animations on elements with structural directives |
| fix | core | 20.2.2 | Ensures `@for` loop animations never get cancelled |
| fix | core | 20.2.2 | fix memory leak with leaving nodes tracking |
| fix | core | 20.2.2 | Fixes `animate.leave` binding to a string with spaces |
| fix | compiler | 20.2.1 | Keep paraenthesis in Nullish + Boolean expression. |
| refactor | animations | 20.2.0 | deprecate the animations package |
| fix | compiler | 20.2.0 | allow more characters in square-bracketed attribute names |
| fix | compiler | 20.2.0 | fixes animation event host bindings not firing |
| feat | compiler-cli | 20.2.0 | add diagnostic for uninvoked functions in text interpolation |
| fix | compiler-cli | 20.2.0 | display proper function in NG8117 message |
| fix | compiler-cli | 20.2.0 | Ignore diagnostics on ngTemplateContextGuard lines in TCB |
| fix | compiler-cli | 20.2.0 | prevent dom event assertion in TCB generation on older angular versions |
| feat | core | 20.2.0 | add enter and leave animation instructions |
| feat | core | 20.2.0 | add option to infer the tag names of components in tests |
| feat | core | 20.2.0 | Promote zoneless to stable |
| feat | core | 20.2.0 | render ARIA property bindings as attributes |
| feat | core | 20.2.0 | support `as` aliases on `else if` blocks |
| feat | core | 20.2.0 | support TypeScript 5.9 |
| fix | core | 20.2.0 | checks if body exists before continuing |
| fix | core | 20.2.0 | ensure animate events do not have duplicate elements |
| fix | core | 20.2.0 | Fix `animate.enter` class removal when composing classes |
| fix | core | 20.2.0 | fix support for space separated strings in leave animations |
| fix | core | 20.2.0 | fixes empty animations when recalculating styles |
| fix | core | 20.2.0 | fixes timing issues with enter animations |
| fix | core | 20.2.0 | handle cases where classes added have no animations |
| fix | core | 20.2.0 | prevents duplicate nodes when `@if` toggles with leave animations |
| fix | core | 20.2.0 | switch check to documentElement with chaining |
| refactor | core | 20.2.0 | deprecate animations field on component interface |
| feat | forms | 20.2.0 | add support for pushing an array of controls to formarray |
| feat | http | 20.2.0 | Add redirected property to HttpResponse and HttpErrorResponse |
| feat | http | 20.2.0 | add referrer & integrity support for fetch requests in httpResource |
| feat | http | 20.2.0 | Add support for fetch referrer & integrity options in HttpClient |
| fix | http | 20.2.0 | Add missing timeout and transferCache options to `HttpClient` |
| feat | language-service | 20.2.0 | support auto-import for attribute completions |
| feat | language-service | 20.2.0 | support to report the deprecated API in the template |
| fix | language-service | 20.2.0 | Support to resolve the re-export component. |
| feat | platform-browser | 20.2.0 | Warns on conflicting hydration and blocking navigation |
| feat | router | 20.2.0 | add a `currentNavigation` signal to the `Router` service. |
| feat | router | 20.2.0 | add a currentNavigation signal to the Router service. |
| fix | router | 20.2.0 | ensure preloaded components are properly activated |
| feat | service-worker | 20.2.0 | add messageerror event handling and logging |
| feat | service-worker | 20.2.0 | Adds for type in provideServiceWorker |
| feat | service-worker | 20.2.0 | Adds support for updateViaCache in provideServiceWorker |
| feat | service-worker | 20.2.0 | Improves storage full detection in data caching |
| feat | service-worker | 20.2.0 | Logs unhandled promise rejections in service worker |
| feat | service-worker | 20.2.0 | notify clients about version failures |
| fix | compiler | 20.1.8 | error when ng-content fallback has translated children |
| fix | compiler | 20.1.8 | incorrect source span for expression AST inside template attribute |
| fix | compiler-cli | 20.1.8 | account for expression with type arguments during HMR extraction |
| fix | compiler | 20.1.7 | incorrect spans for AST inside input value with leading space |
| fix | compiler-cli | 20.1.7 | error when type checking host bindings of generic directive |
| fix | core | 20.1.7 | destroying the effect on `afterRenderEffect` |
| fix | router | 20.1.7 | attempt to resolve component resources in JIT mode |
| fix | compiler-cli | 20.1.5 | correctly type check host listeners to own outputs |
| fix | core | 20.1.5 | properly recognize failed `fetch` responses when loading external resources in JIT |
| fix | http | 20.1.5 | Reset headers, progress, and statusCode when using `set()` in `HttpResource` |
| fix | migrations | 20.1.5 | incorrect filtering in inject migration |
| fix | compiler | 20.1.4 | exclude more safe reads expression from 2way-binding |
| fix | core | 20.1.4 | update symbols for new signals api |
| fix | http | 20.1.4 | add missing http options allowed in fetch API |
| fix | http | 20.1.4 | propagate plain errors when parsing fails |
| fix | core | 20.1.3 | fix change tracking for Resource#hasValue |
| fix | platform-browser | 20.1.3 | resolve component resources before bootstrapping in JIT mode |
| fix | compiler | 20.1.2 | fix detection of directive deps in JIT |
| fix | compiler | 20.1.1 | incorrect spans for left side of binary operation |
| fix | compiler | 20.1.1 | more permissive parsing of @ characters |
| fix | compiler-cli | 20.1.1 | infer type of event target for void elements |
| fix | core | 20.1.1 | Ensure application remains unstable during bootstrap |
| fix | core | 20.1.1 | InputBinding marks component a dirty. |
| fix | http | 20.1.1 | do not display warnings `Angular detected that a `HttpClient` request with the `keepalive` option was sent using XHR` when option is not true |
| fix | router | 20.1.1 | handle errors from view transition readiness |
| feat | common | 20.1.0 | add support for a custom EnvironmentInjector to NgComponentOutlet directive |
| feat | common | 20.1.0 | support decoding in NgOptimizedImage |
| feat | compiler | 20.1.0 | add support for new binary assignment operators |
| fix | compiler | 20.1.0 | only report parser errors on invalid expression |
| fix | compiler | 20.1.0 | produce more accurate errors for interpolations |
| fix | compiler | 20.1.0 | remove TypeScript from linker |
| feat | compiler-cli | 20.1.0 | add experimental support for fast type declaration emission |
| feat | compiler-cli | 20.1.0 | support host directives with direct external references in fast type declaration emission |
| fix | compiler-cli | 20.1.0 | add signal checks to handle negated calls |
| fix | compiler-cli | 20.1.0 | rename flag for enabling fast type declaration emission |
| fix | compiler-cli | 20.1.0 | symbol builder duplicating host directives |
| fix | compiler-cli | 20.1.0 | typo in NG2026 message |
| feat | core | 20.1.0 | Add `destroyed` property on `DestroyRef` |
| feat | core | 20.1.0 | Add `destroyed` property to `EnvironmentInjector` |
| feat | core | 20.1.0 | support bindings in TestBed |
| fix | core | 20.1.0 | fakeAsync should not depend on module import order |
| fix | core | 20.1.0 | Fixes template outlet hydration |
| fix | core | 20.1.0 | missing useExisting providers throwing for optional calls |
| fix | core | 20.1.0 | update min Node.js support to 20.19, 22.12, and 24.0 |
| perf | core | 20.1.0 | avoid intermediate arrays in definition |
| perf | core | 20.1.0 | move property remapping for dom properties to compiler |
| fix | forms | 20.1.0 | Allow ControlState as reset arguments for `FormGroup`/`FormRecord` |
| fix | forms | 20.1.0 | improve select performance |
| feat | http | 20.1.0 | add cache & priority support for fetch requests in httpResource |
| feat | http | 20.1.0 | add credentials support for fetch requests in httpResource |
| feat | http | 20.1.0 | add keepalive support for fetch requests in httpResource |
| feat | http | 20.1.0 | add mode & redirect for fetch request in httpResource |
| feat | http | 20.1.0 | Add support for fetch credentials options in HttpClient |
| feat | http | 20.1.0 | add support for fetch mode and redirect options in HttpClient |
| feat | http | 20.1.0 | Add support for fetch request cache and priority options |
| feat | http | 20.1.0 | add timeout option on httpResource. |
| feat | http | 20.1.0 | Add timeout option to HTTP requests |
| feat | http | 20.1.0 | add warning when withCredentials overrides explicit credentials |
| feat | language-service | 20.1.0 | add semantic tokens for templates |
| feat | language-service | 20.1.0 | Support importing the external module's export about the angular metadata. |
| feat | language-service | 20.1.0 | support to fix missing required inputs diagnostic |
| feat | router | 20.1.0 | Run `loadComponent` and `loadChildren` functions in the route's injection context |
| feat | service-worker | 20.1.0 | support notification closes |
| feat | service-worker | 20.1.0 | support push subscription changes |
| fix | compiler-cli | 20.0.7 | use proper name for diagnostic type |
| fix | compiler-cli | 20.0.5 | add suggestion when pipe is missing |
| fix | compiler-cli | 20.0.5 | handle initializer APIs wrapped in type casts |
| fix | core | 20.0.5 | allow to set a resource in an error state |
| fix | core | 20.0.5 | avoid injecting `ErrorHandler` from a destroyed injector |
| fix | core | 20.0.5 | unable to retrieve defer blocks in tests when component injects ViewContainerRef |
| fix | router | 20.0.5 | handle scrollRestoration error in restricted environments |
| fix | upgrade | 20.0.5 | Make zoneless work with hybrid apps |
| fix | core | 20.0.4 | Fixes template outlet hydration |
| fix | core | 20.0.4 | inject `APP_ID` before injector is destroyed |
| fix | core | 20.0.4 | Wrap ErrorEvent with no error property |
| fix | migrations | 20.0.4 | more robust trailing comma removal in unused imports migration |
| fix | core | 20.0.2 | components marked for traversal resets reactive context |
| fix | core | 20.0.2 | unregister `onDestroy` in `outputToObservable` |
| fix | compiler | 20.0.1 | move defer trigger assertions out of parser |
| fix | compiler | 20.0.1 | recover invalid parenthesized expressions |
| fix | core | 20.0.1 | `takeUntilDestroyed` completes immediately if DestroyRef already destroyed |
| fix | core | 20.0.1 | produce an error when incremental hydration is expected, but not configured |
| fix | core | 20.0.1 | properly handle the case where getSignalGraph is called on a componentless NodeInjector |
| fix | core | 20.0.1 | unregister `onDestroy` in `ResourceImpl` when `destroy()` is called |
| fix | core | 20.0.1 | unregister `onDestroy` when observable errors in `toSignal` |
| fix | migrations | 20.0.1 | avoid trailing whitespaces in unused imports migration |
| fix | service-worker | 20.0.1 | prevent duplicate fetches during concurrent update checks |
| fix | service-worker | 20.0.1 | update service worker to handle seeking better for videos |
| feat | common | 20.0.0 | accept undefined inputs in NgTemplateOutlet |
| feat | common | 20.0.0 | Allow passing ScrollOptions to ViewportScroller |
| feat | common | 20.0.0 | throw error for suspicious date patterns |
| fix | common | 20.0.0 | cleanup `updateLatestValue` if view is destroyed before promise resolves |
| fix | common | 20.0.0 | Handle errors in async pipe subscriptions |
| fix | common | 20.0.0 | issue a warning instead of an error when `NgOptimizedImage` exceeds the preload limit |
| fix | common | 20.0.0 | rename httpResource function in factory |
| fix | common | 20.0.0 | resolve host binding type issues |
| feat | compiler | 20.0.0 | add extended diagnostic for uninvoked track function on `@for` blocks |
| feat | compiler | 20.0.0 | support exponentiation operator in templates |
| feat | compiler | 20.0.0 | support tagged template literals in expressions |
| feat | compiler | 20.0.0 | support the `in` keyword in Binary expression |
| feat | compiler | 20.0.0 | support void operator in templates |
| fix | compiler | 20.0.0 | error if rawText isn't estimated correctly |
| fix | compiler | 20.0.0 | exponentiation should be right-to-left associative |
| fix | compiler | 20.0.0 | incorrect spans for template literals |
| fix | compiler | 20.0.0 | incorrectly handling let declarations inside i18n |
| fix | compiler | 20.0.0 | proper handling of typeof, void in RecursiveAstVisitor |
| fix | compiler | 20.0.0 | remove TypeScript from linker |
| perf | compiler | 20.0.0 | reduce allocations for let declarations only used in the same view |
| feat | compiler-cli | 20.0.0 | add extended diagnostic for invalid nullish coalescing |
| feat | compiler-cli | 20.0.0 | detect missing structural directive imports |
| feat | compiler-cli | 20.0.0 | support type checking of host bindings |
| fix | compiler-cli | 20.0.0 | avoid fatal diagnostics for invalid module schemas |
| fix | compiler-cli | 20.0.0 | avoid fatal diagnostics for missing template files |
| fix | compiler-cli | 20.0.0 | correctly parse event name in HostListener |
| fix | compiler-cli | 20.0.0 | preserve required parens for nullish coalescing |
| fix | compiler-cli | 20.0.0 | preserve required parens in exponentiation expressions |
| fix | compiler-cli | 20.0.0 | set correct target when type checking events |
| fix | compiler-cli | 20.0.0 | wrong event name for host listener decorators |
| feat | core | 20.0.0 | add hook for producer creation side effects |
| feat | core | 20.0.0 | add input binding support to dynamically-created components |
| feat | core | 20.0.0 | Add provider which reports unhandled errors on window to ErrorHandler |
| feat | core | 20.0.0 | add support for two-way bindings on dynamically-created components |
| feat | core | 20.0.0 | add the ability to apply directives to dynamically-created components |
| feat | core | 20.0.0 | drop support for TypeScript older than 5.8 |
| feat | core | 20.0.0 | emit template function for template related profiler hooks |
| feat | core | 20.0.0 | export signalGetFn from signal primitives |
| feat | core | 20.0.0 | Expose `Injector.destroy` on `Injector` created with `Injector.create` |
| feat | core | 20.0.0 | expose performance data in Chrome DevTools |
| feat | core | 20.0.0 | introduce new DI profiling event |
| feat | core | 20.0.0 | introduce TestBed.tick() |
| feat | core | 20.0.0 | mark `toObservable` as stable |
| feat | core | 20.0.0 | mark linkedSignal API as public |
| feat | core | 20.0.0 | mark the toSignal API as stable |
| feat | core | 20.0.0 | move `provideExperimentalCheckNoChangesForDebug` to `provideCheckNoChangesConfig` |
| feat | core | 20.0.0 | move DOCUMENT token into core |
| feat | core | 20.0.0 | Move zoneless change detection to dev preview |
| feat | core | 20.0.0 | remove InjectFlags from public API |
| feat | core | 20.0.0 | remove TestBed.get |
| feat | core | 20.0.0 | rename afterRender to afterEveryRender and stabilize |
| feat | core | 20.0.0 | stabilize incremental hydration api |
| feat | core | 20.0.0 | stabilize linkedSignal API |
| feat | core | 20.0.0 | Stabilize PendingTasks Injectable |
| feat | core | 20.0.0 | stabilize withI18nSupport() api |
| feat | core | 20.0.0 | support listening to outputs on dynamically-created components |
| feat | core | 20.0.0 | update Node.js version support |
| fix | core | 20.0.0 | add migration away from InjectFlags |
| fix | core | 20.0.0 | added @angular/compiler as a peer dependency |
| fix | core | 20.0.0 | call `DestroyRef` on destroy callback if view is destroyed |
| fix | core | 20.0.0 | Catch and report rejections in async function of `PendingTasks.run` |
| fix | core | 20.0.0 | defer block render failures should report to application error handler |
| fix | core | 20.0.0 | do not allow setInput to be used with inputBinding |
| fix | core | 20.0.0 | do not run change detection on global error events |
| fix | core | 20.0.0 | enable stashing only when `withEventReplay()` is invoked |
| fix | core | 20.0.0 | Ensure ComponentFixture does not duplicate error reporting from FakeAsync |
| fix | core | 20.0.0 | Ensure errors in listeners report to the application error handler |
| fix | core | 20.0.0 | fix typing on injector.get to omit 'any' |
| fix | core | 20.0.0 | fixes timing of hydration cleanup on control flow |
| fix | core | 20.0.0 | Flush animations when no component has been checked |
| fix | core | 20.0.0 | getting resource value throws an error instead of returning undefined |
| fix | core | 20.0.0 | handle different DI token types in Chrome DevTools integration |
| fix | core | 20.0.0 | inject migration should treat `@Attribute` as optional |
| fix | core | 20.0.0 | input targeting not checking if input exists on host |
| fix | core | 20.0.0 | mark `zone.js` as an optional peer dependency |
| fix | core | 20.0.0 | move reload method from Resource to WritableResource |
| fix | core | 20.0.0 | narrow error type for resources API |
| fix | core | 20.0.0 | prevent stash listener conflicts |
| fix | core | 20.0.0 | properly handle app stabilization with defer blocks |
| fix | core | 20.0.0 | reading resource value after reload in the error state |
| fix | core | 20.0.0 | reduce total memory usage of various migration schematics |
| fix | core | 20.0.0 | release `hasPendingTasks` observers |
| fix | core | 20.0.0 | remove `forceRoot` flag for effects |
| fix | core | 20.0.0 | remove `rejectErrors` option encourages uncaught exceptions |
| fix | core | 20.0.0 | Remove duplicate reporting of errors in `CDR.detectChanges` |
| fix | core | 20.0.0 | remove unused parameter from listener instruction |
| fix | core | 20.0.0 | run `ApplicationRef.prototype.bootstrap` in `NgZone` |
| fix | core | 20.0.0 | run root effects in creation order |
| fix | core | 20.0.0 | Surface errors from `ApplicationRef.tick` to callsite |
| fix | core | 20.0.0 | TestBed.tick should ensure test components are synchronized |
| fix | core | 20.0.0 | Testing should not throw when Zone does not patch test FW APIs |
| fix | core | 20.0.0 | update min Node.js support to 20.19, 22.12, and 24.0 |
| refactor | core | 20.0.0 | Deprecate the structural directives `ngIf`/`ngFor`/`ngSwitch`. |
| refactor | core | 20.0.0 | stop producing `ng-reflect` attributes by default |
| feat | forms | 20.0.0 | add markAllAsDirty to AbstractControl |
| feat | forms | 20.0.0 | Allow to reset a form without emitting events |
| fix | forms | 20.0.0 | Make sure statusChanges is emitted |
| fix | forms | 20.0.0 | resolve host binding type issues |
| feat | http | 20.0.0 | add keepalive support for fetch requests |
| fix | http | 20.0.0 | Delay stabilization until next app synchronization |
| refactor | platform-browser | 20.0.0 | Deprecate the `platform-browser-dynamic` package |
| refactor | platform-browser | 20.0.0 | Deprecate the HammerJS integration |
| refactor | platform-server | 20.0.0 | deprecate the testing entry point |
| feat | router | 20.0.0 | Add ability to directly abort a navigation |
| feat | router | 20.0.0 | add asynchronous redirects |
| feat | router | 20.0.0 | Allow resolvers to read resolved data from ancestors |
| feat | router | 20.0.0 | support custom elements for RouterLink |
| fix | router | 20.0.0 | Prevent dangling promise rejections from internal navigations |
| fix | router | 20.0.0 | relax required types on router commands to readonly array |
| fix | router | 20.0.0 | Remove 'any' type from route guards |
| fix | router | 20.0.0 | Scroller should scroll as soon as change detection completes |
| fix | @angular-devkit/build-angular | 20.3.37 | update undici to 7.29.1 |
| fix | @angular-devkit/build-angular | 20.3.36 | update less to 4.9.0 |
| fix | @angular/ssr | 20.3.36 | ensure public directory containment in CommonEngine |
| fix | @angular-devkit/build-angular | 20.3.35 | update webpack-dev-server to 5.2.6 |
| fix | @angular/cli | 20.3.34 | update dependency @modelcontextprotocol/sdk to v1.30.0 |
| fix | @angular-devkit/build-angular | 20.3.34 | bump undici to 7.29.0 |
| fix | @angular-devkit/build-angular | 20.3.33 | upgrade postcss to 8.5.23 |
| fix | @angular/build | 20.3.33 | upgrade postcss to 8.5.23 |
| fix | @angular-devkit/build-angular | 20.3.32 | update http-proxy-middleware to 3.0.7 |
| fix | @angular-devkit/build-angular | 20.3.31 | bump undici to 7.28.0 |
| fix | @angular/build | 20.3.31 | bump vite to 7.3.6 |
| fix | @angular/build | 20.3.30 | bump @babel/core to 7.29.7 |
| fix | @angular/build | 20.3.30 | bump esbuild to 0.28.1 |
| fix | @angular/build | 20.3.30 | bump piscina to 5.2.0 |
| fix | @angular/build | 20.3.30 | bump vite to 7.3.5 |
| fix | @angular/cli | 20.3.29 | update pacote to 21.5.1 |
| fix | @angular/ssr | 20.3.29 | prioritize options over environment variables in AngularNodeAppEngine |
| fix | @angular/cli | 20.3.28 | fallback to deprecated versions when resolving ranges if no non-deprecated version is found |
| fix | @angular/cli | 20.3.28 | remove forceAuth and unscoped credential parsing |
| fix | @angular/ssr | 20.3.27 | add support for configuring trusted proxy headers via environment variable |
| fix | @angular/ssr | 20.3.26 | allow all hosts in common engine rendering options to prevent validation errors |
| fix | @angular-devkit/build-angular | 20.3.25 | upgrade postcss to 8.5.12 |
| fix | @angular/ssr | 20.3.25 | introduce trustProxyHeaders option to safely validate and sanitize proxy headers |
| fix | @angular/build | 20.3.24 | update esbuild to `0.28.0` |
| fix | @angular/build | 20.3.23 | update vite to `7.3.2` |
| fix | @angular-devkit/build-angular | 20.3.22 | update picomatch to 4.0.4 |
| fix | @angular-devkit/core | 20.3.22 | update picomatch to 4.0.4 |
| fix | @angular/build | 20.3.22 | update picomatch to 4.0.4 |
| fix | @angular/ssr | 20.3.21 | disallow x-forwarded-prefix starting with a backslash |
| fix | @angular/ssr | 20.3.21 | ensure unique values in redirect response Vary header |
| fix | @angular/ssr | 20.3.21 | support custom headers in redirect responses |
| fix | @angular/build | 20.3.20 | pass process environment variables to prerender workers |
| fix | @angular-devkit/build-angular | 20.3.19 | update copy-webpack-plugin to v14.0.0 |
| fix | @angular-devkit/core | 20.3.18 | update `ajv` to `8.18.0` |
| fix | @angular/build | 20.3.18 | update rollup to 4.59.0 |
| fix | @angular/ssr | 20.3.17 | prevent open redirect via X-Forwarded-Prefix header |
| fix | @angular/ssr | 20.3.17 | validate host headers to prevent header-based SSRF |
| fix | @angular/cli | 20.3.16 | update dependency @modelcontextprotocol/sdk to v1.26.0 |
| fix | @angular/cli | 20.3.15 | update pacote to v21.0.4 |
| fix | @angular-devkit/build-angular | 20.3.15 | update webpack to version 5.104.1 |
| fix | @angular/cli | 20.3.14 | update dependency @modelcontextprotocol/sdk to v1.25.2 |
| fix | @angular/cli | 20.3.13 | update `@modelcontextprotocol/sdk` to v1.24.0 |
| fix | @angular/build | 20.3.12 | ensure correct URL joining for prerender routes |
| fix | @angular/ssr | 20.3.12 | handle `X-Forwarded-Prefix` and `APP_BASE_HREF` in redirects |
| fix | @angular/ssr | 20.3.12 | prevent redirect loop with encoded query parameters |
| fix | @angular/build | 20.3.11 | ensure `ɵgetOrCreateAngularServerApp` is always defined after errors |
| fix | @schematics/angular | 20.3.10 | correct `tsconfig.spec.json` include for spec files |
| fix | @angular/build | 20.3.10 | do not remove `@angular/localize` when having external packages |
| fix | @angular/ssr | 20.3.9 | improve locale handling in app-engine |
| fix | @angular/ssr | 20.3.9 | improve route matching for wildcard routes |
| fix | @angular-devkit/build-angular | 20.3.8 | expand jest and jest-environment-jsdom to allow version 30 |
| fix | @angular/build | 20.3.8 | add adapters to new reporter |
| fix | @angular/build | 20.3.8 | ensure locale data plugin runs before other plugins |
| fix | @angular/build | 20.3.8 | handle redirects from guards during prerendering |
| fix | @angular-devkit/schematics | 20.3.7 | respect `--force` option when schematic contains `host.create` |
| fix | @angular/build | 20.3.7 | resolve Angular locale data namespace in esbuild |
| fix | @angular/build | 20.3.7 | update `vite` to `7.11.1` |
| fix | @angular/ssr | 20.3.7 | correctly handle routes with matrix parameters |
| fix | @angular/ssr | 20.3.7 | ensure server-side navigation triggers a redirect |
| fix | @angular/ssr | 20.3.6 | prevent malicious URL from overriding host |
| fix | @angular/build | 20.3.5 | cleanup karma temporary directory after process exit |
| fix | @schematics/angular | 20.3.4 | Out of the box support for PM2 |
| fix | @schematics/angular | 20.3.4 | use bracket notation for `process.env['pm_id']` |
| fix | @angular-devkit/build-angular | 20.3.4 | mark `InjectionToken` as pure for improved tree-shaking |
| fix | @angular/build | 20.3.4 | mark `InjectionToken` as pure for improved tree-shaking |
| fix | @schematics/angular | 20.3.3 | add `__screenshots__/` to `.gitignore` |
| fix | @angular/ssr | 20.3.3 | avoid retaining rendered HTML in memory post-request |
| fix | @angular/build | 20.3.1 | add timestamp to bundle generation log |
| fix | @angular/build | 20.3.1 | update vite to version `7.1.5` |
| fix | @angular/cli | 20.3.0 | improve bun lockfile detection and optimize lockfile checks |
| fix | @schematics/angular | 20.3.0 | align labels in ai-config schema |
| fix | @angular-devkit/build-angular | 20.3.0 | avoid extra tick in SSR builds |
| fix | @angular/build | 20.3.0 | preserve names in esbuild for improved debugging in dev mode |
| feat | @angular/ssr | 20.3.0 | introduce BootstrapContext for isolated server-side rendering |
| fix | @angular/cli | 20.2.2 | don't set a default for array options when length is 0 |
| fix | @angular/cli | 20.2.2 | set process title when running architect commands |
| fix | @angular/build | 20.2.2 | avoid extra tick in SSR dev-server builds |
| fix | @angular/build | 20.2.2 | maintain media output hashing with vitest unit-testing |
| fix | @angular-devkit/schematics-cli | 20.2.1 | correctly set default array values |
| fix | @schematics/angular | 20.2.1 | directly resolve karma config template in migration |
| fix | @schematics/angular | 20.2.1 | prevent AI config schematic from failing when 'none' and other AI tools are selected |
| fix | @angular/cli | 20.2.1 | correctly set default array values |
| fix | @angular/build | 20.2.1 | correct JS/TS file paths when running under Bazel |
| fix | @angular/build | 20.2.1 | ensure karma polyfills reporter factory returns a value |
| feat | @schematics/angular | 20.2.0 | add migration to remove default Karma configurations |
| feat | @schematics/angular | 20.2.0 | add schematics to generate ai context files. |
| fix | @schematics/angular | 20.2.0 | allow AI config prompt to be skipped without selecting a value |
| fix | @schematics/angular | 20.2.0 | improve AI config prompt wording |
| fix | @schematics/angular | 20.2.0 | improve coverage directory handling for Karma configuration comparisons |
| fix | @schematics/angular | 20.2.0 | zoneless is now stable |
| feat | @angular/cli | 20.2.0 | add --experimental-tool option to mcp command |
| feat | @angular/cli | 20.2.0 | add --local-only option to mcp command |
| feat | @angular/cli | 20.2.0 | add --read-only option to mcp command |
| feat | @angular/cli | 20.2.0 | add modernize tool to the MCP server |
| fix | @angular/cli | 20.2.0 | add choices to command line parser when type is array and has an enum |
| fix | @angular/cli | 20.2.0 | address Node.js deprecation DEP0190 |
| fix | @angular/cli | 20.2.0 | apply default to array types |
| fix | @angular/cli | 20.2.0 | use correct path for MCP get_best_practices tool |
| fix | @angular-devkit/schematics | 20.2.0 | address Node.js deprecation DEP0190 |
| feat | @angular/build | 20.2.0 | add headless mode for vitest browser mode |
| fix | @schematics/angular | 20.1.6 | add extra prettier config |
| fix | @schematics/angular | 20.1.6 | correct configure the `typeSeparator` in the library schematic |
| fix | @angular/cli | 20.1.5 | cache MCP best practices content and add tool annotations |
| fix | @angular/cli | 20.1.4 | skip workspace-specific tools when outside a workspace |
| fix | @angular/build | 20.1.4 | skip vite transformation of CSS-like assets |
| fix | @angular/build | 20.1.3 | update `vite` to `7.0.6` |
| fix | @angular/cli | 20.1.2 | `define` option is being included multiple times in the JSON help |
| fix | @angular-devkit/core | 20.1.2 | use crypto.randomUUID instead of Date.now for unique string in tmp file names |
| fix | @angular/build | 20.1.1 | emit a warning when `outputHashing` is set to `all` or `bundles` when HMR is enabled |
| fix | @angular/build | 20.1.1 | normalize code coverage include paths to POSIX |
| feat | @schematics/angular | 20.1.0 | use signal in app component |
| feat | @angular/cli | 20.1.0 | add initial MCP server implementation |
| feat | @angular-devkit/build-angular | 20.1.0 | provide partial custom postcss configuration support |
| feat | @angular/build | 20.1.0 | add code coverage reporters option for unit-test |
| feat | @angular/build | 20.1.0 | add dataurl, base64 loaders |
| fix | @angular/build | 20.1.0 | adjust coverage includes/excludes for unit-test vitest runner |
| fix | @angular/build | 20.1.0 | coverage reporter option |
| fix | @angular/build | 20.1.0 | expose unit test and karma builder API |
| fix | @angular/build | 20.1.0 | improve default coverage reporter handling for vitest |
| fix | @angular/build | 20.1.0 | inject zone.js/testing before karma builder execution |
| fix | @angular/build | 20.1.0 | json and json-summary as vitest coverage reporters |
| fix | @angular/build | 20.1.0 | resolve "Controller is already closed" error in Karma |
| fix | @angular/build | 20.1.0 | support extra test setup files with unit-test vitest runner |
| fix | @angular/build | 20.1.0 | support injecting global styles into vitest unit-tests |
| fix | @angular/build | 20.1.0 | use an empty array as default value for vitest exclude |
| fix | @angular/build | 20.1.0 | use date/time based output path for vitest unit-test |
| fix | @angular/ssr | 20.1.0 | ensure `loadChildren` runs in correct injection context during route extraction |
| fix | @schematics/angular | 20.0.6 | remove constructor from service template |
| fix | @angular/build | 20.0.6 | correctly remap Angular diagnostics |
| fix | @angular/build | 20.0.6 | exclude `@vitest/browser/context` from esbuild bundling |
| fix | @angular/build | 20.0.6 | failed to proxy error for assets |
| fix | @angular-devkit/build-angular | 20.0.5 | remove unused `@vitejs/plugin-basic-ssl` dependency |
| fix | @angular/build | 20.0.5 | proxy karma request from `/` to `/base` |
| fix | @schematics/angular | 20.0.4 | add missing prettier config |
| fix | @angular/ssr | 20.0.4 | avoid preloading unnecessary dynamic bundles |
| fix | @angular/ssr | 20.0.4 | ensure correct referer header handling in web request conversion |
| fix | @schematics/angular | 20.0.3 | include `main.server.ts` in `tsconfig.files` when present |
| fix | @schematics/angular | 20.0.3 | reset module `typeSeparator` when generating applications |
| fix | @angular/build | 20.0.3 | include custom bundle name scripts with karma |
| fix | @angular/build | 20.0.3 | increase worker idle timeout |
| fix | @angular/build | 20.0.3 | set scripts option output as classic script for karma |
| fix | @schematics/angular | 20.0.2 | add `less` as a devDependency when selected as the style preprocessor |
| fix | @schematics/angular | 20.0.2 | correctly detect modules using new file extension format |
| fix | @angular/build | 20.0.2 | do not consider internal Angular files as external imports |
| fix | @schematics/angular | 20.0.1 | only overwrite JSON file if actually changed |
| fix | @schematics/angular | 20.0.1 | remove karma config devkit package usages during application migration |
| fix | @schematics/angular | 20.0.1 | skip zone.js dependency for zoneless applications |
| fix | @angular/cli | 20.0.1 | improve Node.js version check and error messages |
| fix | @angular/build | 20.0.1 | also disable outputMode in vitest unit-tests |
| fix | @angular/build | 20.0.1 | resolve junit karma reporter output to workspace root |
| fix | @angular/cli | 20.0.0 | add Node.js 24 as supported version |
| fix | @angular/cli | 20.0.0 | remove Node.js v18 support |
| fix | @angular/cli | 20.0.0 | update min Node.js support to 20.19, 22.12, and 24.0 |
| fix | @angular/cli | 20.0.0 | update minimum supported Node.js 22 version to 22.11.0 |
| feat | @schematics/angular | 20.0.0 | Add global error listeners to new app generation |
| feat | @schematics/angular | 20.0.0 | add migration to update `moduleResolution` to `bundler` |
| feat | @schematics/angular | 20.0.0 | add migrations for server rendering updates |
| feat | @schematics/angular | 20.0.0 | Add prompt for new apps to be zoneless |
| feat | @schematics/angular | 20.0.0 | add update migration to keep previous style guide generation behavior |
| feat | @schematics/angular | 20.0.0 | directly use `@angular/build` in new projects |
| feat | @schematics/angular | 20.0.0 | generate applications using TypeScript project references |
| feat | @schematics/angular | 20.0.0 | generate libraries using TypeScript project references |
| feat | @schematics/angular | 20.0.0 | remove `--server-routing` option |
| feat | @schematics/angular | 20.0.0 | use TypeScript module preserve option for new projects |
| fix | @schematics/angular | 20.0.0 | add `@angular/ssr` dependency only when `provideServerRendering` import has been updated |
| fix | @schematics/angular | 20.0.0 | add type checking of host bindings to strict config |
| fix | @schematics/angular | 20.0.0 | application migration should migrate karma builder package |
| fix | @schematics/angular | 20.0.0 | avoid empty polyfill option for new zoneless application |
| fix | @schematics/angular | 20.0.0 | default component templates to not use `.ng.html` extension |
| fix | @schematics/angular | 20.0.0 | drop composite in tsconfig |
| fix | @schematics/angular | 20.0.0 | ensure app-shell schematic consistently uses `withAppShell` |
| fix | @schematics/angular | 20.0.0 | ensure module discovery checks for an NgModule decorator |
| fix | @schematics/angular | 20.0.0 | generate component templates with a `.ng.html` file extension |
| fix | @schematics/angular | 20.0.0 | generate components without a `.component` extension/type |
| fix | @schematics/angular | 20.0.0 | generate directives without a .directive extension/type |
| fix | @schematics/angular | 20.0.0 | generate guards with a dash type separator |
| fix | @schematics/angular | 20.0.0 | generate interceptors with a dash type separator |
| fix | @schematics/angular | 20.0.0 | generate modules with a dash type separator |
| fix | @schematics/angular | 20.0.0 | generate pipes with a dash type separator |
| fix | @schematics/angular | 20.0.0 | generate resolvers with a dash type separator |
| fix | @schematics/angular | 20.0.0 | generate services without a .service extension/type |
| fix | @schematics/angular | 20.0.0 | infer app component name and path in server schematic |
| fix | @schematics/angular | 20.0.0 | migrate `provideServerRoutesConfig` to `provideServerRendering` |
| fix | @schematics/angular | 20.0.0 | relative tsconfig paths in references |
| fix | @schematics/angular | 20.0.0 | remove empty `scripts` option value from new applications |
| fix | @schematics/angular | 20.0.0 | Remove experimental from zoneless |
| fix | @schematics/angular | 20.0.0 | remove explicit `outputPath` option value from generated applications |
| fix | @schematics/angular | 20.0.0 | remove explicit index option from new applications |
| fix | @schematics/angular | 20.0.0 | remove setting files tsconfig field with SSR/Server generation |
| fix | @schematics/angular | 20.0.0 | set explicit type in library schematic |
| fix | @schematics/angular | 20.0.0 | skip spec project reference for minimal ng new |
| fix | @schematics/angular | 20.0.0 | support using default browser option when not present |
| fix | @schematics/angular | 20.0.0 | use protected for class member |
| fix | @angular-devkit/build-angular | 20.0.0 | respect i18nDuplicateTranslation option when duplicates exist |
| refactor | @angular-devkit/schematics | 20.0.0 | remove deprecated `NodePackageLinkTask` |
| feat | @angular/build | 20.0.0 | add experimental vitest browser support to unit-testing |
| feat | @angular/build | 20.0.0 | add experimental vitest unit-testing support |
| feat | @angular/build | 20.0.0 | allow control of source map sources content for application builds |
| feat | @angular/build | 20.0.0 | drop support for TypeScript older than 5.8 |
| feat | @angular/build | 20.0.0 | expand browser support policy to widely available Baseline |
| feat | @angular/build | 20.0.0 | integrate Chrome automatic workspace folders |
| feat | @angular/build | 20.0.0 | support a default outputPath option for applications |
| feat | @angular/build | 20.0.0 | support custom resolution conditions with applications |
| feat | @angular/build | 20.0.0 | Support Sass package importers |
| fix | @angular/build | 20.0.0 | allow a default application `browser` option |
| fix | @angular/build | 20.0.0 | allow component HMR for templates with i18n |
| fix | @angular/build | 20.0.0 | allow TestBed provider configuration with vitest unit-testing |
| fix | @angular/build | 20.0.0 | allow vitest-based unit testing to use watch option |
| fix | @angular/build | 20.0.0 | disable TypeScript `composite` option with Angular compiler |
| fix | @angular/build | 20.0.0 | enable unit-test builder watch outside CI |
| fix | @angular/build | 20.0.0 | enable unit-test reporters option |
| fix | @angular/build | 20.0.0 | ensure `com.chrome.devtools.json` is consistently served after initial run |
| fix | @angular/build | 20.0.0 | ensure disabled vitest config loading |
| fix | @angular/build | 20.0.0 | ensure matching coverage excludes with karma on Windows |
| fix | @angular/build | 20.0.0 | exclude only source test files with unit-test vitest support |
| fix | @angular/build | 20.0.0 | invalidate `com.chrome.devtools.json` if project is moved |
| fix | @angular/build | 20.0.0 | perform testing module cleanup when using Vitest |
| fix | @angular/build | 20.0.0 | provide direct debugging support for unit test builder |
| fix | @angular/build | 20.0.0 | provide vitest globals in unit-test builder |
| fix | @angular/build | 20.0.0 | revert setup unit-test polyfills before TestBed init |
| fix | @angular/build | 20.0.0 | setup unit-test polyfills before TestBed init |
| fix | @angular/build | 20.0.0 | show unit-test error for missing vitest browser package |
| fix | @angular/build | 20.0.0 | show unit-test error for missing vitest package |
| fix | @angular/build | 20.0.0 | use global unit-test hooks during TestBed init |
| fix | @angular/build | 20.0.0 | use virtual module for Karma TestBed initialization |
| fix | @angular/build | 20.0.0 | warn and remove jsdom launcher when used with karma |
| perf | @angular/build | 20.0.0 | directly check code for Angular partial linking |
| fix | @angular/pwa | 20.0.0 | support using default index option when not present |
| feat | @angular/ssr | 20.0.0 | expose `provideServerRendering` and remove `provideServerRouting` |
| feat | @angular/ssr | 20.0.0 | stabilize `AngularNodeAppEngine`, `AngularAppEngine`, and `provideServerRouting` APIs |
| fix | @angular/ssr | 20.0.0 | manage unhandled errors in zoneless applications |
| fix | @angular/ssr | 20.0.0 | return 302 when redirectTo is a function |
| fix | @angular/ssr | 20.0.0 | SSR should work without `@angular/router` |
| perf | @angular/ssr | 20.0.0 | flush headers prior to start rendering the HTML |
| perf | @angular/ssr | 20.0.0 | optimize response times by introducing header flushing |
| perf | @angular/ssr | 20.0.0 | optimized request handling performance |
| fix | @ngtools/webpack | 20.0.0 | disable TypeScript composite option with Angular compiler |
avoid dense elements allocation for numeric URL keys
update domino to latest version
avoid stripping unicode whitespace during url resolution
update domino to latest version
disallow event handler attributes in Meta
sanitize host bindings on concrete hosts
match header values exactly when deleting
preserve immutability of materialized clones
run root interceptors in the terminal request chain
disallow i18n event attributes
restrict possible event handler check to property names longer than 2 characters
distinguish repeated transfer cache params
update domino to latest version
update babel dependencies to latest v7
avoid caching missing locale data
reject dynamic script host elements
prevent caching of responses with Set-Cookie headers
preserve referrer in asset requests
preserve referrer policy in asset requests
Limits date format string length
skip transfer cache for uncacheable HTTP traffic
use cryptographically secure SHA-256 for transfer cache key generation
sanitize two-way properties
harden TransferState restoration against DOM clobbering
validate lowercase SVG animation attribute names
preserve empty referrer option in HttpRequest
Rejects non-HTTP(S) URLs in JSONP requests
skip transfer cache for fetch credentialed requests
harden platform location origin validation during SSR
deprecate ServerXhr
Strips sensitive headers on cross-origin redirects
throw on suspicious URLs and restrict protocol-relative URLs
update domino to latest version
prevent namespaced SVG <style> elements from being stripped
add upper bounds for digitsInfo
sanitize placeholder
normalize tag names with custom namespaces in DomElementSchemaRegistry
sanitize dynamic href and xlink:href bindings on SVG a elements
strip namespaced SVG script elements during template compilation
normalize tag names in runtime i18n attribute security context lookup
reject script element as a dynamic component host
sanitize meta selectors
support prefix-insensitive DOM schema lookups and compile-time i18n attribute validation
synchronize core sanitization schema with compiler
exclude withCredentials requests from transfer cache
skip TransferCache for cookie-bearing requests by default
secure location and document initialization against SSRF and path hijack
preserve redirect policy on reconstructed asset requests
Preserves explicit 'credentials: omit' in asset requests
Preserves HTTP cache mode in asset group requests
add `allowedHosts` option to `renderModule` and `renderApplication`
disallow event attribute bindings in host bindings unconditionally
validate security-sensitive attributes in i18n bindings
ensure origin has a trailing slash when parsing url
prevent SSRF bypasses via protocol-relative and backslash URLs
disallow translations of iframe src
sanitize translated attribute bindings with interpolations
sanitize translated form attributes
block creation of sensitive URI attributes from ICU messages
sanitize sensitive attributes on SVG script elements
prevent XSS via SVG animation `attributeName` and MathML/SVG URLs
prevent XSRF token leakage to protocol-relative URLs
remove placeholder image listeners once view is removed
support arbitrary nesting in :host-context()
support commas in :host() argument
support complex selectors in :nth-child()
support one additional level of nesting in :host()
skip leave animations on view swaps
make required inputs diagnostic less noisy
Prevent removal of templates referenced with preceding whitespace characters
Blocks IPv6 localhost from preconnect checks
Clear lView from IcuIteratorState when stack is empty to prevent memory leak
Do not remove a template if it is referenced even with a trailing semilocon
handle parenthesized outlets without a name in DefaultUrlSerializer
account for `Element.animate` exceptions
correctly compile long numeric HTML entities
missingStructuralDirective diagnostic produces false negatives
pass element removal property through in all locations
prevent duplicate nodes from being retained with fast `animate.leave`` calls
Fix outlet serialization and parsing with no primary children
Surface parse errors in Router.parseUrl
update animation scheduling
`DomEventsPlugin` should always be the last plugin to be called for `supports()`.
capture metadata for undecorated fields
fix performance of "interpolated signal not invoked" check
fixes regression in `animate.leave` function bindings
Prevents early style pruning with leave animations
migrating input with more than 1 usage in a method
remove error for no matching files in control flow migration
Scroll restoration should use instant scroll behavior for traversals
ensure missing leave animations don't queue leave animations
Fixes animations in conjunction with content projection
handle undefined CSS time values in parseCssTimeUnitsToMs function
prevent early exit from leave animations when multiple transitions are present
preserve component imports when pruning NgModules in standalone migration
recover template literals with broken expressions
do not rename ARIA property bindings to attributes
Fixes animations in conjunction with content projection
prevents unintended early termination of leave animations and hoisting
handle shorthand property declarations in NgModule
skip migration for inputs with 'this' references
capture metadata for undecorated fields
resolve import alias in defer blocks
fix narrowing of `Resource.hasValue()`
prevent animations renderer from impacting `animate.leave`
Emit `FormResetEvent` when resetting control
handle import aliases to the same module name
handle reused templates in control flow migration
Add support for `aria-invalid`
only bind inputs that are part of microsyntax to a structural directive
signal not invoked diagnostic not raised when input has same name in template
prevent animation events from being cleaned up on destroy
Prevent leave animations on a move operation
fix route-lazy-loading migration
remove refresh button from transfer state tab
introduce `BootstrapContext` for improved server bootstrapping
Fixed inject migration schematics for migrate destructured properties
prevent false warning for duplicate state serialization
fixes regression with event parsing and animate prefix
avoid injecting internal error handler from a destroyed injector
Fix cancellation of animation enter classes
Prevent an error on cleanup when an `rxResource` `stream` threw before returning an `Observable`
fixes animations on elements with structural directives
Ensures `@for` loop animations never get cancelled
fix memory leak with leaving nodes tracking
Fixes `animate.leave` binding to a string with spaces
Keep paraenthesis in Nullish + Boolean expression.
deprecate the animations package
allow more characters in square-bracketed attribute names
fixes animation event host bindings not firing
add diagnostic for uninvoked functions in text interpolation
display proper function in NG8117 message
Ignore diagnostics on ngTemplateContextGuard lines in TCB
prevent dom event assertion in TCB generation on older angular versions
add enter and leave animation instructions
add option to infer the tag names of components in tests
Promote zoneless to stable
render ARIA property bindings as attributes
support `as` aliases on `else if` blocks
support TypeScript 5.9
checks if body exists before continuing
ensure animate events do not have duplicate elements
Fix `animate.enter` class removal when composing classes
fix support for space separated strings in leave animations
fixes empty animations when recalculating styles
fixes timing issues with enter animations
handle cases where classes added have no animations
prevents duplicate nodes when `@if` toggles with leave animations
switch check to documentElement with chaining
deprecate animations field on component interface
add support for pushing an array of controls to formarray
Add redirected property to HttpResponse and HttpErrorResponse
add referrer & integrity support for fetch requests in httpResource
Add support for fetch referrer & integrity options in HttpClient
Add missing timeout and transferCache options to `HttpClient`
support auto-import for attribute completions
support to report the deprecated API in the template
Support to resolve the re-export component.
Warns on conflicting hydration and blocking navigation
add a `currentNavigation` signal to the `Router` service.
add a currentNavigation signal to the Router service.
ensure preloaded components are properly activated
add messageerror event handling and logging
Adds for type in provideServiceWorker
Adds support for updateViaCache in provideServiceWorker
Improves storage full detection in data caching
Logs unhandled promise rejections in service worker
notify clients about version failures
error when ng-content fallback has translated children
incorrect source span for expression AST inside template attribute
account for expression with type arguments during HMR extraction
incorrect spans for AST inside input value with leading space
error when type checking host bindings of generic directive
destroying the effect on `afterRenderEffect`
attempt to resolve component resources in JIT mode
correctly type check host listeners to own outputs
properly recognize failed `fetch` responses when loading external resources in JIT
Reset headers, progress, and statusCode when using `set()` in `HttpResource`
incorrect filtering in inject migration
exclude more safe reads expression from 2way-binding
update symbols for new signals api
add missing http options allowed in fetch API
propagate plain errors when parsing fails
fix change tracking for Resource#hasValue
resolve component resources before bootstrapping in JIT mode
fix detection of directive deps in JIT
incorrect spans for left side of binary operation
more permissive parsing of @ characters
infer type of event target for void elements
Ensure application remains unstable during bootstrap
InputBinding marks component a dirty.
do not display warnings `Angular detected that a `HttpClient` request with the `keepalive` option was sent using XHR` when option is not true
handle errors from view transition readiness
add support for a custom EnvironmentInjector to NgComponentOutlet directive
support decoding in NgOptimizedImage
add support for new binary assignment operators
only report parser errors on invalid expression
produce more accurate errors for interpolations
remove TypeScript from linker
add experimental support for fast type declaration emission
support host directives with direct external references in fast type declaration emission
add signal checks to handle negated calls
rename flag for enabling fast type declaration emission
symbol builder duplicating host directives
typo in NG2026 message
Add `destroyed` property on `DestroyRef`
Add `destroyed` property to `EnvironmentInjector`
support bindings in TestBed
fakeAsync should not depend on module import order
Fixes template outlet hydration
missing useExisting providers throwing for optional calls
update min Node.js support to 20.19, 22.12, and 24.0
avoid intermediate arrays in definition
move property remapping for dom properties to compiler
Allow ControlState as reset arguments for `FormGroup`/`FormRecord`
improve select performance
add cache & priority support for fetch requests in httpResource
add credentials support for fetch requests in httpResource
add keepalive support for fetch requests in httpResource
add mode & redirect for fetch request in httpResource
Add support for fetch credentials options in HttpClient
add support for fetch mode and redirect options in HttpClient
Add support for fetch request cache and priority options
add timeout option on httpResource.
Add timeout option to HTTP requests
add warning when withCredentials overrides explicit credentials
add semantic tokens for templates
Support importing the external module's export about the angular metadata.
support to fix missing required inputs diagnostic
Run `loadComponent` and `loadChildren` functions in the route's injection context
support notification closes
support push subscription changes
use proper name for diagnostic type
add suggestion when pipe is missing
handle initializer APIs wrapped in type casts
allow to set a resource in an error state
avoid injecting `ErrorHandler` from a destroyed injector
unable to retrieve defer blocks in tests when component injects ViewContainerRef
handle scrollRestoration error in restricted environments
Make zoneless work with hybrid apps
Fixes template outlet hydration
inject `APP_ID` before injector is destroyed
Wrap ErrorEvent with no error property
more robust trailing comma removal in unused imports migration
components marked for traversal resets reactive context
unregister `onDestroy` in `outputToObservable`
move defer trigger assertions out of parser
recover invalid parenthesized expressions
`takeUntilDestroyed` completes immediately if DestroyRef already destroyed
produce an error when incremental hydration is expected, but not configured
properly handle the case where getSignalGraph is called on a componentless NodeInjector
unregister `onDestroy` in `ResourceImpl` when `destroy()` is called
unregister `onDestroy` when observable errors in `toSignal`
avoid trailing whitespaces in unused imports migration
prevent duplicate fetches during concurrent update checks
update service worker to handle seeking better for videos
accept undefined inputs in NgTemplateOutlet
Allow passing ScrollOptions to ViewportScroller
throw error for suspicious date patterns
cleanup `updateLatestValue` if view is destroyed before promise resolves
Handle errors in async pipe subscriptions
issue a warning instead of an error when `NgOptimizedImage` exceeds the preload limit
rename httpResource function in factory
resolve host binding type issues
add extended diagnostic for uninvoked track function on `@for` blocks
support exponentiation operator in templates
support tagged template literals in expressions
support the `in` keyword in Binary expression
support void operator in templates
error if rawText isn't estimated correctly
exponentiation should be right-to-left associative
incorrect spans for template literals
incorrectly handling let declarations inside i18n
proper handling of typeof, void in RecursiveAstVisitor
remove TypeScript from linker
reduce allocations for let declarations only used in the same view
add extended diagnostic for invalid nullish coalescing
detect missing structural directive imports
support type checking of host bindings
avoid fatal diagnostics for invalid module schemas
avoid fatal diagnostics for missing template files
correctly parse event name in HostListener
preserve required parens for nullish coalescing
preserve required parens in exponentiation expressions
set correct target when type checking events
wrong event name for host listener decorators
add hook for producer creation side effects
add input binding support to dynamically-created components
Add provider which reports unhandled errors on window to ErrorHandler
add support for two-way bindings on dynamically-created components
add the ability to apply directives to dynamically-created components
drop support for TypeScript older than 5.8
emit template function for template related profiler hooks
export signalGetFn from signal primitives
Expose `Injector.destroy` on `Injector` created with `Injector.create`
expose performance data in Chrome DevTools
introduce new DI profiling event
introduce TestBed.tick()
mark `toObservable` as stable
mark linkedSignal API as public
mark the toSignal API as stable
move `provideExperimentalCheckNoChangesForDebug` to `provideCheckNoChangesConfig`
move DOCUMENT token into core
Move zoneless change detection to dev preview
remove InjectFlags from public API
remove TestBed.get
rename afterRender to afterEveryRender and stabilize
stabilize incremental hydration api
stabilize linkedSignal API
Stabilize PendingTasks Injectable
stabilize withI18nSupport() api
support listening to outputs on dynamically-created components
update Node.js version support
add migration away from InjectFlags
added @angular/compiler as a peer dependency
call `DestroyRef` on destroy callback if view is destroyed
Catch and report rejections in async function of `PendingTasks.run`
defer block render failures should report to application error handler
do not allow setInput to be used with inputBinding
do not run change detection on global error events
enable stashing only when `withEventReplay()` is invoked
Ensure ComponentFixture does not duplicate error reporting from FakeAsync
Ensure errors in listeners report to the application error handler
fix typing on injector.get to omit 'any'
fixes timing of hydration cleanup on control flow
Flush animations when no component has been checked
getting resource value throws an error instead of returning undefined
handle different DI token types in Chrome DevTools integration
inject migration should treat `@Attribute` as optional
input targeting not checking if input exists on host
mark `zone.js` as an optional peer dependency
move reload method from Resource to WritableResource
narrow error type for resources API
prevent stash listener conflicts
properly handle app stabilization with defer blocks
reading resource value after reload in the error state
reduce total memory usage of various migration schematics
release `hasPendingTasks` observers
remove `forceRoot` flag for effects
remove `rejectErrors` option encourages uncaught exceptions
Remove duplicate reporting of errors in `CDR.detectChanges`
remove unused parameter from listener instruction
run `ApplicationRef.prototype.bootstrap` in `NgZone`
run root effects in creation order
Surface errors from `ApplicationRef.tick` to callsite
TestBed.tick should ensure test components are synchronized
Testing should not throw when Zone does not patch test FW APIs
update min Node.js support to 20.19, 22.12, and 24.0
Deprecate the structural directives `ngIf`/`ngFor`/`ngSwitch`.
stop producing `ng-reflect` attributes by default
add markAllAsDirty to AbstractControl
Allow to reset a form without emitting events
Make sure statusChanges is emitted
resolve host binding type issues
add keepalive support for fetch requests
Delay stabilization until next app synchronization
Deprecate the `platform-browser-dynamic` package
Deprecate the HammerJS integration
deprecate the testing entry point
Add ability to directly abort a navigation
add asynchronous redirects
Allow resolvers to read resolved data from ancestors
support custom elements for RouterLink
Prevent dangling promise rejections from internal navigations
relax required types on router commands to readonly array
Remove 'any' type from route guards
Scroller should scroll as soon as change detection completes
update undici to 7.29.1
update less to 4.9.0
ensure public directory containment in CommonEngine
update webpack-dev-server to 5.2.6
update dependency @modelcontextprotocol/sdk to v1.30.0
bump undici to 7.29.0
upgrade postcss to 8.5.23
upgrade postcss to 8.5.23
update http-proxy-middleware to 3.0.7
bump undici to 7.28.0
bump vite to 7.3.6
bump @babel/core to 7.29.7
bump esbuild to 0.28.1
bump piscina to 5.2.0
bump vite to 7.3.5
update pacote to 21.5.1
prioritize options over environment variables in AngularNodeAppEngine
fallback to deprecated versions when resolving ranges if no non-deprecated version is found
remove forceAuth and unscoped credential parsing
add support for configuring trusted proxy headers via environment variable
allow all hosts in common engine rendering options to prevent validation errors
upgrade postcss to 8.5.12
introduce trustProxyHeaders option to safely validate and sanitize proxy headers
update esbuild to `0.28.0`
update vite to `7.3.2`
update picomatch to 4.0.4
update picomatch to 4.0.4
update picomatch to 4.0.4
disallow x-forwarded-prefix starting with a backslash
ensure unique values in redirect response Vary header
support custom headers in redirect responses
pass process environment variables to prerender workers
update copy-webpack-plugin to v14.0.0
update `ajv` to `8.18.0`
update rollup to 4.59.0
prevent open redirect via X-Forwarded-Prefix header
validate host headers to prevent header-based SSRF
update dependency @modelcontextprotocol/sdk to v1.26.0
update pacote to v21.0.4
update webpack to version 5.104.1
update dependency @modelcontextprotocol/sdk to v1.25.2
update `@modelcontextprotocol/sdk` to v1.24.0
ensure correct URL joining for prerender routes
handle `X-Forwarded-Prefix` and `APP_BASE_HREF` in redirects
prevent redirect loop with encoded query parameters
ensure `ɵgetOrCreateAngularServerApp` is always defined after errors
correct `tsconfig.spec.json` include for spec files
do not remove `@angular/localize` when having external packages
improve locale handling in app-engine
improve route matching for wildcard routes
expand jest and jest-environment-jsdom to allow version 30
add adapters to new reporter
ensure locale data plugin runs before other plugins
handle redirects from guards during prerendering
respect `--force` option when schematic contains `host.create`
resolve Angular locale data namespace in esbuild
update `vite` to `7.11.1`
correctly handle routes with matrix parameters
ensure server-side navigation triggers a redirect
prevent malicious URL from overriding host
cleanup karma temporary directory after process exit
Out of the box support for PM2
use bracket notation for `process.env['pm_id']`
mark `InjectionToken` as pure for improved tree-shaking
mark `InjectionToken` as pure for improved tree-shaking
add `__screenshots__/` to `.gitignore`
avoid retaining rendered HTML in memory post-request
add timestamp to bundle generation log
update vite to version `7.1.5`
improve bun lockfile detection and optimize lockfile checks
align labels in ai-config schema
avoid extra tick in SSR builds
preserve names in esbuild for improved debugging in dev mode
introduce BootstrapContext for isolated server-side rendering
don't set a default for array options when length is 0
set process title when running architect commands
avoid extra tick in SSR dev-server builds
maintain media output hashing with vitest unit-testing
correctly set default array values
directly resolve karma config template in migration
prevent AI config schematic from failing when 'none' and other AI tools are selected
correctly set default array values
correct JS/TS file paths when running under Bazel
ensure karma polyfills reporter factory returns a value
add migration to remove default Karma configurations
add schematics to generate ai context files.
allow AI config prompt to be skipped without selecting a value
improve AI config prompt wording
improve coverage directory handling for Karma configuration comparisons
zoneless is now stable
add --experimental-tool option to mcp command
add --local-only option to mcp command
add --read-only option to mcp command
add modernize tool to the MCP server
add choices to command line parser when type is array and has an enum
address Node.js deprecation DEP0190
apply default to array types
use correct path for MCP get_best_practices tool
address Node.js deprecation DEP0190
add headless mode for vitest browser mode
add extra prettier config
correct configure the `typeSeparator` in the library schematic
cache MCP best practices content and add tool annotations
skip workspace-specific tools when outside a workspace
skip vite transformation of CSS-like assets
update `vite` to `7.0.6`
`define` option is being included multiple times in the JSON help
use crypto.randomUUID instead of Date.now for unique string in tmp file names
emit a warning when `outputHashing` is set to `all` or `bundles` when HMR is enabled
normalize code coverage include paths to POSIX
use signal in app component
add initial MCP server implementation
provide partial custom postcss configuration support
add code coverage reporters option for unit-test
add dataurl, base64 loaders
adjust coverage includes/excludes for unit-test vitest runner
coverage reporter option
expose unit test and karma builder API
improve default coverage reporter handling for vitest
inject zone.js/testing before karma builder execution
json and json-summary as vitest coverage reporters
resolve "Controller is already closed" error in Karma
support extra test setup files with unit-test vitest runner
support injecting global styles into vitest unit-tests
use an empty array as default value for vitest exclude
use date/time based output path for vitest unit-test
ensure `loadChildren` runs in correct injection context during route extraction
remove constructor from service template
correctly remap Angular diagnostics
exclude `@vitest/browser/context` from esbuild bundling
failed to proxy error for assets
remove unused `@vitejs/plugin-basic-ssl` dependency
proxy karma request from `/` to `/base`
add missing prettier config
avoid preloading unnecessary dynamic bundles
ensure correct referer header handling in web request conversion
include `main.server.ts` in `tsconfig.files` when present
reset module `typeSeparator` when generating applications
include custom bundle name scripts with karma
increase worker idle timeout
set scripts option output as classic script for karma
add `less` as a devDependency when selected as the style preprocessor
correctly detect modules using new file extension format
do not consider internal Angular files as external imports
only overwrite JSON file if actually changed
remove karma config devkit package usages during application migration
skip zone.js dependency for zoneless applications
improve Node.js version check and error messages
also disable outputMode in vitest unit-tests
resolve junit karma reporter output to workspace root
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
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
respect i18nDuplicateTranslation option when duplicates exist
remove deprecated `NodePackageLinkTask`
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
support using default index option when not present
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
disable TypeScript composite option with Angular compiler