valibot
1.5.0 · 9 Sep 2026MIT32M / weekRepositoryHomepagenpmAtom feed
1.5.0 is the newest release of 1.x.
In short
14 new5 fixed15 changed
Security
2 advisories affect 1.0.0; 1.4.2 fixes them
- HighValibot has a ReDoS vulnerability in `EMOJI_REGEX`GHSA-vqpr-j7v3-hqw9 · 26 Nov 2025Fixed in 1.2.0
- ModerateValibot: record() issue paths can make flatten() throw for inherited Object property namesGHSA-5qjj-4xww-7phc · 24 Jul 2026Fixed in 1.4.2
Release note
This is a summary of the changes between v0 and v1. Many thanks to everyone who contributed to this release.
Add
assertmethod to assert values (issue #862)Add
checkItemsAsyncaction (pull request #856)Add
graphemes,maxGraphemes,minGraphemesandnotGraphemesaction (pull request #853)Add
words,maxWords,minWordsandnotWordsactionAdd
argsandreturnsaction to transform functions (issue #243)Add
rfcEmailaction to validate RFC 5322 email addresses (pull request #912)Add
gtValueandltValueaction for greater than and less than validation (pull request #978, #985)Add
valuesandnotValuesaction for easier multi-value validation (pull request #919)Add
slugaction to validate URL slugs (pull request #910)Add support for
ReadonlyMapandReadonlySettoreadonlyaction (issue #1059)Add
entriesFromObjectsutil to improve tree shaking (pull request #1023)Add new overload signature to
pipeandpipeAyncmethod to support unlimited pipe items of same input and output type (issue #852)Add
@__NO_SIDE_EFFECTS__notation to improve tree shaking (pull request #995)Add
exactOptionalandexactOptionalAsyncschema (PR #1013)Change types and implementation to support Standard Schema
Change behaviour of
minValueandmaxValueforNaN(pull request #843)Change type and behaviour of
nullable,nullableAsync,nullish,nullishAsync,optional,optionalAsync,undefinedableandundefinedableAsyncfor undefined default value (issue #878)Change type signature of
partialCheckandpartialCheckAsyncaction to add.pathListproperty in a type-safe wayChange type signature of
findItemaction to support type predicates (issue #867)Change validation of missing object entries in
looseObject,looseObjectAsync,object,objectAsync,objectWithRest,objectWithRestAsync,strictObjectandstrictObject(PR #1013)Change type signature of
optionalandoptionalAsyncwhen used within an object schema (PR #1013)Change
MarkOptionaltype to fix order of entries and TS error when using generic schemas (issue #1021)Change
VariantOptionandVariantOptionAsynctype to fix TS error when using generic schemas (issue #842)Change implementation of
variantandvariantAsyncto support optional discriminators usingexactOptional,exactOptionalAsync,optional,optionalAsync,nullishornullishAsyncChange
_addIssueto not ignore empty strings as error message (pull request #1065)Change
ISO_DATE_TIME_REGEXandISO_TIMESTAMP_REGEXto support space as separator (pull request #1064)Change pipe tuple of
pipeandpipeAsyncto be readonly by defaultChange
forward,forwardCheck,partialCheckandpartialCheckAsyncto improve TypeScript performance (issue #987)Change
DECIMAL_REGEXto support floats that start with a dot (pull request #1086)Change exports to export only public types to reduce noise
Refactor
bytes,maxBytes,minBytesandnotBytesactionFix implementation of
nonOptional,nonOptionalAsync,nonNullable,nonNullableAsync,nonNullishandnonNullishAsyncschema in edge cases (issue #909)Fix instantiation error for
anyinPathKeystype (issue #929)Fix TypeScript error of
keyofmethod for objects with many keys (pull request #988)Fix options filtering in
enum_schema (pull request #941)Fix
partialCheckandpartialCheckAsyncaction for typed data with issues