yup
1.7.1 · 21 Sep 2025MIT16.7M / weekRepositorynpmAtom feed
0.32.11 is the newest release of 0.28.x.
In short
3 breaking10 new9 fixed1 internal
- breaking
Use Number.isInteger. This works correctly for large numbers.
- breaking
reach() no longer resolves the returned schema meaning it's conditions have not been processed yet; prefer validateAt/castAt where it makes sense
- breaking
Required no longer shows up twice in describe() output for array and strings, which also no longer override required
Release note
Bug Fixes
Make concat compatible with (not)oneOf
Array path resolve for descendants
Change @babel/runtime version to be a range (#488) (1c9b362), closes #486
Concat of mixed and subtype
Default message for test with object
noUnknown() overriding
String.matches() and regex global flag
Synchronous conditional object validation with unknown dependencies
Unix epoc bug in date parser
Features
Add _isFilled as overrideable
mixedmethod to control required behaviorAdd function test names to email and url
Aliases
optional()andunknown()Allow toggling strict()
Allow withMutation() nesting
Do concat in mutation mode
Finalize resolve()
Replace integer check with Number.isInteger
Support self references (#443) (1cac515), closes /github.com/jquense/yup/blob/d02ff5e59e004b4c5189d1b9fc0055cff45c61df/src/Reference.js#L3
Use the alternate object index path syntax if the key contains dots (fixes #536)
Breaking changes
- breaking
Use Number.isInteger. This works correctly for large numbers.
Related to #147
- breaking
reach() no longer resolves the returned schema meaning it's conditions have not been processed yet; prefer validateAt/castAt where it makes sense
- breaking
Required no longer shows up twice in describe() output for array and strings, which also no longer override required