-
Notifications
You must be signed in to change notification settings - Fork 2
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 to v18 (major) #427
Open
renovate
wants to merge
1
commit into
master
Choose a base branch
from
renovate/major-angular
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8d1345b
to
c0fa560
Compare
66bcc73
to
fa76619
Compare
deea868
to
ea929a2
Compare
ea929a2
to
a7e3f08
Compare
db80d9e
to
c449334
Compare
e685cc8
to
4501133
Compare
d5e4ce9
to
fe4e01c
Compare
503b9ee
to
06a9267
Compare
3639d67
to
5cd93e0
Compare
5cd93e0
to
3b1cdac
Compare
68cfbf8
to
103adf2
Compare
103adf2
to
9762707
Compare
d4b71b7
to
184a667
Compare
2669959
to
0cd9437
Compare
b070f5c
to
7d7cbd4
Compare
7d7cbd4
to
b24d737
Compare
b94a5e1
to
c658049
Compare
d149fa8
to
80a9393
Compare
80a9393
to
ea9fe60
Compare
ea9fe60
to
e194873
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
11.2.14
->18.2.0
^11.2.15
->^18.2.0
^11.2.14
->^18.2.0
11.2.14
->18.2.0
^11.2.14
->^18.2.0
^11.2.14
->^18.2.0
^11.2.14
->^18.2.0
^11.2.14
->^18.2.0
^11.2.14
->^18.2.0
^11.2.14
->^18.2.0
^11.2.14
->^18.2.0
^11.2.14
->^18.2.0
Release Notes
angular/angular (@angular/animations)
v18.2.0
Compare Source
Breaking Changes
zone.js
fakeAsync
will now flush pending timers at the end ofthe given function by default. To opt-out of this, you can use
{flush: false}
in options parameter offakeAsync
compiler
compiler-cli
interpolatedSignalNotInvoked
extended diagnostic (#57291)core
v18.1.5
Compare Source
compiler-cli
core
v18.1.4
Compare Source
compiler
compiler-cli
interpolatedSignalNotInvoked
extended diagnostic (#57291)language-service
v18.1.3
Compare Source
compiler
compiler-cli
core
v18.1.2
Compare Source
compiler
compiler-cli
core
afterNextRender
hooks return that callback value. (#57031)v18.1.1
Compare Source
v18.1.0
Compare Source
common
compiler
compiler-cli
core
toSignal
(#56447)ComponentMirror
(#56402)afterRender
&afterNextRender
phases API (#55648)forms
NgControlStatus
host bindingsOnPush
compatible (#55720)http
Content-Type
header case insensitive (#56541)language-service
router
UrlTree
as an input torouterLink
(#56265)v18.0.7
Compare Source
compiler
http
fetch
outside of Angular zone (#56820)migrations
v18.0.6
Compare Source
common
core
router
v18.0.5
Compare Source
core
@defer
error. (#56559)v18.0.4
Compare Source
compiler-cli
core
router
v18.0.3
Compare Source
benchpress
core
localize
@angular/localize/init
as polyfill inangular.json
(#56300)migrations
v18.0.2
Compare Source
core
HttpClientModule
imports on components. (#56067)withI18nSupport()
call for components that use i18n blocks (#56175)migrations
v18.0.1
Compare Source
compiler
compiler-cli
core
migrations
v18.0.0
Compare Source
Blog post "Angular v18 is now available".
Breaking Changes
animations
matchesElement
method has been removed fromAnimationDriver
as it is unused.common
isPlatformWorkerUi
andisPlatformWorkerApp
have been removed without replacement, as they serve no purpose since the removal of the WebWorker platform.compiler
compiler-cli
core
OnPush
views at the root of the application need tobe 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 tobe 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 nolonger 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 callmarkForCheck
when theyneed to be refreshed. If this change causes test failures, the easiest
fix is to change the component to
ChangeDetectionStrategy.Default
.ComponentFixture.whenStable
now matches theApplicationRef.isStable
observable. Prior to this change, stabilityof the fixture did not include everything that was considered in
ApplicationRef
.whenStable
of the fixture will now include unfinishedrouter navigations and unfinished
HttpClient
requests. This will causetests that
await
thewhenStable
promise to time out when there areincomplete 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 totrue 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 addschedulingMode: NgZoneSchedulingMode.NgZoneOnly
to theBootstrapOptions
ofbootstrapModule
.When Angular runs change detection, it will continue to
refresh any views attached to
ApplicationRef
that are still marked forcheck 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 runtimeerror with the
NG0103
code.async
has been removed, usewaitForAsync
instead.The
ComponentFixture.autoDetect
feature now executeschange detection for the fixture within
ApplicationRef.tick
. This moreclosely 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 eithersetTimeout
orrequestAnimationFrame
. Code which relies on thistiming (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 untilsome 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
andgetPendingRequestCount
have beenremoved. 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 inwithHttpTransferCache
.Example:
platform-browser
StateKey
,TransferState
andmakeStateKey
have been removed from@angular/platform-browser
, use the same APIs from@angular/core
.platform-browser-dynamic
RESOURCE_CACHE_PROVIDER
APIs have been removed.platform-server
deprecated
platformDynamicServer
has been removed. Add animport @​angular/compiler
and replace the usage withplatformServer
deprecated
ServerTransferStateModule
has been removed.TransferState
can be use without providing this module.deprecated
useAbsoluteUrl
andbaseUrl
been removed fromPlatformConfig
. Provide and absoluteurl
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 whenhttp:
protocol and port in url is80
port
is empty whenhttps:
protocol and port in url is443
router
RedirectCommand
for redirectsin addition to
UrlTree
. Code which expects onlyboolean
orUrlTree
values in
Route
types will need to be adjusted.Route.redirectTo
to be a functionin addition to the previous string. Code which expects
redirectTo
toonly be a string on
Route
objects will need to be adjusted.UrlTree
as a redirect, theredirecting navigation will now use
replaceUrl
if the initialnavigation was also using the
replaceUrl
option. If this is notdesirable, the redirect can configure new
NavigationBehaviorOptions
byreturning a
RedirectCommand
with the desired options instead ofUrlTree
.come from the injector heirarchy of the routes and never inherit from
the
RouterOutlet
. This means that providers available only to thecomponent that defines the
RouterOutlet
will no longer be available toroute components in any circumstances. This was already the case
whenever routes defined providers, either through lazy loading an
NgModule
or through explicitproviders
on the route config.come from the injector heirarchy of the routes and never inherit from
the
RouterOutlet
. This means that providers available only to thecomponent that defines the
RouterOutlet
will no longer be available toroute components in any circumstances. This was already the case
whenever routes defined providers, either through lazy loading an
NgModule
or through explicitproviders
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'sdelimiters instead.
http
HttpClientModule
,HttpClientXsrfModule
andHttpClientJsonpModule
As mentionned, those modules can be replaced by provider function only.
animations
matchesElement
fromAnimationDriver
(#55479)common
isPlatformWorkerApp
andisPlatformWorkerUi
API (#55302)compiler
FatalDiagnosticError
, hide themessage
field without affecting the emit (#55160)compiler-cli
@if
with aliases (#55835)core
ApplicationRef.tick
should respect OnPush for host bindings (#53718)ApplicationRef.tick
should respect OnPush for host bindings (#53718) (#53718)ComponentFixture
autoDetect
respectsOnPush
flag of host view (#54824)ComponentFixture
stability should matchApplicationRef
(#54949)async
function (#55491)setTimeout
andrAF
references (#55124)addEvent
(#55353)Configuration
📅 Schedule: Branch creation - "after 2am and before 7am every weekday,after 2am and before 7am every weekend" in timezone Asia/Yangon, Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.