NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #4454 most downloaded on npm
Build forms in React, without the tears
Last release 10 months ago
10 Nov 2025
Ships unpredictably
gaps range from 9 days to 2.0 years
Some releases are documented
notes for 24 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
9 years old
214 releases · first in 2017
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
### Patch Changes - #4051 `8f9d04d` Thanks @Moumouls! - fix: jsx ref for react 19
### Patch Changes - #4042 `1de45de` Thanks @copilot-swe-agent! - Replace JSX.IntrinsicElements with React.JSX.IntrinsicElements for React 19 compatibi
1de45de Thanks @copilot-swe-agent! - Replace JSX.IntrinsicElements with React.JSX.IntrinsicElements for React 19 compatibility. The global JSX namespace was removed in React 19, so we now use React.JSX.IntrinsicElements instead.`f57ca9b` #3949 Thanks @DeveloperRaj! - Changing the state inside formik was changing reference of initialValues provided via props, deep cloning the
f57ca9b #3949 Thanks @DeveloperRaj! - Changing the state inside formik was changing reference of initialValues provided via props, deep cloning the initialvalues will fix it.`d7db9cd` #3860 Thanks @patik! - Add missing dependency @types/hoist-non-react-statics, closes #3837
`da58b29` #3858 Thanks @alaanescobedo! - Remove use of deprecated StatelessComponent type in favor of FunctionComponent
41720c2 #3862 Thanks @yazaldefilimonepinto! - Forward className for custom components used with Field
da58b29 #3858 Thanks @alaanescobedo! - Remove use of deprecated StatelessComponent type in favor of FunctionComponent
5c01ee7 #3872 Thanks @rajpatelbot! - FIX: Fixed resetForm function dependency issue
`9e0a661` #3843 Thanks @bonimba! - Fix FormikHelper and FieldHelperProps types
`96280d3` #3817 Thanks @quantizor! - Updated internal types to support React 18.
96280d3 #3817 Thanks @quantizor! - Updated internal types to support React 18.`2b194c2` #3808 Thanks @NagaiKoki! - fix type of setFieldValue function
2b194c2 #3808 Thanks @NagaiKoki! - fix type of setFieldValue function708bcb2 #3813 Thanks @quantizor! - Revert FieldArray "shouldComponentUpdate" performance optimization. As it turns out, it's a common use case to have JSX controlled via non-Formik state/props inside of FieldArray, so it's not safe to cancel re-renders here.187e47d #3815 Thanks @quantizor! - Revert Yup transform support for the time being, this may be re-introduced in a future release under an opt-in prop.`2f53b70` #3796 Thanks @quantizor! - Add support for Yup "transforms".
2f53b70 #3796 Thanks @quantizor! - Add support for Yup "transforms".`f075a0c` #3798 Thanks @quantizor! - Fixed the use of generics for the ArrayHelpers type such that any[] is the default array type and for each indivi
f075a0c #3798 Thanks @quantizor! - Fixed the use of generics for the ArrayHelpers type such that any[] is the default array type and for each individual method the array item type can be overridden if necessary.`f086b5a` #3237 Thanks @pieplu! - Changed getIn to return undefined when it can't find a value AND a parent of that value is "falsy" ( "" / 0 / null /
f086b5a #3237 Thanks @pieplu! - Changed getIn to return undefined when it can't find a value AND a parent of that value is "falsy" ( "" / 0 / null / false )6d8f018 #3792 Thanks @quantizor! - Update the type for setFieldValue to reflect the returned Promise and potential returned error(s).`73de78d` #3788 Thanks @quantizor! - Added typescript generics to ArrayHelpers interface and its methods so that users who use TypeScript can set the
73de78d #3788 Thanks @quantizor! - Added typescript generics to ArrayHelpers interface and its methods so that users who use TypeScript can set the type for their arrays and have type safety on array utils. I have also gone ahead and made supplying a type for the generic optional for the sake of backwards compatibility so any existing TS code that does not give a type for the FieldArray will continue to work as they always have.39a7bf7 #3786 Thanks @quantizor! - Yup by default only allows for cross-field validation within the
same field object. This is not that useful in most scenarios because
a sufficiently-complex form will have several yup.object() in the
schema.
const deepNestedSchema = Yup.object({
object: Yup.object({
nestedField: Yup.number().required(),
}),
object2: Yup.object({
// this doesn't work because `object.nestedField` is outside of `object2`
nestedFieldWithRef: Yup.number()
.min(0)
.max(Yup.ref('object.nestedField')),
}),
});
However, Yup offers something called context which can operate across
the entire schema when using a $ prefix:
const deepNestedSchema = Yup.object({
object: Yup.object({
nestedField: Yup.number().required(),
}),
object2: Yup.object({
// this works because of the "context" feature, enabled by $ prefix
nestedFieldWithRef: Yup.number()
.min(0)
.max(Yup.ref('$object.nestedField')),
}),
});
With this change, you may now validate against any field in the entire schema, regardless of position when using the $ prefix.
`22e236e` #3784 Thanks @quantizor! - Improve performance of the FieldArray component by adding a shouldComponentUpdate check; this should help avoid u
22e236e #3784 Thanks @quantizor! - Improve performance of the FieldArray component by adding a shouldComponentUpdate check; this should help avoid unnecessary re-renders which may affect the performance of a form.bc9cb28 #3785 Thanks @quantizor! - Fixed field error state for array fields that have an error and become empty through an API like arrayHelpers.remove.
The prior behavior resolved the field error to [undefined], now it is simply undefined.
9cbf150 #3787 Thanks @quantizor! - Fix infinite loop issue in Field when field helpers (setTouched, etc) are used as an argument in React.useEffect.9c75a9f #3780 Thanks @quantizor! - Fixed an issue with array field errors being incorrectly split into an array of individual characters instead of an array of error strings.35fa4cc #3783 Thanks @quantizor! - Fix validation of deep.dot.path field references when using the validateField API.`ca60ef9` #3227 Thanks @johnrom! - Bump lodash and lodash-es to latest versions.
`3a9c707` #3203 Thanks @hixus! - Fixes type of setError value as it is same as setFieldError message
`e50040a` #2881 Thanks @jinmayamashita! - Prevent calling getSelectedValues when the element has not options
`d4314a1` #2955 Thanks @jkbktl! - fix(docs): fix link to docs in console warning
`ebad985` #2891 Thanks @jaredpalmer! - Remove low-priority validation implementation
ebad985 #2891 Thanks @jaredpalmer! - Remove low-priority validation implementation0dfa23b #2889 Thanks @jaredpalmer! - Fixed botched typescript builds including scheduler types`199e77a` #2882 Thanks @umidbekkarimov! - Validate setFieldTouched with high priority
199e77a #2882 Thanks @umidbekkarimov! - Validate setFieldTouched with high priority`e0a28e6` #2867 Thanks @umidbekkarimov! - Fix low priority validation for browser password autofill.
`00f95ec` #2854 Thanks @umidbekkarimov! - Fix low priority validation race condition.
00f95ec #2854 Thanks @umidbekkarimov! - Fix low priority validation race condition.`e04886d` #2820 Thanks @wellyshen! - Fixed bug with scheduler and validateFormWithLowPriority method not be scheduled correctly
e04886d #2820 Thanks @wellyshen! - Fixed bug with scheduler and validateFormWithLowPriority method not be scheduled correctly`4148181` #2794 Thanks @jaredpalmer! - setValue can now optionally accept a function as a callback, exposing React.SetStateAction functionality. Previ
4148181 #2794 Thanks @jaredpalmer! - setValue can now optionally accept a function as a callback, exposing React.SetStateAction functionality. Previously, only the entire object was
allowed which caused issues with stale props.
setValues(prevValues => ({...prevValues, ... }))
`bda9f41` #2785 Thanks @jaredpalmer! - Replace all instances of the deprecated React.SFC type with React.FC
bda9f41 #2785 Thanks @jaredpalmer! - Replace all instances of the deprecated React.SFC type with React.FCNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →