Releases: angular/angular
v18.0.0-rc.0
18.0.0-rc.0 (2024-05-01)
core
Commit | Description |
---|---|
hide implementation details of ExperimentalPendingTasks (#55516) | |
render hooks should not specifically run outside the Angular zone (#55399) | |
resolve error for multiple component instances that use fallback content (#55478) |
migrations
Commit | Description |
---|---|
resolve multiple structural issues with HttpClient migration (#55557) |
router
Commit | Description |
---|---|
Scroller should scroll as soon as change detection completes (#55105) |
v17.3.7
17.3.7 (2024-05-01)
compiler-cli
Commit | Description |
---|---|
don't type check the bodies of control flow nodes in basic mode (#55558) |
core
Commit | Description |
---|---|
render hooks should not specifically run outside the Angular zone (#55399) |
router
Commit | Description |
---|---|
Scroller should scroll as soon as change detection completes (#55105) |
v18.0.0-next.6
18.0.0-next.6 (2024-04-25)
animations
Commit | Description |
---|---|
remove deprecated matchesElement from AnimationDriver (#55479) |
common
Commit | Description |
---|---|
Deprecate Local Data API functions (#54483) |
compiler-cli
Commit | Description |
---|---|
don't type check the bodies of control flow nodes in basic mode (#55360) |
core
Commit | Description |
---|---|
Add a public API to establish events to be replayed and an attribute to mark an element with an event handler. (#55356) | |
add HOST_TAG_NAME token (#54751) | |
provide ExperimentalPendingTasks API (#55487) | |
complete the removal of deprecation async function (#55491) |
|
DeferBlockFixture.render should not wait for stability (#55271) | |
make ActivatedRoute inject correct instance inside @defer blocks (#55374) |
|
skip defer timers on the server (#55480) |
http
Commit | Description |
---|---|
allow caching requests with different origins between server and client (#55274) | |
exclude caching for authenticated HTTP requests (#55034) | |
Deprecate HttpClientModule & related modules (#54020) |
migrations
Commit | Description |
---|---|
Migration schematics for HttpClientModule (#54020) |
platform-browser
Commit | Description |
---|---|
remove deprecated transfer state APIs (#55474) |
platform-server
Commit | Description |
---|---|
add nonce attribute to event record script (#55495) |
router
Commit | Description |
---|---|
withNavigationErrorHandler can convert errors to redirects (#55370) |
Breaking Changes
animations
- Deprecated
matchesElement
method has been removed fromAnimationDriver
as it is unused.
core
async
has been removed, usewaitForAsync
instead.
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:
withHttpTransferCache({ includeRequestsWithAuthHeaders: true, })
platform-browser
- Deprecated
StateKey
,TransferState
andmakeStateKey
have been removed from@angular/platform-browser
, use the same APIs from@angular/core
.
Deprecations
common
getCurrencySymbol
,getLocaleCurrencyCode
,getLocaleCurrencyName
,getLocaleCurrencySymbol
,getLocaleDateFormat
,getLocaleDateTimeFormat
,getLocaleDayNames
,getLocaleDayPeriods
,getLocaleDirection
,getLocaleEraNames
,getLocaleExtraDayPeriodRules
,getLocaleExtraDayPeriods
,getLocaleFirstDayOfWeek
,getLocaleId
,getLocaleMonthNames
,getLocaleNumberFormat
,getLocaleNumberSymbol
,getLocalePluralCase
,getLocaleTimeFormat
,getLocaleWeekEndRange
,getNumberOfCurrencyDigits
http
-
HttpClientModule
,HttpClientXsrfModule
andHttpClientJsonpModule
As mentionned, those modules can be replaced by provider function only.
v17.3.6
v18.0.0-next.5
18.0.0-next.5 (2024-04-17)
common
Commit | Description |
---|---|
remove deprecated isPlatformWorkerApp and isPlatformWorkerUi API (#55302) |
compiler
Commit | Description |
---|---|
remove container index from conditional instruction (#55190) | |
remove support for unassignable expressions in two-way bindings (#55342) |
core
Commit | Description |
---|---|
Add ability to configure zone change detection to use zoneless scheduler (#55252) | |
Add build target for jsaction contract binary. (#55319) | |
Add zoneless change detection provider as experimental (#55329) | |
Modify EventType from an enum to an object. (#55323) | |
Synchronize changes from internal JSAction codebase. (#55182) | |
Angular should not ignore changes that happen outside the zone (#55102) | |
Fix null dereference error addEvent (#55353) |
|
Remove deprecated Testability methods (#53768) |
service-worker
Commit | Description |
---|---|
avoid running CDs on controllerchange (#54222) |
Breaking Changes
common
- The deprecated
isPlatformWorkerUi
andisPlatformWorkerApp
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.
core
-
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 theTestBed
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 inbootstrapApplication
or add
schedulingMode: NgZoneSchedulingMode.NgZoneOnly
to the
BootstrapOptions
ofbootstrapModule
. -
Testability methods
increasePendingRequestCount
,
decreasePendingRequestCount
andgetPendingRequestCount
have been
removed. This information is tracked with zones.
v17.3.5
v18.0.0-next.4
18.0.0-next.4 (2024-04-10)
common
Commit | Description |
---|---|
invalid ImageKit quality parameter (#55193) | |
skip transfer cache on client (#55012) |
compiler
Commit | Description |
---|---|
output input flags as a literal (#55215) |
core
Commit | Description |
---|---|
TestBed should not override NgZone from initTestEnvironment (#55226) |
language-service
Commit | Description |
---|---|
implement getDefinitionAtPosition for Angular templates (#55269) |
v17.3.4
v18.0.0-next.3
18.0.0-next.3 (2024-04-03)
compiler
Commit | Description |
---|---|
For FatalDiagnosticError , hide the message field without affecting the emit (#55160) |
compiler-cli
Commit | Description |
---|---|
use switch statements to narrow Angular switch blocks (#55168) |
core
Commit | Description |
---|---|
Add event delegation library to queue up events and replay them when the application is ready (#55121) | |
add support for i18n hydration (#54823) | |
do not save point-in-time setTimeout and rAF references (#55124) |
|
handle ChainedInjector s in injector debug utils (#55144) |
|
prevent i18n hydration from cleaning projected nodes (#54823) | |
support content projection and VCRs in i18n (#54823) | |
test cleanup should not throw if Zone is not present (#55096) | |
zoneless scheduler should check if Zone is defined before accessing it (#55118) |
forms
Commit | Description |
---|---|
Unified Control State Change Events (#54579) |
language-service
Commit | Description |
---|---|
avoid generating TS syntactic diagnostics for templates (#55091) |
migrations
Commit | Description |
---|---|
avoid conflicts with some greek letters in control flow migration (#55113) |
platform-browser
Commit | Description |
---|---|
add withI18nSupport() in developer preview (#55130) |
router
Commit | Description |
---|---|
Allow resolvers to return RedirectCommand (#54556) |
|
Routed components never inherit RouterOutlet EnvironmentInjector (#54265) |
Breaking Changes
router
- Providers available to the routed components always
come from the injector heirarchy of the routes and never inherit from
theRouterOutlet
. This means that providers available only to the
component that defines theRouterOutlet
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 explicitproviders
on the route config.