angular v15.0.0-next.6 Release Notes
Release Date: 2022-10-12 // over 1 year ago-
💥 Breaking Changes
compiler-cli
- Invalid constructors for DI may now report compilation errors
When a class inherits its constructor from a base class, the compiler may now report an error when that constructor cannot be used for DI purposes. This may either be because the base class is missing an Angular decorator such as
@Injectable()
or@Directive()
, or because the constructor contains parameters which do not have an associated token (such as primitive types likestring
). These situations used to behave unexpectedly at runtime, where the class may be constructed without any of its constructor parameters, so this is now reported as an error during compilation.Any new errors that may be reported because of this change can be resolved either by decorating the base class from which the constructor is inherited, or by adding an explicit constructor to the class for which the error is reported.
core
- 👍 Angular no longer supports Node.js versions
14.[15-19].x
and16.[10-12].x
. Current supported versions of Node.js are14.20.x
,16.13.x
and18.10.x
. - 👍 TypeScript versions older than 4.8 are no longer supported. ### forms
- setDisabledState will always be called when a
ControlValueAccessor
is attached. You can opt-out withFormsModule.withConfig
orReactiveFormsModule.withConfig
. ### router - 🔧
relativeLinkResolution
is no longer configurable in the Router. This option was used as a means to opt out of a bug fix. ## 🗄 Deprecations ### common - The
DATE_PIPE_DEFAULT_TIMEZONE
token is now deprecated in favor of theDATE_PIPE_DEFAULT_OPTIONS
token, which accepts an object as a value and the timezone can be defined as a field (calledtimezone
) on that object. ### router - 🗄 The
RouterLinkWithHref
directive is deprecated, use theRouterLink
directive instead. TheRouterLink
contains the code from theRouterLinkWithHref
to handle elements withhref
attributes. ### common | Commit | Type | Description | | -- | -- | -- | 🤡 | c0c7efaf7c | feat | addprovideLocationMocks()
function to provide Location mocks (#47674) | | 75e6297f09 | feat | add preload tag on server for priority img (#47343) | ⚡️ | 4fde292bb5 | feat | Add automatic srcset generation to ngOptimizedImage (#47547) | ⚡️ | 9483343ebf | feat | Add fill mode to NgOptimizedImage (#47738) | 🔧 | bdb5371033 | feat | add injection token for default DatePipe configuration (#47157) | ### compiler | Commit | Type | Description | | -- | -- | -- | ⚡️ | 39b72e208b | fix | update element schema (#47552) | ⚡️ | 48b354a83e | fix | update element schema (#47552) | ### compiler-cli | Commit | Type | Description | | -- | -- | -- | | 38078e7adb | fix | add missing period to error message (#47744) | | bc54687c7b | fix | exclude abstract classes fromstrictInjectionParameters
requirement (#44615) | | 19ad4987f9 | fix | use @ts-ignore. (#47636) | | a792bf1703 | perf | minimize filesystem calls when generating shims (#47682) | ### core | Commit | Type | Description | | -- | -- | -- | 👍 | 1b9fd46d14 | feat | add support for Node.js version 18 (#47730) | 👍 | ed11a13c3c | feat | drop support for TypeScript 4.6 and 4.7 (#47690) | | db28badfe6 | feat | enable the new directive composition API (#47642) | | 7de1469be6 | feat | introduce EnvironmentProviders wrapper type (#47669) | ### forms | Commit | Type | Description | | -- | -- | -- | | a8569e3802 | feat | export forms utility functions: isFormArray, isFormGroup… (#47718) | | 96b7fe93af | fix | callsetDisabledState
onControlValueAcessor
when control is enabled (#47576) | ### http | Commit | Type | Description | | -- | -- | -- | | 3ba99e286a | feat | allow for childHttpClient
s to request via parents (#47502) | ✅ | 84d0d33c35 | feat | introduceprovideHttpClientTesting
provider function (#47502) | | 62c7a7a16e | feat | introduce functional interceptors (#47502) | | e47b129070 | feat | introduce theprovideHttpClient()
API (#47502) | 👍 | ea16a98dfe | fix | better handle unexpectedundefined
XSRF tokens (#47683) | ### language-service | Commit | Type | Description | | -- | -- | -- | | bebef5fb43 | feat | Quick fix to import a component when its selector is used (#47088) | ### router | Commit | Type | Description | | -- | -- | -- | 🚚 | 7bee28d037 | feat | add a migration to removerelativeLinkResolution
usages (#47604) | 🔀 | f73ef21442 | feat | mergeRouterLinkWithHref
intoRouterLink
(#47630) | | 16c8f55663 | feat | migrateRouterLinkWithHref
references toRouterLink
(#47599) | | 07017a7bd3 | feat | preventprovideRouter()
from usage in @Component (#47669) | 🚚 | 7b89d95c0e | fix | Remove deprecated relativeLinkResolution (#47623) | ## Special Thanks Alan Agius, AleksanderBodurri, Alex Castle, Alex Rickabaugh, Andrew Kushnir, Andrew Scott, Aristeidis Bampakos, Bob Watson, Charles Lyding, Dylan Hunn, Ferdinand Malcher, George Kalpakas, Jessica Janiuk, Joey Perrott, JoostK, Joshua Morony, Kristiyan Kostadinov, Martin Probst, Mathew Berg, Matthias Weiß, Paul Gschwendtner, Peter Dickten, Renan Ferro, Sri Ram, WD Snoeijer, arturovt, jaybell, markostanimirovic and Álvaro Martínez
<!-- CHANGELOG SPLIT MARKER -->