-
Notifications
You must be signed in to change notification settings - Fork 2
Update angular monorepo to v20 (major) #44
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
base: master
Are you sure you want to change the base?
Conversation
⚠ Artifact update problemRenovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is. ♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below: File name: package-lock.json
|
89bf778
to
ecc3116
Compare
|
ecc3116
to
dd8384e
Compare
dd8384e
to
336c395
Compare
This PR contains the following updates:
^16.0.0
->^20.0.0
^16.0.0
->^20.0.0
Release Notes
angular/angular (@angular/compiler)
v20.0.0
Compare Source
Breaking Changes
common
Y
formatter (week-numbering year) without also includingw
(week number) is now detected as suspicious date pattern, asy
is typically intended.AsyncPipe
now directly catches unhandled errors insubscriptions and promises and reports them to the application's
ErrorHandler
. For Zone-based applications, these errors would havebeen caught by ZoneJS and reported to
ErrorHandler
so the result isgenerally the same. The change to the exact mechanism for reporting can
result in differences in test environments that will require test
updates.
compiler
'in' in an expression now refers to the operator
void
in an expression now refers to the operatorPreviously an expression in the template like
{{void}}
referred to aproperty on the component class. After this change it now refers to the
void
operator, which would make the above example invalid. If you haveexisting expressions that need to refer to a property named
void
,change the expression to use
this.void
instead:{{this.void}}
.core
TypeScript versions less than 5.8 are no longer supported.
the
TestBed.flushEffects()
was removed - usethe
TestBed.tick()
instead.provideExperimentalCheckNoChangesForDebug
has severalbreaking changes:
provideCheckNoChangesConfig
useNgZoneOnStable
option is removed. This wasn't found to be generallymore useful than
interval
provideExperimentalZonelessChangeDetection
isrenamed to
provideZonelessChangeDetection
as it is now "DeveloperPreview" rather than "Experimental".
InjectFlags
has been removed.inject
no longer acceptsInjectFlags
.Injector.get
no longer acceptsInjectFlags
.EnvironmentInjector.get
no longer acceptsInjectFlags
.TestBed.get
no longer acceptsInjectFlags
.TestBed.inject
no longer acceptsInjectFlags
.TestBed.get
has been removed. UseTestBed.inject
instead.afterRender was renamed to afterEveryRender.
Before upgrading to Angular v20, ensure the Node.js version is at least 20.11.1.
For the full list of supported versions, visit: https://angular.dev/reference/versions
PendingTasks.run
no longer returns the result of theasync function. If this behavior is desired, it can be re-implemented
manually with the
PendingTasks.add
. Be aware, however, that promise rejectionswill need to be handled or they can cause the node process to shut down
when using SSR.
Uncaught errors in listeners which were previously only reported to
ErrorHandler
are now also reported to Angular's internal errorhandling machinery. For tests, this means that the error will be
rethrown by default rather than only logging the error. Developers
should fix these errors, catch them in the test if the test is
intentionally covering an error case, or use
rethrowApplicationErrors: false
inconfigureTestingModule
as a last resort.The
any
overload has been removed frominjector.get
. It now only supportsProviderToken<T>
and (deprecatedsince v4)
string
.Animations are guaranteed to be flushed when Angular
runs automatic change detection or manual calls to
ApplicationRef.tick
.Prior to this change, animations would not be flushed in some situations
if change detection did not run on any views attached to the
application. This change can affect tests which may rely on the old
behavior, often by making assertions on DOM elements that should have
been removed but weren't because DOM removal is delayed until animations
are flushed.
ApplicationRef.tick
will no longer catch and reporterrors to the appplication
ErrorHandler
. Errors will instead be thrown out ofthe method and will allow callers to determine how to handle these
errors, such as aborting follow-up work or reporting the error and
continuing.
This commit deprecates
ng-reflect-*
attributes and updates the runtime to stop producing them by default. Please refactor application and test code to avoid relying onng-reflect-*
attributes.To enable a more seamless upgrade to v20, we've added the
provideNgReflectAttributes()
function (can be imported from the@angular/core
package), which enables the mode in which Angular would be producing those attribites (in dev mode only). You can add theprovideNgReflectAttributes()
function to the list of providers within the bootstrap call.router
RedirectFn
can now returnObservable
orPromise
. Any code that directly calls functions returning this typemay need to be adjusted to account for this.
required writable arrays have now been updated to accept readonly
arrays when no mutations are done.
Route
no longer includeany
inthe type union. The union includes functions for the functional guards
as well as a type matching
Injector.get
:ProviderToken<T>|string
.Note that string is still deprecated on both the route guards and
Injector.get
.Deprecations
core
ngIf
/ngFor
/ngSwitch
are deprecated. Use the control flow blocks instead (@for
/@if
/@switch
).platform-browser
@angular/platform-browser-dynamic
platform-server
@angular/platform-server/testing
Use e2e tests to verify SSR behavior instead.
common
updateLatestValue
if view is destroyed before promise resolves (#58041)NgOptimizedImage
exceeds the preload limit (#60879)compiler
@for
blocks (#60495)in
keyword in Binary expression (#58432)compiler-cli
core
Injector.destroy
onInjector
created withInjector.create
(#60054)toObservable
as stable (#60449)provideExperimentalCheckNoChangesForDebug
toprovideCheckNoChangesConfig
(#60906)PendingTasks.run
(#60044)withEventReplay()
is invoked (#61077)@Attribute
as optional (#60916)zone.js
as an optional peer dependency (#61616)hasPendingTasks
observers (#59723)forceRoot
flag for effects (#60535)rejectErrors
option encourages uncaught exceptions (#60397)CDR.detectChanges
(#60056)ApplicationRef.prototype.bootstrap
inNgZone
(#60720)ApplicationRef.tick
to callsite (#60102)ngIf
/ngFor
/ngSwitch
. (#60492)ng-reflect
attributes by default (#60973)forms
http
platform-browser
platform-browser-dynamic
package (#61043)platform-server
router
v19.2.14
Compare Source
v19.2.13
Compare Source
common
service-worker
v19.2.12
Compare Source
common
compiler
compiler-cli
core
rxResource
abort listener (#58306)withEventReplay()
is invoked (#61352)onDestroy
intoSignal
. (#61514)platform-server
v19.2.11
Compare Source
v19.2.10
Compare Source
common
updateLatestValue
if view is destroyed before promise resolves (#61064)core
platform-server
v19.2.9
Compare Source
core
v19.2.8
Compare Source
forms
v19.2.7
Compare Source
common
NgOptimizedImage
exceeds the preload limit (#60883)core
http
httpResource
(#60802)v19.2.6
Compare Source
compiler
compiler-cli
core
language-service
v19.2.5
Compare Source
animations
@angular/common
(#60660)compiler
compiler-cli
rootDir
(#60555)core
language-service
migrations
router
service-worker
v19.2.4
Compare Source
core
localize
platform-browser
platformBrowserTesting
includesplatformBrowser
providers (#60480)v19.2.3
Compare Source
compiler-cli
core
platform-browser-dynamic
@angular/common
(#60458)upgrade
v19.2.2
Compare Source
common
compiler
compiler-cli
core
platform-server
rxjs
(#60308)router
v19.2.1
Compare Source
common
service-worker
v19.2.0
Compare Source
common
httpResource
(#59876)compiler
core
resource()
([#59655](https://redirect.github.com/angulConfiguration
📅 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.
This PR was generated by Mend Renovate. View the repository job log.