Skip to content

fix(deps): update angular monorepo to v19 (major)

Renovate-Bot requested to merge renovate/major-angular-monorepo into dev

This MR contains the following updates:

Package Type Update Change
@angular/animations dependencies major ^17.3.8 -> ^19.0.0
@angular/common dependencies major ^17.3.8 -> ^19.0.0
@angular/compiler dependencies major ^17.3.8 -> ^19.0.0
@angular/compiler-cli devDependencies major ^17.3.8 -> ^19.0.0
@angular/core dependencies major ^17.3.8 -> ^19.0.0
@angular/forms dependencies major ^17.3.8 -> ^19.0.0
@angular/localize devDependencies major ^17.3.8 -> ^19.0.0
@angular/platform-browser dependencies major ^17.3.8 -> ^19.0.0
@angular/platform-browser-dynamic dependencies major ^17.3.8 -> ^19.0.0
@angular/router dependencies major ^17.3.8 -> ^19.0.0
@angular/service-worker dependencies major ^17.3.8 -> ^19.0.0

Release Notes

angular/angular

v19.0.1

Compare Source

compiler-cli
Commit Type Description
fb1fa8b0fc fix more accurate diagnostics for host binding parser errors (#​58870)
core
Commit Type Description
502ee0e722 fix correctly clear template HMR internal renderer cache (#​58724)
99715104a1 fix correctly perform lazy routes migration for components with additional decorators (#​58796)
118803035f fix Ensure _tick is always run within the TracingSnapshot. (#​58881)
08b9452f01 fix Ensure resource sets an error (#​58855)
84f45ea3ff fix make component id generation more stable between client and server builds (#​58813)
d3491c7cee fix Prevents race condition of cleanup for incremental hydration (#​58722)
forms
Commit Type Description
4dfe5b6cef fix work around TypeScript 5.7 issue (#​58731)
language-service
Commit Type Description
a983865bff fix add fix for individual unused imports (#​58719)
e6e7a4e22b fix allow fixes to run without template info (#​58719)
migrations
Commit Type Description
5ce10264a4 fix fix provide-initializer migration when using useFactory (#​58518)
d4f5c85f60 fix handle parameters with initializers in inject migration (#​58769)
a6d2d2dc10 fix Mark hoisted properties as removed in inject migration (#​58804)

v19.0.0

Compare Source

Blog post: https://blog.angular.dev/meet-angular-v19-7b29dfd05b84

Breaking Changes

compiler
  • this.foo property reads no longer refer to template context variables. If you intended to read the template variable, do not use this..
  • changes to CSS selectors parsing where introduced, mainly to: pseudo selectors :where() and :is(), parsing of :host and host-context, parsing selectors within pseudo selector arguments (for instance comma separated selectors). These changes could lead to a different specificity of the resulting selectors and/or previously broken selectors being applied now, for example :where(:host) used to transform to :where()[ng-host] and is being :where([ng-host]) now. Unlike the previous outcome, the new result can target elements and therefore could lead to breakages.
core
  • Angular directives, components and pipes are now standalone by default.

    • Specify standalone: false for declarations that are currently declared in @NgModules.
    • ng update for v19 will take care of this automatically.
  • TypeScript versions less than 5.5 are no longer supported.

  • Timing changes for effect API (in developer preview):

    • effects which are triggered outside of change detection run as part of the change detection process instead of as a microtask. Depending on the specifics of application/test setup, this can result in them executing earlier or later (or requiring additional test steps to trigger; see below examples).

    • effects which are triggered during change detection (e.g. by input signals) run earlier, before the component's template.

  • ExperimentalPendingTasks has been renamed to PendingTasks.

  • The autoDetect feature of ComponentFixture will now attach the fixture to the ApplicationRef. As a result, errors during automatic change detection of the fixture be reported to the ErrorHandler. This change may cause custom error handlers to observe new failures that were previously unreported.

  • createComponent will now render default fallback with empty projectableNodes.

    • When passing an empty array to projectableNodes in the createComponent API, the default fallback content of the ng-content will be rendered if present. To prevent rendering the default content, pass document.createTextNode('') as a projectableNode.
    // The first ng-content will render the default fallback content if present
    createComponent(MyComponent. { projectableNodes: [[], [secondNode]] });
    
    // To prevent projecting the default fallback content:
    createComponent(MyComponent. { projectableNodes: [[document.createTextNode('')], [secondNode]] });
    
    
  • Errors that are thrown during ApplicationRef.tick will now be rethrown when using TestBed. These errors should be resolved by ensuring the test environment is set up correctly to complete change detection successfully. There are two alternatives to catch the errors:

    • Instead of waiting for automatic change detection to happen, trigger it synchronously and expect the error. For example, a jasmine test could write expect(() => TestBed.inject(ApplicationRef).tick()).toThrow()
    • TestBed will reject any outstanding ComponentFixture.whenStable promises. A jasmine test, for example, could write expectAsync(fixture.whenStable()).toBeRejected().

    As a last resort, you can configure errors to not be rethrown by setting rethrowApplicationErrors to false in TestBed.configureTestingModule.

  • The timers that are used for zone coalescing and hybrid mode scheduling (which schedules an application state synchronization when changes happen outside the Angular zone) will now run in the zone above Angular rather than the root zone. This will mostly affect tests which use fakeAsync: these timers will now be visible to fakeAsync and can be affected by tick or flush.

  • The deprecated factories property in KeyValueDiffers has been removed.

elements
  • as part of switching away from custom CD behavior to the hybrid scheduler, timing of change detection around custom elements has changed subtly. These changes make elements more efficient, but can cause tests which encoded assumptions about how or when elements would be checked to require updating.
localize
  • The name option in the ng add @localize`` schematic has been removed in favor of the project option.
platform-browser
  • The deprecated BrowserModule.withServerTransition method has been removed. Please use the APP_ID DI token to set the application id instead.
router
  • The Router.errorHandler property has been removed. Adding an error handler should be configured in either withNavigationErrorHandler with provideRouter or the errorHandler property in the extra options of RouterModule.forRoot. In addition, the error handler cannot be used to change the return value of the router navigation promise or prevent it from rejecting. Instead, if you want to prevent the promise from rejecting, use resolveNavigationPromiseOnError.
  • The return type of the Resolve interface now includes RedirectCommand.
common
Commit Type Description
24c6373820 feat add optional rounded transform support in cloudinary image loader (#​55364)
50f08e6c4b feat automatically use sizes auto in NgOptimizedImage (#​57479)
13c13067bc feat disable keyvalue sorting using null compareFn (#​57487)
compiler
Commit Type Description
a2e4ee0cb3 feat add diagnostic for unused standalone imports (#​57605)
0c9d721ac1 feat add support for the typeof keyword in template expressions. (#​58183)
09f589f000 fix this.a should always refer to class property a (#​55183)
98804fd4be fix add more specific matcher for hydrate never block (#​58360)
b25121ee4a fix avoid having to duplicate core environment (#​58444)
560282aa9b fix control flow nodes with root at the end projected incorrectly (#​58607)
2be161d015 fix fix :host parsing in pseudo-selectors (#​58681)
806a61b5a6 fix fix multiline selectors (#​58681)
a3cb530d84 fix handle typeof expressions in serializer (#​58217)
ba4340875a fix ignore placeholder-only i18n messages (#​58154)
e5d3abb298 fix resolve :host:host-context(.foo) (#​58681)
80f56954ce fix transform chained pseudo-selectors (#​58681)
compiler-cli
Commit Type Description
d9687f43dd feat 'strictStandalone' flag enforces standalone (#​57935)
9e87593055 feat ensure template style elements are preprocessed as inline styles (#​57429)
231e6ff6ca feat generate the HMR replacement module (#​58205)
dbe612f2cd fix disable standalone by default on older versions of Angular (#​58405)
d4d76ead80 fix do not fail fatal when references to non-existent module are discovered (#​58515)
33fe252c58 fix do not report unused declarations coming from an imported array (#​57940)
fb44323c51 fix incorrectly generating relative file paths on case-insensitive platforms (#​58150)
22cd6869ef fix make the unused imports diagnostic easier to read (#​58468)
9bbb01c85e fix report individual diagnostics for unused imports (#​58589)
4716c3b966 perf reduce duplicate component style resolution (#​57502)
core
Commit Type Description
6ea8e1e9aa feat Add a schematics to migrate to standalone: false. (#​57643)
3ebe6b4ad4 feat Add async run method on ExperimentalPendingTasks (#​56546)
69fc5ae922 feat Add incremental hydration public api (#​58249)
8ebbae88ca feat Add rxjs operator prevent app stability until an event (#​56533)
19edf2c057 feat add syntactic sugar for initializers (#​53152)
c93b510f9b feat allow passing undefined without needing to include it in the type argument of input (#​57621)
ab25a192ba feat allow running output migration on a subset of paths (#​58299)
fc59e2a7b7 feat change effect() execution timing & no-op allowSignalWrites (#​57874)
8bcc663a53 feat drop support for TypeScript 5.4 (#​57577)
18d8d44b1f feat experimental resource() API for async dependencies (#​58255)
9762b24b5e feat experimental impl of rxResource() (#​58255)
6b8c494d05 feat flipping the default value for standalone to true (#​58169)
e6e5d29e83 feat initial version of the output migration (#​57604)
be2e49639b feat introduce afterRenderEffect (#​57549)
ec386e7f12 feat introduce debugName optional arg to framework signal functions (#​57073)
8311f00faa feat introduce the reactive linkedSignal (#​58189)
1b1519224d feat mark input, output and model APIs as stable (#​57804)
a7eff3ffaa feat mark signal-based query APIs as stable (#​57921)
a1f229850a feat migrate ExperimentalPendingTasks to PendingTasks (#​57533)
3f1e7ab6ae feat promote outputFromObservable & outputToObservable to stable. (#​58214)
97c44a1d6c feat Promote takeUntilDestroyed to stable. (#​58200)
e5adf92965 feat stabilize @let syntax (#​57813)
b063468027 feat support TypeScript 5.6 (#​57424)
819ff034ce feat treat directives, pipes, components as by default (#​58229)
ee426c62f0 fix allow signal write error (#​57973)
c095679f92 fix avoid breaking change with apps using rxjs 6.x (#​58341)
71ee81af2c fix clean up event contract once hydration is done (#​58174)
f03d274e87 fix ComponentFixture autoDetect feature works like production (#​55228)
950a5540f1 fix Ensure the ViewContext is retained after closure minification (#​57903)
7b1e5be20b fix fallback to default ng-content with empty projectable nodes. (#​57480)
0300dd2e18 fix Fix fixture.detectChanges with autoDetect disabled and zoneless (#​57416)
5fe57d4fbb fix fixes issues with control flow and incremental hydration (#​58644)
51933ef5a6 fix prevent errors on contract cleanup (#​58614)
fd7716440b fix Prevents trying to trigger incremental hydration on CSR (#​58366)
656b5d3e78 fix Re-assign error codes to be within core bounds (<1000) (#​53455)
6e0af6dbbb fix resolve forward-referenced host directives during directive matching (#​58492)
468d3fb9b1 fix rethrow errors during ApplicationRef.tick in TestBed (#​57200)
226a67dabb fix Schedulers run in zone above Angular rather than root (#​57553)
97fb86d331 perf set encapsulation to None for empty component styles (#​57130)
c15ec36bd1 refactor remove deprecated factories Property in KeyValueDiffers (#​58064)
elements
Commit Type Description
fe5c4e086a fix support output()-shaped outputs (#​57535)
0cebfd7462 fix switch to ComponentRef.setInput & remove custom scheduler (#​56728)
forms
Commit Type Description
3e7d724037 feat add ability to clear a FormRecord (#​50750)
18b6f3339f fix fix FormRecord type inference (#​50750)
http
Commit Type Description
4b9accdf16 feat promote withRequestsMadeViaParent to stable. (#​58221)
057cf7fb6b fix preserve all headers from Headers object (#​57802)
language-service
Commit Type Description
8da9fb49b5 feat add code fix for unused standalone imports (#​57605)
1f067f4507 feat add code reactoring action to migrate @Input to signal-input (#​57214)
56ee47f2ec feat allow code refactorings to compute edits asynchronously (#​57214)
bc83fc1e2e feat support converting to signal queries in VSCode extension (#​58106)
5c4305f024 feat support migrating full classes to signal inputs in VSCode (#​57975)
6342befff8 feat support migrating full classes to signal queries (#​58263)
7ecfd89592 fix The suppress diagnostics option should work for external templates (#​57873)
localize
Commit Type Description
9c3bd1b5d1 refactor remove deprecated name option. (#​58063)
migrations
Commit Type Description
dff4de0f75 feat add a combined migration for all signals APIs (#​58259)
b6bc93803c feat add schematic to migrate to signal queries (#​58032)
2bfc64daf1 feat expose output as function migration (#​58299)
59fe9bc772 feat introduce signal input migration as ng generate schematic (#​57805)
90c7ec39a0 fix inject migration always inserting generated variables before super call (#​58393)
7a65cdd911 fix inject migration not inserting generated code after super call in some cases (#​58393)
c1aa411cf1 fix properly resolve tsconfig paths on windows (#​58137)
e26797b38e fix replace removed NgModules in tests with their exports (#​58627)
platform-browser
Commit Type Description
c36a1c023b fix correctly add external stylesheets to ShadowDOM components (#​58482)
5c61f46409 refactor remove deprecated BrowserModule.withServerTransition method (#​58062)
platform-server
Commit Type Description
9e82559de4 fix destroy PlatformRef when error happens during the bootstrap() phase (#​58112)
router
Commit Type Description
f271021e19 feat Add routerOutletData input to RouterOutlet directive (#​57051)
b2790813a6 fix Align RouterModule.forRoot errorHandler with provider error handler (#​57050)
a49c35ec76 fix remove setter for injector on OutletContext (#​58343)
7436d3180e fix Update Resolve interface to include RedirectCommand like ResolveFn (#​57309)
service-worker
Commit Type Description
8ddce80a0b feat allow specifying maxAge for entire application (#​49601)
1479af978c feat finish implementation of refreshAhead feature (#​53356)

v18.2.13

Compare Source

migrations
Commit Type Description
06d70a25ea fix take care of tests that import both HttpClientModule & HttpClientTestingModule. (#​58777)

v18.2.12

Compare Source

compiler-cli
Commit Type Description
4c38160853 fix correct extraction of generics from type aliases (#​58548)

v18.2.11

Compare Source

core
Commit Type Description
5f2d98a1b1 fix avoid slow stringification when checking for duplicates in dev mode (#​58521)
3aa45a2fa1 fix resolve forward-referenced host directives during directive matching (#​58492) (#​58500)

v18.2.10

Compare Source

compiler
Commit Type Description
69dce38e778 fix transform pseudo selectors correctly for the encapsulated view. (#​58417)
localize
Commit Type Description
3b989ac5bd9 fix Adding arb format to the list of valid formats in the localization extractor cli (#​58287)

v18.2.9

Compare Source

compiler-cli
Commit Type Description
b0ab653965 fix report when NgModule imports or exports itself (#​58231)

v18.2.8

Compare Source

compiler
Commit Type Description
11692c8dab fix add multiple :host and nested selectors support (#​57796)
66dcc691f5 fix allow combinators inside pseudo selectors (#​57796)
48a1437e77 fix fix comment typo (#​57796)
d325f9b55f fix fix parsing of the :host-context with pseudo selectors (#​57796)
aea747ab3b fix preserve attributes attached to :host selector (#​57796)
21be258be6 fix scope :host-context inside pseudo selectors, do not decrease specificity (#​57796)
7a6fd427d5 fix transform pseudo selectors correctly for the encapsulated view (#​57796)
compiler-cli
Commit Type Description
f187c3abf8 fix defer symbols only used in types (#​58104)
core
Commit Type Description
46bafb0b0a fix clean up afterRender after it is executed (#​58119)
platform-server
Commit Type Description
b40875a2cc fix destroy PlatformRef when error happens during the bootstrap() phase (#​58112) (#​58135)

v18.2.7

Compare Source

common
Commit Type Description
249d0260f9 fix execute checks and remove placeholder when image is already loaded (#​55444)
46a2ad39f5 fix prevent warning about oversize image twice (#​58021)
8f2b0ede59 fix skip checking whether SVGs are oversized (#​57966)
compiler-cli
Commit Type Description
901c1e1a7f fix correctly get the type of nested function call expressions (#​57010)
core
Commit Type Description
2f347ef8fc fix provide flag to opt into manual cleanup for after render hooks (#​57917)
http
Commit Type Description
ca637fe6a9 fix cleanup JSONP script listeners once loading completed (#​57877)
migrations
Commit Type Description
b9d846dad7 fix delete constructor if it only has super call (#​58013)
upgrade
Commit Type Description
e40a4fa3c7 fix support input signal bindings (#​57020)

v18.2.6

Compare Source

v18.2.5

Compare Source

compiler-cli
Commit Type Description
e685ed883a fix extended diagnostics not validating ICUs (#​57845)
core
Commit Type Description
76709d5d6e fix Handle @let declaration with array when preparingForHydration (#​57816)
migrations
Commit Type Description
5c866942a1 fix account for explicit standalone: false in migration (#​57803)

v18.2.4

Compare Source

compiler
Commit Type Description
b619d6987e fix produce less noisy errors when parsing control flow (#​57711)
migrations
Commit Type Description
9895e4492f fix replace leftover modules with their exports during pruning (#​57684)

v18.2.3

Compare Source

http
Commit Type Description
de68e049e4 fix Dynamicaly call the global fetch implementation (#​57531)

v18.2.2

Compare Source

core
Commit Type Description
106917af878 fix avoid leaking memory if component throws during creation (#​57546)
6d3a2af146a fix Do not bubble capture events. (#​57476)
http
Commit Type Description
5d2e243c76a fix Dynamicaly call the global fetch implementation (#​57531)
router
Commit Type Description
804925b1149 fix Do not unnecessarily run matcher twice on route matching (#​57530)
upgrade
Commit Type Description
03ec620e31a fix Address Trusted Types violations in @​angular/upgrade (#​57454)

v18.2.1

Compare Source

migrations
Commit Type Description
06d70a25ea fix take care of tests that import both HttpClientModule & HttpClientTestingModule. (#​58777)

v18.2.0

Compare Source

compiler
Commit Type Description
c8e2885136 feat Add extended diagnostic to warn when there are uncalled functions in event bindings (#​56295) (#​56295)
compiler-cli
Commit Type Description
98ed5b609e feat run JIT transform on classes with jit: true opt-out (#​56892)
c76b440ac0 fix add warning for unused let declarations (#​57033)
0f0a1f2836 fix emitting references to ngtypecheck files (#​57138)
6c2fbda694 fix extended diagnostic visitor not visiting template attributes (#​57033)
e11c0c42d2 fix run JIT transforms on @NgModule classes with jit: true (#​57212)
core
Commit Type Description
f7918f5272 feat Add 'flush' parameter option to fakeAsync to flush after the test (#​57239)
fab673a1dd feat add ng generate schematic to convert to inject (#​57056)
7919982063 feat Add whenStable helper on ApplicationRef (#​57190)
3459289ef0 feat bootstrapModule can configure NgZone in providers (#​57060)
296216cbe1 fix Allow hybrid CD scheduling to support multiple "Angular zones" (#​57267)
8718abce90 fix Deprecate ignoreChangesOutsideZone option (#​57029)
827070e331 fix Do not run image performance warning checks on server (#​57234)
ca89ef9141 fix handle shorthand assignment in the inject migration (#​57134)
5dcdbfcba9 fix rename the equality function option in toSignal (#​56769)
2a4f488a6c fix warnings for oversized images and lazy-lcp present with bootstrapModule (#​57060)
language-service
Commit Type Description
4bb558ab0c feat support writing code refactorings (#​56895)
7663debce1 perf quick exit if no code fixes can exist (#​57000)
migrations
Commit Type Description
147eee4253 feat add migration to convert standalone component routes to be lazy loaded (#​56428)
cb442a0ce7 fix account for parameters with union types (#​57127)
166166d79e fix add alias to inject migration (#​57127)
b1a9d0f4de fix avoid duplicating comments when generating properties (#​57367)
5d76401ff5 fix preserve optional parameters (#​57367)
1cf616f671 fix remove generic arguments from the injected type reference (#​57127)
ba0df30ef6 fix remove unused imports in inject migration (#​57179)
aae9646a1b fix unwrap injected forwardRef (#​57127)
604270619a perf speed up signal input migration by combining two analyze phases (#​57318)
router
Commit Type Description
6c76c91e15 feat Add defaultQueryParamsHandling to router configuration (#​57198)

v18.1.5

Compare Source

compiler-cli
Commit Type Description
5401332b0e fix generate valid TS 5.6 type checking code (#​57303)
core
Commit Type Description
e39b22a932 fix Account for addEventListener to be passed a Window or Document. (#​57282)
db65bc25ca fix Account for addEventListener to be passed a Window or Document. (#​57354)
0e024ecc27 fix complete post-hydration cleanup in components that use ViewContainerRef (#​57300)
822db64b93 fix skip hydration for i18n nodes that were not projected (#​57356)
810f76f574 fix take skip hydration flag into account while hydrating i18n blocks (#​57299)

v18.1.4

Compare Source

compiler
Commit Type Description
6a99f83659 fix reduce chance of conflicts between generated factory and local variables (#​57181)
compiler-cli
Commit Type Description
afb05ff1cb fix support JIT transforms before other transforms modifying classes (#​57262)
bae54a1621 perf improve performance of interpolatedSignalNotInvoked extended diagnostic (#​57291)
language-service
Commit Type Description
6ac209c24f fix avoid generating TS suggestion diagnostics for templates (#​56241)

v18.1.3

Compare Source

compiler
Commit Type Description
31dea066d6 fix reduce chance of conflicts between generated factory and local variables (#​57181)
compiler-cli
Commit Type Description
1f9e090910 fix emitting references to ngtypecheck files (#​57138) (#​57202)
core
Commit Type Description
f7ab04018e fix errors during ApplicationRef.tick should be rethrown for zoneless tests (#​56993)
eaa83f9d27 fix hydration error in some let declaration setups (#​57173)

v18.1.2

Compare Source

compiler
Commit Type Description
463945003d fix limit the number of chained instructions (#​57069)
compiler-cli
Commit Type Description
e904f34020 fix add warning for unused let declarations (#​57033)
core
Commit Type Description
9e52c1c840 fix afterNextRender hooks return that callback value. (#​57031)
b9fb98c67c fix tree shake dev mode error message (#​57035)

v18.1.1

Compare Source

common
Commit Type Description
a1cb9dfc0d fix Don't run preconnect assertion on the server. (#​56213)
compiler
Commit Type Description
daf0317bdc fix JIT mode incorrectly interpreting host directive configuration in partial compilation (#​57002)
d7dca6dbb6 fix use strict equality for 'code' comparison (#​56944)
compiler-cli
Commit Type Description
c94a897248 fix avoid emitting references to typecheck files in TS 5.4 (#​56961)
core
Commit Type Description
5682527d94 fix not all callbacks running when registered at the same time (#​56981)
migrations
Commit Type Description
b666d2c20f fix fix common module removal (#​56968)

v18.1.0

Compare Source

common
Commit Type Description
f25653e231 fix typo in NgOptimizedImage warning (#​56756)
9b35726e42 fix typo in warning for NgOptimizedDirective (#​56817)
compiler
Commit Type Description
fd6cd0422d feat Add extended diagnostic to warn when there are uncalled functions in event bindings (#​56295)
341a116d61 fix allow more characters in let declaration name (#​56764)
2a1291e942 fix give precedence to local let declarations over parent ones (#​56752)
compiler-cli
Commit Type Description
66e582551e fix avoid duplicate diagnostics for let declarations read before definition (#​56843)
4d18c5bfd5 fix flag all conflicts between let declarations and local symbols (#​56752)
9e21582456 fix Show template syntax errors in local compilation modified (#​55855)
5996502921 fix type check let declarations nested inside nodes (#​56752)
cdebf751e4 fix used before declared diagnostic not firing for control flow blocks (#​56843)
core
Commit Type Description
ea3c802056 feat Add a schematic to migrate afterRender phase flag (#​55648)
5df3e78c99 feat add equality function to rxjs-interop toSignal (#​56447)
0a48d584f2 feat add support for let syntax (#​56715)
352e0782ec feat expose signal input metadata in ComponentMirror (#​56402)
a655e46447 feat Redesign the afterRender & afterNextRender phases API (#​55648)
e5a6f91722 feat support TypeScript 5.5 (#​56096)
38effcc63e fix Add back phase flag option as a deprecated API (#​55648)
86bcfd3e49 fix improve docs on afterRender hooks (#​56522)
b2445a0953 fix link errors to ADEV (#​55554) (#​56038)
03a2acd2a3 fix properly remove imports in the afterRender phase migration (#​56524)
4d87b9e899 fix rename the equality function option in toSignal (#​56769) (#​56922)
8bd4c074af fix toSignal equal option should be passed to inner computed (#​56903)
forms
Commit Type Description
00bde8b1c2 fix Make NgControlStatus host bindings OnPush compatible (#​55720)
http
Commit Type Description
cc21989132 fix Make Content-Type header case insensitive (#​56541)
language-service
Commit Type Description
b400e2e4d4 feat autocompletion for the component not imported (#​55595)
67b2c336bc fix import the default exported component correctly (#​56432)
router
Commit Type Description
a13f5da773 feat Allow UrlTree as an input to routerLink (#​56265)
1d3a7529b4 feat Set a different browser URL from the one for route matching (#​53318)

v18.0.7

Compare Source

compiler
Commit Type Description
85f77b5cda fix fix CSS animation rule scope (#​56800)
http
Commit Type Description
95d7076d1a perf execute fetch outside of Angular zone (#​56820)
migrations
Commit Type Description
d6fff45e73 fix Fix cf migration let condition semicolon order (#​56913)

v18.0.6

Compare Source

common
Commit Type Description
a55719f55e fix Don't run preconnect assertion on the server. (#​56213)
core
Commit Type Description
4909844805 fix establish proper defer injector hierarchy for components attached to ApplicationRef (#​56763)
fec5b80aaf fix support injection of object with null constructor. (#​56553)
router
Commit Type Description
b7d3ecc873 fix routes should not get stale providers (#​56798)

v18.0.5

Compare Source

core
Commit Type Description
2f73281dfd fix improve docs on afterRender hooks (#​56525)
be9e4892f9 fix improve support for i18n hydration of projected content (#​56192)
5f9bd5521e fix prevent calling devMode only function on @defer error. (#​56559)

v18.0.4

Compare Source

compiler-cli
Commit Type Description
ec0d1bf6f3 fix insert constant statements after the first group of imports (#​56431)
core
Commit Type Description
83ffa94783 fix do not activate event replay when no events are registered (#​56509)
router
Commit Type Description
5578681da2 fix Delay the view transition to ensure renders in microtasks complete (#​56494)

v18.0.3

Compare Source

benchpress
Commit Type Description
ebf00aa0659 fix adjust supported browser names for headless chrome (#​56360)
core
Commit Type Description
dbd0fa00f8c fix async EventEmitter should contribute to app stability (#​56308)
625ca3e2b3f fix signals should be tracked when embeddedViewRef.detectChanges is called (#​55719)
localize
Commit Type Description
d6dd3dbdb09 fix add @angular/localize/init as polyfill in angular.json (#​56300)
migrations
Commit Type Description
c07e1b33569 fix resolve error in standalone migration (#​56302)

v18.0.2

Compare Source

core
Commit Type Description
78cf9bfc0e fix Do not migrate HttpClientModule imports on components. (#​56067)
616cdef474 fix don't coerce all producers to consumers on liveness change (#​56140)
2a440e1064 fix Fix shouldPreventDefaultBeforeDispatching bug (#​56188)
290a47d842 fix handle missing withI18nSupport() call for components that use i18n blocks (#​56175)
migrations
Commit Type Description
b70b80ba55 fix do not generate aliased variables with the same name (#​56154)

v18.0.1

Compare Source

compiler
Commit Type Description
419ffa2026 fix optimize track function that only passes $index (#​55872)
compiler-cli
Commit Type Description
4c7efc005a fix interpolatedSignalNotInvoked diagnostic for class, style, attribute and animation bindings (#​55969)
core
Commit Type Description
4e6ea0e19c fix handle elements with local refs in event replay serialization logic (#​56076)
d73a0175cb fix link errors to ADEV (#​55554)
985a215b10 fix typo in zoneless warning (#​55974)
migrations
Commit Type Description
ba85d08158 fix handle empty ngSwitchCase (#​56105)

v18.0.0

Compare Source

Blog post "Angular v18 is now available".

Breaking Changes

animations
  • Deprecated matchesElement method has been removed from AnimationDriver as it is unused.
common
  • The deprecated isPlatformWorkerUi and isPlatformWorkerApp have been removed without replacement, as they serve no purpose since the removal of the WebWorker platform.
compiler
  • Angular only supports writable expressions inside of two-way bindings.
compiler-cli
    • Angular no longer supports TypeScript versions older than 5.4.
core
  • OnPush views at the root of the application need to be marked dirty for their host bindings to refresh. Previously, the host bindings were refreshed for all root views without respecting the OnPush change detection strategy.

  • OnPush views at the root of the application need to be marked dirty for their host bindings to refresh. Previously, the host bindings were refreshed for all root views without respecting the OnPush change detection strategy.

  • The ComponentFixture autoDetect feature will no longer refresh the component's host view when the component is OnPush and not marked dirty. This exposes existing issues in components which claim to be OnPush but do not correctly call markForCheck when they need to be refreshed. If this change causes test failures, the easiest fix is to change the component to ChangeDetectionStrategy.Default.

  • ComponentFixture.whenStable now matches the ApplicationRef.isStable observable. Prior to this change, stability of the fixture did not include everything that was considered in ApplicationRef. whenStable of the fixture will now include unfinished router navigations and unfinished HttpClient requests. This will cause tests that await the whenStable promise to time out when there are incomplete requests. To fix this, remove the whenStable, instead wait for another condition, or ensure HttpTestingController mocks responses for all requests. Try adding HttpTestingController.verify() before your await fixture.whenStable to identify the open requests. Also, make sure your tests wait for the stability promise. We found many examples of tests that did not, meaning the expectations did not execute within the test body.

    In addition, ComponentFixture.isStable would synchronously switch to true in some scenarios but will now always be asynchronous.

  • Angular will ensure change detection runs, even when the state update originates from outside the zone, tests may observe additional rounds of change detection compared to the previous behavior.

    This change will be more likely to impact existing unit tests. This should usually be seen as more correct and the test should be updated, but in cases where it is too much effort to debug, the test can revert to the old behavior by adding provideZoneChangeDetection({schedulingMode: NgZoneSchedulingMode.NgZoneOnly}) to the TestBed providers.

    Similarly, applications which may want to update state outside the zone and not trigger change detection can add provideZoneChangeDetection({schedulingMode: NgZoneSchedulingMode.NgZoneOnly}) to the providers in bootstrapApplication or add schedulingMode: NgZoneSchedulingMode.NgZoneOnly to the BootstrapOptions of bootstrapModule.

  • When Angular runs change detection, it will continue to refresh any views attached to ApplicationRef that are still marked for check after one round completes. In rare cases, this can result in infinite loops when certain patterns continue to mark views for check using ChangeDetectorRef.detectChanges. This will be surfaced as a runtime error with the NG0103 code.

  • async has been removed, use waitForAsync instead.

  • The ComponentFixture.autoDetect feature now executes change detection for the fixture within ApplicationRef.tick. This more closely matches the behavior of how a component would refresh in production. The order of component refresh in tests may be slightly affected as a result, especially when dealing with additional components attached to the application, such as dialogs. Tests sensitive to this type of change (such as screenshot tests) may need to be updated. Concretely, this change means that the component will refresh before additional views attached to ApplicationRef (i.e. dialog components). Prior to this change, the fixture component would refresh after other views attached to the application.

  • The exact timing of change detection execution when using event or run coalescing with NgZone is now the first of either setTimeout or requestAnimationFrame. Code which relies on this timing (usually by accident) will need to be adjusted. If a callback needs to execute after change detection, we recommend afterNextRender instead of something like setTimeout.

  • Newly created and views marked for check and reattached during change detection are now guaranteed to be refreshed in that same change detection cycle. Previously, if they were attached at a location in the view tree that was already checked, they would either throw ExpressionChangedAfterItHasBeenCheckedError or not be refreshed until some future round of change detection. In rare circumstances, this correction can cause issues. We identified one instance that relied on the previous behavior by reading a value on initialization which was queued to be updated in a microtask instead of being available in the current change detection round. The component only read this value during initialization and did not read it again after the microtask updated it.

  • Testability methods increasePendingRequestCount, decreasePendingRequestCount and getPendingRequestCount have been removed. This information is tracked with zones.

http
  • By default we now prevent caching of HTTP requests that require authorization . To opt-out from this behaviour use the includeRequestsWithAuthHeaders option in withHttpTransferCache.

    Example:

    withHttpTransferCache({
      includeRequestsWithAuthHeaders: true,
    })
    
platform-browser
  • Deprecated StateKey, TransferState and makeStateKey have been removed from @angular/platform-browser, use the same APIs from @angular/core.
platform-browser-dynamic
  • No longer used RESOURCE_CACHE_MROVIDER APIs have been removed.
platform-server
  • deprecated platformDynamicServer has been removed. Add an import @&#8203;angular/compiler and replace the usage with platformServer

  • deprecated ServerTransferStateModule has been removed. TransferState can be use without providing this module.

  • deprecated useAbsoluteUrl and baseUrl been removed from PlatformConfig. Provide and absolute url instead.

  • Legacy handling or Node.js URL parsing has been removed from ServerPlatformLocation.

    The main differences are;

    • pathname is always suffixed with a /.
    • port is empty when http: protocol and port in url is 80
    • port is empty when https: protocol and port in url is 443
router
  • Guards can now return RedirectCommand for redirects in addition to UrlTree. Code which expects only boolean or UrlTree values in Route types will need to be adjusted.
  • This change allows Route.redirectTo to be a function in addition to the previous string. Code which expects redirectTo to only be a string on Route objects will need to be adjusted.
  • When a a guard returns a UrlTree as a redirect, the redirecting navigation will now use replaceUrl if the initial navigation was also using the replaceUrl option. If this is not desirable, the redirect can configure new NavigationBehaviorOptions by returning a RedirectCommand with the desired options instead of UrlTree.
  • Providers available to the routed components always come from the injector heirarchy of the routes and never inherit from the RouterOutlet. This means that providers available only to the component that defines the RouterOutlet will no longer be available to route components in any circumstances. This was already the case whenever routes defined providers, either through lazy loading an NgModule or through explicit providers on the route config.
  • Providers available to the routed components always come from the injector heirarchy of the routes and never inherit from the RouterOutlet. This means that providers available only to the component that defines the RouterOutlet will no longer be available to route components in any circumstances. This was already the case whenever routes defined providers, either through lazy loading an NgModule or through explicit providers on the route config.

Deprecations

common
  • getCurrencySymbol, getLocaleCurrencyCode, getLocaleCurrencyName, getLocaleCurrencySymbol, getLocaleDateFormat, getLocaleDateTimeFormat, getLocaleDayNames, getLocaleDayPeriods, getLocaleDirection, getLocaleEraNames, getLocaleExtraDayPeriodRules, getLocaleExtraDayPeriods, getLocaleFirstDayOfWeek, getLocaleId, getLocaleMonthNames, getLocaleNumberFormat, getLocaleNumberSymbol, getLocalePluralCase, getLocaleTimeFormat, getLocaleWeekEndRange, getNumberOfCurrencyDigits
core
  • @Component.interpolation is deprecated. Use Angular's delimiters instead.
http
  • HttpClientModule, HttpClientXsrfModule and HttpClientJsonpModule

    As mentionned, those modules can be replaced by provider function only.

animations
Commit Type Description
bcce85af72 refactor remove deprecated matchesElement from AnimationDriver (#​55479)
common
Commit Type Description
d34c033902 refactor Deprecate Local Data API functions (#​54483)
3b0de30b37 refactor remove deprecated isPlatformWorkerApp and isPlatformWorkerUi API (#​55302)
compiler
Commit Type Description
91b007e58f fix add math elements to schema (#​55631)
33d0102304 fix allow comments between connected blocks (#​55966)
7fc7f3f05f fix capture all control flow branches for content projection in if blocks (#​54921)
a369f43fbd fix capture switch block cases for content projection (#​54921)
eb625d3783 fix declare for loop aliases in addition to new name (#​54942)
f824911510 fix For FatalDiagnosticError, hide the message field without affecting the emit (#​55160)
a040fb720a fix maintain multiline CSS selectors during CSS scoping (#​55509)
39624c6b12 fix output input flags as a literal (#​55215)
eba92cfa55 fix prevent usage of reserved control flow symbol in custom interpolation context. (#​55809)
7d5bc1c628 fix remove container index from conditional instruction (#​55190)
4eb0165750 fix remove support for unassignable expressions in two-way bindings (#​55342)
e1650e3b13 fix throw error if item name and context variables conflict (#​55045)
compiler-cli
Commit Type Description
5bd188a394 feat add partial compilation support for deferred blocks (#​54908)
b02b31a915 feat drop support for TypeScript older than 5.4 (#​54961)
78188e877a fix add diagnostic if initializer API is used outside of an initializer (#​54993)
69a83993b3 fix do not throw when retrieving TCB symbol for signal input with restricted access (#​55774)
4f4f41016e fix dom property binding check in signal extended diagnostic (#​54324)
7a16d7e969 fix don't type check the bodies of control flow nodes in basic mode (#​55360)
8d93597a82 fix fix type narrowing of @if with aliases (#​55835)
9b424d7224 fix preserve original reference to non-deferrable dependency (#​54759)
694ba79cbf fix report cases where initializer APIs are used in a non-directive class (#​54993)
6219341d26 fix report errors when initializer APIs are used on private fields (#​54981)
c04ffb1fa6 fix use switch statements to narrow Angular switch blocks (#​55168)
core
Commit Type Description
a730f09ae9 feat Add a public API to establish events to be replayed and an attribute to mark an element with an event handler. (#​55356)
fdd560ea14 feat Add ability to configure zone change detection to use zoneless scheduler (#​55252)
bce5e2344f feat Add build target for jsaction contract binary. (#​55319)
666d646575 feat Add event delegation library to queue up events and replay them when the application is ready (#​55121)
5f06ca8f55 feat add HOST_TAG_NAME token (#​54751)
a600a39d0c feat add support for fallback content in ng-content (#​54854)
146306a141 feat add support for i18n hydration (#​54823)
f09c5a7bc4 feat Add zoneless change detection provider as experimental (#​55329)
d28614b90e feat Modify EventType from an enum to an object. (#​55323)
ac863ded48 feat provide ExperimentalPendingTasks API (#​55487)
1ee9f32621 feat Synchronize changes from internal JSAction codebase. (#​55182)
d888da4606 fix ApplicationRef.tick should respect OnPush for host bindings (#​53718)
64f870c12b fix ApplicationRef.tick should respect OnPush for host bindings (#​53718) (#​53718)
8cad4e8cbe fix ComponentFixture autoDetect respects OnPush flag of host view (#​54824)
658cf8c384 fix ComponentFixture stability should match ApplicationRef (#​54949)
2fc11eae9e fix account for re-projected ng-content elements with fallback content (#​54854)
0cbd73c6e9 fix add warning when using zoneless but zone.js is still loaded (#​55769)
d5edfde6ee fix afterRender hooks registered outside change detection can mark views dirty (#​55623)
de7447d15e fix Angular should not ignore changes that happen outside the zone (#​55102)
ba8e465974 fix Change Detection will continue to refresh views while marked for check (#​54734)
5a10f405d3 fix complete the removal of deprecation async function (#​55491)
24bc0ed4f2 fix ComponentFixture autodetect should detect changes within ApplicationRef.tick (#​54733)
1c0ec56c46 fix correctly project single-root content inside control flow (#​54921)
840c375255 fix do not save point-in-time setTimeout and rAF references (#​55124)
10c5cdb49c fix ensure change detection runs in a reasonable timeframe with zone coalescing (#​54578)
ad045efd4b fix Ensure views marked for check are refreshed during change detection (#​54735)
69085ea26e fix error about provideExperimentalCheckNoChangesForDebug uses wrong name (#​55824)
0147e0b85a fix exhaustive checkNoChanges should only do a single pass (#​55839)
e02bcf89cf fix Fix clearing of pending task in zoneless cleanup implementation (#​55074)
0cec9e4f9a fix Fix null dereference error addEvent (#​55353)
44c0ed83a6 fix hide implementation details of ExperimentalPendingTasks (#​55516)
314112de99 fix Prevent markForCheck during change detection from causing infinite loops (#​54900)
a5fa279b6e fix prevent i18n hydration from cleaning projected nodes (#​54823)
6534c035c0 fix Remove deprecated Testability methods (#​53768)
a5c57c7484 fix resolve error for multiple component instances that use fallback content (#​55478)
f44a5e4604 fix support content projection and VCRs in i18n (#​54823)
0510930a25 fix TestBed should not override NgZone from initTestEnvironment (#​55226)
e9a0c86766 fix TestBed should not override NgZone from initTestEnvironment (#​55226)
700c0520bb fix Update ApplicationRef.tick loop to only throw in dev mode (#​54848)
a99cb7ce5b fix zoneless scheduler should check if Zone is defined before accessing it (#​55118)
1fd63e9cff refactor deprecate @Component.interpolation (#​55778)
forms
Commit Type Description
1c736dc3b2 feat Unified Control State Change Events (#​54579)
61007dced0 fix Add event for forms submitted & reset (#​55667)
2e27ca9ddf fix Allow canceled async validators to emit. (#​55134)
http
Commit Type Description
6f88d80758 feat allow caching requests with different origins between server and client (#​55274)
8eacb6e4b9 feat exclude caching for authenticated HTTP requests (#​55034)
d9b339fdbc fix resolve withRequestsMadeViaParent behavior with withFetch (#​55652)
ef665a40a5 refactor Deprecate HttpClientModule & related modules (#​54020)
language-service
Commit Type Description
6d1b82df32 fix allow external projects to use provided compiler options (#​55035)
a48afe0d94 fix avoid generating TS syntactic diagnostics for templates (#​55091)
bd236cc150 fix implement getDefinitionAtPosition for Angular templates (#​55269)
4166dfc1b6 fix prevent underlying TS Service from handling template files (#​55003)
b7f2fd4739 fix use type-only import in plugin factory (#​55996)
migrations
Commit Type Description
f914f6a362 feat Migration schematics for HttpClientModule (#​54020)
8459ee46cb fix handle more cases in HttpClientModule migration (#​55640)
c4b2f18709 fix migrate HttpClientTestingModule in test modules (#​55803)
bb4a4016a9 fix preserve existing properties in HttpClientModule migration (#​55777)
f93e5180be fix resolve multiple structural issues with HttpClient migration (#​55557)
platform-browser
Commit Type Description
45ae7a6b60 feat add withI18nSupport() in developer preview (#​55130)
23f914f101 fix Use the right namespace for mathML. (#​55622)
cba336d4f1 refactor remove deprecated transfer state APIs (#​55474)
platform-browser-dynamic
Commit Type Description
eb20c1a8b1 refactor unused RESOURCE_CACHE_MROVIDER API has been removed (#​54875)
platform-server
Commit Type Description
5674c644ab fix add nonce attribute to event record script (#​55495)
e71e869112 fix remove event dispatch script from HTML when hydration is disabled (#​55681)
07ac017731 refactor remove deprecated platformDynamicServer API (#​54874)
e8b588d8b7 refactor remove deprecated ServerTransferStateModule API (#​54874)
3b1967ca64 refactor remove deprecated useAbsoluteUrl and baseUrl from PlatformConfig (#​54874)
2357d3566c refactor remove legacy URL handling logic (#​54874)
router
Commit Type Description
4a42961393 feat withNavigationErrorHandler can convert errors to redirects (#​55370)
8735af08b9 feat Add ability to return UrlTree with NavigationBehaviorOptions from guards (#​45023)
87f3f27f90 feat Allow resolvers to return RedirectCommand (#​54556)
2b802587f2 feat Allow Route.redirectTo to be a function which returns a string or UrlTree (#​52606)
60f1d681e0 fix preserve replaceUrl when returning a urlTree from CanActivate (#​54042)
3839cfbb18 fix Routed components never inherit RouterOutlet EnvironmentInjector (#​54265)
da906fdafc fix Routed components never inherit RouterOutlet EnvironmentInjector (#​54265)
service-worker
Commit Type Description
3bc63eaaf3 fix avoid running CDs on controllerchange (#​54222)
e598634c10 fix remove controllerchange listener when app is destroyed (#​55365)

Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about these updates again.


  • [ ] If you want to rebase/retry this MR, click this checkbox.

This MR has been generated by Renovate Bot.

Edited by Renovate-Bot

Merge request reports

Loading