v21.0.7
Breaking Changes📦 angularView on GitHub →
⚠ 1 breaking✨ 1 features🐛 10 fixes🔧 8 symbols
Summary
This release introduces the [formField] directive and several enhancements to custom form controls, alongside critical bug fixes for the compiler AST, SVG security, and RouterLink behavior.
⚠️ Breaking Changes
- The 'ThisReceiver' class no longer inherits from 'ImplicitReceiver' in the compiler AST. Code relying on this inheritance hierarchy for type checking or property access may need to be updated.
Migration Steps
- Check custom compiler plugins or AST transformations for reliance on ThisReceiver inheriting from ImplicitReceiver.
- Update any custom form controls that need to utilize the new dirty, hidden, or pending input requirements.
✨ New Features
- Added [formField] directive to the forms package.
🐛 Bug Fixes
- Improved types for expression AST nodes and accurate spans for typeof/void expressions.
- Provided location information for literal map keys in the compiler.
- Ensured component import diagnostics are reported within the imports expression.
- Supported qualified names in typeof type references in compiler-cli.
- Fixed memory leak by avoiding leaking view data in animations.
- Sanitized sensitive attributes on SVG script elements for better security.
- Allowed custom controls to require dirty, hidden, and pending inputs.
- Supported custom controls with non signal-based models and readonly arrays in signal forms.
- Fixed RouterLink href not updating when using queryParamsHandling.
- Handled errors from view transition updateCallbackDone promise.
🔧 Affected Symbols
ThisReceiverImplicitReceiverformFieldRouterLinktypeofvoidSVGScriptElementupdateCallbackDone