Change8

v22.2.0-next.3

📦 angularView on GitHub →
2 features🐛 18 fixes🔧 9 symbols

Summary

This release includes several bug fixes across various Angular packages, including improvements to hydration error handling, form validation, and HTTP request processing. New features include the ability for templates to access private properties and the addition of `containsTree` to the router's public API.

Migration Steps

  1. Replace all usages of `hasOwnProperty` with `Object.hasOwn`.

✨ New Features

  • Allow template to access private props in the compiler.
  • Add `containsTree` as a public API in the router.

🐛 Bug Fixes

  • Detect object trigger values with Object.hasOwn in animations.
  • Preserve literal key union in KeyValuePipe.transform() in common.
  • Preserve &ngsp; between sibling control flow blocks in compiler.
  • Accept readonly arrays for setClassMetadata decorators in core.
  • Allow readonly arrays in RawScopeInfoFromDecorator in core.
  • Expose debuggableFn for non-computed signal graph nodes in core.
  • Prevent orphaned requestIdleCallback handle from re-entrant scheduling in core.
  • Replace all hasOwnProperty usages with Object.hasOwn in core.
  • Stop running further effects once one destroys the view mid-flush in core.
  • Throw a descriptive error instead of crashing when a hydration node is missing in core.
  • Throw NG0500 instead of a raw TypeError on element hydration mismatch in core.
  • Report forbidden 2way bindings on when `FormField` is applied in forms.
  • Warn in dev mode when ngModel cannot reach parent NgForm across component boundary in forms.
  • Cancel oversized fetch response bodies in http.
  • Recover project for external templates in solution-style workspaces in language-server.
  • Disallow event handler attributes in Meta in platform-browser.
  • Throw a descriptive error when insertBefore reference node is missing in platform-browser.
  • Pass correct component to canDeactivate for named outlets in componentless parent routes in router.

Affected Symbols