15.0.0-next.6 (2022-10-12)
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 like string
).
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
and 16.[10-12].x
. Current supported versions of Node.js are 14.20.x
, 16.13.x
and 18.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 with FormsModule.withConfig
or ReactiveFormsModule.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 the DATE_PIPE_DEFAULT_OPTIONS
token, which accepts an object
as a value and the timezone can be defined as a field (called timezone
)
on that object.
router
- The
RouterLinkWithHref
directive is deprecated, use the RouterLink
directive instead. The RouterLink
contains the code from the RouterLinkWithHref
to handle elements with href
attributes.
common
Commit
| Description
|
| add provideLocationMocks() function to provide Location mocks (#47674)
|
| add preload tag on server for priority img (#47343)
|
| Add automatic srcset generation to ngOptimizedImage (#47547)
|
| Add fill mode to NgOptimizedImage (#47738)
|
| add injection token for default DatePipe configuration (#47157)
|
compiler
Commit
| Description
|
| update element schema (#47552)
|
| update element schema (#47552)
|
compiler-cli
Commit
| Description
|
| add missing period to error message (#47744)
|
| exclude abstract classes from strictInjectionParameters requirement (#44615)
|
| use @ts-ignore. (#47636)
|
| minimize filesystem calls when generating shims (#47682)
|
core
Commit
| Description
|
| add support for Node.js version 18 (#47730)
|
| drop support for TypeScript 4.6 and 4.7 (#47690)
|
| enable the new directive composition API (#47642)
|
| introduce EnvironmentProviders wrapper type (#47669)
|
forms
Commit
| Description
|
| export forms utility functions: isFormArray, isFormGroup… (#47718)
|
| call setDisabledState on ControlValueAcessor when control is enabled (#47576)
|
http
Commit
| Description
|
| allow for child HttpClient s to request via parents (#47502)
|
| introduce provideHttpClientTesting provider function (#47502)
|
| introduce functional interceptors (#47502)
|
| introduce the provideHttpClient() API (#47502)
|
| better handle unexpected undefined XSRF tokens (#47683)
|
language-service
Commit
| Description
|
| Quick fix to import a component when its selector is used (#47088)
|
router
Commit
| Description
|
| add a migration to remove relativeLinkResolution usages (#47604)
|
| merge RouterLinkWithHref into RouterLink (#47630)
|
| migrate RouterLinkWithHref references to RouterLink (#47599)
|
| prevent provideRouter() from usage in @component (#47669)
|
| 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