Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update angular monorepo to v18 (major) #184

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 22, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
@angular/animations (source) ^17.3.12 -> ^18.0.0 age adoption passing confidence
@angular/common (source) ^17.3.12 -> ^18.0.0 age adoption passing confidence
@angular/compiler (source) ^17.3.12 -> ^18.0.0 age adoption passing confidence
@angular/compiler-cli (source) ^17.3.12 -> ^18.0.0 age adoption passing confidence
@angular/core (source) ^17.3.12 -> ^18.0.0 age adoption passing confidence
@angular/forms (source) ^17.3.12 -> ^18.0.0 age adoption passing confidence
@angular/language-service (source) ^17.3.12 -> ^18.0.0 age adoption passing confidence
@angular/platform-browser (source) ^17.3.12 -> ^18.0.0 age adoption passing confidence
@angular/platform-browser-dynamic (source) ^17.3.12 -> ^18.0.0 age adoption passing confidence
@angular/router (source) ^17.3.12 -> ^18.0.0 age adoption passing confidence

Release Notes

angular/angular (@​angular/animations)

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

core
Commit Type Description
9de30a7b1c fix Allow zoneless scheduler to run inside fakeAsync (#​56932)
286012fb89 fix handle hydration of components that project content conditionally (#​57383)
migrations
Commit Type Description
0bb649b8fa fix account for members with doc strings and no modifiers (#​57389)
3b63082384 fix avoid migrating route component in tests (#​57317)
6b4357fae4 fix preserve type when using inject decorator (#​57389)

v18.2.0

Compare Source

Breaking Changes

zone.js
  • fakeAsync will now flush pending timers at the end of
    the given function by default. To opt-out of this, you can use {flush: false} in options parameter of fakeAsync
compiler
Commit Type Description
d9d68e73d2 fix reduce chance of conflicts between generated factory and local variables (#​57181)
compiler-cli
Commit Type Description
0b1dd39663 perf improve performance of interpolatedSignalNotInvoked extended diagnostic (#​57291)
core
Commit Type Description
f7918f5272 feat Add 'flush' parameter option to fakeAsync to flush after the test (#​57239)
7919982063 feat Add whenStable helper on ApplicationRef (#​57190)

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

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_PROVIDER APIs have been removed.
platform-server
  • deprecated platformDynamicServer has been removed. Add an import @​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

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

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

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

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


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the dependencies Pull requests that update a dependency file label Nov 22, 2024
@renovate renovate bot force-pushed the renovate/major-18-angular-monorepo branch from b2c8e6b to 25ac97c Compare December 4, 2024 19:51
@renovate renovate bot force-pushed the renovate/major-18-angular-monorepo branch from 25ac97c to 9f6c1d4 Compare December 5, 2024 23:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants