npm @angular/compiler 19.0.0-next.2
v19.0.0-next.2

latest releases: 19.0.0-next.5, 18.2.4, 19.0.0-next.4...
18 days ago

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.

Don't miss a new compiler release

NewReleases is sending notifications on new releases.