Releases: redux-form/redux-form
v7.2.1
Bug Fixes
- Fix asyncValidate when asyncBlur/ChangeFields are provided #3647 #3645
- Fix Immutable FieldArrays #3692 #3489
- Fix field-level validation on previously emptied FieldArray #3697
- Export
clearAsyncError
#3709 #3708 - Ensure errors thrown from submit handler are not silenced #3744 #3303
- Fix submit crashing when asyncBlurFields or asyncChangeFields are given #3733 #3658
- Fix validation after duplicate field unmount #3756 #3688
- Fix fields re-rendering every time due to regression introduced with flow typings #3758
- Better errors thrown from
onSubmitSuccess
#3723 #3636 - Fix async/submit errors getter for nested fields #3755
v7.2.0
v7.1.2
Features
- Previous form values are now passed to
onChange()
#3530
Bug Fixes
- Removed
babel-jest
from dependencies. #3499 #3498 #3546 - Fixed hot-reloading destroying form. #3506 #623 #2826 #3005
- Replaced
includes()
withindexOf()
#3535 #3533 - Passed missing
destroyOnUnmount
flag tounregisterField()
#3559 #3558
Flow Fixes
- Changed
meta
prop type toany
#3502
v7.1.1
I would like to apologize for recklessly upgrading the ImmutableJS dependency to a v4.rc
in the previous release, v7.1.1
. That is a breaking change, and will be made in v8
once ImmutableJS v4.0
is officially released. 😳 Sorry about that.
Bug Fixes
v7.1.0
🎉 TL;DR: React 16 and Jest! 🎉
⚠️ Don't use this version if you're using ImmutableJS. Use v7.1.1
⚠️
Bug Fixes
- Update
Field
andFieldArray
name whensectionPrefix
has changed in thecontext
#3229 - Fixed bug where
FieldArray
was not rerendering afterswap()
#3409 - Fixed statics hoisting bug #3458 #2626 #2230
- Changed
immutable/deepEqual
to use===
likeplain/deepEqual
was #3479 #3357 - React 16 - Prevented
deepEqual
checks onprops.children
inshouldComponentUpdate()
, a huge performance boost #3480 #3461 #3481 - Fixed broken
checkbox
behavior #3482 #2857 #2922 #3162 #3437 - Fixed React Native
onChange
bug #3460 #3153 #3238 - Fixed
deepEqual()
bug to makenull != false
#3462 #2600 - Used
deepEqual()
to compareradio
inputs #3430 - Fixed
plugin()
API bug #3486 #2935
Flow Fixes
Features
- Added
name
parameter to field-level validator #3364 #3350 - Exported
FieldArray
propTypes
#3468 #2447 - Added
valuesMapper
toformValues
HOC #3432 - Separated
shouldValidate()
intoshouldError()
andshouldWarn()
, deprecatingshouldValidate()
#3464 #3449 #3485 - New
getFormError()
selector to get form-wide error #3483 #3463
Maintenance
- Migrated testing framework from
mjackson/expect
tofacebook/jest
. This was HUGE. Thanks, @skovhus!! - Upgraded all tests to React 16, also a huge undertaking.
v7.0.4
v7.0.3
v7.0.2
v7.0.1
Bug Fixes
- Fixed major field-level validation that broke between
v6.8.0
andv7.0.0
. #3204 #3172 - Fixed bug involving the
custom
prop in the importablepropTypes
definition #3199 - Fixed bug where sync errors and warnings were not defaulting to
{}
when in immutable.js mode. #3201 #3196 - Fixed bug in
formValues()
selector. #3203 #3202
Features / Docs
- Exported Flow types for HOC props. #3205 #3175
- Added new doc page to explain importing the aforementioned Flow types.
v7.0.0
v7
is here!
The "breaking change" that warrants this major version bump is extremely minor and will most likely only affect a small minority of you, but I have pledged to be more strict with Semantic Versioning, so it's up to 7
we go.
However, there is one exciting announcement to go along with this release:
🎉 Flow Support 🎉
As of v7
, redux-form
officially supports Flow for static type checking. Flow has been implemented internally in all the library's code (except for tests), and the exported API also has types provided. It even found a few bugs and bad type assumptions along the way.
I guarantee you that I have made some mistakes in doing this, and you should expect some rapid iteration on fixing the flow bugs as they are reported in the coming weeks.
⚠️ (Tiny) Breaking Change ⚠️
undefined
andfalse
are now treated as NOT equal. This will affect yourdirty
/pristine
state, as well as whether or not a field is rerendered when the value goes fromundefined
tofalse
(previously it did not). Most commonly this will manifest itself in a form with no initial values that contains a checkbox: if you check the checkbox totrue
, and then uncheck the checkbox (tofalse
) your form will bedirty
because the checkbox field's original value ofundefined
is not!== false
. If you want such a form to return topristine
after unchecking the checkbox, you will need to provide an initial value offalse
for that field. #3081 #3061 #1762 #1774 #1993 #2600 #2978.
Maintenance
Bug Fixes
- Minor bug fix related to
immutableProps
introduced inv6.8.0
. #3052 #3048 - Fixed bug where a field got unregistered even if there was another copy of the same field on the page. #3064
- Efficiency improvement related to
syncErrors
andsyncWarnings
to avoid needless rerendering. #3072 - Fixed bug with async errors being cleared wrongly on
STOP_ASYNC_VALIDATION
. #3068 #2953 - Fixed bug involving
FieldArray
rerendering. #3089 #3008 - Fixed bug involving "missing" values in arrays. #3105 #3095
- Fixed bug where fields were not rerendering when their
error
orwarn
props changed. #3094 #3012