Angular: 19.0.0-next.2 Release

Release date:
August 28, 2024
Previous version:
19.0.0-next.1 (released August 22, 2024)
Magnitude:
1,628 Diff Delta
Contributors:
15 total committers
Data confidence:
Commits:

Top Contributors in 19.0.0-next.2

devversion
9kubczas4
bjarkler
santoshyadavdev
AndrewKushnir
mvdluit
clydin
JeanMeche
iteriani
chintankavathia

Directory Browser for 19.0.0-next.2

We haven't yet finished calculating and confirming the files and directories changed in this release. Please check back soon.

Release Notes Published

<a name="19.0.0-next.2"></a>

19.0.0-next.2 (2024-08-28)

common

| Commit | Description | | -- | -- | | feat - 50f08e6c4bf | automatically use sizes auto in NgOptimizedImage (#57479) |

compiler-cli

| Commit | Description | | -- | -- | | perf - 4716c3b9660 | reduce duplicate component style resolution (#57502) |

core

| Commit | Description | | -- | -- | | fix - a3cdbfe87f5 | avoid leaking memory if component throws during creation (#57546) | | fix - 7a99815146e | Do not bubble capture events. (#57476) | | fix - 7b1e5be20b9 | fallback to default ng-content with empty projectable nodes. (#57480) | | fix - 0300dd2e18f | Fix fixture.detectChanges with autoDetect disabled and zoneless (#57416) | | fix - 226a67dabba | Schedulers run in zone above Angular rather than root (#57553) |

elements

| Commit | Description | | -- | -- | | fix - 0cebfd7462c | switch to ComponentRef.setInput & remove custom scheduler (#56728) |

http

| Commit | Description | | -- | -- | | fix - 21445a29322 | Dynamicaly call the global fetch implementation (#57531) |

router

| Commit | Description | | -- | -- | | fix - 8f6308457f0 | Do not unnecessarily run matcher twice on route matching (#57530) |

upgrade

| Commit | Description | | -- | -- | | fix - c9d90786d0a | Address Trusted Types violations in @angular/upgrade (#57454) |

Breaking Changes

core

  • Render default fallback with empty projectableNodes.

When passing an empty array to projectableNodes in the createComponent API, the default fallback content of the ng-content will be rendered if present. To prevent rendering the default content, pass document.createTextNode('') as a projectableNode.

For example:

  // The first ng-content will render the default fallback content if present
  createComponent(MyComponent. { projectableNodes: [[], [secondNode]] });

  // To prevent projecting the default fallback content:
  createComponent(MyComponent. { projectableNodes: [[document.createTextNode('')], [secondNode]] });

  • The timers that are used for zone coalescing and hybrid mode scheduling (which schedules an application state synchronization when changes happen outside the Angular zone) will now run in the zone above Angular rather than the root zone. This will mostly affect tests which use fakeAsync: these timers will now be visible to fakeAsync and can be affected by tick or flush. ### elements
  • as part of switching away from custom CD behavior to the hybrid scheduler, timing of change detection around custom elements has changed subtly. These changes make elements more efficient, but can cause tests which encoded assumptions about how or when elements would be checked to require updating.