Change8

21.0.0-next.1

Breaking Changes
📦 angularView on GitHub →
2 breaking2 features🐛 5 fixes🔧 6 symbols

Summary

This release introduces the FormArrayDirective and a migration for ngClass, while removing the deprecated ngModuleFactory input. It also includes several critical fixes for animations and memory management.

⚠️ Breaking Changes

  • The ngModuleFactory input of NgComponentOutlet has been removed. Use NgModule instead.
  • The introduction of FormArrayDirective may conflict with existing custom FormArray directives or formArray inputs used on the same element.

Migration Steps

  1. Replace usage of ngModuleFactory with NgModule in NgComponentOutlet configurations.
  2. Run the provided migration script to convert ngClass attributes to class bindings.
  3. Check for naming conflicts on elements using FormArrayDirective or formArray inputs.

✨ New Features

  • Added FormArrayDirective to the forms package.
  • Added a migration tool to automatically convert ngClass usage to standard class bindings.

🐛 Bug Fixes

  • Fixed animations on elements that utilize structural directives.
  • Ensured parentheses are preserved in Nullish + Boolean expressions within the compiler.
  • Ensured @for loop animations are no longer cancelled prematurely.
  • Fixed a memory leak related to tracking leaving nodes.
  • Fixed an issue where animate.leave bindings failed when using strings containing spaces.

🔧 Affected Symbols

NgComponentOutletngModuleFactoryFormArrayDirectivengClass@foranimate.leave