All commits for Angular 21.x releases
| Type | Package | Version | Description |
|---|---|---|---|
| fix | router | 21.2.24 | avoid dense elements allocation for numeric URL keys |
| fix | platform-server | 21.2.23 | update domino to latest version |
| fix | platform-server | 21.2.22 | avoid stripping unicode whitespace during url resolution |
| fix | platform-server | 21.2.22 | update domino to latest version |
| fix | platform-browser | 21.2.21 | disallow event handler attributes in Meta |
| fix | core | 21.2.20 | sanitize host bindings on concrete hosts |
| fix | http | 21.2.20 | match header values exactly when deleting |
| fix | http | 21.2.20 | preserve immutability of materialized clones |
| fix | http | 21.2.20 | run root interceptors in the terminal request chain |
| fix | compiler | 21.2.19 | disallow i18n event attributes |
| fix | compiler | 21.2.19 | restrict possible event handler check to property names longer than 2 characters |
| fix | http | 21.2.19 | distinguish repeated transfer cache params |
| fix | http | 21.2.19 | enable xsrf for root-provided HttpClient |
| fix | platform-server | 21.2.19 | update domino to latest version |
| fix | compiler-cli | 21.2.18 | update babel dependencies to latest v7 |
| fix | core | 21.2.18 | avoid caching missing locale data |
| fix | core | 21.2.18 | reject dynamic script host elements |
| fix | http | 21.2.18 | prevent caching of responses with Set-Cookie headers |
| fix | service-worker | 21.2.18 | preserve referrer in asset requests |
| fix | service-worker | 21.2.18 | preserve referrer policy in asset requests |
| fix | common | 21.2.17 | Limits date format string length |
| fix | common | 21.2.17 | skip transfer cache for uncacheable HTTP traffic |
| fix | common | 21.2.17 | use cryptographically secure SHA-256 for transfer cache key generation |
| fix | compiler | 21.2.17 | sanitize two-way properties |
| fix | core | 21.2.17 | harden TransferState restoration against DOM clobbering |
| fix | core | 21.2.17 | validate lowercase SVG animation attribute names |
| fix | http | 21.2.17 | preserve empty referrer option in HttpRequest |
| fix | http | 21.2.17 | Rejects non-HTTP(S) URLs in JSONP requests |
| fix | http | 21.2.17 | skip transfer cache for fetch credentialed requests |
| fix | platform-server | 21.2.17 | harden platform location origin validation during SSR |
| refactor | platform-server | 21.2.17 | deprecate ServerXhr |
| fix | service-worker | 21.2.17 | Strips sensitive headers on cross-origin redirects |
| fix | common | 21.2.16 | only strip a literal /index.html suffix from URLs |
| fix | compiler | 21.2.16 | move projection attributes into constants |
| fix | core | 21.2.16 | harden inherit definition feature against polluted prototypes |
| fix | core | 21.2.16 | use Object.create(null) for LOCALE_DATA as a hardening measure |
| fix | platform-server | 21.2.16 | throw on suspicious URLs and restrict protocol-relative URLs |
| fix | platform-server | 21.2.16 | update domino to latest version |
| fix | common | 21.2.15 | add upper bounds for digitsInfo |
| fix | common | 21.2.15 | sanitize placeholder |
| fix | compiler | 21.2.15 | normalize tag names with custom namespaces in DomElementSchemaRegistry |
| fix | compiler | 21.2.15 | prevent namespaced SVG <style> elements from being stripped |
| fix | compiler | 21.2.15 | sanitize dynamic href and xlink:href bindings on SVG a elements |
| fix | compiler | 21.2.15 | strip namespaced SVG script elements during template compilation |
| fix | core | 21.2.15 | normalize tag names in runtime i18n attribute security context lookup |
| fix | core | 21.2.15 | sanitize meta selectors |
| fix | core | 21.2.15 | support prefix-insensitive DOM schema lookups and compile-time i18n attribute validation |
| fix | core | 21.2.15 | synchronize core sanitization schema with compiler |
| fix | http | 21.2.15 | exclude withCredentials requests from transfer cache |
| fix | http | 21.2.15 | skip TransferCache for cookie-bearing requests by default |
| fix | platform-server | 21.2.15 | prevent SSRF bypasses via backslash URLs in HttpClient |
| fix | platform-server | 21.2.15 | secure location and document initialization against SSRF and path hijack |
| fix | service-worker | 21.2.15 | Preserves explicit 'credentials: omit' in asset requests |
| fix | service-worker | 21.2.15 | Preserves HTTP cache mode in asset group requests |
| fix | compiler | 21.2.14 | strip namespaced SVG script elements during template compilation |
| fix | core | 21.2.14 | do not insert todo when migrating void @Output |
| fix | core | 21.2.14 | makes resource URL sanitizer lookup case-insensitive |
| fix | core | 21.2.14 | reject script element as a dynamic component host |
| fix | core | 21.2.14 | visit ICU expressions in signal migration schematics |
| fix | router | 21.2.14 | skip scroll-to-top on initial navigation when hydrating |
| fix | core | 21.2.13 | disallow event attribute bindings in host bindings unconditionally |
| fix | platform-server | 21.2.13 | add `allowedHosts` option to `renderModule` and `renderApplication` |
| fix | platform-server | 21.2.13 | forward BEFORE_APP_SERIALIZED errors to ErrorHandler |
| fix | core | 21.2.12 | allow explicit read generic with signal input transforms |
| fix | core | 21.2.12 | i18n flags leaking on errors |
| fix | core | 21.2.12 | respect ngSkipHydration on components with projectable nodes in LContainers |
| fix | core | 21.2.12 | sanitizer typings |
| fix | core | 21.2.12 | validate security-sensitive attributes in i18n bindings |
| fix | core | 21.2.12 | visit ng-let expression value in signal migration schematics |
| fix | forms | 21.2.12 | prohibit concurrent submits in signal forms |
| fix | common | 21.2.11 | prevent focus from scrollToAnchor |
| fix | compiler | 21.2.11 | let declaration span not including end character |
| fix | core | 21.2.11 | fix ordering of view queries metadata in JIT mode |
| fix | core | 21.2.11 | guard against non-object events and avoid listener wrapper identity mismatch |
| fix | core | 21.2.11 | prevent event replay double-invocation when element hydrates before app stability |
| fix | platform-server | 21.2.11 | ensure origin has a trailing slash when parsing url |
| fix | docs | 21.2.10 | link formatting in "Animating your Application with CSS" |
| fix | migrations | 21.2.10 | fix NgClass leaving trailing comma after removal |
| fix | router | 21.2.10 | restore internal URL on popstate when `browserUrl` is used |
| fix | core | 21.2.9 | escape forward slashes in transfer state to prevent crawler indexing |
| fix | http | 21.2.9 | add CSP nonce support to JsonpClientBackend |
| fix | http | 21.2.9 | Don't on Passthru outside of reactive context |
| fix | platform-server | 21.2.9 | prevent SSRF bypasses via protocol-relative and backslash URLs |
| fix | router | 21.2.9 | normalize multiple leading slashes in URL parser |
| fix | compiler | 21.2.8 | handle nested brackets in host object bindings |
| fix | compiler-cli | 21.2.8 | error for type parameter declarations |
| fix | core | 21.2.8 | handle missing serialized container hydration data |
| fix | core | 21.2.8 | remove obsolete iOS cursor pointer hack in event delegation |
| fix | language-service | 21.2.8 | get quick info at local var location to align with TS semantics and support type narrowing |
| fix | compiler | 21.2.7 | register SVG animation attributes in URL security context |
| fix | compiler-cli | 21.2.7 | prevent recursive scope checks for invalid NgModule imports |
| fix | core | 21.2.7 | prevent binding unsafe attributes on SVG animation elements |
| fix | core | 21.2.7 | resolve component import by exact specifier in route lazy-loading schematic |
| fix | core | 21.2.7 | treat `object[data]` as resource URL context |
| fix | localize | 21.2.7 | validate locale in getOutputPathFn to prevent path traversal |
| fix | router | 21.2.7 | pass outlet context to split to fix empty path named outlets |
| fix | common | 21.2.6 | avoid redundant image fetch on destroy with auto sizes |
| fix | compiler | 21.2.6 | prevent shimCssText from adding extra blank lines per CSS comment |
| fix | core | 21.2.6 | fixes a regression with animate.leave and reordering |
| fix | migrations | 21.2.6 | inject migration not work in multi-project workspace with option path |
| fix | compiler | 21.2.5 | ensure generated code compiles |
| fix | compiler | 21.2.5 | parse named HTML entities containing digits |
| fix | compiler-cli | 21.2.5 | escape template literal in TCB |
| fix | compiler-cli | 21.2.5 | generic types not filled out correctly in type check block |
| fix | core | 21.2.5 | clean up dehydrated views during HMR component replacement |
| fix | core | 21.2.5 | run linked signal equality check without reactive consumer |
| fix | migrations | 21.2.5 | prevent trailing comma syntax errors after removing NgStyle |
| fix | service-worker | 21.2.5 | preserve redirect policy on reconstructed asset requests |
| fix | compiler | 21.2.4 | disallow translations of iframe src |
| fix | core | 21.2.4 | reverts "feat(core): add support for nested animations" |
| fix | core | 21.2.4 | sanitize translated form attributes |
| fix | core | 21.2.3 | ensure definitions compile |
| fix | core | 21.2.3 | include signal debug names in their `toString()` representation |
| fix | core | 21.2.3 | sanitize translated attribute bindings with interpolations |
| fix | compiler | 21.2.2 | prevent mutation of children array in RecursiveVisitor |
| fix | compiler-cli | 21.2.2 | always parenthesize object literals in TCB |
| fix | compiler-cli | 21.2.2 | ignore generated ngDevMode signal branch for code coverage |
| feat | forms | 21.2.2 | add 'blur' option to debounce rule |
| fix | core | 21.2.1 | adds transfer cache to httpResource to fix hydration |
| fix | core | 21.2.1 | prevent child animation elements from being orphaned |
| fix | core | 21.2.1 | Prevent removal of elements during drag and drop |
| fix | http | 21.2.1 | correctly cache blob responses in transfer cache |
| feat | common | 21.2.0 | add an 'outlet' injector option for ngTemplateOutlet |
| feat | common | 21.2.0 | Add Location strategies to manage trailing slash on write |
| feat | common | 21.2.0 | support height in ImageLoaderConfig and built-in loaders |
| feat | compiler | 21.2.0 | Add support for the `instanceof` binary operator |
| feat | compiler | 21.2.0 | Exhaustive checks for switch blocks |
| feat | compiler | 21.2.0 | support `AstVisitor.visitEmptyExpr()` |
| fix | compiler | 21.2.0 | optimize away unnecessary restore/reset view calls |
| fix | compiler | 21.2.0 | variable counter visiting some expressions twice |
| fix | compiler-cli | 21.2.0 | attach source spans to object literal keys in TCB |
| fix | compiler-cli | 21.2.0 | support nested component declaration |
| fix | compiler-cli | 21.2.0 | update diagnostic to flag no-op arrow functions in listeners |
| feat | core | 21.2.0 | add ChangeDetectionStrategy.Eager alias for Default |
| feat | core | 21.2.0 | add host node to DeferBlockData |
| feat | core | 21.2.0 | add support for nested animations |
| feat | core | 21.2.0 | add support for TypeScript 6 |
| feat | core | 21.2.0 | resource composition via snapshots |
| feat | core | 21.2.0 | support arrow functions in expressions |
| fix | core | 21.2.0 | correctly handle SkipSelf when resolving from embedded view injector |
| fix | core | 21.2.0 | prevent animated element duplication with dynamic components in zoneless mode |
| fix | core | 21.2.0 | Remove note to skip arrow functions in best practices |
| feat | forms | 21.2.0 | add field param to submit action and onInvalid |
| feat | forms | 21.2.0 | add form directive |
| feat | forms | 21.2.0 | add parsing support to native inputs |
| feat | forms | 21.2.0 | Add passing focus options to form field |
| feat | forms | 21.2.0 | allow setting submit options at form-level |
| feat | forms | 21.2.0 | introduce parse errors in signal forms |
| feat | forms | 21.2.0 | introduce SignalFormControl for Reactive Forms compatibility |
| feat | forms | 21.2.0 | support binding null to number input |
| feat | forms | 21.2.0 | update submit function to accept options object |
| fix | forms | 21.2.0 | clear parse errors when model updates |
| fix | forms | 21.2.0 | preserve custom-control focus context in signal forms |
| fix | forms | 21.2.0 | preserve parse errors when parse returns value |
| fix | forms | 21.2.0 | simplify design of parse errors |
| fix | forms | 21.2.0 | sort error summary by DOM order |
| fix | forms | 21.2.0 | support custom controls as host directives |
| fix | forms | 21.2.0 | use consistent error format returned from parse |
| fix | forms | 21.2.0 | warn when showing hidden field state |
| feat | language-server | 21.2.0 | Add completions and hover info for inline styles |
| feat | language-server | 21.2.0 | Add folding range support for inline styles |
| feat | language-server | 21.2.0 | Add quick info for inline styles |
| feat | language-server | 21.2.0 | Support client-side file watching via `onDidChangeWatchedFiles` |
| feat | language-service | 21.2.0 | add JSON schema for angularCompilerOptions |
| feat | language-service | 21.2.0 | add linked editing ranges for HTML tag synchronization |
| perf | language-service | 21.2.0 | use lightweight project warmup for Angular analysis |
| feat | router | 21.2.0 | Add partial ActivatedRouteSnapshot information to `canMatch` params |
| feat | router | 21.2.0 | Make match options optional in isActive |
| feat | router | 21.2.0 | Update `IsActiveMatchOptions` APIs to accept a Partial |
| fix | common | 21.1.6 | fix LCP image detection with duplicate URLs |
| fix | compiler-cli | 21.1.6 | detect uninvoked functions in defer trigger expressions |
| fix | core | 21.1.6 | block creation of sensitive URI attributes from ICU messages |
| fix | compiler | 21.1.4 | add geolocation element to schema |
| fix | core | 21.1.4 | capture animation dependencies eagerly to avoid destroyed injector |
| fix | core | 21.1.4 | Fix flakey test due to document injection |
| feat | forms | 21.1.4 | support signal-based schemas in validateStandardSchema |
| fix | http | 21.1.4 | correctly parse ArrayBuffer and Blob in transfer cache |
| fix | core | 21.1.3 | `linkedSignal.update` should propagate errors |
| fix | core | 21.1.3 | export DirectiveWithBindings |
| fix | core | 21.1.3 | hold constructors weakly in DepsTracker cache |
| fix | core | 21.1.3 | prevent element duplication with dynamic components |
| fix | forms | 21.1.3 | Resolves debounce promise on abort in debounceForDuration |
| fix | localize | 21.1.3 | add support for unit-test builder in ng-add schematic |
| fix | router | 21.1.3 | limit UrlParser recursion depth to prevent stack overflow |
| perf | router | 21.1.3 | Use .bind to avoid holding other closures in memory |
| fix | forms | 21.1.2 | only touch visible, interactive fields on submit |
| fix | language-service | 21.1.2 | Detect local project version on creation |
| fix | router | 21.1.2 | Do not intercept reload events with Navigation integration |
| fix | compiler-cli | 21.1.1 | drop .tsx extension for generated relative imports |
| fix | core | 21.1.1 | handle Set in class bindings |
| feat | forms | 21.1.1 | Ability to manually register a form field binding in signal forms |
| fix | forms | 21.1.1 | fix control value syncing on touch |
| feat | common | 21.1.0 | Add custom transformations for Cloudflare and Cloudinary image loaders |
| feat | common | 21.1.0 | support custom transformations in ImageKit and Imgix loaders |
| feat | compiler | 21.1.0 | Add support for multiple swich cases matching |
| fix | compiler | 21.1.0 | Support empty cases |
| feat | core | 21.1.0 | Add stability debugging utility |
| feat | core | 21.1.0 | support rest arguments in function calls |
| feat | core | 21.1.0 | support spread elements in array literals |
| feat | core | 21.1.0 | support spread expressions in object literals |
| fix | core | 21.1.0 | Microtask scheduling should be used after any application synchronization |
| fix | core | 21.1.0 | return `StaticProvider` for `providePlatformInitializer` |
| feat | forms | 21.1.0 | allow focusing bound control from field state |
| feat | platform-browser | 21.1.0 | add `context` to `createApplication` |
| feat | platform-browser | 21.1.0 | resolve JIT resources in `createApplication` |
| feat | router | 21.1.0 | add controls for route cleanup |
| feat | router | 21.1.0 | Add scroll behavior controls on router navigation |
| feat | router | 21.1.0 | Add standalone function to create a comptued for isActive |
| feat | router | 21.1.0 | Execute RunGuardsAndResolvers function in injection context |
| feat | router | 21.1.0 | extend paramters of RedirectFunction to include paramMap and queryParamMap |
| feat | router | 21.1.0 | Publish Router's integration with platform Navigation API as experimental |
| feat | router | 21.1.0 | Support wildcard params with segments trailing |
| refactor | upgrade | 21.1.0 | deprecate `VERSION` export |
| fix | forms | 21.0.9 | Ensure the control instruction comes after the other bindings |
| fix | forms | 21.0.9 | Rename signal form [field] to [formField] |
| fix | migrations | 21.0.9 | prevent duplicate imports in common-to-standalone migration |
| fix | core | 21.0.8 | fix memory leak with event replay |
| fix | core | 21.0.8 | handle cancelled traversals in fake navigation |
| fix | compiler | 21.0.7 | better types for a few expression AST nodes |
| fix | compiler | 21.0.7 | produce accurate span for typeof and void expressions |
| fix | compiler | 21.0.7 | provide location information for literal map keys |
| fix | compiler | 21.0.7 | stop ThisReceiver inheritance from ImplicitReceiver |
| fix | compiler-cli | 21.0.7 | ensure component import diagnostics are reported within the `imports` expression |
| fix | compiler-cli | 21.0.7 | fix up spelling of diagnostic |
| fix | compiler-cli | 21.0.7 | support qualified names in `typeof` type references |
| fix | core | 21.0.7 | avoid leaking view data in animations |
| fix | core | 21.0.7 | explicitly cast signal node value to String |
| fix | core | 21.0.7 | sanitize sensitive attributes on SVG script elements |
| feat | forms | 21.0.7 | add `[formField]` directive |
| fix | forms | 21.0.7 | allow custom controls to require `dirty` input |
| fix | forms | 21.0.7 | allow custom controls to require `hidden` input |
| fix | forms | 21.0.7 | allow custom controls to require `pending` input |
| fix | forms | 21.0.7 | clean up abort listener after timeout |
| fix | forms | 21.0.7 | support custom controls with non signal-based models |
| fix | forms | 21.0.7 | Support readonly arrays in signal forms |
| fix | router | 21.0.7 | Fix RouterLink href not updating with `queryParamsHandling` |
| fix | router | 21.0.7 | handle errors from view transition `updateCallbackDone` promise |
| fix | core | 21.0.6 | throw better errors for potential circular references |
| fix | core | 21.0.6 | use mutable ResponseInit type for RESPONSE_INIT token |
| feat | forms | 21.0.6 | pass field directive to class config |
| refactor | forms | 21.0.6 | rename field to fieldTree in FieldContext and ValidationError |
| fix | language-service | 21.0.6 | avoid interpolation highlighting inside @let |
| fix | language-service | 21.0.6 | Prevent language service from crashing on suggestion diagnostic errors |
| fix | core | 21.0.5 | avoid false-positive deprecation when using `InjectionToken` with factory only |
| fix | forms | 21.0.5 | fix signal forms type error |
| perf | compiler | 21.0.4 | chain query creation instructions |
| fix | compiler-cli | 21.0.4 | expand type for native controls with a dynamic type |
| feat | forms | 21.0.4 | expose element on signal forms `Field` directive |
| feat | forms | 21.0.4 | redo the signal forms metadata API |
| fix | forms | 21.0.4 | add signals for dirty, hidden, and pending states in custom controls |
| fix | forms | 21.0.4 | allow resetting with empty string |
| fix | forms | 21.0.4 | memoize reads of child fields in signal forms |
| fix | forms | 21.0.4 | Reuse key in parent in compat structure |
| fix | compiler-cli | 21.0.3 | avoid allocating an object for signals in production mode |
| fix | compiler-cli | 21.0.3 | check that field radio button values are strings |
| fix | core | 21.0.3 | run animation queue in environment injector context |
| fix | core | 21.0.3 | unable to inject viewProviders when host directive with providers is present |
| perf | core | 21.0.3 | tree shake unused dynamic `[field]` binding instructions |
| feat | forms | 21.0.3 | Allows transforms on `FormUiControl` signals |
| fix | forms | 21.0.3 | support dynamic `[field]` bindings |
| fix | http | 21.0.3 | enable XSRF protection for same-origin absolute URLs |
| fix | router | 21.0.3 | handle errors from view transition finished promise |
| fix | compiler | 21.0.2 | prevent XSS via SVG animation `attributeName` and MathML/SVG URLs |
| fix | compiler-cli | 21.0.1 | do not type check native controls with ControlValueAccessor |
| fix | compiler-cli | 21.0.1 | escape angular control flow in jsdoc |
| fix | compiler-cli | 21.0.1 | ignore non-existent files |
| fix | core | 21.0.1 | apply bootstrap-options migration to `platformBrowserDynamic` |
| fix | core | 21.0.1 | debug data causing memory leak for root effects |
| fix | core | 21.0.1 | notify profiler events in case of errors |
| fix | core | 21.0.1 | use injected `DOCUMENT` for `CSP_NONCE` |
| perf | core | 21.0.1 | avoid repeat searches for field directive |
| feat | forms | 21.0.1 | add DI option for classes on `Field` directive |
| fix | forms | 21.0.1 | allow dynamic `type` bindings on signal form controls |
| fix | forms | 21.0.1 | run reset as untracked |
| fix | http | 21.0.1 | prevent XSRF token leakage to protocol-relative URLs |
| fix | migrations | 21.0.1 | detect structural ngTemplateOutlet and ngComponentOutlet |
| feat | common | 21.0.0 | Add experimental support for the Navigation API |
| feat | common | 21.0.0 | Support of optional keys for the KeyValue pipe |
| feat | common | 21.0.0 | update to cldr 47 |
| fix | common | 21.0.0 | properly type ngComponentOutlet |
| refactor | common | 21.0.0 | improve typing of `ngComponentOutletContent` |
| refactor | common | 21.0.0 | remove`ngModuleFactory` input of `NgComponentOutlet` |
| fix | compiler | 21.0.0 | don't choke on unbalanced parens in declaration block |
| fix | compiler | 21.0.0 | support arbitrary nesting in :host-context() |
| fix | compiler | 21.0.0 | support commas in :host() argument |
| fix | compiler | 21.0.0 | support complex selectors in :nth-child() |
| fix | compiler | 21.0.0 | support one additional level of nesting in :host() |
| feat | compiler-cli | 21.0.0 | Adds diagnostic for misconfigured `@defer` triggers |
| feat | compiler-cli | 21.0.0 | enable type checking of host bindings by default |
| fix | compiler-cli | 21.0.0 | allow value to be set on radio fields |
| fix | compiler-cli | 21.0.0 | capture metadata for undecorated fields |
| fix | compiler-cli | 21.0.0 | disallow compiling with the `emitDeclarationOnly` TS compiler option enabled |
| fix | compiler-cli | 21.0.0 | do not flag custom control required inputs as missing when field is present |
| fix | compiler-cli | 21.0.0 | infer type of custom field controls |
| fix | compiler-cli | 21.0.0 | infer types of signal forms set on native inputs |
| fix | compiler-cli | 21.0.0 | make field detection logic more robust |
| fix | compiler-cli | 21.0.0 | missingStructuralDirective diagnostic produces false negatives |
| fix | compiler-cli | 21.0.0 | remove internal syntax-related flags |
| fix | compiler-cli | 21.0.0 | report invalid bindings on form controls |
| fix | compiler-cli | 21.0.0 | use any when checking field interface conformance |
| feat | core | 21.0.0 | Add migration for zoneless by default. |
| feat | core | 21.0.0 | Allow passing application providers in `bootstrapModule` options |
| feat | core | 21.0.0 | introduce `BootstrapContext` for improved server bootstrapping |
| feat | core | 21.0.0 | make SimpleChanges generic |
| feat | core | 21.0.0 | support IntersectionObserver options in viewport triggers |
| feat | core | 21.0.0 | support regular expressions in templates |
| fix | core | 21.0.0 | control not recognized when input has directive injecting ViewContainerRef |
| fix | core | 21.0.0 | do not rename ARIA property bindings to attributes |
| fix | core | 21.0.0 | Drop special-case disables automatic change detection scheduling |
| fix | core | 21.0.0 | drop support for TypeScript 5.8 |
| fix | core | 21.0.0 | ensure `@for` iteration over field is reactive |
| fix | core | 21.0.0 | Error on invalid APP_ID |
| fix | core | 21.0.0 | Explicit Zone CD in TestBed providers should not override TestBed error handler |
| fix | core | 21.0.0 | Remove ignoreChangesOutsideZone option |
| fix | core | 21.0.0 | Remove Zone-based change provider from internals by default |
| fix | core | 21.0.0 | skip Angular formatting when formatting signals recursively |
| fix | core | 21.0.0 | SSR error in signal forms |
| fix | core | 21.0.0 | update symbols |
| refactor | core | 21.0.0 | remove `moduleId` from Component metadata |
| refactor | core | 21.0.0 | remove deprecated `interpolation` option on Components. |
| fix | elements | 21.0.0 | return value on signal input getter |
| feat | forms | 21.0.0 | add `debounce()` rule for signal forms |
| feat | forms | 21.0.0 | add experimental signal-based forms |
| feat | forms | 21.0.0 | Add FormArrayDirective |
| feat | forms | 21.0.0 | Prevents marking fields as touched/dirty when state is hidden/readonly/disabled |
| fix | forms | 21.0.0 | bind invalid input in custom controls |
| fix | forms | 21.0.0 | consistent treatment of empty |
| fix | forms | 21.0.0 | debounce updates from interop controls |
| fix | forms | 21.0.0 | Emit `FormResetEvent` when resetting control |
| fix | forms | 21.0.0 | implement interoperability between signal forms and reactive forms |
| fix | forms | 21.0.0 | interop supports CVAs with signals |
| fix | forms | 21.0.0 | mark field as dirty when value is changed by `ControlValueAccessor` |
| fix | forms | 21.0.0 | mark field as dirty when value is changed by a bound control |
| fix | forms | 21.0.0 | only propagate schema defined properties from field to control |
| fix | forms | 21.0.0 | Set error message of a schema error. |
| fix | forms | 21.0.0 | test that common field states are propagated to controls |
| fix | forms | 21.0.0 | test that min/max properties are propagated to controls |
| fix | forms | 21.0.0 | test that minLength/maxLength properties are propagated to controls |
| perf | forms | 21.0.0 | implement change detection for field control bindings |
| perf | forms | 21.0.0 | only update interop controls when bound field changes |
| perf | forms | 21.0.0 | optimize `[field]` binding instructions |
| feat | http | 21.0.0 | add referrerPolicy option to HttpResource |
| feat | http | 21.0.0 | Add reponseType property to HttpResponse and HttpErrorResponse |
| feat | http | 21.0.0 | add support for fetch referrerPolicy option in HttpClient |
| feat | http | 21.0.0 | Provide http services in root |
| refactor | http | 21.0.0 | `HttpResponseBase.statusText` |
| fix | language-server | 21.0.0 | fix directory renaming on Windows |
| fix | language-service | 21.0.0 | address potential memory leak during project creation |
| fix | language-service | 21.0.0 | prevent interpolation from superseding block braces |
| feat | migrations | 21.0.0 | add migration to convert ngClass to use class |
| feat | migrations | 21.0.0 | add migration to convert ngStyle to use style |
| feat | migrations | 21.0.0 | Adds migration for deprecated router testing module |
| feat | migrations | 21.0.0 | Adds support for CommonModule to standalone migration |
| fix | migrations | 21.0.0 | fix bug in ngclass-to-class migration |
| fix | migrations | 21.0.0 | remove error for no matching files in control flow migration |
| refactor | platform-browser | 21.0.0 | remove deprecated `ApplicationConfig` export |
| feat | router | 21.0.0 | convert `lastSuccessfulNavigation` to signal |
| fix | router | 21.0.0 | Fix memory leak through Navigation.abort and canDeactivate guards |
| fix | router | 21.0.0 | Respect custom `UrlSerializer` handling of query parameters |
| fix | router | 21.0.0 | Update recognize stage to use internally async/await |
| fix | upgrade | 21.0.0 | Remove deprecated UpgradeAdapter |
| fix | @angular/build | 21.2.24 | update undici to 7.29.1 |
| fix | @angular-devkit/build-angular | 21.2.23 | update less to 4.9.0 |
| fix | @angular/ssr | 21.2.23 | ensure public directory containment in CommonEngine |
| fix | @angular-devkit/build-angular | 21.2.22 | update webpack-dev-server to 5.2.6 |
| fix | @angular/cli | 21.2.21 | update dependency @modelcontextprotocol/sdk to v1.30.0 |
| fix | @angular/build | 21.2.21 | bump undici to 7.29.0 |
| fix | @angular-devkit/build-angular | 21.2.20 | upgrade postcss to 8.5.23 |
| fix | @angular/build | 21.2.20 | upgrade postcss to 8.5.23 |
| fix | @angular-devkit/build-angular | 21.2.19 | update http-proxy-middleware to 3.0.7 |
| fix | @angular/cli | 21.2.18 | respect release age policy in update bootstrapping logic |
| fix | @angular/build | 21.2.18 | bump undici to 7.28.0 |
| fix | @angular/build | 21.2.18 | bump vite to 7.3.6 |
| fix | @angular/build | 21.2.17 | bump @babel/core to 7.29.7 |
| fix | @angular/build | 21.2.17 | bump esbuild to 0.28.1 |
| fix | @angular/build | 21.2.17 | bump piscina to 5.2.0 |
| fix | @angular/build | 21.2.17 | bump vite to 7.3.5 |
| fix | @angular/cli | 21.2.16 | update pacote to 21.5.1 |
| fix | @angular/ssr | 21.2.16 | prioritize options over environment variables in AngularNodeAppEngine |
| fix | @angular/cli | 21.2.15 | remove forceAuth and unscoped credential parsing |
| fix | @angular/cli | 21.2.15 | support registry metadata fetching under bun package manager |
| fix | @angular/cli | 21.2.14 | expand package groups for newly added peer dependencies in update schematic |
| fix | @angular/build | 21.2.14 | prevent esbuild service child process leakage |
| fix | @angular-devkit/build-angular | 21.2.13 | remove unconditional CORS wildcard from webpack dev-server |
| fix | @angular/build | 21.2.13 | assert that asset input paths are within workspace root |
| fix | @angular/build | 21.2.12 | ignore virtual esbuild paths with (disabled): |
| fix | @angular/cli | 21.2.11 | robustly parse npm manifest from array |
| fix | @angular/ssr | 21.2.11 | allow all hosts in common engine rendering options to prevent validation errors |
| fix | @angular/ssr | 21.2.11 | remove stateful flag from URL_PARAMETER_REGEXP |
| fix | @angular/cli | 21.2.10 | restrict MCP workspace access to allowed client roots during resolution |
| fix | @schematics/angular | 21.2.9 | add missing imports for focus and skip APIs in refactor-jasmine-vitest |
| fix | @angular/cli | 21.2.9 | fix broken img ref in ai-tutor |
| fix | @angular/cli | 21.2.9 | introduce initial package manager workspace awareness |
| fix | @angular/cli | 21.2.9 | remove standalone true ref in ai tutor |
| fix | @angular/ssr | 21.2.9 | introduce trustProxyHeaders option to safely validate and sanitize proxy headers |
| fix | @angular/ssr | 21.2.9 | add support for configuring trusted proxy headers via environment variable |
| fix | @angular/ssr | 21.2.9 | decode route segments when building and matching route tree |
| fix | @angular/ssr | 21.2.9 | use router to normalize URLs for comparison |
| fix | @angular/cli | 21.2.8 | dynamically resolve project Angular CLI executable inside MCP tools |
| fix | @angular/cli | 21.2.8 | ignore EBADF file system errors during MCP project scan |
| fix | @angular/cli | 21.2.8 | use headless option in MCP test tool |
| fix | @angular-devkit/build-angular | 21.2.8 | ensure route has leading slash in prerender builder |
| fix | @angular-devkit/build-angular | 21.2.8 | fix app-shell route format and |
| fix | @angular/build | 21.2.8 | use rootDir for HMR component updates path resolution |
| fix | @angular/build | 21.2.8 | validate V8 coverage support for browsers in Vitest |
| fix | @angular/cli | 21.2.7 | handle missing package manager during analytics initialization |
| fix | @angular/build | 21.2.7 | preserve coverage ignore comments in development |
| fix | @angular/build | 21.2.7 | show clear error when styleUrl points to a TypeScript file |
| fix | @angular/cli | 21.2.6 | fix sourceRoot resolution for MCP projects tool |
| fix | @angular/build | 21.2.6 | ensure transitive SCSS partial errors are tracked in watch mode |
| fix | @angular/build | 21.2.6 | ensure Vitest mock patching is executed only once |
| fix | @angular/build | 21.2.6 | preserve error stack traces during prerendering |
| fix | @angular/build | 21.2.6 | scope CHROME_BIN executable path to individual playwright instances |
| feat | @angular/cli | 21.2.5 | support custom port in MCP devserver start tool |
| fix | @angular/ssr | 21.2.5 | allow underscores in host validation |
| fix | @angular/ssr | 21.2.5 | patch Headers.forEach in cloneRequestAndPatchHeaders |
| fix | @angular/cli | 21.2.4 | restore console methods after logger completes |
| fix | @angular/build | 21.2.4 | deduplicate and merge coverage excludes with vitest |
| fix | @angular/build | 21.2.4 | prevent reporter duplicates by explicitly overriding Vitest configuration |
| fix | @angular/build | 21.2.4 | remove default for unit-test coverage option |
| fix | @angular/build | 21.2.4 | warn about performance of test.exclude in vitest configuration |
| fix | @angular/build | 21.2.4 | warn when vitest watch config conflicts with builder |
| fix | @angular/ssr | 21.2.4 | apply forwarded prefix and vary header in accept-language redirects |
| fix | @angular/ssr | 21.2.4 | support '*' in allowedHosts and warn about security risks |
| fix | @angular/cli | 21.2.3 | use parsed package name for migrate-only updates |
| fix | @angular/build | 21.2.3 | alias createRequire banner import to avoid duplicate binding |
| fix | @angular/build | 21.2.3 | only use external packages for polyfills when no local files are present |
| fix | @angular/ssr | 21.2.3 | disallow x-forwarded-prefix starting with a backslash |
| fix | @angular/ssr | 21.2.3 | ensure unique values in redirect response Vary header |
| fix | @angular/ssr | 21.2.3 | support custom headers in redirect responses |
| fix | @angular/cli | 21.2.2 | conditionally quote package names when adding dependencies based on host requirements |
| fix | @angular/cli | 21.2.2 | preserve exact version in ng add when requested |
| perf | @angular/cli | 21.2.2 | avoid redundant package version resolution in ng add |
| fix | @angular/build | 21.2.2 | allow any `CHROME_BIN` for vitest playwright provider |
| fix | @angular/build | 21.2.2 | normalize line endings for CSP hash generation |
| fix | @angular/build | 21.2.2 | pass process environment variables to prerender workers |
| fix | @angular/build | 21.2.2 | resolve assets correctly during i18n prerendering |
| fix | @schematics/angular | 21.2.1 | prevent adding test dependencies when minimal option is enabled |
| fix | @angular/cli | 21.2.1 | correct dev dependency detection logic in `ng add` |
| fix | @angular/cli | 21.2.1 | disable npm update notifier in package manager host |
| fix | @angular/cli | 21.2.1 | ensure group members are updated to targeted version |
| fix | @angular/cli | 21.2.1 | ignore unknown files when formatting schematic changes |
| fix | @angular-devkit/build-angular | 21.2.1 | update copy-webpack-plugin to v14.0.0 |
| fix | @angular/build | 21.2.1 | bundle polyfills to preserve execution order in dev server |
| fix | @angular/build | 21.2.1 | conditionally allow `vi.mock` for non-relative imports |
| fix | @angular/build | 21.2.1 | resolve style include paths relative to `ng-package.json` in unit-test builder |
| fix | @angular/build | 21.2.1 | treat empty browsers array as undefined in unit-test builder |
| perf | @angular/build | 21.2.1 | fix memory leak in `ng serve` with i18n |
| fix | @angular/ssr | 21.2.1 | improve header validation logic |
| fix | @angular/ssr | 21.2.1 | introduce DI token to signal route discovery process |
| feat | @schematics/angular | 21.2.0 | add a '.prettierrc' file to generated workspaces and add Prettier as dev dependency |
| feat | @schematics/angular | 21.2.0 | add ng-add support for Vitest browser providers |
| fix | @schematics/angular | 21.2.0 | add actionable feedback to vitest-browser schematic |
| feat | @angular/cli | 21.2.0 | add markdown files to Prettier's formatting list |
| feat | @angular/cli | 21.2.0 | automatic formatting files modified by schematics |
| feat | @angular/cli | 21.2.0 | integrate file formatting into update migrations |
| feat | @angular/cli | 21.2.0 | standardize MCP tools around workspace/project options |
| fix | @angular/cli | 21.2.0 | correctly parse scoped packages in yarn classic list output |
| fix | @angular/cli | 21.2.0 | enable shell option for Prettier execution on Windows platforms |
| fix | @angular/cli | 21.2.0 | quote complex range specifiers in package manager |
| fix | @angular/cli | 21.2.0 | renamed files by their new path in the schematic workflow |
| fix | @angular/cli | 21.2.0 | simplify Angular version compatibility checks and add special handling for local builds of new major versions |
| fix | @angular/cli | 21.2.0 | validate package manager version using `semver.valid` and throw an error if invalid |
| perf | @angular/cli | 21.2.0 | optimize package manager discovery with stat-based probing |
| feat | @angular/build | 21.2.0 | add headless option to unit-test builder |
| feat | @angular/build | 21.2.0 | run vitest browser with playwright with OS theme |
| fix | @angular/build | 21.2.0 | adjust sourcemap sources when Vitest wrapper is bypassed |
| fix | @angular/build | 21.2.0 | bundle setup files in unit-test builder for Vitest |
| fix | @angular/build | 21.2.0 | explicitly fail when using Vitest runtime mocking |
| fix | @angular/build | 21.2.0 | normalize `allowedHosts` in dev-server |
| fix | @angular/build | 21.2.0 | serve extensionless assets without transformation |
| fix | @angular/ssr | 21.1.5 | prevent open redirect via X-Forwarded-Prefix header |
| fix | @angular/ssr | 21.1.5 | validate host headers to prevent header-based SSRF |
| fix | @angular/build | 21.1.4 | correctly resolve absolute setup file paths in Vitest |
| fix | @schematics/angular | 21.1.3 | warn when production configuration is missing for service worker |
| fix | @angular-devkit/build-angular | 21.1.3 | address Node.js deprecation DEP0190 |
| fix | @angular-devkit/schematics-cli | 21.1.2 | Add boolean type inference for 'true' and 'false' string values in argument parsing |
| fix | @angular-devkit/architect | 21.1.2 | Add boolean type inference for 'true' and 'false' string values in argument parsing |
| fix | @angular/build | 21.1.2 | loosen Vitest dependency checks when runnerConfig is used |
| fix | @angular/build | 21.1.2 | support merging coverage thresholds with Vitest runnerConfig |
| fix | @schematics/angular | 21.1.1 | correct vscode MCP configuration for new projects |
| fix | @schematics/angular | 21.1.1 | remove special characters from jasmine-vitest report filename |
| fix | @angular/cli | 21.1.1 | Remove nonexistent link from MCP response |
| fix | @angular/build | 21.1.1 | allow application assets in workspace root |
| fix | @angular/build | 21.1.1 | prevent incorrect catch binding removal in downleveled for-await |
| fix | @angular/build | 21.1.1 | update undici to v7.18.2 |
| feat | @schematics/angular | 21.1.0 | add browserMode option to jasmine-vitest schematic |
| feat | @schematics/angular | 21.1.0 | generate detailed migration report for `refactor-jasmine-vitest` |
| fix | @schematics/angular | 21.1.0 | add MCP configuration file to new workspaces |
| feat | @angular/cli | 21.1.0 | add 'test' and 'e2e' MCP tools |
| feat | @angular/cli | 21.1.0 | Add "all" as an experimental tool group |
| feat | @angular/cli | 21.1.0 | Add MCP tools for building and running devservers |
| feat | @angular/cli | 21.1.0 | add signal forms lessons |
| fix | @angular/cli | 21.1.0 | correctly handle yarn classic tag manifest fetching |
| fix | @angular/cli | 21.1.0 | correctly spawn package managers on Windows in new abstraction |
| fix | @angular/cli | 21.1.0 | enhance list_projects MCP tool file system traversal and symlink handling |
| fix | @angular/cli | 21.1.0 | handle array output from npm view in manifest parser |
| fix | @angular/cli | 21.1.0 | improve signal forms lesson examples in AI tutor |
| fix | @angular/cli | 21.1.0 | rename mcp devserver tools to comply with naming spec |
| fix | @angular/cli | 21.1.0 | update dependency @modelcontextprotocol/sdk to v1.25.2 |
| fix | @angular/cli | 21.1.0 | update yarn berry package manager configuration |
| fix | @angular/cli | 21.1.0 | use project-local temporary directory in ng add |
| perf | @angular/cli | 21.1.0 | cache resolved specific version in package manager abstraction |
| perf | @angular/cli | 21.1.0 | optimize `ng add` version discovery |
| feat | @angular/build | 21.1.0 | directly support ng-packagr in unit-test builder |
| feat | @angular/build | 21.1.0 | disable TestBed teardown during debugging in Vitest |
| fix | @angular/build | 21.1.0 | inject source-map-support for Vitest browser tests |
| fix | @angular/build | 21.1.0 | normalize roots to POSIX in test discovery for Windows compatibility |
| fix | @angular/build | 21.1.0 | resolve test files correctly on Windows when using non-C drives |
| fix | @angular/build | 21.1.0 | simplify SSL handling for `ng serve` with SSR |
| fix | @angular/ssr | 21.0.6 | handle platform destruction during rendering |
| fix | @schematics/angular | 21.0.5 | move 'provideZoneChangeDetection' to the root module |
| fix | @schematics/angular | 21.0.5 | update application schematics for module-based apps to use 'provideZoneChangeDetection' |
| fix | @schematics/angular | 21.0.5 | update default app component message |
| fix | @schematics/angular | 21.0.5 | update default app component welcome message |
| fix | @angular/cli | 21.0.5 | use narrower types for new MCP TS SDK compatibility |
| fix | @angular/build | 21.0.5 | ensure correct project targeting during Vitest debugging |
| fix | @schematics/angular | 21.0.4 | improve VS Code background compilation start/end detection |
| fix | @schematics/angular | 21.0.4 | remove `inlineSources` from library tsconfig template |
| fix | @angular/build | 21.0.4 | add browser condition to resolver for vitest |
| fix | @angular/build | 21.0.4 | allow non-prefixed requests when using SSR and base href |
| fix | @angular/build | 21.0.4 | conditionally manage Vitest UI option |
| fix | @angular/build | 21.0.4 | ensure tests run when compilation error is resolved |
| fix | @angular/build | 21.0.4 | remove LmdbCacheStore export from private API |
| fix | @angular/ssr | 21.0.4 | add leading slash to well-known non-Angular URLs |
| fix | @angular/ssr | 21.0.4 | propagate status code to redirect |
| fix | @angular/ssr | 21.0.4 | skip SSR processing for well-known non-Angular URLs like favicon.ico |
| fix | @angular-devkit/build-angular | 21.0.3 | conditionally provide Zone.js change detection in the built-in test main file |
| fix | @angular/build | 21.0.3 | Add custom middleware for to present an Angular-tailored message |
| fix | @angular/build | 21.0.3 | Ensure disposal of close-javascript-transformer |
| fix | @angular/build | 21.0.3 | ensure locale base href retains leading slash |
| fix | @angular/build | 21.0.3 | inject testing polyfills in Karma unit-test executor |
| fix | @angular/build | 21.0.3 | support NODE_EXTRA_CA_CERTS in SSR SSL plugin |
| fix | @angular/cli | 21.0.2 | update `@modelcontextprotocol/sdk` to v1.24.0 |
| fix | @angular-devkit/schematics | 21.0.2 | remove lazy imports in node tasks |
| fix | @angular/build | 21.0.2 | add filename truncation to test discovery |
| fix | @angular/build | 21.0.2 | allow overriding Vitest coverage `reportsDirectory` option |
| fix | @schematics/angular | 21.0.1 | add missing imports for lifecycle hooks in jasmine-vitest migration |
| fix | @schematics/angular | 21.0.1 | add mock names to createSpyObj transformation |
| fix | @schematics/angular | 21.0.1 | do not set `esModuleInterop` and `moduleResolution` when module is `preserve` |
| fix | @schematics/angular | 21.0.1 | fix migration of `jasmine.clock().mockDate()` |
| fix | @schematics/angular | 21.0.1 | handle createSpyObj without base name on refactor-jasmine-vitest |
| fix | @schematics/angular | 21.0.1 | improve safety of done callback transformation |
| fix | @schematics/angular | 21.0.1 | silently skip when the build target already uses one of the new builders |
| fix | @schematics/angular | 21.0.1 | support testRunner option in library schematic |
| fix | @schematics/angular | 21.0.1 | warn about loose matching in arrayWithExactContents |
| fix | @angular/cli | 21.0.1 | ensure dependencies are resolved correctly for node modules directory check |
| fix | @angular/build | 21.0.1 | correct Vitest coverage path resolution for JSDOM on Windows |
| fix | @angular/build | 21.0.1 | correctly configure per-browser headless mode in Vitest runner |
| fix | @angular/build | 21.0.1 | correctly invoke `isTTY` as a function |
| fix | @angular/build | 21.0.1 | ensure correct URL joining for prerender routes |
| fix | @angular/build | 21.0.1 | force dev-server to use HTTP/1.1 when using SSR with SSL |
| fix | @angular/build | 21.0.1 | normalize `--include` paths to posix |
| fix | @angular/ssr | 21.0.1 | handle `X-Forwarded-Prefix` and `APP_BASE_HREF` in redirects |
| fix | @angular/ssr | 21.0.1 | prevent redirect loop with encoded query parameters |
| feat | @angular/cli | 21.0.0 | add `--json` output to `ng version` |
| feat | @angular/cli | 21.0.0 | add advanced filtering to MCP example search |
| feat | @angular/cli | 21.0.0 | add ai-tutor mcp tool |
| feat | @angular/cli | 21.0.0 | add builder info to `list_projects` MCP tool |
| feat | @angular/cli | 21.0.0 | add fallback support for packages without direct `ng add` functionality |
| feat | @angular/cli | 21.0.0 | add style language detection to list_projects tool |
| feat | @angular/cli | 21.0.0 | add unit test framework detection to list_projects tool |
| feat | @angular/cli | 21.0.0 | enhance `ng version` output with more details |
| feat | @angular/cli | 21.0.0 | make documentation search tool version-aware |
| feat | @angular/cli | 21.0.0 | make find_examples tool version-aware |
| feat | @angular/cli | 21.0.0 | make get_best_practices tool version-aware |
| feat | @angular/cli | 21.0.0 | overhaul `ng version` command output |
| feat | @angular/cli | 21.0.0 | promote MCP `find_examples` tool to a stable tool |
| feat | @angular/cli | 21.0.0 | provide detailed peer dependency conflict errors in ng add |
| feat | @angular/cli | 21.0.0 | remove direct support for `cnpm` |
| fix | @angular/cli | 21.0.0 | add schema versioning and metadata to example database |
| fix | @angular/cli | 21.0.0 | add snippet support to example search MCP tool |
| fix | @angular/cli | 21.0.0 | add vitest to version command output |
| fix | @angular/cli | 21.0.0 | correct boolean parsing in MCP example front matter |
| fix | @angular/cli | 21.0.0 | correct frontmatter parsing in MCP examples tool |
| fix | @angular/cli | 21.0.0 | correct query in find_examples to prevent runtime error |
| fix | @angular/cli | 21.0.0 | enhance find_examples MCP tool with structured output |
| fix | @angular/cli | 21.0.0 | improve JSON schema parsing for command options |
| fix | @angular/cli | 21.0.0 | improve list_projects MCP tool to find all workspaces in monorepos |
| fix | @angular/cli | 21.0.0 | promote zoneless migration MCP tool to stable |
| fix | @angular/cli | 21.0.0 | show planned actions in `ng add` dry run |
| fix | @angular/cli | 21.0.0 | support multi-database search in find_examples MCP tool |
| perf | @angular/cli | 21.0.0 | cache dependency lookups during `ng add` |
| perf | @angular/cli | 21.0.0 | parallelize peer dependency checks in `ng add` |
| feat | @schematics/angular | 21.0.0 | Add `addTypeToClassName` option to relevant schematics |
| feat | @schematics/angular | 21.0.0 | add `include` option to jasmine-to-vitest schematic |
| feat | @schematics/angular | 21.0.0 | add AGENTS.md support to ai-config schematic |
| feat | @schematics/angular | 21.0.0 | add Jasmine spy API transformations to jasmine-to-vitest schematic |
| feat | @schematics/angular | 21.0.0 | add matcher transformations to jasmine-to-vitest schematic |
| feat | @schematics/angular | 21.0.0 | add misc transformations to jasmine-to-vitest schematic |
| feat | @schematics/angular | 21.0.0 | add Tailwind CSS option to application schematic and `ng new` |
| feat | @schematics/angular | 21.0.0 | Applications are zoneless by default |
| feat | @schematics/angular | 21.0.0 | configure Vitest for new projects and allow runner choice |
| feat | @schematics/angular | 21.0.0 | introduce initial jasmine-to-vitest unit test refactor schematic |
| feat | @schematics/angular | 21.0.0 | set `packageManager` in `package.json` on new projects |
| feat | @schematics/angular | 21.0.0 | support different file name style guides in `ng new` |
| fix | @schematics/angular | 21.0.0 | add 'update-typescript-lib' migration |
| fix | @schematics/angular | 21.0.0 | add `addImports` option to jasmine-vitest schematic |
| fix | @schematics/angular | 21.0.0 | add fixture.whenStable in spec files when zoneless apps |
| fix | @schematics/angular | 21.0.0 | add migration to update `moduleResolution` to `bundler` |
| fix | @schematics/angular | 21.0.0 | add missing typeSeparator to main.ts.template file |
| fix | @schematics/angular | 21.0.0 | add Vitest config generation and runner checks |
| fix | @schematics/angular | 21.0.0 | add warnings and improve Karma config generation |
| fix | @schematics/angular | 21.0.0 | align Karma project generation with unified unit-test builder |
| fix | @schematics/angular | 21.0.0 | correct spacing in application spec tsconfig |
| fix | @schematics/angular | 21.0.0 | correct style guide paths for standalone components |
| fix | @schematics/angular | 21.0.0 | flag '--file-name-style-guide=2016' - wrong import in main.ts |
| fix | @schematics/angular | 21.0.0 | improve comment preservation in jasmine-to-vitest |
| fix | @schematics/angular | 21.0.0 | issues in apps generated with '--file-name-style-guide=2016' flag |
| fix | @schematics/angular | 21.0.0 | make ai-config schematic non-destructive |
| fix | @schematics/angular | 21.0.0 | preserve blank lines in jasmine-to-vitest schematic |
| fix | @schematics/angular | 21.0.0 | remove empty i18n-extract target for new projects |
| fix | @schematics/angular | 21.0.0 | remove explicit flag for host bindings |
| fix | @schematics/angular | 21.0.0 | remove extra space before async in spec templates |
| fix | @schematics/angular | 21.0.0 | respect skip-install for tailwind schematic |
| fix | @schematics/angular | 21.0.0 | transform Jasmine type annotations in jasmine-to-vitest schematic |
| perf | @schematics/angular | 21.0.0 | optimize AST traversal utilities |
| fix | @angular-devkit/build-angular | 21.0.0 | ensure vitest code coverage handles virtual files correctly |
| fix | @angular-devkit/build-angular | 21.0.0 | expand `jest` and `jest-environment-jsdom` to allow version 30 |
| fix | @angular-devkit/build-angular | 21.0.0 | make zone.js optional in server and app-shell builders |
| feat | @angular/build | 21.0.0 | add --list-tests flag to unit-test builder |
| feat | @angular/build | 21.0.0 | add 'filter' option to unit-test builder |
| feat | @angular/build | 21.0.0 | add `browserViewport` option for vitest browser tests |
| feat | @angular/build | 21.0.0 | add advanced coverage options to unit-test builder |
| feat | @angular/build | 21.0.0 | add reporter output file option for unit-test |
| feat | @angular/build | 21.0.0 | allow options for unit test reporters |
| feat | @angular/build | 21.0.0 | support `.test.ts` files by default in unit test builder |
| fix | @angular/build | 21.0.0 | add --ui option for Vitest runner |
| fix | @angular/build | 21.0.0 | add `define` option to dev-server |
| fix | @angular/build | 21.0.0 | add temporary directory cleanup for Vitest executor |
| fix | @angular/build | 21.0.0 | add upfront dependency validation for unit-test runners |
| fix | @angular/build | 21.0.0 | add webcontainer support for Vitest browser provider |
| fix | @angular/build | 21.0.0 | allow `globals` to be set to false |
| fix | @angular/build | 21.0.0 | allow custom runner configuration file for unit-test |
| fix | @angular/build | 21.0.0 | allow unit-test progress option passthrough for building |
| fix | @angular/build | 21.0.0 | allow unit-test runner config with absolute path |
| fix | @angular/build | 21.0.0 | configure Vitest cache to use Angular cache |
| fix | @angular/build | 21.0.0 | correct Vitest builder watch mode execution |
| fix | @angular/build | 21.0.0 | correct Vitest coverage include handling for virtual files |
| fix | @angular/build | 21.0.0 | correct Vitest coverage reporting for test files |
| fix | @angular/build | 21.0.0 | correctly handle absolute paths and casing in test discovery |
| fix | @angular/build | 21.0.0 | direct check include file exists in unit-test discovery |
| fix | @angular/build | 21.0.0 | disable glob directory expansion when finding tests |
| fix | @angular/build | 21.0.0 | disable Vitest test isolation by default |
| fix | @angular/build | 21.0.0 | drop support for TypeScript 5.8 |
| fix | @angular/build | 21.0.0 | dynamically select Vitest DOM environment |
| fix | @angular/build | 21.0.0 | enhance Vitest config merging and validation |
| fix | @angular/build | 21.0.0 | enhance Vitest dependency externalization and pre-bundling |
| fix | @angular/build | 21.0.0 | enhance Vitest resolution for optimal package loading |
| fix | @angular/build | 21.0.0 | ensure `ɵgetOrCreateAngularServerApp` is always defined after errors |
| fix | @angular/build | 21.0.0 | ensure TestBed cleanup hooks are always registered |
| fix | @angular/build | 21.0.0 | ensure TestBed setup is robust in non-isolated Vitest |
| fix | @angular/build | 21.0.0 | ensure Vitest setup files are executed in order |
| fix | @angular/build | 21.0.0 | exclude .angular from coverage instrumentation |
| fix | @angular/build | 21.0.0 | externalize Angular dependencies in Vitest runner |
| fix | @angular/build | 21.0.0 | improve error handling in unit-test builder |
| fix | @angular/build | 21.0.0 | introduce vitest-base.config for test configuration |
| fix | @angular/build | 21.0.0 | normalize paths for Vitest runner output files |
| fix | @angular/build | 21.0.0 | prioritize string type for runnerConfig schema |
| fix | @angular/build | 21.0.0 | provide default excludes for vitest coverage |
| fix | @angular/build | 21.0.0 | relax requirement for files to be in TS compilation |
| fix | @angular/build | 21.0.0 | remove deprecated `javascriptEnabled` option for Less |
| fix | @angular/build | 21.0.0 | remove explicit test isolation configuration |
| fix | @angular/build | 21.0.0 | resolve browser provider packages using project resolver |
| fix | @angular/build | 21.0.0 | resolve PostCSS plugins relative to config file |
| fix | @angular/build | 21.0.0 | serve build assets and styles in vitest |
| fix | @angular/build | 21.0.0 | set coverage report directory to coverage/project-name |
| fix | @angular/build | 21.0.0 | show full aggregate errors from vitest |
| fix | @angular/build | 21.0.0 | simplify SSL handling for `ng serve` with SSR |
| fix | @angular/build | 21.0.0 | support ESM PostCSS plugins |
| fix | @angular/build | 21.0.0 | update vitest to 4.0.6 and remove coverage workaround |
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
enable xsrf for root-provided HttpClient
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
only strip a literal /index.html suffix from URLs
move projection attributes into constants
harden inherit definition feature against polluted prototypes
use Object.create(null) for LOCALE_DATA as a hardening measure
throw on suspicious URLs and restrict protocol-relative URLs
update domino to latest version
add upper bounds for digitsInfo
sanitize placeholder
normalize tag names with custom namespaces in DomElementSchemaRegistry
prevent namespaced SVG <style> elements from being stripped
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
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
prevent SSRF bypasses via backslash URLs in HttpClient
secure location and document initialization against SSRF and path hijack
Preserves explicit 'credentials: omit' in asset requests
Preserves HTTP cache mode in asset group requests
strip namespaced SVG script elements during template compilation
do not insert todo when migrating void @Output
makes resource URL sanitizer lookup case-insensitive
reject script element as a dynamic component host
visit ICU expressions in signal migration schematics
skip scroll-to-top on initial navigation when hydrating
disallow event attribute bindings in host bindings unconditionally
add `allowedHosts` option to `renderModule` and `renderApplication`
forward BEFORE_APP_SERIALIZED errors to ErrorHandler
allow explicit read generic with signal input transforms
i18n flags leaking on errors
respect ngSkipHydration on components with projectable nodes in LContainers
sanitizer typings
validate security-sensitive attributes in i18n bindings
visit ng-let expression value in signal migration schematics
prohibit concurrent submits in signal forms
prevent focus from scrollToAnchor
let declaration span not including end character
fix ordering of view queries metadata in JIT mode
guard against non-object events and avoid listener wrapper identity mismatch
prevent event replay double-invocation when element hydrates before app stability
ensure origin has a trailing slash when parsing url
link formatting in "Animating your Application with CSS"
fix NgClass leaving trailing comma after removal
restore internal URL on popstate when `browserUrl` is used
escape forward slashes in transfer state to prevent crawler indexing
add CSP nonce support to JsonpClientBackend
Don't on Passthru outside of reactive context
prevent SSRF bypasses via protocol-relative and backslash URLs
normalize multiple leading slashes in URL parser
handle nested brackets in host object bindings
error for type parameter declarations
handle missing serialized container hydration data
remove obsolete iOS cursor pointer hack in event delegation
get quick info at local var location to align with TS semantics and support type narrowing
register SVG animation attributes in URL security context
prevent recursive scope checks for invalid NgModule imports
prevent binding unsafe attributes on SVG animation elements
resolve component import by exact specifier in route lazy-loading schematic
treat `object[data]` as resource URL context
validate locale in getOutputPathFn to prevent path traversal
pass outlet context to split to fix empty path named outlets
avoid redundant image fetch on destroy with auto sizes
prevent shimCssText from adding extra blank lines per CSS comment
fixes a regression with animate.leave and reordering
inject migration not work in multi-project workspace with option path
ensure generated code compiles
parse named HTML entities containing digits
escape template literal in TCB
generic types not filled out correctly in type check block
clean up dehydrated views during HMR component replacement
run linked signal equality check without reactive consumer
prevent trailing comma syntax errors after removing NgStyle
preserve redirect policy on reconstructed asset requests
disallow translations of iframe src
reverts "feat(core): add support for nested animations"
sanitize translated form attributes
ensure definitions compile
include signal debug names in their `toString()` representation
sanitize translated attribute bindings with interpolations
prevent mutation of children array in RecursiveVisitor
always parenthesize object literals in TCB
ignore generated ngDevMode signal branch for code coverage
add 'blur' option to debounce rule
adds transfer cache to httpResource to fix hydration
prevent child animation elements from being orphaned
Prevent removal of elements during drag and drop
correctly cache blob responses in transfer cache
add an 'outlet' injector option for ngTemplateOutlet
Add Location strategies to manage trailing slash on write
support height in ImageLoaderConfig and built-in loaders
Add support for the `instanceof` binary operator
Exhaustive checks for switch blocks
support `AstVisitor.visitEmptyExpr()`
optimize away unnecessary restore/reset view calls
variable counter visiting some expressions twice
attach source spans to object literal keys in TCB
support nested component declaration
update diagnostic to flag no-op arrow functions in listeners
add ChangeDetectionStrategy.Eager alias for Default
add host node to DeferBlockData
add support for nested animations
add support for TypeScript 6
resource composition via snapshots
support arrow functions in expressions
correctly handle SkipSelf when resolving from embedded view injector
prevent animated element duplication with dynamic components in zoneless mode
Remove note to skip arrow functions in best practices
add field param to submit action and onInvalid
add form directive
add parsing support to native inputs
Add passing focus options to form field
allow setting submit options at form-level
introduce parse errors in signal forms
introduce SignalFormControl for Reactive Forms compatibility
support binding null to number input
update submit function to accept options object
clear parse errors when model updates
preserve custom-control focus context in signal forms
preserve parse errors when parse returns value
simplify design of parse errors
sort error summary by DOM order
support custom controls as host directives
use consistent error format returned from parse
warn when showing hidden field state
Add completions and hover info for inline styles
Add folding range support for inline styles
Add quick info for inline styles
Support client-side file watching via `onDidChangeWatchedFiles`
add JSON schema for angularCompilerOptions
add linked editing ranges for HTML tag synchronization
use lightweight project warmup for Angular analysis
Add partial ActivatedRouteSnapshot information to `canMatch` params
Make match options optional in isActive
Update `IsActiveMatchOptions` APIs to accept a Partial
fix LCP image detection with duplicate URLs
detect uninvoked functions in defer trigger expressions
block creation of sensitive URI attributes from ICU messages
add geolocation element to schema
capture animation dependencies eagerly to avoid destroyed injector
Fix flakey test due to document injection
support signal-based schemas in validateStandardSchema
correctly parse ArrayBuffer and Blob in transfer cache
`linkedSignal.update` should propagate errors
export DirectiveWithBindings
hold constructors weakly in DepsTracker cache
prevent element duplication with dynamic components
Resolves debounce promise on abort in debounceForDuration
add support for unit-test builder in ng-add schematic
limit UrlParser recursion depth to prevent stack overflow
Use .bind to avoid holding other closures in memory
only touch visible, interactive fields on submit
Detect local project version on creation
Do not intercept reload events with Navigation integration
drop .tsx extension for generated relative imports
handle Set in class bindings
Ability to manually register a form field binding in signal forms
fix control value syncing on touch
Add custom transformations for Cloudflare and Cloudinary image loaders
support custom transformations in ImageKit and Imgix loaders
Add support for multiple swich cases matching
Support empty cases
Add stability debugging utility
support rest arguments in function calls
support spread elements in array literals
support spread expressions in object literals
Microtask scheduling should be used after any application synchronization
return `StaticProvider` for `providePlatformInitializer`
allow focusing bound control from field state
add `context` to `createApplication`
resolve JIT resources in `createApplication`
add controls for route cleanup
Add scroll behavior controls on router navigation
Add standalone function to create a comptued for isActive
Execute RunGuardsAndResolvers function in injection context
extend paramters of RedirectFunction to include paramMap and queryParamMap
Publish Router's integration with platform Navigation API as experimental
Support wildcard params with segments trailing
deprecate `VERSION` export
Ensure the control instruction comes after the other bindings
Rename signal form [field] to [formField]
prevent duplicate imports in common-to-standalone migration
fix memory leak with event replay
handle cancelled traversals in fake navigation
better types for a few expression AST nodes
produce accurate span for typeof and void expressions
provide location information for literal map keys
stop ThisReceiver inheritance from ImplicitReceiver
ensure component import diagnostics are reported within the `imports` expression
fix up spelling of diagnostic
support qualified names in `typeof` type references
avoid leaking view data in animations
explicitly cast signal node value to String
sanitize sensitive attributes on SVG script elements
add `[formField]` directive
allow custom controls to require `dirty` input
allow custom controls to require `hidden` input
allow custom controls to require `pending` input
clean up abort listener after timeout
support custom controls with non signal-based models
Support readonly arrays in signal forms
Fix RouterLink href not updating with `queryParamsHandling`
handle errors from view transition `updateCallbackDone` promise
throw better errors for potential circular references
use mutable ResponseInit type for RESPONSE_INIT token
pass field directive to class config
rename field to fieldTree in FieldContext and ValidationError
avoid interpolation highlighting inside @let
Prevent language service from crashing on suggestion diagnostic errors
avoid false-positive deprecation when using `InjectionToken` with factory only
fix signal forms type error
chain query creation instructions
expand type for native controls with a dynamic type
expose element on signal forms `Field` directive
redo the signal forms metadata API
add signals for dirty, hidden, and pending states in custom controls
allow resetting with empty string
memoize reads of child fields in signal forms
Reuse key in parent in compat structure
avoid allocating an object for signals in production mode
check that field radio button values are strings
run animation queue in environment injector context
unable to inject viewProviders when host directive with providers is present
tree shake unused dynamic `[field]` binding instructions
Allows transforms on `FormUiControl` signals
support dynamic `[field]` bindings
enable XSRF protection for same-origin absolute URLs
handle errors from view transition finished promise
prevent XSS via SVG animation `attributeName` and MathML/SVG URLs
do not type check native controls with ControlValueAccessor
escape angular control flow in jsdoc
ignore non-existent files
apply bootstrap-options migration to `platformBrowserDynamic`
debug data causing memory leak for root effects
notify profiler events in case of errors
use injected `DOCUMENT` for `CSP_NONCE`
avoid repeat searches for field directive
add DI option for classes on `Field` directive
allow dynamic `type` bindings on signal form controls
run reset as untracked
prevent XSRF token leakage to protocol-relative URLs
detect structural ngTemplateOutlet and ngComponentOutlet
Add experimental support for the Navigation API
Support of optional keys for the KeyValue pipe
update to cldr 47
properly type ngComponentOutlet
improve typing of `ngComponentOutletContent`
remove`ngModuleFactory` input of `NgComponentOutlet`
don't choke on unbalanced parens in declaration block
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()
Adds diagnostic for misconfigured `@defer` triggers
enable type checking of host bindings by default
allow value to be set on radio fields
capture metadata for undecorated fields
disallow compiling with the `emitDeclarationOnly` TS compiler option enabled
do not flag custom control required inputs as missing when field is present
infer type of custom field controls
infer types of signal forms set on native inputs
make field detection logic more robust
missingStructuralDirective diagnostic produces false negatives
remove internal syntax-related flags
report invalid bindings on form controls
use any when checking field interface conformance
Add migration for zoneless by default.
Allow passing application providers in `bootstrapModule` options
introduce `BootstrapContext` for improved server bootstrapping
make SimpleChanges generic
support IntersectionObserver options in viewport triggers
support regular expressions in templates
control not recognized when input has directive injecting ViewContainerRef
do not rename ARIA property bindings to attributes
Drop special-case disables automatic change detection scheduling
drop support for TypeScript 5.8
ensure `@for` iteration over field is reactive
Error on invalid APP_ID
Explicit Zone CD in TestBed providers should not override TestBed error handler
Remove ignoreChangesOutsideZone option
Remove Zone-based change provider from internals by default
skip Angular formatting when formatting signals recursively
SSR error in signal forms
update symbols
remove `moduleId` from Component metadata
remove deprecated `interpolation` option on Components.
return value on signal input getter
add `debounce()` rule for signal forms
add experimental signal-based forms
Add FormArrayDirective
Prevents marking fields as touched/dirty when state is hidden/readonly/disabled
bind invalid input in custom controls
consistent treatment of empty
debounce updates from interop controls
Emit `FormResetEvent` when resetting control
implement interoperability between signal forms and reactive forms
interop supports CVAs with signals
mark field as dirty when value is changed by `ControlValueAccessor`
mark field as dirty when value is changed by a bound control
only propagate schema defined properties from field to control
Set error message of a schema error.
test that common field states are propagated to controls
test that min/max properties are propagated to controls
test that minLength/maxLength properties are propagated to controls
implement change detection for field control bindings
only update interop controls when bound field changes
optimize `[field]` binding instructions
add referrerPolicy option to HttpResource
Add reponseType property to HttpResponse and HttpErrorResponse
add support for fetch referrerPolicy option in HttpClient
Provide http services in root
`HttpResponseBase.statusText`
fix directory renaming on Windows
address potential memory leak during project creation
prevent interpolation from superseding block braces
add migration to convert ngClass to use class
add migration to convert ngStyle to use style
Adds migration for deprecated router testing module
Adds support for CommonModule to standalone migration
fix bug in ngclass-to-class migration
remove error for no matching files in control flow migration
remove deprecated `ApplicationConfig` export
convert `lastSuccessfulNavigation` to signal
Fix memory leak through Navigation.abort and canDeactivate guards
Respect custom `UrlSerializer` handling of query parameters
Update recognize stage to use internally async/await
Remove deprecated UpgradeAdapter
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
respect release age policy in update bootstrapping logic
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
remove forceAuth and unscoped credential parsing
support registry metadata fetching under bun package manager
expand package groups for newly added peer dependencies in update schematic
prevent esbuild service child process leakage
remove unconditional CORS wildcard from webpack dev-server
assert that asset input paths are within workspace root
ignore virtual esbuild paths with (disabled):
robustly parse npm manifest from array
allow all hosts in common engine rendering options to prevent validation errors
remove stateful flag from URL_PARAMETER_REGEXP
restrict MCP workspace access to allowed client roots during resolution
add missing imports for focus and skip APIs in refactor-jasmine-vitest
fix broken img ref in ai-tutor
introduce initial package manager workspace awareness
remove standalone true ref in ai tutor
introduce trustProxyHeaders option to safely validate and sanitize proxy headers
add support for configuring trusted proxy headers via environment variable
decode route segments when building and matching route tree
use router to normalize URLs for comparison
dynamically resolve project Angular CLI executable inside MCP tools
ignore EBADF file system errors during MCP project scan
use headless option in MCP test tool
ensure route has leading slash in prerender builder
fix app-shell route format and
use rootDir for HMR component updates path resolution
validate V8 coverage support for browsers in Vitest
handle missing package manager during analytics initialization
preserve coverage ignore comments in development
show clear error when styleUrl points to a TypeScript file
fix sourceRoot resolution for MCP projects tool
ensure transitive SCSS partial errors are tracked in watch mode
ensure Vitest mock patching is executed only once
preserve error stack traces during prerendering
scope CHROME_BIN executable path to individual playwright instances
support custom port in MCP devserver start tool
allow underscores in host validation
patch Headers.forEach in cloneRequestAndPatchHeaders
restore console methods after logger completes
deduplicate and merge coverage excludes with vitest
prevent reporter duplicates by explicitly overriding Vitest configuration
remove default for unit-test coverage option
warn about performance of test.exclude in vitest configuration
warn when vitest watch config conflicts with builder
apply forwarded prefix and vary header in accept-language redirects
support '*' in allowedHosts and warn about security risks
use parsed package name for migrate-only updates
alias createRequire banner import to avoid duplicate binding
only use external packages for polyfills when no local files are present
disallow x-forwarded-prefix starting with a backslash
ensure unique values in redirect response Vary header
support custom headers in redirect responses
conditionally quote package names when adding dependencies based on host requirements
preserve exact version in ng add when requested
avoid redundant package version resolution in ng add
allow any `CHROME_BIN` for vitest playwright provider
normalize line endings for CSP hash generation
pass process environment variables to prerender workers
resolve assets correctly during i18n prerendering
prevent adding test dependencies when minimal option is enabled
correct dev dependency detection logic in `ng add`
disable npm update notifier in package manager host
ensure group members are updated to targeted version
ignore unknown files when formatting schematic changes
update copy-webpack-plugin to v14.0.0
bundle polyfills to preserve execution order in dev server
conditionally allow `vi.mock` for non-relative imports
resolve style include paths relative to `ng-package.json` in unit-test builder
treat empty browsers array as undefined in unit-test builder
fix memory leak in `ng serve` with i18n
improve header validation logic
introduce DI token to signal route discovery process
add a '.prettierrc' file to generated workspaces and add Prettier as dev dependency
add ng-add support for Vitest browser providers
add actionable feedback to vitest-browser schematic
add markdown files to Prettier's formatting list
automatic formatting files modified by schematics
integrate file formatting into update migrations
standardize MCP tools around workspace/project options
correctly parse scoped packages in yarn classic list output
enable shell option for Prettier execution on Windows platforms
quote complex range specifiers in package manager
renamed files by their new path in the schematic workflow
simplify Angular version compatibility checks and add special handling for local builds of new major versions
validate package manager version using `semver.valid` and throw an error if invalid
optimize package manager discovery with stat-based probing
add headless option to unit-test builder
run vitest browser with playwright with OS theme
adjust sourcemap sources when Vitest wrapper is bypassed
bundle setup files in unit-test builder for Vitest
explicitly fail when using Vitest runtime mocking
normalize `allowedHosts` in dev-server
serve extensionless assets without transformation
prevent open redirect via X-Forwarded-Prefix header
validate host headers to prevent header-based SSRF
correctly resolve absolute setup file paths in Vitest
warn when production configuration is missing for service worker
address Node.js deprecation DEP0190
Add boolean type inference for 'true' and 'false' string values in argument parsing
Add boolean type inference for 'true' and 'false' string values in argument parsing
loosen Vitest dependency checks when runnerConfig is used
support merging coverage thresholds with Vitest runnerConfig
correct vscode MCP configuration for new projects
remove special characters from jasmine-vitest report filename
Remove nonexistent link from MCP response
allow application assets in workspace root
prevent incorrect catch binding removal in downleveled for-await
update undici to v7.18.2
add browserMode option to jasmine-vitest schematic
generate detailed migration report for `refactor-jasmine-vitest`
add MCP configuration file to new workspaces
add 'test' and 'e2e' MCP tools
Add "all" as an experimental tool group
Add MCP tools for building and running devservers
add signal forms lessons
correctly handle yarn classic tag manifest fetching
correctly spawn package managers on Windows in new abstraction
enhance list_projects MCP tool file system traversal and symlink handling
handle array output from npm view in manifest parser
improve signal forms lesson examples in AI tutor
rename mcp devserver tools to comply with naming spec
update dependency @modelcontextprotocol/sdk to v1.25.2
update yarn berry package manager configuration
use project-local temporary directory in ng add
cache resolved specific version in package manager abstraction
optimize `ng add` version discovery
directly support ng-packagr in unit-test builder
disable TestBed teardown during debugging in Vitest
inject source-map-support for Vitest browser tests
normalize roots to POSIX in test discovery for Windows compatibility
resolve test files correctly on Windows when using non-C drives
simplify SSL handling for `ng serve` with SSR
handle platform destruction during rendering
move 'provideZoneChangeDetection' to the root module
update application schematics for module-based apps to use 'provideZoneChangeDetection'
update default app component message
update default app component welcome message
use narrower types for new MCP TS SDK compatibility
ensure correct project targeting during Vitest debugging
improve VS Code background compilation start/end detection
remove `inlineSources` from library tsconfig template
add browser condition to resolver for vitest
allow non-prefixed requests when using SSR and base href
conditionally manage Vitest UI option
ensure tests run when compilation error is resolved
remove LmdbCacheStore export from private API
add leading slash to well-known non-Angular URLs
propagate status code to redirect
skip SSR processing for well-known non-Angular URLs like favicon.ico
conditionally provide Zone.js change detection in the built-in test main file
Add custom middleware for to present an Angular-tailored message
Ensure disposal of close-javascript-transformer
ensure locale base href retains leading slash
inject testing polyfills in Karma unit-test executor
support NODE_EXTRA_CA_CERTS in SSR SSL plugin
update `@modelcontextprotocol/sdk` to v1.24.0
remove lazy imports in node tasks
add filename truncation to test discovery
allow overriding Vitest coverage `reportsDirectory` option
add missing imports for lifecycle hooks in jasmine-vitest migration
add mock names to createSpyObj transformation
do not set `esModuleInterop` and `moduleResolution` when module is `preserve`
fix migration of `jasmine.clock().mockDate()`
handle createSpyObj without base name on refactor-jasmine-vitest
improve safety of done callback transformation
silently skip when the build target already uses one of the new builders
support testRunner option in library schematic
warn about loose matching in arrayWithExactContents
ensure dependencies are resolved correctly for node modules directory check
correct Vitest coverage path resolution for JSDOM on Windows
correctly configure per-browser headless mode in Vitest runner
correctly invoke `isTTY` as a function
ensure correct URL joining for prerender routes
force dev-server to use HTTP/1.1 when using SSR with SSL
normalize `--include` paths to posix
handle `X-Forwarded-Prefix` and `APP_BASE_HREF` in redirects
prevent redirect loop with encoded query parameters
add `--json` output to `ng version`
add advanced filtering to MCP example search
add ai-tutor mcp tool
add builder info to `list_projects` MCP tool
add fallback support for packages without direct `ng add` functionality
add style language detection to list_projects tool
add unit test framework detection to list_projects tool
enhance `ng version` output with more details
make documentation search tool version-aware
make find_examples tool version-aware
make get_best_practices tool version-aware
overhaul `ng version` command output
promote MCP `find_examples` tool to a stable tool
provide detailed peer dependency conflict errors in ng add
remove direct support for `cnpm`
add schema versioning and metadata to example database
add snippet support to example search MCP tool
add vitest to version command output
correct boolean parsing in MCP example front matter
correct frontmatter parsing in MCP examples tool
correct query in find_examples to prevent runtime error
enhance find_examples MCP tool with structured output
improve JSON schema parsing for command options
improve list_projects MCP tool to find all workspaces in monorepos
promote zoneless migration MCP tool to stable
show planned actions in `ng add` dry run
support multi-database search in find_examples MCP tool
cache dependency lookups during `ng add`
parallelize peer dependency checks in `ng add`
Add `addTypeToClassName` option to relevant schematics
add `include` option to jasmine-to-vitest schematic
add AGENTS.md support to ai-config schematic
add Jasmine spy API transformations to jasmine-to-vitest schematic
add matcher transformations to jasmine-to-vitest schematic
add misc transformations to jasmine-to-vitest schematic
add Tailwind CSS option to application schematic and `ng new`
Applications are zoneless by default
configure Vitest for new projects and allow runner choice
introduce initial jasmine-to-vitest unit test refactor schematic
set `packageManager` in `package.json` on new projects
support different file name style guides in `ng new`
add 'update-typescript-lib' migration
add `addImports` option to jasmine-vitest schematic
add fixture.whenStable in spec files when zoneless apps
add migration to update `moduleResolution` to `bundler`
add missing typeSeparator to main.ts.template file
add Vitest config generation and runner checks
add warnings and improve Karma config generation
align Karma project generation with unified unit-test builder
correct spacing in application spec tsconfig
correct style guide paths for standalone components
flag '--file-name-style-guide=2016' - wrong import in main.ts
improve comment preservation in jasmine-to-vitest
issues in apps generated with '--file-name-style-guide=2016' flag
make ai-config schematic non-destructive
preserve blank lines in jasmine-to-vitest schematic
remove empty i18n-extract target for new projects
remove explicit flag for host bindings
remove extra space before async in spec templates
respect skip-install for tailwind schematic
transform Jasmine type annotations in jasmine-to-vitest schematic
optimize AST traversal utilities
ensure vitest code coverage handles virtual files correctly
expand `jest` and `jest-environment-jsdom` to allow version 30
make zone.js optional in server and app-shell builders
add --list-tests flag to unit-test builder
add 'filter' option to unit-test builder
add `browserViewport` option for vitest browser tests
add advanced coverage options to unit-test builder
add reporter output file option for unit-test
allow options for unit test reporters
support `.test.ts` files by default in unit test builder
add --ui option for Vitest runner
add `define` option to dev-server
add temporary directory cleanup for Vitest executor
add upfront dependency validation for unit-test runners
add webcontainer support for Vitest browser provider
allow `globals` to be set to false
allow custom runner configuration file for unit-test
allow unit-test progress option passthrough for building
allow unit-test runner config with absolute path
configure Vitest cache to use Angular cache
correct Vitest builder watch mode execution
correct Vitest coverage include handling for virtual files
correct Vitest coverage reporting for test files
correctly handle absolute paths and casing in test discovery
direct check include file exists in unit-test discovery
disable glob directory expansion when finding tests
disable Vitest test isolation by default
drop support for TypeScript 5.8
dynamically select Vitest DOM environment
enhance Vitest config merging and validation
enhance Vitest dependency externalization and pre-bundling
enhance Vitest resolution for optimal package loading
ensure `ɵgetOrCreateAngularServerApp` is always defined after errors
ensure TestBed cleanup hooks are always registered
ensure TestBed setup is robust in non-isolated Vitest
ensure Vitest setup files are executed in order
exclude .angular from coverage instrumentation
externalize Angular dependencies in Vitest runner
improve error handling in unit-test builder
introduce vitest-base.config for test configuration
normalize paths for Vitest runner output files
prioritize string type for runnerConfig schema
provide default excludes for vitest coverage
relax requirement for files to be in TS compilation
remove deprecated `javascriptEnabled` option for Less
remove explicit test isolation configuration
resolve browser provider packages using project resolver
resolve PostCSS plugins relative to config file
serve build assets and styles in vitest
set coverage report directory to coverage/project-name
show full aggregate errors from vitest
simplify SSL handling for `ng serve` with SSR
support ESM PostCSS plugins
update vitest to 4.0.6 and remove coverage workaround