All commits for Angular 22.x releases
| Type | Package | Version | Description |
|---|---|---|---|
| feat | compiler | 22.2.0 | allow template to access private props |
| fix | compiler | 22.2.0 | do not encapsulate nested selectors if parent contains ::ng-deep |
| fix | compiler | 22.2.0 | scope nested CSS rules |
| feat | compiler-cli | 22.2.0 | add strictUnclaimedEventNames option to catch misspelled output bindings |
| feat | compiler-cli | 22.2.0 | scope type-checking of keyed defer blocks |
| fix | compiler-cli | 22.2.0 | deduplicate deferred imports across multiple blocks |
| feat | core | 22.2.0 | add ErrorBoundary programmatic APIs |
| feat | core | 22.2.0 | add utility for testing directives |
| feat | core | 22.2.0 | allow reading `Injector` from a view or content query |
| feat | core | 22.2.0 | support annotations in WebMCP tool declarations |
| fix | core | 22.2.0 | cancel leave animations in nested views during list reordering |
| fix | core | 22.2.0 | support function and signal bindings in animate.enter and animate.leave |
| fix | core | 22.2.0 | update FakeNavigation to match WHATWG HTML spec |
| feat | forms | 22.2.0 | allow permanent hidden fields in signal forms |
| feat | forms | 22.2.0 | hard-code `readOnlyHint` and `untrustedContentHint` for WebMCP implicit signal forms |
| feat | language-service | 22.2.0 | add support for `@boundary` blocks |
| feat | router | 22.2.0 | add containsTree as public API |
| feat | router | 22.2.0 | allow throwing RedirectCommand to trigger redirects |
| feat | router | 22.2.0 | expose router resources in public API |
| feat | router | 22.2.0 | stabilize auto cleanup injectors feature |
| fix | router | 22.2.0 | determine blocking state solely by resource loading status |
| fix | router | 22.2.0 | expose reload method on ActivatedRoute resources |
| fix | router | 22.2.0 | maintain frozen state on rollback until resource loading completes |
| fix | router | 22.2.0 | mark router_resource module-level symbols as side-effect free |
| fix | common | 22.1.8 | remove abort listener on the abort path too in httpResource |
| fix | compiler | 22.1.8 | add return type to pure functions |
| fix | compiler | 22.1.8 | avoid hitting TypeScript limits if template has many translations |
| fix | compiler | 22.1.8 | do not copy expression type into output AST variables |
| fix | compiler | 22.1.8 | guard unverified ctor parameter types in class metadata |
| fix | compiler-cli | 22.1.8 | output function return types in linker |
| fix | core | 22.1.8 | don't use plain objects as maps for jsaction data |
| fix | core | 22.1.8 | ensure references are cleared from idle scheduler |
| fix | core | 22.1.8 | loosen return types for arrow functions in generated code |
| fix | core | 22.1.8 | wait for app stability before cleaning up dehydrated views |
| fix | forms | 22.1.8 | create controls before listeners |
| fix | platform-server | 22.1.8 | preserve Unicode whitespace in ServerXhr URLs |
| fix | router | 22.1.8 | avoid dense elements allocation for numeric URL keys |
| fix | compiler | 22.1.7 | wrap `@for` collection expression before appending non-null assertion |
| fix | core | 22.1.7 | return null when getDirectiveMetadata is called with null or undefined |
| fix | forms | 22.1.7 | mark control as dirty before setting its value in FVC interop |
| fix | compiler | 22.1.6 | namespace `@property` declarations |
| fix | compiler-cli | 22.1.6 | do not flag callable objects with zero parameters in uninvoked track function check |
| fix | core | 22.1.6 | apply SkipSelf to only the starting node in embedded views |
| fix | platform-server | 22.1.6 | avoid sourcemap corruption during domino path substitution |
| fix | router | 22.1.6 | keep detached route subtree contexts isolated and intact |
| fix | compiler-cli | 22.1.5 | check uninvoked signal aliases in extended diagnostic |
| fix | core | 22.1.5 | cancel stale debounce timers to prevent timer leaks |
| fix | core | 22.1.5 | don't fail NgModule checks for a pipe that extends a base class |
| fix | core | 22.1.5 | validate SVG animation attributes outside the SVG namespace |
| fix | forms | 22.1.5 | avoid writing to `name` input on ControlValueAccessor |
| fix | migrations | 22.1.5 | skip tsconfig files of non-Angular projects |
| fix | platform-server | 22.1.5 | resolve HTTP(S) URLs without authority as relative during SSR |
| fix | router | 22.1.5 | avoid view transitions when the user agent provides one |
| fix | common | 22.1.4 | avoid prototype member collisions |
| fix | common | 22.1.4 | use locale NaN symbol in number formatting |
| fix | compiler | 22.1.4 | scope animations declared in minified nested rules |
| fix | compiler-cli | 22.1.4 | default template diagnostic related message source file to template |
| fix | compiler-cli | 22.1.4 | Produce correct tcb expression for optional chaining |
| fix | compiler-cli | 22.1.4 | retain metadata for strict standalone errors |
| fix | core | 22.1.4 | avoid prototype member collisions |
| fix | core | 22.1.4 | explicitly reject foreign components in JIT mode |
| fix | core | 22.1.4 | preserve namespace for dynamic component hosts |
| fix | core | 22.1.4 | prevent TransferState prototype pollution |
| fix | core | 22.1.4 | throw coded RuntimeErrors instead of crashing when hydration/rendering can't find an expected DOM node |
| fix | forms | 22.1.4 | use dot-access for readonly rule configuration |
| fix | language-service | 22.1.4 | honor quote style preference when generating imports |
| fix | migrations | 22.1.4 | preserve registerLocaleData calls in standalone bootstrap migration |
| fix | platform-server | 22.1.4 | avoid stripping unicode whitespace during url resolution |
| fix | animations | 22.1.3 | detect object trigger values with Object.hasOwn |
| fix | common | 22.1.3 | preserve literal key union in KeyValuePipe.transform() |
| fix | compiler | 22.1.3 | preserve &ngsp; between sibling control flow blocks |
| fix | core | 22.1.3 | accept readonly arrays for setClassMetadata decorators |
| fix | core | 22.1.3 | allow readonly arrays in RawScopeInfoFromDecorator |
| fix | core | 22.1.3 | expose debuggableFn for non-computed signal graph nodes |
| fix | core | 22.1.3 | prevent orphaned requestIdleCallback handle from re-entrant scheduling |
| fix | core | 22.1.3 | replace all hasOwnProperty usages with Object.hasOwn |
| fix | core | 22.1.3 | stop running further effects once one destroys the view mid-flush |
| fix | core | 22.1.3 | throw a descriptive error instead of crashing when a hydration node is missing |
| fix | core | 22.1.3 | throw NG0500 instead of a raw TypeError on element hydration mismatch |
| fix | forms | 22.1.3 | report forbidden 2way bindings on when `FormField` is applied |
| fix | forms | 22.1.3 | warn in dev mode when ngModel cannot reach parent NgForm across component boundary |
| fix | http | 22.1.3 | cancel oversized fetch response bodies |
| fix | language-server | 22.1.3 | recover project for external templates in solution-style workspaces |
| fix | platform-browser | 22.1.3 | disallow event handler attributes in Meta |
| fix | platform-browser | 22.1.3 | throw a descriptive error when insertBefore reference node is missing |
| fix | router | 22.1.3 | pass correct component to canDeactivate for named outlets in componentless parent routes |
| fix | compiler | 22.1.2 | Generate correct expression for optional chaning. |
| fix | compiler | 22.1.2 | remove namespaced MathML script elements |
| fix | compiler-cli | 22.1.2 | correctly resolve symbol for SafePropertyRead in chained optional navigation |
| fix | compiler-cli | 22.1.2 | record class extends clause references in DeferredSymbolTracker |
| fix | core | 22.1.2 | ensure i18n_util hasOwnProperty checks are safe for property renaming |
| fix | core | 22.1.2 | incorrect loop in defer blocks |
| fix | core | 22.1.2 | reject prefixed SVG script hosts |
| fix | forms | 22.1.2 | keep radio inputs in sync when values change |
| fix | http | 22.1.2 | always decode JSON responses as UTF-8 |
| fix | router | 22.1.2 | limit protocol-relative URL handling to serialization |
| fix | core | 22.1.1 | initialize hydration triggers after late runtime activation |
| fix | core | 22.1.1 | warn when style property bindings receive invalid values |
| fix | http | 22.1.1 | avoid aborting completed requests in FetchBackend |
| fix | http | 22.1.1 | respect content-type charset in fetch backend text decoder |
| fix | http | 22.1.1 | run root interceptors in the terminal request chain |
| fix | http | 22.1.1 | strip RFC 6265 DQUOTE characters and handle URIError in parseCookieValue |
| fix | common | 22.1.0 | skip transfer cache for uncacheable HTTP traffic |
| feat | compiler | 22.1.0 | Add an error for --global-foo cases |
| feat | compiler | 22.1.0 | Disable '--global-' error outside of g3 |
| feat | compiler | 22.1.0 | Namespace CSS variables to the app |
| feat | compiler | 22.1.0 | Support css var namespacing in properties |
| fix | compiler | 22.1.0 | permissive whitespace parsing in default never blocks |
| fix | compiler | 22.1.0 | support foreign components defined outside top-level scope |
| fix | compiler | 22.1.0 | support foreign components inside control flow blocks |
| perf | compiler | 22.1.0 | do not emit tag name when control flow root is foreign component |
| fix | compiler-cli | 22.1.0 | allow passing uninvoked signals as foreign component props |
| fix | compiler-cli | 22.1.0 | support import aliases in foreignImports |
| feat | core | 22.1.0 | add custom set option to linkedSignal |
| feat | core | 22.1.0 | Adds deep linking from Performance panel to DevTools |
| fix | core | 22.1.0 | account for namespaces in host binding sanitization |
| fix | core | 22.1.0 | correct container anchor collection order to match DOM layout |
| fix | core | 22.1.0 | introduce disposal mechanism for Angular views in foreign `@content` |
| fix | core | 22.1.0 | introduce logical-only containers for foreign content |
| fix | core | 22.1.0 | sanitize host bindings on concrete hosts |
| fix | core | 22.1.0 | set current tnode in foreign component instruction on reuse |
| fix | forms | 22.1.0 | add utility to assert that value is a field tree |
| feat | http | 22.1.0 | add options to allow caching of credentialed and non-cacheable HTTP requests |
| fix | http | 22.1.0 | enable xsrf for root-provided HttpClient |
| fix | http | 22.1.0 | match header values exactly when deleting |
| fix | http | 22.1.0 | preserve immutability of materialized clones |
| fix | http | 22.1.0 | skip transfer cache for fetch credentialed requests |
| refactor | http | 22.1.0 | deprecate jsonp support |
| feat | language-service | 22.1.0 | compile non-exported classes if standalone |
| feat | language-service | 22.1.0 | Typecheck templates which would require inline typecheck blocks |
| fix | language-service | 22.1.0 | account for strictTemplates being enabled by default |
| feat | migrations | 22.1.0 | add migration from injectable to service |
| fix | migrations | 22.1.0 | correctly detect `then`/`else` keywords in control flow migration |
| fix | platform-server | 22.1.0 | harden platform location origin validation during SSR |
| feat | router | 22.1.0 | handle null and undefined inputs in RouterLinkActive |
| fix | common | 22.0.8 | preserve crossorigin on image preloads |
| fix | core | 22.0.8 | ensure SVG animation attributeName is checked case-insensitively |
| fix | forms | 22.0.8 | ensure `pending` status propagates to the root form in signal forms |
| fix | http | 22.0.8 | prevent transfer cache key collisions |
| fix | migrations | 22.0.8 | correctly migrate ngClass with mixed space-separated keys |
| fix | migrations | 22.0.8 | preserve NgClass import on partial migration |
| fix | common | 22.0.7 | avoid prototype lookups in date format caches |
| fix | compiler | 22.0.7 | parsing of an empty template literal interpolation |
| fix | compiler-cli | 22.0.7 | re-tag SourceFiles after TsCreateProgramDriver.updateFiles() |
| fix | core | 22.0.7 | allow static attributes for explicit input transforms |
| fix | core | 22.0.7 | ignore processing instruction syntax in templates |
| fix | core | 22.0.7 | preserve explicit input transform write type |
| fix | forms | 22.0.7 | allow multiple async validators |
| fix | forms | 22.0.7 | preserve intermediate number values in signal forms |
| fix | forms | 22.0.7 | prevent stale CVA writeback during debounce |
| fix | http | 22.0.7 | prevent interceptor signal reads from leaking into calling reactive contexts |
| fix | localize | 22.0.7 | build runtime translations map with a null prototype |
| fix | localize | 22.0.7 | use Object.hasOwn for placeholder lookup in translate |
| fix | platform-browser | 22.0.7 | prevent ReDoS in SOURCEMAP_URL_REGEXP |
| fix | compiler | 22.0.6 | use regular optional chaining expression for safe function calls in TCBs |
| fix | compiler-cli | 22.0.6 | apply debugName transform to required signal queries |
| fix | compiler-cli | 22.0.6 | detect uninvoked signals in bound expressions using ternary |
| fix | forms/signals | 22.0.6 | make extractValue reactive for compat AbstractControl values |
| fix | migrations | 22.0.6 | preserve transitive NgModule references when pruning |
| fix | migrations | 22.0.6 | remove stale model import in model-output migration |
| fix | router | 22.0.6 | handle outlet named __proto__ in segment group maps |
| fix | router | 22.0.6 | use safe hasOwnProperty when parsing query params |
| fix | common | 22.0.5 | use Object.hasOwn in I18nSelectPipe to handle null-prototype and shadowed mappings |
| fix | compiler-cli | 22.0.5 | include toSignal in debugName transform |
| fix | core | 22.0.5 | improve input writes migration in best effort mode |
| fix | core | 22.0.5 | reject dynamic script host elements |
| fix | router | 22.0.5 | fix malformed jsdoc comment for RouterLinkWithHref export |
| fix | migrations | 22.0.4 | resolve migration failure when tsconfig specifies rootDir |
| fix | compiler | 22.0.3 | account for NgModule dependencies in JIT-compiled partial declarations |
| fix | compiler | 22.0.3 | remove unused import breaking CI in 22.0.x |
| fix | compiler-cli | 22.0.3 | report diagnostic instead of crashing on malformed host binding |
| fix | core | 22.0.3 | avoid uncaught promise errors in injectAsync prefetching |
| fix | http | 22.0.3 | prevent caching of responses with Set-Cookie headers |
| fix | service-worker | 22.0.3 | preserve referrer in asset requests |
| fix | service-worker | 22.0.3 | preserve referrer policy in asset requests |
| fix | upgrade | 22.0.3 | support model() signals in downgradeComponent |
| fix | common | 22.0.2 | escape anchor fragment in shadow DOM name selector |
| fix | common | 22.0.2 | skip transfer cache for uncacheable HTTP traffic |
| fix | compiler | 22.0.2 | restrict possible event handler check to property names longer than 2 characters |
| fix | core | 22.0.2 | avoid caching missing locale data |
| fix | core | 22.0.2 | escape overlapping comment delimiters in escapeCommentText |
| fix | core | 22.0.2 | guard against DOM clobbering in declareExperimentalWebMcpTool |
| fix | core | 22.0.2 | preserve leave animation for sibling instances sharing a TNode |
| fix | core | 22.0.2 | prevent unsubscribe during emit from throwing off other listeners |
| fix | core | 22.0.2 | treat iframe credentialless as security-sensitive |
| perf | core | 22.0.2 | detect existing signal dependency without checking all producer links |
| fix | http | 22.0.2 | distinguish repeated transfer cache params |
| fix | http | 22.0.2 | skip transfer cache for fetch credentialed requests |
| fix | migrations | 22.0.2 | migration skip any target are not build or test |
| fix | common | 22.0.1 | escape CSS string-terminating characters in escapeCssUrl |
| fix | common | 22.0.1 | Limits date format string length |
| fix | common | 22.0.1 | prevent prototype pollution in formatDateTime |
| fix | common | 22.0.1 | use cryptographically secure SHA-256 for transfer cache key generation |
| fix | compiler | 22.0.1 | disallow i18n event attributes |
| fix | compiler | 22.0.1 | more robust logic to check if regex can be optimized |
| fix | compiler | 22.0.1 | sanitize `href`/`xlink:href` attributes of any element of the MathML namespace |
| fix | compiler | 22.0.1 | sanitize two-way properties |
| fix | compiler-cli | 22.0.1 | bind switch exhaustive check expressions |
| fix | core | 22.0.1 | disable WebMCP during SSR |
| fix | core | 22.0.1 | Handle synchronous errors in PendingTasks.run function |
| fix | core | 22.0.1 | harden TransferState restoration against DOM clobbering |
| fix | core | 22.0.1 | prevent dangling prevConsumer reference from leaking destroyed views |
| fix | core | 22.0.1 | require WebMCP tool descriptions |
| fix | core | 22.0.1 | update comment for Default change detection |
| fix | core | 22.0.1 | use Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray |
| fix | core | 22.0.1 | validate lowercase SVG animation attribute names |
| fix | forms | 22.0.1 | delay mcp reading the form model by a `tick` |
| fix | forms | 22.0.1 | harden FormGroup control lookups against prototype shadowing |
| fix | forms | 22.0.1 | remove animationstart listener on component destroy to prevent memory leak |
| fix | forms | 22.0.1 | set `additionalProperties: false` on generated WebMCP form |
| fix | http | 22.0.1 | ensure query parameters are inserted before URL fragments |
| fix | http | 22.0.1 | pass down the `reportUploadProgress` and `reportDownloadProgress` on post/patch requests |
| fix | http | 22.0.1 | preserve empty referrer option in HttpRequest |
| fix | http | 22.0.1 | Rejects non-HTTP(S) URLs in JSONP requests |
| fix | language-service | 22.0.1 | prevent external template inlay hints from appearing in TS files |
| fix | platform-server | 22.0.1 | harden platform location origin validation during SSR |
| refactor | platform-server | 22.0.1 | deprecate ServerXhr |
| fix | router | 22.0.1 | use native URL object for navigation boundary and comparison |
| fix | service-worker | 22.0.1 | Strips sensitive headers on cross-origin redirects |
| feat | compiler | 22.0.0 | allow safe navigation to correctly narrow down nullables |
| feat | compiler | 22.0.0 | Angular expressions with optional chaining returns `undefined` |
| feat | compiler | 22.0.0 | Support comments in html element. |
| fix | compiler | 22.0.0 | abstract emitter producing incorrect code for dynamic imports |
| fix | compiler | 22.0.0 | Don't bind inputs/outputs for `data-` attributes |
| fix | compiler | 22.0.0 | don't escape dollar sign in literal expression |
| fix | compiler | 22.0.0 | enforce parentheses containing arguments for :host-context |
| fix | compiler | 22.0.0 | invalid type checking code if field name needs to be quoted |
| fix | compiler | 22.0.0 | normalize tag names with custom namespaces in DomElementSchemaRegistry |
| fix | compiler | 22.0.0 | preserve leading commas in animation definitions |
| fix | compiler | 22.0.0 | remove dedicated support for legacy shadow DOM selectors |
| fix | compiler | 22.0.0 | remove deprecated shadow CSS encapsulation polyfills |
| fix | compiler | 22.0.0 | sanitize dynamic href and xlink:href bindings on SVG a elements |
| fix | compiler | 22.0.0 | simplify handling of colon host with a selector list |
| fix | compiler | 22.0.0 | stop generating unused field |
| fix | compiler | 22.0.0 | throw on duplicate input/outputs |
| fix | compiler | 22.0.0 | throw on invalid in expressions |
| fix | compiler | 22.0.0 | type check invalid for loops |
| feat | compiler-cli | 22.0.0 | add support for Node.js 26.0.0 |
| feat | compiler-cli | 22.0.0 | Adds warning for prefetch without main defer trigger |
| feat | compiler-cli | 22.0.0 | support external TCBs with copied content in specific mode |
| fix | compiler-cli | 22.0.0 | animation events not type checked properly when bound through HostListener decorator |
| fix | compiler-cli | 22.0.0 | resolve TCB mapping failure for safe property reads with as any |
| fix | compiler-cli | 22.0.0 | transform dropping exclamationToken from properties |
| refactor | compiler-cli | 22.0.0 | introduce NG8023 compile-time diagnostic for duplicate selectors |
| feat | core | 22.0.0 | add `IdleRequestOptions` support to `IdleService` |
| feat | core | 22.0.0 | add `provideWebMcpTools` |
| feat | core | 22.0.0 | Add a `injectAsync` helper function |
| feat | core | 22.0.0 | Add a schematics to migrate `provideHttpClient` to keep using the `HttpXhrBackend` implementation. |
| feat | core | 22.0.0 | add ability to cache resources for SSR |
| feat | core | 22.0.0 | Add migration to add `ChangeDetectionStrategy.Eager` where applicable |
| feat | core | 22.0.0 | add special return statuses for resource params |
| feat | core | 22.0.0 | add TestBed.getFixture |
| feat | core | 22.0.0 | allow debouncing signals |
| feat | core | 22.0.0 | Allow other expression for exhaustive typechecking |
| feat | core | 22.0.0 | allow synchronous values for stream Resources |
| feat | core | 22.0.0 | bootstrap via `ApplicationRef` with config |
| feat | core | 22.0.0 | de-duplicate host directives |
| feat | core | 22.0.0 | drop support for TypeScript 5.9 |
| feat | core | 22.0.0 | enhance profiling with documentation URLs |
| feat | core | 22.0.0 | export experimental `declareWebMcpTool` support |
| feat | core | 22.0.0 | implement Angular DI graph in-page AI tool |
| feat | core | 22.0.0 | introduce `@Service` decorator |
| feat | core | 22.0.0 | re-introduce nested leave animations scoped to component boundaries |
| feat | core | 22.0.0 | register AI runtime debugging tools |
| feat | core | 22.0.0 | Set default Component changeDetection strategy to OnPush |
| feat | core | 22.0.0 | support bootstrapping Angular applications underneath shadow roots |
| feat | core | 22.0.0 | support customization of @defer's on idle behavior |
| feat | core | 22.0.0 | Support optional timeout for idle deferred triggers |
| feat | core | 22.0.0 | TestBed.getFixture -> TestBed.getLastFixture and update implementation |
| feat | core | 22.0.0 | Update Testability to use PendingTasks for stability indicator |
| fix | core | 22.0.0 | allow service with factory on abstract classes |
| fix | core | 22.0.0 | bind global context to idle callback shims in @defer's idle service |
| fix | core | 22.0.0 | do not register dom triggers when defer blocks are in manual mode |
| fix | core | 22.0.0 | enforce return type for service factory |
| fix | core | 22.0.0 | ensure custom controls resolve transitive host directives |
| fix | core | 22.0.0 | lazy-initialize debounced state to prevent computation cycle |
| fix | core | 22.0.0 | mark service decorator as stable |
| fix | core | 22.0.0 | normalize tag names in runtime i18n attribute security context lookup |
| fix | core | 22.0.0 | prevent rxResource from leaking a subscription |
| fix | core | 22.0.0 | resolver function not matching expected type |
| fix | core | 22.0.0 | support prefix-insensitive DOM schema lookups and compile-time i18n attribute validation |
| fix | core | 22.0.0 | synchronize core sanitization schema with compiler |
| fix | core | 22.0.0 | widen type for directive inputs/outputs |
| refactor | core | 22.0.0 | enhance AnimationCallbackEvent.animationComplete signature |
| refactor | core | 22.0.0 | remove `checkNoChanges` from the public API. |
| refactor | core | 22.0.0 | remove `createNgModuleRef` |
| refactor | core | 22.0.0 | remove ComponentFactoryResolver & ComponentFactory from the api surface |
| refactor | core | 22.0.0 | remove ComponentFactoryResolver & ComponentFactory from the api surface"" |
| feat | forms | 22.0.0 | add `reloadValidation` to Signal Forms to manually trigger async validation |
| feat | forms | 22.0.0 | add debounce option to validateAsync and validateHttp |
| feat | forms | 22.0.0 | add FieldState.getError() |
| feat | forms | 22.0.0 | graduate signal forms APIs to public API |
| feat | forms | 22.0.0 | shim legacy NG_VALIDATORS into parseErrors for CVA mode |
| feat | forms | 22.0.0 | support binding `number |
| feat | forms | 22.0.0 | support ngNoCva as an opt-out for ControlValueAccessors |
| feat | forms | 22.0.0 | template & reactive support for FVC |
| fix | forms | 22.0.0 | Add support for range type with outside of native bounds |
| fix | forms | 22.0.0 | align FormField CVA selection priority with standard forms |
| fix | forms | 22.0.0 | allow `FormRoot` to be used without submission options |
| fix | forms | 22.0.0 | allow late-bound input types for signals forms |
| fix | forms | 22.0.0 | change FieldState optional properties to non-optional |
| fix | forms | 22.0.0 | clear native date inputs correctly in signal forms when changed via native UI |
| fix | forms | 22.0.0 | deduplicate writeValue calls in CVA interop |
| fix | forms | 22.0.0 | ensure debounced async validators produce pending status during debounce |
| fix | forms | 22.0.0 | fix orphan field error on blur during array removal |
| fix | forms | 22.0.0 | implement custom control reset propagation |
| fix | forms | 22.0.0 | prevent orphan field crashes in debounceSync and async validation |
| fix | forms | 22.0.0 | restrict `SignalFormsConfig` to a readonly API |
| fix | forms | 22.0.0 | split the `touched` model into an input and `touch` output |
| fix | forms | 22.0.0 | support generic unions in signal form schemas |
| fix | forms | 22.0.0 | synchronize controls with the model on reset |
| fix | forms | 22.0.0 | Untrack `setValue` in reactive forms |
| fix | forms | 22.0.0 | use controlValue in NgControl for CVA interop |
| perf | forms | 22.0.0 | avoid redundant invalidations in parser errors signal |
| perf | forms | 22.0.0 | avoid spurious recomputation in FormField.parseErrors |
| perf | forms | 22.0.0 | lazily instantiate signal form fields |
| perf | forms | 22.0.0 | optimize reactivity by using shallow array equality |
| perf | forms | 22.0.0 | shortcut deepSignal writes if value is unchanged |
| refactor | forms | 22.0.0 | remove string support from min and max validation rules |
| feat | http | 22.0.0 | Use `FetchBackend` as default for the `HttpBackend` implementation |
| fix | http | 22.0.0 | Introduce a max buffer size for fetch requests on SSR |
| fix | http | 22.0.0 | prevent `httpResource` from leaking a subscription |
| refactor | http | 22.0.0 | Add `reportUploadProgress` & `reportDownloadProgress` options |
| feat | language-service | 22.0.0 | add angular template inlay hints support |
| feat | language-service | 22.0.0 | add Document Symbols support for Angular templates |
| feat | language-service | 22.0.0 | Add support for idle timeout in defer blocks |
| fix | language-service | 22.0.0 | Add support for `@Input` with transforms |
| feat | migrations | 22.0.0 | Add migration for CanMatchFn snapshot parameter |
| feat | migrations | 22.0.0 | add strictTemplates to tsconfig during ng update |
| feat | migrations | 22.0.0 | Disabling nullishCoalescingNotNullable & optionalChainNotNullable on ng update |
| feat | migrations | 22.0.0 | model + output migrations |
| fix | migrations | 22.0.0 | avoid generating invalid code in ChangeDetectionStrategy.Eager migration |
| fix | migrations | 22.0.0 | Fix typo for strict-template migration |
| fix | migrations | 22.0.0 | Make the safe optional chaining idempotent |
| fix | migrations | 22.0.0 | remove compiler import from safe optional chaining migration |
| feat | platform-browser | 22.0.0 | make incremental hydration default behavior |
| fix | platform-browser | 22.0.0 | remove unused styles when associated `host` is dropped |
| refactor | platform-browser | 22.0.0 | remove Hammer integration |
| feat | router | 22.0.0 | Add `options` optional parameter for `withComponentInputBinding` |
| feat | router | 22.0.0 | add unmatchedInputBehavior option to componentInputBinding |
| feat | router | 22.0.0 | adds browserUrl input support to router links |
| fix | router | 22.0.0 | Add strict typing on 'getResolvedTitleForRoute' |
| fix | router | 22.0.0 | make currentSnapshot required in CanMatchFn |
| fix | router | 22.0.0 | set default paramsInheritanceStrategy to 'always' |
| refactor | router | 22.0.0 | remove deprecated `provideRoutes` function. |
| fix | service-worker | 22.0.0 | resolve TS 6.0 compatibility for messageerror listener |
| refactor | upgrade | 22.0.0 | remove `getAngularLib`/`setAngularLib` |
| feat | @angular/cli | 22.2.0 | add `--root` command line option to `mcp` command |
| perf | @angular/cli | 22.2.0 | skip eager yargs help message formatting during command execution |
| feat | @angular/build | 22.2.0 | migrate Angular Linker to oxc-parser and magic-string |
| feat | @angular/build | 22.2.0 | Support splitting browser and server stats jsonfiles for easier consumption |
| fix | @angular/build | 22.2.0 | add automatic corruption recovery in SQLite cache store |
| fix | @angular/build | 22.2.0 | avoid pure comment pattern in oxc transform |
| fix | @angular/build | 22.2.0 | default preloadInitial to false when serviceWorker is enabled |
| fix | @angular/build | 22.2.0 | disable linker internal source mapping in OXC linker |
| fix | @angular/build | 22.2.0 | disable root config extension for inline test project |
| fix | @angular/build | 22.2.0 | ensure chokidar watcher is ready before returning |
| fix | @angular/build | 22.2.0 | ensure parent directory exists in SQLite cache store |
| fix | @angular/build | 22.2.0 | execute setup file hooks for each spec file when coverage is enabled |
| fix | @angular/build | 22.2.0 | include inline component stylesheets in referenced watch files |
| fix | @angular/build | 22.2.0 | only compile included test files in unit-test builder |
| fix | @angular/build | 22.2.0 | pass load cache to compiler plugin and escape extension regex in polyfills |
| fix | @angular/build | 22.2.0 | preserve duplicate bundle filenames across output file types |
| fix | @angular/build | 22.2.0 | prevent memory leaks in parallel compilation and caches |
| fix | @angular/build | 22.2.0 | prevent stale bundler caching and correctly resolve load cache |
| fix | @angular/build | 22.2.0 | prevent syntax corruption in linker and oxc transform |
| fix | @angular/build | 22.2.0 | recursively ignore output and cache paths in watch mode |
| fix | @angular/build | 22.2.0 | scope Sass package resolution caching for stylesheets in node_modules |
| fix | @angular/build | 22.2.0 | support parenthesized expressions in oxc linker |
| fix | @angular/build | 22.2.0 | use chokidar watcher when followSymlinks is enabled |
| perf | @angular/build | 22.2.0 | avoid encoding intermediate source maps before remapping |
| perf | @angular/build | 22.2.0 | bypass worker dispatch for files without transform candidates |
| perf | @angular/build | 22.2.0 | consolidate component stylesheet bundling with shared load result cache |
| perf | @angular/build | 22.2.0 | decouple diagnostic type checking from build start |
| perf | @angular/build | 22.2.0 | implement SharedArrayBuffer translation dictionaries for zero-copy worker access |
| perf | @angular/build | 22.2.0 | implement sliding-window batching and worker translation eviction |
| perf | @angular/build | 22.2.0 | key Sass package resolutions without containing URL qualification |
| perf | @angular/build | 22.2.0 | only reset Sass worker pool caches when stylesheet files change |
| perf | @angular/build | 22.2.0 | optimize sourcemap stripping and loading with buffer fast path |
| perf | @angular/build | 22.2.0 | reduce watcher debounce latency for faster incremental rebuilds |
| perf | @angular/build | 22.2.0 | replace watchpack with @parcel/watcher and chokidar |
| perf | @angular/build | 22.2.0 | selectively compress large entries in SQLite cache store |
| perf | @angular/build | 22.2.0 | share sass directory and resolution caches across stylesheets |
| perf | @angular/build | 22.2.0 | unify Oxc linking and optimization AST traversal passes |
| perf | @angular/build | 22.2.0 | use iterative post-order AST traversal for OXC transforms |
| perf | @angular/build | 22.2.0 | use native sass-embedded compiler daemon |
| perf | @angular/build | 22.2.0 | use size-weighted task heuristics in i18n inliner |
| perf | @angular/build | 22.2.0 | verify cache metadata before reading file and eliminate sqlite read-locks |
| refactor | @angular/build | 22.2.0 | deprecate splitting option in unit-test builder |
| perf | @angular/ssr | 22.2.0 | pre-compile critical CSS plans at build time |
| fix | @schematics/angular | 22.1.9 | update @types/node to a version vitest 5 accepts |
| fix | @angular-devkit/core | 22.1.9 | name the unknown option in a schema validation error |
| fix | @angular/build | 22.1.9 | support standard JavaScript MIME types and case insensitivity in auto-CSP |
| fix | @angular/build | 22.1.8 | disable strictPort when port 0 is used in dev-server |
| perf | @angular/build | 22.1.8 | avoid full JSON parsing when updating sourcemap ignore list |
| perf | @angular/build | 22.1.8 | read rendered module length once per module in chunk optimizer |
| fix | @angular/cli | 22.1.7 | isolate temporary package installations from parent Yarn workspace |
| fix | @angular/build | 22.1.7 | add splitting option to unit-test builder |
| fix | @angular/build | 22.1.7 | enable code splitting for vitest browser tests |
| fix | @angular/build | 22.1.7 | fail build and exclude routes when prerendering fails |
| fix | @angular/build | 22.1.7 | keep dev-server Vite cache worktree-local |
| fix | @angular/build | 22.1.7 | preserve binary values in the SQLite cache store |
| fix | @angular/ssr | 22.1.7 | decode pathname when constructing server asset path |
| fix | @angular/ssr | 22.1.7 | ensure public directory containment in CommonEngine |
| fix | @angular/build | 22.1.6 | ignore side-effect annotations in unit test builds |
| perf | @angular/build | 22.1.6 | batch prerender routes and share in-memory server bundles |
| fix | @angular/ssr | 22.1.6 | abort web request signal when node request is aborted |
| fix | @schematics/angular | 22.1.5 | transform fail() to expect.fail() in refactor-jasmine-vitest |
| fix | @angular/cli | 22.1.5 | enforce MCP roots in get_best_practices tool |
| fix | @angular/cli | 22.1.5 | handle errors from isAllowedWorkspacePath in best-practices tool |
| fix | @angular/cli | 22.1.5 | throw on out-of-roots workspace in best-practices tool |
| fix | @angular/build | 22.1.5 | correct misleading error message for top-level await |
| fix | @angular/build | 22.1.5 | disable code splitting for unit test builds |
| fix | @angular/build | 22.1.5 | preserve integrity and crossorigin in autoCsp loader |
| perf | @angular/build | 22.1.5 | traverse AST with iterative post-order walker in i18n inliner |
| fix | @schematics/angular | 22.1.4 | generate CLAUDE.md for Claude Code instead of AGENTS.md |
| fix | @schematics/angular | 22.1.4 | import UrlSegment instead of subPath in guard generator |
| fix | @angular/cli | 22.1.4 | disable searching current directory for bare executable names on Windows |
| fix | @angular/cli | 22.1.4 | serialize configuration as a single argv token in run_target strategies |
| perf | @angular/cli | 22.1.4 | avoid eager module loading during global bootstrap |
| fix | @angular/build | 22.1.4 | count statically imported chunks in the initial total |
| fix | @angular/build | 22.1.4 | normalize setupFiles paths to POSIX for vitest runner |
| fix | @angular/build | 22.1.4 | prevent syntax corruption for Crockford-style enum IIFE |
| fix | @angular/build | 22.1.4 | prevent syntax corruption in oxc transform |
| fix | @angular/build | 22.1.4 | return direct file contents for non-Angular TypeScript files |
| fix | @angular/build | 22.1.4 | return only lowest version per target engine |
| fix | @angular/build | 22.1.4 | set target for Rolldown dependency prebundling in Vite dev server |
| perf | @angular/build | 22.1.4 | avoid encoding the inline source map before remapping |
| perf | @angular/build | 22.1.4 | batch last_accessed updates in sqlite cache store |
| perf | @angular/build | 22.1.4 | hash the i18n inline cache key options once per locale |
| perf | @angular/build | 22.1.4 | optimize template string size calculation in server manifest |
| perf | @angular/build | 22.1.4 | share i18n translations with the inliner workers by reference |
| perf | @angular/build | 22.1.4 | use Map for chunk asset size lookups in budget calculator |
| fix | @angular/ssr | 22.1.4 | destroy platform when response stream is cancelled |
| fix | @angular/cli | 22.1.3 | always install package during ng add to inspect manifest on disk for schematics |
| fix | @angular/cli | 22.1.3 | correctly report available package updates during bare ng update |
| fix | @angular/cli | 22.1.3 | discover migrations from installed packages when omitted by registry metadata |
| fix | @angular/cli | 22.1.3 | normalize Windows drive-letter casing for process.cwd |
| fix | @angular/build | 22.1.3 | prevent build process hang on unhandled error |
| fix | @angular/build | 22.1.3 | retain watch files on error in load result cache |
| fix | @angular/build | 22.1.3 | support case-insensitive and alternative license file names |
| perf | @angular/build | 22.1.3 | release build resources early in non-watch mode |
| fix | @angular/ssr | 22.1.3 | settle writeResponseToNodeResponse when client disconnects |
| perf | @angular/ssr | 22.1.3 | avoid buffering request body when sanitizing headers |
| fix | @angular/cli | 22.1.2 | add packages with built-in schematics to devDependencies only |
| fix | @angular/build | 22.1.2 | prevent IIFE wrapper interleaving for adjacent classes in minified files |
| fix | @angular/cli | 22.1.1 | support npm 12 metadata array and error formats |
| fix | @angular/build | 22.1.1 | rewrite paths from sandboxed execroots when running under Bazel |
| fix | @angular/cli | 22.1.0 | abort and guide manual mitigation when updating catalog packages |
| fix | @angular/cli | 22.1.0 | prevent Yarn registry environment variable override |
| fix | @angular/cli | 22.1.0 | remove algoliasearch dependency and support latest docs versions |
| fix | @angular/cli | 22.1.0 | resolve correct registry name when using npm alias syntax during update |
| fix | @angular/cli | 22.1.0 | respect client-side release age settings during update resolution |
| fix | @angular/cli | 22.1.0 | revert package.json changes if installation tasks fail during update |
| fix | @angular/cli | 22.1.0 | robustly parse npm manifest from array |
| feat | @schematics/angular | 22.1.0 | update ai-config to include Angular MCP server config |
| fix | @schematics/angular | 22.1.0 | remove unused spec tsconfig outDir |
| refactor | @angular-devkit/core | 22.1.0 | deprecate stringToFileBuffer and fileBufferToString |
| feat | @angular/build | 22.1.0 | add built-in SQLite cache store fallback |
| feat | @angular/build | 22.1.0 | emit debug ids for stable subresource integrity hashes |
| feat | @angular/build | 22.1.0 | enable chunk optimization for server builds |
| feat | @angular/build | 22.1.0 | migrate advanced optimization Babel plugins to oxc-parser + magic-string |
| feat | @angular/build | 22.1.0 | migrate i18n inliner to oxc-parser + magic-string |
| feat | @angular/build | 22.1.0 | share persistent build cache across git worktrees |
| fix | @angular/build | 22.1.0 | add bounded timeout to vitest executor disposal |
| fix | @angular/build | 22.1.0 | anchor debug ID comment matching and make injection idempotent |
| fix | @angular/build | 22.1.0 | prevent esbuild service hang on internal component stylesheet builds |
| fix | @angular/build | 22.1.0 | prevent stripping nested sourceMappingURL comments |
| fix | @angular/build | 22.1.0 | support hyphens and underscores when stripping chunk hash in chunk optimizer |
| perf | @angular/build | 22.1.0 | default chunk optimization to use Rolldown |
| perf | @angular/build | 22.1.0 | enable fast-path AST printing with sourcemaps in AotCompilation |
| feat | @angular/ssr | 22.1.0 | support the standard Forwarded header |
| fix | @angular/cli | 22.0.9 | declare devserver_start and devserver_stop as isReadOnly:false |
| fix | @angular/build | 22.0.9 | safeguard Karma builder stream controller against closed state |
| fix | @angular/cli | 22.0.8 | batch Prettier invocations during migration formatting |
| fix | @angular/cli | 22.0.8 | update MCP devserver tool names to conform to spec regex |
| fix | @angular/build | 22.0.8 | canonicalize drive letter casing for workspace root on Windows |
| fix | @angular/build | 22.0.8 | ensure import map integrity keys are valid URL-like specifiers |
| fix | @angular/build | 22.0.8 | favor istanbul coverage provider when browser testing is enabled |
| fix | @angular/build | 22.0.8 | preserve custom config options in runnerConfig for vitest |
| fix | @angular/build | 22.0.8 | remap metafile paths when workspace root is a symlink or junction |
| perf | @angular/build | 22.0.8 | skip semantic affected-file walk when type checking is disabled |
| fix | @angular/cli | 22.0.7 | copy packageManager field and yarn config for temp installs |
| fix | @angular/cli | 22.0.7 | support resolving subproject dependencies in pnpm workspaces |
| fix | @angular/build | 22.0.6 | fallback to build target preserveSymlinks option in karma runner |
| fix | @angular/build | 22.0.6 | prevent externalizing builder-injected i18n locale data |
| fix | @angular/build | 22.0.6 | strip all vite id prefixes from minified code with external dependencies |
| fix | @angular/ssr | 22.0.6 | replace all route parameters when resolving relative redirects |
| fix | @schematics/angular | 22.0.5 | remove unused app tsconfig outDir |
| fix | @angular/cli | 22.0.5 | gracefully handle package manager errors in command handler |
| fix | @angular/cli | 22.0.5 | respect release age policy in update bootstrapping logic |
| fix | @angular-devkit/build-angular | 22.0.5 | prevent OS command injection in ssr-dev-server builder |
| fix | @angular/build | 22.0.5 | auto-inject localize/init in library unit tests |
| fix | @angular/build | 22.0.5 | inherit preserveSymlinks option from build target in unit-test builder |
| fix | @angular/build | 22.0.5 | load zone.js dynamically for library unit tests |
| fix | @angular/build | 22.0.5 | scope createRequire module resolution using paths to prevent parent paths |
| fix | @angular/ssr | 22.0.5 | preserve response headers during redirect |
| fix | @angular/build | 22.0.4 | aggregate parallel worker performance timings on the main thread |
| perf | @angular/build | 22.0.4 | dispose builder result context early in non-watch mode |
| fix | @schematics/angular | 22.0.3 | remove default workspace vscode mcp.json configuration |
| fix | @angular/cli | 22.0.2 | support registry metadata fetching under bun package manager |
| perf | @angular/cli | 22.0.2 | implement semaphore backpressure throttling in PackageManager |
| perf | @angular/build | 22.0.2 | implement semaphore backpressure throttling in JavaScriptTransformer |
| fix | @angular/ssr | 22.0.2 | avoid caching non-SSG page lookups |
| fix | @angular/ssr | 22.0.2 | correct grammar in console warning for redirected location headers |
| fix | @angular/ssr | 22.0.2 | prioritize options over environment variables in AngularNodeAppEngine |
| fix | @schematics/angular | 22.0.1 | fix browserMode option mapping in refactor-jasmine-vitest |
| fix | @schematics/angular | 22.0.1 | safely comment out multiline statements in refactor-jasmine-vitest |
| fix | @schematics/angular | 22.0.1 | use null objects and callbacks in karma-to-vitest migration |
| fix | @angular/cli | 22.0.1 | do not sort migrations of the same version alphabetically |
| fix | @angular/cli | 22.0.1 | fallback to local package.json for schematic detection on first run |
| fix | @angular/cli | 22.0.1 | isolate temporary package installation from parent pnpm workspace |
| fix | @angular/cli | 22.0.1 | remove forceAuth and unscoped credential parsing |
| fix | @angular/cli | 22.0.1 | validate registry option is a valid URL in ng add |
| perf | @angular/cli | 22.0.1 | optimize update schematic registry query counts by fetching package metadata lazily |
| fix | @angular/build | 22.0.1 | allow disabling Vitest isolation from builder |
| fix | @angular/build | 22.0.1 | exclude JSON imports from Vite dependency optimization |
| fix | @angular/build | 22.0.1 | prevent concurrent stylesheet bundling esbuild context leaks |
| fix | @angular/build | 22.0.1 | restrict application builder output paths to output directory |
| feat | @schematics/angular | 22.0.0 | add migrate-karma-to-vitest update migration |
| feat | @schematics/angular | 22.0.0 | add migration to add istanbul-lib-instrument |
| feat | @schematics/angular | 22.0.0 | conditionally install istanbul coverage provider for Vitest migration |
| feat | @schematics/angular | 22.0.0 | migrate fake async to Vitest fake timers |
| feat | @schematics/angular | 22.0.0 | migrate fakeAsync's flush behavior when used in beforeEach |
| feat | @schematics/angular | 22.0.0 | rely on strict template default in generated workspaces |
| feat | @schematics/angular | 22.0.0 | set up fake timers in beforeEach instead of beforeAll |
| feat | @schematics/angular | 22.0.0 | stabilize refactor-jasmine-vitest schematic |
| feat | @schematics/angular | 22.0.0 | update TSConfig globals during karma to vitest migration |
| fix | @schematics/angular | 22.0.0 | add istanbul-lib-instrument to application/library generator dependencies |
| fix | @schematics/angular | 22.0.0 | add trusted-proxy-headers migration |
| fix | @schematics/angular | 22.0.0 | default components to OnPush change detection |
| fix | @schematics/angular | 22.0.0 | defer karma config deletion in Karma to Vitest migration |
| fix | @schematics/angular | 22.0.0 | preserve Jasmine stub-by-default semantics for bare spies |
| fix | @schematics/angular | 22.0.0 | replace deprecated `ChangeDetectionStrategy.Default` with `Eager` |
| fix | @schematics/angular | 22.0.0 | support spy call arguments migration in refactor-jasmine-vitest |
| fix | @schematics/angular | 22.0.0 | use service decorator in ng generate |
| feat | @angular/cli | 22.0.0 | add support for Node.js 26.0.0 |
| fix | @angular/cli | 22.0.0 | reflect new minimum supported Node version in ng.js |
| fix | @angular/cli | 22.0.0 | update odd-numbered Node.js version warning condition for future releases |
| fix | @angular/cli | 22.0.0 | update zoneless migration tool to handle `ChangeDetectionStrategy.Eager` |
| perf | @angular/cli | 22.0.0 | cache root manifest and resolve restricted package exports in ng add |
| build | 22.0.0 | update minimum supported Node.js versions | |
| refactor | 22.0.0 | remove `@angular-devkit/architect-cli` package | |
| refactor | 22.0.0 | remove experimental Jest and Web Test Runner builders | |
| refactor | @angular-devkit/build-angular | 22.0.0 | deprecate Webpack builders |
| refactor | @angular-devkit/build-webpack | 22.0.0 | deprecate webpack and webpack-dev-server builders |
| feat | @angular/build | 22.0.0 | add isolate option to unit-test builder |
| feat | @angular/build | 22.0.0 | add process.env.PORT support to the dev server |
| feat | @angular/build | 22.0.0 | add quiet option to suppress build noise in unit tests |
| feat | @angular/build | 22.0.0 | enable chunk optimization by default with heuristics |
| feat | @angular/build | 22.0.0 | move istanbul-lib-instrument to optional peer dependency |
| feat | @angular/build | 22.0.0 | rename `experimentalPlatform` to `platform` in application builder |
| feat | @angular/build | 22.0.0 | subresource integrity validation for dynamically loaded modules |
| feat | @angular/build | 22.0.0 | support Istanbul coverage in Vitest runner |
| feat | @angular/build | 22.0.0 | support runtime Zone.js detection in Vitest unit test runner |
| fix | @angular/build | 22.0.0 | allow configuring Access-Control-Allow-Origin via headers option |
| fix | @angular/build | 22.0.0 | use dynamic TestComponentRenderer for Vitest |
| fix | @angular/ssr | 22.0.0 | enforce explicit opt-in for proxy headers |
| fix | @angular/ssr | 22.0.0 | support all X-Forwarded-* headers when trustProxyHeaders is true |
| fix | @angular/ssr | 22.0.0 | support server-side rendering configuration options |
| refactor | @angular/ssr | 22.0.0 | deprecate CommonEngine APIs |
| refactor | @angular/ssr | 22.0.0 | remove CSR fallback for invalid hosts |
| refactor | @ngtools/webpack | 22.0.0 | deprecate @ngtools/webpack loader and plugin |
allow template to access private props
do not encapsulate nested selectors if parent contains ::ng-deep
scope nested CSS rules
add strictUnclaimedEventNames option to catch misspelled output bindings
scope type-checking of keyed defer blocks
deduplicate deferred imports across multiple blocks
add ErrorBoundary programmatic APIs
add utility for testing directives
allow reading `Injector` from a view or content query
support annotations in WebMCP tool declarations
cancel leave animations in nested views during list reordering
support function and signal bindings in animate.enter and animate.leave
update FakeNavigation to match WHATWG HTML spec
allow permanent hidden fields in signal forms
hard-code `readOnlyHint` and `untrustedContentHint` for WebMCP implicit signal forms
add support for `@boundary` blocks
add containsTree as public API
allow throwing RedirectCommand to trigger redirects
expose router resources in public API
stabilize auto cleanup injectors feature
determine blocking state solely by resource loading status
expose reload method on ActivatedRoute resources
maintain frozen state on rollback until resource loading completes
mark router_resource module-level symbols as side-effect free
remove abort listener on the abort path too in httpResource
add return type to pure functions
avoid hitting TypeScript limits if template has many translations
do not copy expression type into output AST variables
guard unverified ctor parameter types in class metadata
output function return types in linker
don't use plain objects as maps for jsaction data
ensure references are cleared from idle scheduler
loosen return types for arrow functions in generated code
wait for app stability before cleaning up dehydrated views
create controls before listeners
preserve Unicode whitespace in ServerXhr URLs
avoid dense elements allocation for numeric URL keys
wrap `@for` collection expression before appending non-null assertion
return null when getDirectiveMetadata is called with null or undefined
mark control as dirty before setting its value in FVC interop
namespace `@property` declarations
do not flag callable objects with zero parameters in uninvoked track function check
apply SkipSelf to only the starting node in embedded views
avoid sourcemap corruption during domino path substitution
keep detached route subtree contexts isolated and intact
check uninvoked signal aliases in extended diagnostic
cancel stale debounce timers to prevent timer leaks
don't fail NgModule checks for a pipe that extends a base class
validate SVG animation attributes outside the SVG namespace
avoid writing to `name` input on ControlValueAccessor
skip tsconfig files of non-Angular projects
resolve HTTP(S) URLs without authority as relative during SSR
avoid view transitions when the user agent provides one
avoid prototype member collisions
use locale NaN symbol in number formatting
scope animations declared in minified nested rules
default template diagnostic related message source file to template
Produce correct tcb expression for optional chaining
retain metadata for strict standalone errors
avoid prototype member collisions
explicitly reject foreign components in JIT mode
preserve namespace for dynamic component hosts
prevent TransferState prototype pollution
throw coded RuntimeErrors instead of crashing when hydration/rendering can't find an expected DOM node
use dot-access for readonly rule configuration
honor quote style preference when generating imports
preserve registerLocaleData calls in standalone bootstrap migration
avoid stripping unicode whitespace during url resolution
detect object trigger values with Object.hasOwn
preserve literal key union in KeyValuePipe.transform()
preserve &ngsp; between sibling control flow blocks
accept readonly arrays for setClassMetadata decorators
allow readonly arrays in RawScopeInfoFromDecorator
expose debuggableFn for non-computed signal graph nodes
prevent orphaned requestIdleCallback handle from re-entrant scheduling
replace all hasOwnProperty usages with Object.hasOwn
stop running further effects once one destroys the view mid-flush
throw a descriptive error instead of crashing when a hydration node is missing
throw NG0500 instead of a raw TypeError on element hydration mismatch
report forbidden 2way bindings on when `FormField` is applied
warn in dev mode when ngModel cannot reach parent NgForm across component boundary
cancel oversized fetch response bodies
recover project for external templates in solution-style workspaces
disallow event handler attributes in Meta
throw a descriptive error when insertBefore reference node is missing
pass correct component to canDeactivate for named outlets in componentless parent routes
Generate correct expression for optional chaning.
remove namespaced MathML script elements
correctly resolve symbol for SafePropertyRead in chained optional navigation
record class extends clause references in DeferredSymbolTracker
ensure i18n_util hasOwnProperty checks are safe for property renaming
incorrect loop in defer blocks
reject prefixed SVG script hosts
keep radio inputs in sync when values change
always decode JSON responses as UTF-8
limit protocol-relative URL handling to serialization
initialize hydration triggers after late runtime activation
warn when style property bindings receive invalid values
avoid aborting completed requests in FetchBackend
respect content-type charset in fetch backend text decoder
run root interceptors in the terminal request chain
strip RFC 6265 DQUOTE characters and handle URIError in parseCookieValue
skip transfer cache for uncacheable HTTP traffic
Add an error for --global-foo cases
Disable '--global-' error outside of g3
Namespace CSS variables to the app
Support css var namespacing in properties
permissive whitespace parsing in default never blocks
support foreign components defined outside top-level scope
support foreign components inside control flow blocks
do not emit tag name when control flow root is foreign component
allow passing uninvoked signals as foreign component props
support import aliases in foreignImports
add custom set option to linkedSignal
Adds deep linking from Performance panel to DevTools
account for namespaces in host binding sanitization
correct container anchor collection order to match DOM layout
introduce disposal mechanism for Angular views in foreign `@content`
introduce logical-only containers for foreign content
sanitize host bindings on concrete hosts
set current tnode in foreign component instruction on reuse
add utility to assert that value is a field tree
add options to allow caching of credentialed and non-cacheable HTTP requests
enable xsrf for root-provided HttpClient
match header values exactly when deleting
preserve immutability of materialized clones
skip transfer cache for fetch credentialed requests
deprecate jsonp support
compile non-exported classes if standalone
Typecheck templates which would require inline typecheck blocks
account for strictTemplates being enabled by default
add migration from injectable to service
correctly detect `then`/`else` keywords in control flow migration
harden platform location origin validation during SSR
handle null and undefined inputs in RouterLinkActive
preserve crossorigin on image preloads
ensure SVG animation attributeName is checked case-insensitively
ensure `pending` status propagates to the root form in signal forms
prevent transfer cache key collisions
correctly migrate ngClass with mixed space-separated keys
preserve NgClass import on partial migration
avoid prototype lookups in date format caches
parsing of an empty template literal interpolation
re-tag SourceFiles after TsCreateProgramDriver.updateFiles()
allow static attributes for explicit input transforms
ignore processing instruction syntax in templates
preserve explicit input transform write type
allow multiple async validators
preserve intermediate number values in signal forms
prevent stale CVA writeback during debounce
prevent interceptor signal reads from leaking into calling reactive contexts
build runtime translations map with a null prototype
use Object.hasOwn for placeholder lookup in translate
prevent ReDoS in SOURCEMAP_URL_REGEXP
use regular optional chaining expression for safe function calls in TCBs
apply debugName transform to required signal queries
detect uninvoked signals in bound expressions using ternary
make extractValue reactive for compat AbstractControl values
preserve transitive NgModule references when pruning
remove stale model import in model-output migration
handle outlet named __proto__ in segment group maps
use safe hasOwnProperty when parsing query params
use Object.hasOwn in I18nSelectPipe to handle null-prototype and shadowed mappings
include toSignal in debugName transform
improve input writes migration in best effort mode
reject dynamic script host elements
fix malformed jsdoc comment for RouterLinkWithHref export
resolve migration failure when tsconfig specifies rootDir
account for NgModule dependencies in JIT-compiled partial declarations
remove unused import breaking CI in 22.0.x
report diagnostic instead of crashing on malformed host binding
avoid uncaught promise errors in injectAsync prefetching
prevent caching of responses with Set-Cookie headers
preserve referrer in asset requests
preserve referrer policy in asset requests
support model() signals in downgradeComponent
escape anchor fragment in shadow DOM name selector
skip transfer cache for uncacheable HTTP traffic
restrict possible event handler check to property names longer than 2 characters
avoid caching missing locale data
escape overlapping comment delimiters in escapeCommentText
guard against DOM clobbering in declareExperimentalWebMcpTool
preserve leave animation for sibling instances sharing a TNode
prevent unsubscribe during emit from throwing off other listeners
treat iframe credentialless as security-sensitive
detect existing signal dependency without checking all producer links
distinguish repeated transfer cache params
skip transfer cache for fetch credentialed requests
migration skip any target are not build or test
escape CSS string-terminating characters in escapeCssUrl
Limits date format string length
prevent prototype pollution in formatDateTime
use cryptographically secure SHA-256 for transfer cache key generation
disallow i18n event attributes
more robust logic to check if regex can be optimized
sanitize `href`/`xlink:href` attributes of any element of the MathML namespace
sanitize two-way properties
bind switch exhaustive check expressions
disable WebMCP during SSR
Handle synchronous errors in PendingTasks.run function
harden TransferState restoration against DOM clobbering
prevent dangling prevConsumer reference from leaking destroyed views
require WebMCP tool descriptions
update comment for Default change detection
use Object.hasOwn to handle null-prototype objects in toStylingKeyValueArray
validate lowercase SVG animation attribute names
delay mcp reading the form model by a `tick`
harden FormGroup control lookups against prototype shadowing
remove animationstart listener on component destroy to prevent memory leak
set `additionalProperties: false` on generated WebMCP form
ensure query parameters are inserted before URL fragments
pass down the `reportUploadProgress` and `reportDownloadProgress` on post/patch requests
preserve empty referrer option in HttpRequest
Rejects non-HTTP(S) URLs in JSONP requests
prevent external template inlay hints from appearing in TS files
harden platform location origin validation during SSR
deprecate ServerXhr
use native URL object for navigation boundary and comparison
Strips sensitive headers on cross-origin redirects
allow safe navigation to correctly narrow down nullables
Angular expressions with optional chaining returns `undefined`
Support comments in html element.
abstract emitter producing incorrect code for dynamic imports
Don't bind inputs/outputs for `data-` attributes
don't escape dollar sign in literal expression
enforce parentheses containing arguments for :host-context
invalid type checking code if field name needs to be quoted
normalize tag names with custom namespaces in DomElementSchemaRegistry
preserve leading commas in animation definitions
remove dedicated support for legacy shadow DOM selectors
remove deprecated shadow CSS encapsulation polyfills
sanitize dynamic href and xlink:href bindings on SVG a elements
simplify handling of colon host with a selector list
stop generating unused field
throw on duplicate input/outputs
throw on invalid in expressions
type check invalid for loops
add support for Node.js 26.0.0
Adds warning for prefetch without main defer trigger
support external TCBs with copied content in specific mode
animation events not type checked properly when bound through HostListener decorator
resolve TCB mapping failure for safe property reads with as any
transform dropping exclamationToken from properties
introduce NG8023 compile-time diagnostic for duplicate selectors
add `IdleRequestOptions` support to `IdleService`
add `provideWebMcpTools`
Add a `injectAsync` helper function
Add a schematics to migrate `provideHttpClient` to keep using the `HttpXhrBackend` implementation.
add ability to cache resources for SSR
Add migration to add `ChangeDetectionStrategy.Eager` where applicable
add special return statuses for resource params
add TestBed.getFixture
allow debouncing signals
Allow other expression for exhaustive typechecking
allow synchronous values for stream Resources
bootstrap via `ApplicationRef` with config
de-duplicate host directives
drop support for TypeScript 5.9
enhance profiling with documentation URLs
export experimental `declareWebMcpTool` support
implement Angular DI graph in-page AI tool
introduce `@Service` decorator
re-introduce nested leave animations scoped to component boundaries
register AI runtime debugging tools
Set default Component changeDetection strategy to OnPush
support bootstrapping Angular applications underneath shadow roots
support customization of @defer's on idle behavior
Support optional timeout for idle deferred triggers
TestBed.getFixture -> TestBed.getLastFixture and update implementation
Update Testability to use PendingTasks for stability indicator
allow service with factory on abstract classes
bind global context to idle callback shims in @defer's idle service
do not register dom triggers when defer blocks are in manual mode
enforce return type for service factory
ensure custom controls resolve transitive host directives
lazy-initialize debounced state to prevent computation cycle
mark service decorator as stable
normalize tag names in runtime i18n attribute security context lookup
prevent rxResource from leaking a subscription
resolver function not matching expected type
support prefix-insensitive DOM schema lookups and compile-time i18n attribute validation
synchronize core sanitization schema with compiler
widen type for directive inputs/outputs
enhance AnimationCallbackEvent.animationComplete signature
remove `checkNoChanges` from the public API.
remove `createNgModuleRef`
remove ComponentFactoryResolver & ComponentFactory from the api surface
remove ComponentFactoryResolver & ComponentFactory from the api surface""
add `reloadValidation` to Signal Forms to manually trigger async validation
add debounce option to validateAsync and validateHttp
add FieldState.getError()
graduate signal forms APIs to public API
shim legacy NG_VALIDATORS into parseErrors for CVA mode
support binding `number
support ngNoCva as an opt-out for ControlValueAccessors
template & reactive support for FVC
Add support for range type with outside of native bounds
align FormField CVA selection priority with standard forms
allow `FormRoot` to be used without submission options
allow late-bound input types for signals forms
change FieldState optional properties to non-optional
clear native date inputs correctly in signal forms when changed via native UI
deduplicate writeValue calls in CVA interop
ensure debounced async validators produce pending status during debounce
fix orphan field error on blur during array removal
implement custom control reset propagation
prevent orphan field crashes in debounceSync and async validation
restrict `SignalFormsConfig` to a readonly API
split the `touched` model into an input and `touch` output
support generic unions in signal form schemas
synchronize controls with the model on reset
Untrack `setValue` in reactive forms
use controlValue in NgControl for CVA interop
avoid redundant invalidations in parser errors signal
avoid spurious recomputation in FormField.parseErrors
lazily instantiate signal form fields
optimize reactivity by using shallow array equality
shortcut deepSignal writes if value is unchanged
remove string support from min and max validation rules
Use `FetchBackend` as default for the `HttpBackend` implementation
Introduce a max buffer size for fetch requests on SSR
prevent `httpResource` from leaking a subscription
Add `reportUploadProgress` & `reportDownloadProgress` options
add angular template inlay hints support
add Document Symbols support for Angular templates
Add support for idle timeout in defer blocks
Add support for `@Input` with transforms
Add migration for CanMatchFn snapshot parameter
add strictTemplates to tsconfig during ng update
Disabling nullishCoalescingNotNullable & optionalChainNotNullable on ng update
model + output migrations
avoid generating invalid code in ChangeDetectionStrategy.Eager migration
Fix typo for strict-template migration
Make the safe optional chaining idempotent
remove compiler import from safe optional chaining migration
make incremental hydration default behavior
remove unused styles when associated `host` is dropped
remove Hammer integration
Add `options` optional parameter for `withComponentInputBinding`
add unmatchedInputBehavior option to componentInputBinding
adds browserUrl input support to router links
Add strict typing on 'getResolvedTitleForRoute'
make currentSnapshot required in CanMatchFn
set default paramsInheritanceStrategy to 'always'
remove deprecated `provideRoutes` function.
resolve TS 6.0 compatibility for messageerror listener
remove `getAngularLib`/`setAngularLib`
add `--root` command line option to `mcp` command
skip eager yargs help message formatting during command execution
migrate Angular Linker to oxc-parser and magic-string
Support splitting browser and server stats jsonfiles for easier consumption
add automatic corruption recovery in SQLite cache store
avoid pure comment pattern in oxc transform
default preloadInitial to false when serviceWorker is enabled
disable linker internal source mapping in OXC linker
disable root config extension for inline test project
ensure chokidar watcher is ready before returning
ensure parent directory exists in SQLite cache store
execute setup file hooks for each spec file when coverage is enabled
include inline component stylesheets in referenced watch files
only compile included test files in unit-test builder
pass load cache to compiler plugin and escape extension regex in polyfills
preserve duplicate bundle filenames across output file types
prevent memory leaks in parallel compilation and caches
prevent stale bundler caching and correctly resolve load cache
prevent syntax corruption in linker and oxc transform
recursively ignore output and cache paths in watch mode
scope Sass package resolution caching for stylesheets in node_modules
support parenthesized expressions in oxc linker
use chokidar watcher when followSymlinks is enabled
avoid encoding intermediate source maps before remapping
bypass worker dispatch for files without transform candidates
consolidate component stylesheet bundling with shared load result cache
decouple diagnostic type checking from build start
implement SharedArrayBuffer translation dictionaries for zero-copy worker access
implement sliding-window batching and worker translation eviction
key Sass package resolutions without containing URL qualification
only reset Sass worker pool caches when stylesheet files change
optimize sourcemap stripping and loading with buffer fast path
reduce watcher debounce latency for faster incremental rebuilds
replace watchpack with @parcel/watcher and chokidar
selectively compress large entries in SQLite cache store
share sass directory and resolution caches across stylesheets
unify Oxc linking and optimization AST traversal passes
use iterative post-order AST traversal for OXC transforms
use native sass-embedded compiler daemon
use size-weighted task heuristics in i18n inliner
verify cache metadata before reading file and eliminate sqlite read-locks
deprecate splitting option in unit-test builder
pre-compile critical CSS plans at build time
update @types/node to a version vitest 5 accepts
name the unknown option in a schema validation error
support standard JavaScript MIME types and case insensitivity in auto-CSP
disable strictPort when port 0 is used in dev-server
avoid full JSON parsing when updating sourcemap ignore list
read rendered module length once per module in chunk optimizer
isolate temporary package installations from parent Yarn workspace
add splitting option to unit-test builder
enable code splitting for vitest browser tests
fail build and exclude routes when prerendering fails
keep dev-server Vite cache worktree-local
preserve binary values in the SQLite cache store
decode pathname when constructing server asset path
ensure public directory containment in CommonEngine
ignore side-effect annotations in unit test builds
batch prerender routes and share in-memory server bundles
abort web request signal when node request is aborted
transform fail() to expect.fail() in refactor-jasmine-vitest
enforce MCP roots in get_best_practices tool
handle errors from isAllowedWorkspacePath in best-practices tool
throw on out-of-roots workspace in best-practices tool
correct misleading error message for top-level await
disable code splitting for unit test builds
preserve integrity and crossorigin in autoCsp loader
traverse AST with iterative post-order walker in i18n inliner
generate CLAUDE.md for Claude Code instead of AGENTS.md
import UrlSegment instead of subPath in guard generator
disable searching current directory for bare executable names on Windows
serialize configuration as a single argv token in run_target strategies
avoid eager module loading during global bootstrap
count statically imported chunks in the initial total
normalize setupFiles paths to POSIX for vitest runner
prevent syntax corruption for Crockford-style enum IIFE
prevent syntax corruption in oxc transform
return direct file contents for non-Angular TypeScript files
return only lowest version per target engine
set target for Rolldown dependency prebundling in Vite dev server
avoid encoding the inline source map before remapping
batch last_accessed updates in sqlite cache store
hash the i18n inline cache key options once per locale
optimize template string size calculation in server manifest
share i18n translations with the inliner workers by reference
use Map for chunk asset size lookups in budget calculator
destroy platform when response stream is cancelled
always install package during ng add to inspect manifest on disk for schematics
correctly report available package updates during bare ng update
discover migrations from installed packages when omitted by registry metadata
normalize Windows drive-letter casing for process.cwd
prevent build process hang on unhandled error
retain watch files on error in load result cache
support case-insensitive and alternative license file names
release build resources early in non-watch mode
settle writeResponseToNodeResponse when client disconnects
avoid buffering request body when sanitizing headers
add packages with built-in schematics to devDependencies only
prevent IIFE wrapper interleaving for adjacent classes in minified files
support npm 12 metadata array and error formats
rewrite paths from sandboxed execroots when running under Bazel
abort and guide manual mitigation when updating catalog packages
prevent Yarn registry environment variable override
remove algoliasearch dependency and support latest docs versions
resolve correct registry name when using npm alias syntax during update
respect client-side release age settings during update resolution
revert package.json changes if installation tasks fail during update
robustly parse npm manifest from array
update ai-config to include Angular MCP server config
remove unused spec tsconfig outDir
deprecate stringToFileBuffer and fileBufferToString
add built-in SQLite cache store fallback
emit debug ids for stable subresource integrity hashes
enable chunk optimization for server builds
migrate advanced optimization Babel plugins to oxc-parser + magic-string
migrate i18n inliner to oxc-parser + magic-string
share persistent build cache across git worktrees
add bounded timeout to vitest executor disposal
anchor debug ID comment matching and make injection idempotent
prevent esbuild service hang on internal component stylesheet builds
prevent stripping nested sourceMappingURL comments
support hyphens and underscores when stripping chunk hash in chunk optimizer
default chunk optimization to use Rolldown
enable fast-path AST printing with sourcemaps in AotCompilation
support the standard Forwarded header
declare devserver_start and devserver_stop as isReadOnly:false
safeguard Karma builder stream controller against closed state
batch Prettier invocations during migration formatting
update MCP devserver tool names to conform to spec regex
canonicalize drive letter casing for workspace root on Windows
ensure import map integrity keys are valid URL-like specifiers
favor istanbul coverage provider when browser testing is enabled
preserve custom config options in runnerConfig for vitest
remap metafile paths when workspace root is a symlink or junction
skip semantic affected-file walk when type checking is disabled
copy packageManager field and yarn config for temp installs
support resolving subproject dependencies in pnpm workspaces
fallback to build target preserveSymlinks option in karma runner
prevent externalizing builder-injected i18n locale data
strip all vite id prefixes from minified code with external dependencies
replace all route parameters when resolving relative redirects
remove unused app tsconfig outDir
gracefully handle package manager errors in command handler
respect release age policy in update bootstrapping logic
prevent OS command injection in ssr-dev-server builder
auto-inject localize/init in library unit tests
inherit preserveSymlinks option from build target in unit-test builder
load zone.js dynamically for library unit tests
scope createRequire module resolution using paths to prevent parent paths
preserve response headers during redirect
aggregate parallel worker performance timings on the main thread
dispose builder result context early in non-watch mode
remove default workspace vscode mcp.json configuration
support registry metadata fetching under bun package manager
implement semaphore backpressure throttling in PackageManager
implement semaphore backpressure throttling in JavaScriptTransformer
avoid caching non-SSG page lookups
correct grammar in console warning for redirected location headers
prioritize options over environment variables in AngularNodeAppEngine
fix browserMode option mapping in refactor-jasmine-vitest
safely comment out multiline statements in refactor-jasmine-vitest
use null objects and callbacks in karma-to-vitest migration
do not sort migrations of the same version alphabetically
fallback to local package.json for schematic detection on first run
isolate temporary package installation from parent pnpm workspace
remove forceAuth and unscoped credential parsing
validate registry option is a valid URL in ng add
optimize update schematic registry query counts by fetching package metadata lazily
allow disabling Vitest isolation from builder
exclude JSON imports from Vite dependency optimization
prevent concurrent stylesheet bundling esbuild context leaks
restrict application builder output paths to output directory
add migrate-karma-to-vitest update migration
add migration to add istanbul-lib-instrument
conditionally install istanbul coverage provider for Vitest migration
migrate fake async to Vitest fake timers
migrate fakeAsync's flush behavior when used in beforeEach
rely on strict template default in generated workspaces
set up fake timers in beforeEach instead of beforeAll
stabilize refactor-jasmine-vitest schematic
update TSConfig globals during karma to vitest migration
add istanbul-lib-instrument to application/library generator dependencies
add trusted-proxy-headers migration
default components to OnPush change detection
defer karma config deletion in Karma to Vitest migration
preserve Jasmine stub-by-default semantics for bare spies
replace deprecated `ChangeDetectionStrategy.Default` with `Eager`
support spy call arguments migration in refactor-jasmine-vitest
use service decorator in ng generate
add support for Node.js 26.0.0
reflect new minimum supported Node version in ng.js
update odd-numbered Node.js version warning condition for future releases
update zoneless migration tool to handle `ChangeDetectionStrategy.Eager`
cache root manifest and resolve restricted package exports in ng add
update minimum supported Node.js versions
remove `@angular-devkit/architect-cli` package
remove experimental Jest and Web Test Runner builders
deprecate Webpack builders
deprecate webpack and webpack-dev-server builders
add isolate option to unit-test builder
add process.env.PORT support to the dev server
add quiet option to suppress build noise in unit tests
enable chunk optimization by default with heuristics
move istanbul-lib-instrument to optional peer dependency
rename `experimentalPlatform` to `platform` in application builder
subresource integrity validation for dynamically loaded modules
support Istanbul coverage in Vitest runner
support runtime Zone.js detection in Vitest unit test runner
allow configuring Access-Control-Allow-Origin via headers option
use dynamic TestComponentRenderer for Vitest
enforce explicit opt-in for proxy headers
support all X-Forwarded-* headers when trustProxyHeaders is true
support server-side rendering configuration options
deprecate CommonEngine APIs
remove CSR fallback for invalid hosts
deprecate @ngtools/webpack loader and plugin