Releases: angular/angular
20.0.0-next.6
compiler
Commit | Description |
---|---|
add extended diagnostic for uninvoked track function on @for blocks (#60495) |
compiler-cli
Commit | Description |
---|---|
ensure HMR works with different output module type (#60797) |
core
Commit | Description |
---|---|
mark toObservable as stable (#60449) |
|
stabilize linkedSignal API (#60741) | |
Stabilize PendingTasks Injectable (#60716) | |
fix docs for output migration (#60764) | |
fix ng generate @angular/core:output-migration. Fixes #58650 (#60763) | |
Flush animations when no component has been checked (#58089) | |
reduce total memory usage of various migration schematics (#60774) | |
run ApplicationRef.prototype.bootstrap in NgZone (#60720) |
http
Commit | Description |
---|---|
Delay stabilization until next app synchronization (#60656) |
language-service
Commit | Description |
---|---|
Do not provide element completions in end tag (#60616) | |
Ensure dollar signs are escaped in completions (#60597) |
Breaking Changes
core
- Animations are guaranteed to be flushed when Angular
runs automatic change detection or manual calls toApplicationRef.tick
.
Prior to this change, animations would not be flushed in some situations
if change detection did not run on any views attached to the
application. This change can affect tests which may rely on the old
behavior, often by making assertions on DOM elements that should have
been removed but weren't because DOM removal is delayed until animations
are flushed.
19.2.6
compiler
Commit | Description |
---|---|
error if rawText isn't estimated correctly (#60529) (#60753) |
compiler-cli
Commit | Description |
---|---|
ensure HMR works with different output module type (#60797) |
core
Commit | Description |
---|---|
fix docs for output migration (#60764) | |
fix ng generate @angular/core:output-migration. Fixes #58650 (#60763) | |
reduce total memory usage of various migration schematics (#60776) |
language-service
Commit | Description |
---|---|
Do not provide element completions in end tag (#60616) | |
Ensure dollar signs are escaped in completions (#60597) |
20.0.0-next.5
Commit | Description |
---|---|
step 6 tutorial docs (#60630) |
animations
Commit | Description |
---|---|
add missing peer dependency on @angular/common (#60660) |
compiler
Commit | Description |
---|---|
error if rawText isn't estimated correctly (#60529) | |
throw for invalid "as" expression in if block (#60580) |
compiler-cli
Commit | Description |
---|---|
correctly parse event name in HostListener (#60561) | |
Produce fatal diagnostic on duplicate decorated properties (#60376) | |
set correct target when type checking events (#60561) | |
support relative imports to symbols outside rootDir (#60555) |
core
Commit | Description |
---|---|
export signalGetFn from signal primitives (#60497) | |
move DOCUMENT token into core (#60663) | |
update Node.js version support (#60545) | |
call DestroyRef on destroy callback if view is destroyed (#58008) |
|
check ngDevMode for undefined (#60565) | |
Ensure errors in listeners report to the application error handler (#60251) | |
fix ng generate @angular/core:output-migration (#60626) | |
fix regexp for event types (#60592) | |
fixes #592882 ng generate @angular/core:signal-queries-migration (#60688) | |
preserve comments in internal inject migration (#60588) | |
prevent omission of deferred pipes in full compilation (#60571) | |
release hasPendingTasks observers (#59723) |
|
remove forceRoot flag for effects (#60535) |
|
run root effects in creation order (#60534) | |
Deprecate the structural directives ngIf /ngFor /ngSwitch . (#60492) |
forms
Commit | Description |
---|---|
add markAllAsDirty to AbstractControl (#58663) | |
Allow to reset a form without emitting events (#60354) |
language-service
Commit | Description |
---|---|
Update adapter to log instead of throw errors (#60651) |
migrations
Commit | Description |
---|---|
handle shorthand assignments in super call (#60602) | |
inject migration not handling super parameter referenced via this (#60602) |
router
Commit | Description |
---|---|
Add ability to directly abort a navigation (#60380) | |
support custom elements for RouterLink (#60290) | |
Add missing types to transition (#60307) | |
Remove 'any' type from route guards (#60378) |
service-worker
Commit | Description |
---|---|
assign initializing client's app version, when a request is for worker script (#58131) |
Breaking Changes
core
-
- Angular no longer supports Node.js v18.
- Node.js versions 22.0 to 22.10 are also no longer supported.
Before upgrading to Angular v20, ensure the Node.js version is at least 20.11.1.
For the full list of supported versions, visit: https://angular.dev/reference/versions -
Uncaught errors in listeners which were previously only reported to
ErrorHandler
are now also reported to Angular's internal error
handling machinery. For tests, this means that the error will be
rethrown by default rather than only logging the error. Developers
should fix these errors, catch them in the test if the test is
intentionally covering an error case, or userethrowApplicationErrors: false
inconfigureTestingModule
as a last resort.
router
- The guards arrays on
Route
no longer includeany
in
the type union. The union includes functions for the functional guards
as well as a type matchingInjector.get
:ProviderToken<T>|string
.
Note that string is still deprecated on both the route guards and
Injector.get
.
Deprecations
core
ngIf
/ngFor
/ngSwitch
are deprecated. Use the control flow blocks instead (@for
/@if
/@switch
).
19.2.5
Commit | Description |
---|---|
step 6 tutorial docs (#60630) |
animations
Commit | Description |
---|---|
add missing peer dependency on @angular/common (#60660) |
compiler
Commit | Description |
---|---|
throw for invalid "as" expression in if block (#60580) |
compiler-cli
Commit | Description |
---|---|
Produce fatal diagnostic on duplicate decorated properties (#60376) | |
support relative imports to symbols outside rootDir (#60555) |
core
Commit | Description |
---|---|
check ngDevMode for undefined (#60565) | |
fix ng generate @angular/core:output-migration (#60626) | |
fix regexp for event types (#60592) | |
fixes #592882 ng generate @angular/core:signal-queries-migration (#60688) | |
preserve comments in internal inject migration (#60588) | |
prevent omission of deferred pipes in full compilation (#60571) |
language-service
Commit | Description |
---|---|
Update adapter to log instead of throw errors (#60651) |
migrations
Commit | Description |
---|---|
handle shorthand assignments in super call (#60602) | |
inject migration not handling super parameter referenced via this (#60602) |
router
Commit | Description |
---|---|
Add missing types to transition (#60307) |
service-worker
Commit | Description |
---|---|
assign initializing client's app version, when a request is for worker script (#58131) |
20.0.0-next.4
common
Commit | Description |
---|---|
resolve host binding type issues (#60481) |
core
Commit | Description |
---|---|
fix used templates are not deleted (#60459) | |
fixes timing of hydration cleanup on control flow (#60425) |
forms
Commit | Description |
---|---|
resolve host binding type issues (#60481) |
localize
Commit | Description |
---|---|
handle @angular/build:karma in ng add (#60513) |
platform-browser
Commit | Description |
---|---|
ensure platformBrowserTesting includes platformBrowser providers (#60480) |
19.2.4
20.0.0-next.3
compiler-cli
Commit | Description |
---|---|
add extended diagnostic for invalid nullish coalescing (#60279) | |
support type checking of host bindings (#60267) | |
report more accurate diagnostic for invalid import (#60455) | |
wrong event name for host listener decorators (#60460) |
core
Commit | Description |
---|---|
add hook for producer creation side effects (#60333) | |
add support for two-way bindings on dynamically-created components (#60342) | |
mark the toSignal API as stable (#60442) | |
remove TestBed.get (#60414) | |
catch hydration marker with implicit body tag (#60429) | |
execute timer trigger outside zone (#60392) | |
include input name in error message (#60404) | |
remove rejectErrors option encourages uncaught exceptions (#60397) |
|
remove unused parameter from listener instruction (#60406) |
platform-browser-dynamic
Commit | Description |
---|---|
ensure compiler is loaded before @angular/common (#60458) |
upgrade
Commit | Description |
---|---|
handle output emitters when downgrading a component (#60369) |
Breaking Changes
core
-
TestBed.get
has been removed. UseTestBed.inject
instead.
19.2.3
compiler-cli
Commit | Description |
---|---|
report more accurate diagnostic for invalid import (#60455) |
core
Commit | Description |
---|---|
catch hydration marker with implicit body tag (#60429) | |
execute timer trigger outside zone (#60392) | |
include input name in error message (#60404) |
platform-browser-dynamic
Commit | Description |
---|---|
ensure compiler is loaded before @angular/common (#60458) |
upgrade
Commit | Description |
---|---|
handle output emitters when downgrading a component (#60369) |
v20.0.0-next.2
20.0.0-next.2 (2025-03-12)
common
Commit | Description |
---|---|
support equality function in httpResource (#60026) |
compiler
Commit | Description |
---|---|
incorrect spans for template literals (#60323) |
compiler-cli
Commit | Description |
---|---|
avoid fatal diagnostics for missing template files (#58673) | |
handle transformed classes when generating HMR code (#60298) |
core
Commit | Description |
---|---|
remove InjectFlags from public API (#60318) | |
add migration away from InjectFlags (#60318) | |
check whether application is destroyed before initializing event replay (#59789) | |
ensures immediate trigger fires properly with lazy loaded routes (#60203) | |
fix removal of a container reference used in the component file (#60210) | |
fix typing on injector.get to omit 'any' (#60202) | |
Surface errors from ApplicationRef.tick to callsite (#60102) |
forms
Commit | Description |
---|---|
Make sure statusChanges is emitted (#57098) |
platform-browser
Commit | Description |
---|---|
Deprecate the HammerJS integration (#60257) |
platform-server
Commit | Description |
---|---|
add missing peer dependency for rxjs (#60308) |
router
Commit | Description |
---|---|
Prevent dangling promise rejections from internal navigations (#60162) | |
update symbols (#60233) |
Breaking Changes
core
-
InjectFlags
has been removed.inject
no longer acceptsInjectFlags
.Injector.get
no longer acceptsInjectFlags
.EnvironmentInjector.get
no longer acceptsInjectFlags
.TestBed.get
no longer acceptsInjectFlags
.TestBed.inject
no longer acceptsInjectFlags
.
- The
any
overload has been removed from
injector.get
. It now only supportsProviderToken<T>
and (deprecated
since v4)string
. ApplicationRef.tick
will no longer catch and report
errors to the appplicationErrorHandler
. 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.
Deprecations
platform-browser
- HammerJS support is deprecated and will be removed in a future major version.
v19.2.2
19.2.2 (2025-03-12)
common
Commit | Description |
---|---|
support equality function in httpResource (#60026) |
compiler
Commit | Description |
---|---|
incorrect spans for template literals (#60323) (#60331) |
compiler-cli
Commit | Description |
---|---|
handle transformed classes when generating HMR code (#60298) |
core
Commit | Description |
---|---|
check whether application is destroyed before initializing event replay (#59789) | |
ensures immediate trigger fires properly with lazy loaded routes (#60203) | |
fix removal of a container reference used in the component file (#60210) |
platform-server
Commit | Description |
---|---|
add missing peer dependency for rxjs (#60308) |
router
Commit | Description |
---|---|
update symbols (#60233) |