Releases: angular/angular
Releases Β· angular/angular
20.0.0-next.8
compiler
| Commit | Description |
|---|---|
support the in keyword in Binary expression (#58432) |
core
| Commit | Description |
|---|---|
| Move zoneless change detection to dev preview (#60748) | |
| do not run change detection on global error events (#60944) | |
inject migration should treat @Attribute as optional (#60916) |
forms
| Commit | Description |
|---|---|
| make NgForm emit FormSubmittedEvent and FormResetEvent (#60887) |
platform-server
| Commit | Description |
|---|---|
| deprecate the testing entry point (#60915) |
router
| Commit | Description |
|---|---|
| add asynchronous redirects (#60863) | |
| relax required types on router commands to readonly array (#60345) |
Breaking Changes
compiler
- 'in' in an expression now refers to the operator
core
provideExperimentalZonelessChangeDetectionis
renamed toprovideZonelessChangeDetectionas it is now "Developer
Preview" rather than "Experimental".
router
- The
RedirectFncan now returnObservableor
Promise. Any code that directly calls functions returning this type
may need to be adjusted to account for this. - Several methods in the public API of the Router which
required writable arrays have now been updated to accept readonly
arrays when no mutations are done.
Deprecations
platform-server
-
@angular/platform-server/testingUse e2e tests to verify SSR behavior instead.
19.2.8
20.0.0-next.7
common
| Commit | Description |
|---|---|
issue a warning instead of an error when NgOptimizedImage exceeds the preload limit (#60879) |
core
| Commit | Description |
|---|---|
| Add provider which reports unhandled errors on window to ErrorHandler (#60704) | |
| expose performance data in Chrome DevTools (#60789) | |
| mark linkedSignal API as public (#60865) | |
| stabilize incremental hydration api (#60888) | |
| stabilize withI18nSupport() api (#60889) | |
| inject migration: replace param with this. (#60713) |
http
| Commit | Description |
|---|---|
Include HTTP status code and headers when HTTP requests errored in httpResource (#60802) |
19.2.7
common
| Commit | Description |
|---|---|
issue a warning instead of an error when NgOptimizedImage exceeds the preload limit (#60883) |
core
| Commit | Description |
|---|---|
| inject migration: replace param with this. (#60713) |
http
| Commit | Description |
|---|---|
Include HTTP status code and headers when HTTP requests errored in httpResource (#60802) |
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
ErrorHandlerare 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: falseinconfigureTestingModuleas a last resort.
router
- The guards arrays on
Routeno longer includeanyin
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/ngSwitchare 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) |