v22.0.0-next.5
Breaking Changes📦 angularView on GitHub →
⚠ 3 breaking✨ 7 features🐛 12 fixes🔧 1 symbols
Summary
This release introduces new features for Signal Forms, sets Component changeDetection to OnPush by default, and removes Hammer.js integration. It also introduces compile-time diagnostics for duplicate selectors.
⚠️ Breaking Changes
- Elements with multiple matching selectors will now throw at compile time.
- Component with undefined `changeDetection` property are now `OnPush` by default. Specify `changeDetection: ChangeDetectionStrategy.Eager` to keep the previous behavior.
- Hammer.js integration has been removed. Use your own implementation.
Migration Steps
- If you relied on components having `changeDetection: ChangeDetectionStrategy.Default`, explicitly set `changeDetection: ChangeDetectionStrategy.Eager` on those components.
- Remove any usage of Hammer.js integration provided by Angular.
✨ New Features
- Support comments in html element in compiler.
- Allow other expression for exhaustive typechecking in core.
- Set default Component changeDetection strategy to OnPush in core.
- Add `reloadValidation` to Signal Forms to manually trigger async validation in forms.
- Add debounce option to validateAsync and validateHttp in forms.
- Add FieldState.getError() in forms.
- Support binding `number|null` to `<input type="text">` in forms.
🐛 Bug Fixes
- Avoid redundant image fetch on destroy with auto sizes in common.
- Abstract emitter producing incorrect code for dynamic imports in compiler.
- Prevent shimCssText from adding extra blank lines per CSS comment in compiler.
- Ensure custom controls resolve transitive host directives in core.
- Fixes a regression with animate.leave and reordering in core.
- Lazy-initialize debounced state to prevent computation cycle in core.
- Resolver function not matching expected type in core.
- Widen type for directive inputs/outputs in core.
- Allow `FormRoot` to be used without submission options (#67727) in forms.
- Change FieldState optional properties to non-optional in forms.
- Clear native date inputs correctly in signal forms when changed via native UI in forms.
- Inject migration not work in multi-project workspace with option path in migrations.