@angular/http
Advanced tools
Changelog
17.0.3 (2023-11-15)
| Commit | Type | Description | | -- | -- | -- | | f5872c9921 | fix | prevent the AsyncAnimationRenderer from calling the delegate when there is no element. (#52570) |
| Commit | Type | Description | | -- | -- | -- | | 6a1d4ed667 | fix | handle non-container environment injector cases (#52774) | | 5de7575be8 | fix | reset cached scope for components that were overridden using TestBed (#52916) |
| Commit | Type | Description |
| -- | -- | -- |
| 7c066a4af4 | fix | Use the response content-type
to set the blob type
. (#52840) |
| Commit | Type | Description | | -- | -- | -- | | 4e200bf13b | fix | Add missing support for ngForOf (#52903) | | d033540d0f | fix | Add support for bound versions of NgIfElse and NgIfThenElse (#52869) | | aa2d815648 | fix | Add support for removing imports post migration (#52763) | | 3831942771 | fix | Fixes issue with multiple if elses with same template (#52863) | | e1f84a31dc | fix | passed in paths will be respected in nx workspaces (#52796) |
<!-- CHANGELOG SPLIT MARKER --><a name="17.0.2"></a>
Changelog
17.0.2 (2023-11-09)
| Commit | Type | Description | | -- | -- | -- | | 7a95cccf50 | fix | add interpolatedSignalNotInvoked to diagnostics (#52687) | | a548c0333e | fix | incorrect inferred type of for loop implicit variables (#52732) |
| Commit | Type | Description |
| -- | -- | -- |
| 2cea80c6e2 | fix | error code in image performance warning (#52727) |
| b16fc2610a | fix | limit rate of markers invocations (#52742) |
| 44c48a4835 | fix | properly update collection with repeated keys in @for
(#52697) |
<a name="17.0.1"></a>
Changelog
17.0.1 (2023-11-08)
| Commit | Type | Description | | -- | -- | -- | | 5c6f3f8ec0 | fix | Don't override the backend when using the InMemoryWebAPI (#52425) |
| Commit | Type | Description | | -- | -- | -- | | 70d30c28e0 | fix | Add support for ng-templates with i18n attributes (#52597) | | 4f125c5f9a | fix | Switches to multiple passes to fix several reported bugs (#52592) |
Web Frameworks: the internet frontier.<br/> These are the voyages of the framework Angular.<br/> Its continuing mission:<br/> To explore strange, new technologies.<br/> To seek out new users and new applications.<br/> To boldly go where no web framework has gone before.<br/>
In honor of v17.0.1
______
___.--------'------`---------.____
_.---'----------------------------------`---.__
.'___=]===========================================
,-----------------------..__/.' >--.______ _______.---'
]====================<==||(__) .' `------'
`-----------------------`' ----.___--/
/ /---' `/
/_______(______________________/
`-------------.--------------.'
\________|_.-'
Live long and prosper 🖖🏻
<!-- CHANGELOG SPLIT MARKER --><a name="17.0.0"></a>
Changelog
17.0.0 (2023-11-08)
Blog post "Angular v17 is now available".
Node.js v16 support has been removed and the minimum support version has been bumped to 18.13.0.
Node.js v16 is planned to be End-of-Life on 2023-09-11. Angular will stop supporting Node.js v16 in Angular v17. For Node.js release schedule details, please see: https://github.com/nodejs/release#release-schedule
Angular now requires zone.js
version ~0.14.0
Versions of TypeScript older than 5.2 are no longer supported.
The mutate
method was removed from the WritableSignal
interface and completely
dropped from the public API surface. As an alternative, please use the update
method and
make immutable changes to the object.
Example before:
items.mutate(itemsArray => itemsArray.push(newItem));
Example after:
items.update(itemsArray => [itemsArray, …newItem]);
OnPush
components that are created dynamically now
only have their host bindings refreshed and ngDoCheck run
during change
detection if they are dirty.
Previously, a bug in the change detection would result in the OnPush
configuration of dynamically created components to be ignored when
executing host bindings and the ngDoCheck
function. This is
rarely encountered but can happen if code has a handle on the
ComponentRef
instance and updates values read in the OnPush
component template without then calling either markForCheck
or
detectChanges
on that component's ChangeDetectorRef
.
REMOVE_STYLES_ON_COMPONENT_DESTROY
default value is now true
. This causes CSS of components to be removed from the DOM when destroyed. You retain the previous behaviour by providing the REMOVE_STYLES_ON_COMPONENT_DESTROY
injection token.
import {REMOVE_STYLES_ON_COMPONENT_DESTROY} from '@angular/platform-browser';
...
providers: [{
provide: REMOVE_STYLES_ON_COMPONENT_DESTROY,
useValue: false,
}]
The withNoDomReuse()
function was removed from the public API. If you need to disable hydration, you can exclude the provideClientHydration()
call from provider list in your application (which would disable hydration features for the entire application) or use ngSkipHydration
attribute to disable hydration for particular components. See this guide for additional information: https://angular.io/guide/hydration#how-to-skip-hydration-for-particular-components.
Absolute redirects no longer prevent further redirects. Route configurations may need to be adjusted to prevent infinite redirects where additional redirects were previously ignored after an absolute redirect occurred.
Routes with loadComponent
would incorrectly cause
child routes to inherit their data by default. The default
paramsInheritanceStrategy
is emptyOnly
. If parent data should be
inherited in child routes, this should be manually set to always
.
urlHandlingStrategy
has been removed from the Router public API.
This should instead be configured through the provideRouter or RouterModule.forRoot APIs.
The following Router properties have been removed from the public API:
These should instead be configured through the provideRouter
or
RouterModule.forRoot
APIs.
The setupTestingRouter
function has been removed. Use
RouterModule.forRoot
or provideRouter
to setup the Router
for
tests instead.
malformedUriErrorHandler
is no longer available in
the RouterModule.forRoot
options. URL parsing errors should instead be
handled in the UrlSerializer.parse
method.