What this package is like to depend on
Last release 5 years ago
no release in 18 months
Ships unpredictably
gaps range from 2 weeks to 1.2 years
Nearly every release is documented
notes for 11 of 11 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
31 releases · first in 2017
0 releases in the last 12 months
see the full history below
Release timeline
31 releases · Aug 2017 to Oct 2021Releases
latest 31-
4.0.107 Oct 2021 -
4.0.017 Sep 2021 -
3.0.008 Oct 2020 -
2.1.425 Jul 2019 -
2.1.307 May 2019 -
2.1.205 Apr 2019 -
2.1.110 Dec 2018 -
2.1.010 Oct 2018Release notes
Open source →New Features
PatternValidatornow has apatterninput. This allows thepatternproperty to be set dynamically. Previously, this could only be specified statically at compile time.
-
2.0.007 Aug 2018Release notes
Open source →New Features
-
Add AbstractControlGroup and AbstractNgForm to allow infrastructure to create their own form systems that can be backed by types such as a proto, or have different control group logic. Allow NgFormModel and NgControlGroup to work with abstract group.
-
resetmethod added toAbstractControlandAbstractControlDirective. -
RequiredValidatornow has arequiredinput. This allows therequiredproperty to be toggled at runtime. Previously, this could only be set statically at compile time. -
Control.invalidgetter added. -
Control.markAsPristineadded. This will clear thedirtyproperty. -
Add
ngDisabledinput to all Control directives. -
Add
MemorizedFormdirective. This is a form that will not remove controls if the control is taken out of the view, for example with a [NgIf]. -
Add
disabledstate toAbstractControlmodels. Note: This is not yet supported in the template-driven directives. -
Add
markAsUntouchedmethod toAbstractControl. -
Add a type annotation,
T, toAbstractControl, which is tied to the type ofvalue. -
ControlGroupnowextends AbstractControl<Map<String, dynamic>>. -
ControlArraynowextends AbstractControl<List>.
Breaking Changes
-
Use value from AbstractControl for valueChanges event instead of internal variable. Allows code to more easily subclass AbstractControl.
-
Remove deprecated
NG_VALUE_ACCESSORtoken. UsengValueAccessorinstead. -
Abstract
updateValuemethod added toAbstractControl. All subclasses ofAbstractControlwill need to implement this method. -
NgControlNamewill no longer initialize withnullif a value is specified by 'ngModel'. -
The
touchedproperty ofControls is now propagated to parents / children. -
NgControlGroupcan no longer be injected directly. It can still be injected as aControlContainer. -
NgControlNameandNgFormControlcan no longer be injected directly. They can still be injected as aNgControl. -
The following directives are no longer injectable:
CheckboxControlValueAccessorDefaultValueAccnessorMaxLengthValidatorMinLengthValidatorNgControlStatusNgSelectOptionNumberValueAccessorPatternValidatorRadioControlValueAccessorRequiredValidator
-
Add
ControlValueAccessor.onDisabledChanged()method. All implementations ofControlValueAccessorneed to add this method. -
Remove
includeandexcludemethods fromControlGroup. These can be replaced with calls tomarkAsEnabledandmarkAsDisabledinstead.Before:
controlGroup.include('foo');After:
controlGroup.controls['foo'].markAsEnabled(); -
CheckboxControlValueAccessornow implementsControlValueAccessor<bool>andRadioControlValueAccessornow implementsControlValueAccessor<RadioButtonState>. Previously, they were bothControlValueAccessor<dynamic>. -
Remove
optionalsparam fromControlGroupconstructor. This has been replaced bydisabledstate for allControls. See https://github.com/angulardart/angular/issues/1037 for more details. -
AbstractControl.findnow only accepts a String. To supply a list, useAbstractControl.findPathinstead. Also, forfindorfindPath,ControlArrayindex is now callingint.parseinstead of expecting a raw number. -
Properly typed the generic parameter on subclasses of
AbstractControlDirective. Now,NgControl.controlwill return aControl, andControlContainer.controlwill return aControlGroup. There may be some unnecessary casts that can now be cleaned up. -
FormBuilderinstance methodsgroup,control, andarrayhave been removed. ForFormBuilder.control, just callnew Control(value, validator)directly. ForFormBuilder.groupandFormBuilder.array, use the static methodsFormBuilder.controlGroupandFormBuilder.controlArray, respectively.FormBuilderis no longerInjectable. -
Changed type of
AbstractControl.statusChangesfromStream<dynamic>toStream<String>. This now matches the type forAbstractControl.status, which as always been aString. -
Allow expressions for maxlength/minlength validators. Breaking change does not support string values for maxlength/minlength anymore.
minlength="12"now should be written[minlength]="12"
Bug fixes
-
Add a not selector to ngForm for memorizedForm since memorized_form is now in angular_forms. This fixes the DIRECTIVE_EXPORTED_BY_AMBIGIOUS error when using: <form #form="ngForm" memorizedForm>
-
Don't throw a null pointer exception in NgFormModel if a directives asks for a Control value before the form is initialized.
-
-
2.0.0-beta29 Jun 2018 pre-releaseNothing published for this version
-
2.0.0-beta+116 Jul 2018 pre-releaseNothing published for this version
-
2.0.0-beta+219 Jul 2018 pre-releaseNothing published for this version
-
2.0.0-beta+302 Aug 2018 pre-releaseNothing published for this version
-
2.0.0-alpha16 Mar 2018 pre-releaseNothing published for this version
-
2.0.0-alpha+129 Mar 2018 pre-releaseNothing published for this version
-
2.0.0-alpha+210 Apr 2018 pre-releaseNothing published for this version
-
2.0.0-alpha+323 Apr 2018 pre-releaseNothing published for this version
-
2.0.0-alpha+417 May 2018 pre-releaseNothing published for this version
-
2.0.0-alpha+524 May 2018 pre-releaseNothing published for this version
-
2.0.0-alpha+605 Jun 2018 pre-releaseNothing published for this version
-
2.0.0-alpha+715 Jun 2018 pre-releaseNothing published for this version
-
1.0.1-alpha10 Oct 2017 pre-releaseNothing published for this version
-
1.0.1-alpha+121 Nov 2017 pre-releaseNothing published for this version
-
1.0.1-alpha+219 Dec 2017 pre-releaseNothing published for this version
-
1.0.1-alpha+308 Jan 2018 pre-releaseNothing published for this version
-
1.0.1-alpha+418 Jan 2018 pre-releaseNothing published for this version
-
1.0.1-alpha+506 Feb 2018 pre-releaseNothing published for this version
-
1.0.1-alpha+627 Feb 2018 pre-releaseNothing published for this version
-
1.0.1-alpha+707 Mar 2018 pre-releaseNothing published for this version
-
1.0.030 Aug 2017 -
0.1.015 Aug 2017