@angular/platform-server
Advanced tools
Changelog
20.0.0-next.2 (2025-03-12)
InjectFlags
has been removed.inject
no longer accepts InjectFlags
.Injector.get
no longer accepts InjectFlags
.EnvironmentInjector.get
no longer accepts InjectFlags
.TestBed.get
no longer accepts InjectFlags
.TestBed.inject
no longer accepts InjectFlags
.any
overload has been removed from
injector.get
. It now only supports ProviderToken<T>
and (deprecated
since v4) string
.ApplicationRef.tick
will no longer catch and report
errors to the appplication ErrorHandler
. Errors will instead be thrown out of
the method and will allow callers to determine how to handle these
errors, such as aborting follow-up work or reporting the error and
continuing.| Commit | Type | Description | | -- | -- | -- | | 92250493ff | fix | support equality function in httpResource (#60026) |
| Commit | Type | Description | | -- | -- | -- | | ef1fd137a9 | fix | incorrect spans for template literals (#60323) |
| Commit | Type | Description | | -- | -- | -- | | a1cacc5b17 | fix | avoid fatal diagnostics for missing template files (#58673) | | 9be2b334ed | fix | handle transformed classes when generating HMR code (#60298) |
| Commit | Type | Description |
| -- | -- | -- |
| 611baaf069 | feat | remove InjectFlags from public API (#60318) |
| e170d24240 | fix | add migration away from InjectFlags (#60318) |
| 79ae35577e | fix | check whether application is destroyed before initializing event replay (#59789) |
| c82384104f | fix | ensures immediate trigger fires properly with lazy loaded routes (#60203) |
| de2bfc0913 | fix | fix removal of a container reference used in the component file (#60210) |
| ff772d7800 | fix | fix typing on injector.get to omit 'any' (#60202) |
| 338818ce89 | fix | Surface errors from ApplicationRef.tick
to callsite (#60102) |
| Commit | Type | Description | | -- | -- | -- | | 81fe0536fd | fix | Make sure statusChanges is emitted (#57098) |
| Commit | Type | Description | | -- | -- | -- | | a980ac9a6a | refactor | Deprecate the HammerJS integration (#60257) |
| Commit | Type | Description |
| -- | -- | -- |
| 0cff9a12d3 | fix | add missing peer dependency for rxjs
(#60308) |
| Commit | Type | Description | | -- | -- | -- | | 219f41d049 | fix | Prevent dangling promise rejections from internal navigations (#60162) | | cae1fe519b | fix | update symbols (#60233) |
<!-- CHANGELOG SPLIT MARKER --><a name="19.2.2"></a>
Changelog
19.2.2 (2025-03-12)
| Commit | Type | Description | | -- | -- | -- | | 90a16a1088 | fix | support equality function in httpResource (#60026) |
| Commit | Type | Description | | -- | -- | -- | | 56b551d273 | fix | incorrect spans for template literals (#60323) (#60331) |
| Commit | Type | Description | | -- | -- | -- | | 23ca88522b | fix | handle transformed classes when generating HMR code (#60298) |
| Commit | Type | Description | | -- | -- | -- | | 6dc41265fd | fix | check whether application is destroyed before initializing event replay (#59789) | | bb12b30d52 | fix | ensures immediate trigger fires properly with lazy loaded routes (#60203) | | b144dd946e | fix | fix removal of a container reference used in the component file (#60210) |
| Commit | Type | Description |
| -- | -- | -- |
| 15c42969fc | fix | add missing peer dependency for rxjs
(#60308) |
| Commit | Type | Description | | -- | -- | -- | | 7bcdf7c143 | fix | update symbols (#60233) |
<!-- CHANGELOG SPLIT MARKER --><a name="20.0.0-next.1"></a>
Changelog
20.0.0-next.1 (2025-03-05)
AsyncPipe
now directly catches unhandled errors in
subscriptions and promises and reports them to the application's
ErrorHandler
. For Zone-based applications, these errors would have
been caught by ZoneJS and reported to ErrorHandler
so the result is
generally the same. The change to the exact mechanism for reporting can
result in differences in test environments that will require test
updates.PendingTasks.run
no longer returns the result of the
async function. If this behavior is desired, it can be re-implemented
manually with the PendingTasks.add
. Be aware, however, that promise rejections
will need to be handled or they can cause the node process to shut down
when using SSR.| Commit | Type | Description |
| -- | -- | -- |
| 36b60a9705 | fix | clean up onUrlChange
listener when root scope is destroyed (#60004) |
| 739cadae62 | fix | Handle errors in async pipe subscriptions (#60057) |
| Commit | Type | Description | | -- | -- | -- | | 51b8ff23ce | feat | support tagged template literals in expressions (#59947) | | 4fe489f1b4 | fix | exponentiation should be right-to-left associative (#60101) | | b70ad3c4e6 | fix | proper handling of typeof, void in RecursiveAstVisitor (#60101) |
| Commit | Type | Description | | -- | -- | -- | | f9043e24ac | fix | ensure template IDs are not reused if a source file changes (#60152) | | ffb19e64f1 | fix | preserve required parens for nullish coalescing (#60060) | | 7c9b4892e9 | fix | preserve required parens in exponentiation expressions (#60101) |
| Commit | Type | Description |
| -- | -- | -- |
| fe57332fc5 | feat | add input binding support to dynamically-created components (#60137) |
| 82aa2c1a52 | feat | add the ability to apply directives to dynamically-created components (#60137) |
| 326d48afb4 | feat | drop support for TypeScript older than 5.8 (#60197) |
| d260ca3091 | feat | emit template function for template related profiler hooks (#60174) |
| 4812215a7b | feat | Expose Injector.destroy
on Injector
created with Injector.create
(#60054) |
| 809b5b4596 | feat | introduce new DI profiling event (#60158) |
| be44cc8f40 | feat | support listening to outputs on dynamically-created components (#60137) |
| 7eb59d3887 | fix | added @angular/compiler as a peer dependency (#55610) |
| af02914852 | fix | cache ComponentRef inputs and outputs (#60156) |
| 7232ce5b17 | fix | Catch and report rejections in async function of PendingTasks.run
(#60044) |
| fd12220a35 | fix | defer block render failures should report to application error handler (#60149) |
| 3459faadbf | fix | do not allow setInput to be used with inputBinding (#60137) |
| ea5eb28865 | fix | input targeting not checking if input exists on host (#60137) |
| 0dbf693a4d | fix | prevent invoking replay listeners on disconnected nodes (#60103) |
| 7ab0a8d1e7 | fix | prevents event replay from being called on comment nodes (#60130) |
| Commit | Type | Description | | -- | -- | -- | | d5e91e04ff | fix | Forward the tags for quick info from the type definition (#59524) |
<!-- CHANGELOG SPLIT MARKER --><a name="19.2.1"></a>
Changelog
19.2.1 (2025-03-05)
| Commit | Type | Description |
| -- | -- | -- |
| c2de5f68b3 | fix | clean up onUrlChange
listener when root scope is destroyed (#60004) |
| Commit | Type | Description | | -- | -- | -- | | 1dd94476b3 | fix | ensure template IDs are not reused if a source file changes (#60152) |
| Commit | Type | Description | | -- | -- | -- | | 1b3b05bf72 | fix | cache ComponentRef inputs and outputs (#60156) | | 330c24aed9 | fix | prevent invoking replay listeners on disconnected nodes (#60103) | | cfad089cc3 | fix | prevents event replay from being called on comment nodes (#60130) |
| Commit | Type | Description | | -- | -- | -- | | 3f0116607d | fix | Forward the tags for quick info from the type definition (#59524) |
<!-- CHANGELOG SPLIT MARKER --><a name="20.0.0-next.0"></a>
Changelog
20.0.0-next.0 (2025-02-26)
Y
formatter (week-numbering year) without also including w
(week number) is now detected as suspicious date pattern, as y
is typically intended.void
in an expression now refers to the operator
Previously an expression in the template like {{void}}
referred to a
property on the component class. After this change it now refers to the
void
operator, which would make the above example invalid. If you have
existing expressions that need to refer to a property named void
,
change the expression to use this.void
instead: {{this.void}}
.
| Commit | Type | Description | | -- | -- | -- | | 74cceba587 | feat | throw error for suspicious date patterns (#59798) |
| Commit | Type | Description | | -- | -- | -- | | f2d5cf7edd | feat | support exponentiation operator in templates (#59894) | | 0361c2d81f | feat | support void operator in templates (#59894) |
| Commit | Type | Description |
| -- | -- | -- |
| 962b59b14e | fix | Ensure ComponentFixture does not duplicate error reporting from FakeAsync (#60104) |
| 491b0a4ead | fix | Remove duplicate reporting of errors in CDR.detectChanges
(#60056) |
| Commit | Type | Description | | -- | -- | -- | | 7c12cb1df9 | feat | Allow resolvers to read resolved data from ancestors (#59860) | | db2f2d99c8 | fix | Scroller should scroll as soon as change detection completes (#60086) |
<!-- CHANGELOG SPLIT MARKER --><a name="19.2.0"></a>
Changelog
19.2.0 (2025-02-26)
| Commit | Type | Description |
| -- | -- | -- |
| 3e39da593a | feat | introduce experimental httpResource
(#59876) |
| Commit | Type | Description | | -- | -- | -- | | 5b20bab96d | feat | Add Skip Hydration diagnostic. (#59576) | | fe8a68329b | feat | support untagged template literals in expressions (#59230) |
| Commit | Type | Description |
| -- | -- | -- |
| 2588985f43 | feat | pass signal node to throwInvalidWriteToSignalErrorFn (#59600) |
| 168516462a | feat | support default value in resource()
(#59655) |
| bc2ad7bfd3 | feat | support streaming resources (#59573) |
| 146ab9a76e | feat | support TypeScript 5.8 (#59830) |
| 6c92d65349 | fix | add hasValue
narrowing to ResourceRef
(#59708) |
| 96e602ebe9 | fix | cancel in-progress request when same value is assigned (#59280) |
| 6789c7ef94 | fix | Defer afterRender until after first CD (#59455) (#59551) |
| c87e581dd9 | fix | Don't run effects in check no changes pass (#59455) (#59551) |
| 127fc0dc84 | fix | fix resource()
's previous.state
(#59708) |
| b592b1b051 | fix | fix race condition in resource() (#59851) |
| a299e02e91 | fix | preserve tracing snapshot until tick finishes (#59796) |
| Commit | Type | Description | | -- | -- | -- | | fa0c3e3210 | feat | support type set in form validators (#45793) |
| Commit | Type | Description | | -- | -- | -- | | 1cd3a7db83 | feat | add migration to convert templates to use self-closing tags (#57342) |
| Commit | Type | Description | | -- | -- | -- | | e6cb411e43 | fix | automatically disable animations on the server (#59762) |
| Commit | Type | Description | | -- | -- | -- | | fc5d187da5 | fix | decouple server from animations module (#59762) |
<!-- CHANGELOG SPLIT MARKER --><a name="19.1.8"></a>
Changelog
19.1.8 (2025-02-26)
| Commit | Type | Description | | -- | -- | -- | | f0990c67e6 | fix | Ensure future-proof correct initialization order (#60025) |
| Commit | Type | Description | | -- | -- | -- | | 1fbaeab37d | fix | make types for HttpClient more readable (#59901) |
| Commit | Type | Description | | -- | -- | -- | | c611c8d212 | fix | capture stack for HMR errors (#60067) |
| Commit | Type | Description | | -- | -- | -- | | 4c9d09c643 | fix | provide correct rename info for elements (#60088) |
<!-- CHANGELOG SPLIT MARKER --><a name="19.1.7"></a>
Changelog
19.1.7 (2025-02-19)
| Commit | Type | Description |
| -- | -- | -- |
| e9f10eb4c9 | fix | clean up urlChanges
subscribers when root scope is destroyed (#59703) |
| Commit | Type | Description | | -- | -- | -- | | 16fc074689 | fix | avoid crash in isolated transform operations (#59869) |
| Commit | Type | Description |
| -- | -- | -- |
| ec1e4c3d94 | fix | Fix typing on FormRecord
. (#59993) |
<a name="19.1.6"></a>