NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
npm · #2666 most downloaded on npm
The modular and type safe schema library for validating structural data
Last release 25 days ago
09 Sep 2026
Release timing varies
gaps range from 8 days to 7 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
98 releases · first in 2023
One column per quarter.
Many thanks to @tats-u , @idleberg , @yslpn , @francisjohnjohnston-web , @MaxFreedomPollard , @mahirhir , @ItzXynx , @LeSingh1 , @maxtaran2010 , @yskn
Many thanks to @tats-u, @idleberg, @yslpn, @francisjohnjohnston-web, @MaxFreedomPollard, @mahirhir, @ItzXynx, @LeSingh1, @maxtaran2010, @ysknsid25, @cyyynthia, @spokodev and @sanjibani for contributing to this release.
codePoints, maxCodePoints, minCodePoints and notCodePoints validation actions to validate the number of Unicode code points (pull request #888)ksuid validation action to validate KSUIDs (pull request #1370)_getStandardProps utility with _standardSchema (pull request #1534)url action to use URL.canParse when available to avoid constructing URL objects (pull request #1608)stringifyJson action to preserve the dataset value when JSON.stringify returns undefined (pull request #1476)literal schema and value, values, notValue and notValues actions to treat NaN as equal to itself (pull request #1573)intersect schema to merge matching NaN values and invalid dates (pull request #1573)cache and cacheAsync methods to clone the issues of a cached dataset, preventing parent schemas from adding their path item to the same issue on every cache hit (pull request #1620)strictObject, looseObject, objectWithRest and their async variants to correctly handle unknown input keys that collide with Object.prototype members (pull request #1523)intersect and intersectAsync schemas to ignore inherited properties when merging objects and preserve own properties without invoking inherited setters or changing the output prototype (pull request #1621)ulid action to reject ULIDs that exceed the maximum 128-bit value (pull request #1498)email action to reject non-ASCII characters accepted by Unicode case folding (pull request #1075)Many thanks to @Faze-up and @chatman-media for contributing to this release.
Many thanks to @Faze-up and @chatman-media for contributing to this release.
Intl.Segmenter for non-primitive locales, preventing it from being recreated on every words, minWords, maxWords and notWords validation (pull request #1521)flatten method to handle issue path keys that collide with Object.prototype members like toString instead of throwing a TypeError (pull request #1522)intersect schema to merge object keys that collide with Object.prototype members like toString instead of failing to merge them (pull request #1522)Fix intersect schema to infer correct input and output types for non-tuple array options instead of never (pull request #1478 )
intersect schema to infer correct input and output types for non-tuple array options instead of never (pull request #1478)Many thanks to @ksaurav24 , @heiwen , @compulim , @ysknsid25 , @alaycock-stripe , @IlyaSemenov , @wszgrcy , @LMGO , @yslpn , @EltonLobo07 and @Eronmme
Many thanks to @ksaurav24, @heiwen, @compulim, @ysknsid25, @alaycock-stripe, @IlyaSemenov, @wszgrcy, @LMGO, @yslpn, @EltonLobo07 and @Eronmmer for contributing to this release.
Read the release notes on our website for a quick overview of the most exciting new features in this release.
isoDateTimeSecond validation action to validate ISO date times with seconds (pull request #1418)toCamelCase, toKebabCase, toPascalCase and toSnakeCase transformation actions to convert strings between common naming conventions (pull request #1457)ReadonlyOutputKeys and OutputWithReadonly types of object schemas and WithReadonly type of record schemas to improve TypeScript type performance (pull request #1442)_LruCache to use a TypeScript private method instead of a #private class field to avoid runtime helpers in the transpiled output (pull request #1455)_isValidObjectKey to use Object.prototype.hasOwnProperty.call instead of Object.hasOwn so the distributed output stays compatible with runtimes that lack the ES2022 Object.hasOwn builtin (pull request #1421)flatten method to accept readonly issue arrays (pull request #1269)RangeError caused by spreading large issue arrays (pull request #1437)creditCard validation action to reject Mastercard numbers with invalid lengths (pull request #1462)intersect schema to no longer mutate input values, allowing frozen objects and arrays to be merged (pull request #1463)Change MAC48_REGEX , MAC64_REGEX and MAC_REGEX to drop the i flag for better JSON Schema compatibility (pull request #1430 )
Many thanks to @EskiMojo14 , @yslpn , @alexilyaev , @idleberg , @BerkliumBirb and @frenzzy for contributing to this release.
Many thanks to @EskiMojo14, @yslpn, @alexilyaev, @idleberg, @BerkliumBirb and @frenzzy for contributing to this release.
Read the release notes on our website for a quick overview of the most exciting new features in this release.
guard transformation action to narrow types using type predicates (pull request #1204)parseBoolean transformation action to parse boolean values from strings and other types (pull request #1251)isrc validation action to validate ISRC codes (pull request #1373)cache method for caching schema output by input (pull request #1170)domain validation action to validate domain names (pull request #1284)jwsCompact validation action to validate JWS compact strings (pull request #1348)creditCard validation action to allow 13-digit Visa card numbers (pull request #1347)isoTimestamp validation action to allow optional space before UTC offset for PostgreSQL timestamptz compatibility (pull request #1195)Fix ReDoS vulnerability in EMOJI_REGEX used by emoji action
Many thanks to @EskiMojo14, @makenowjust, @ysknsid25 and @jacekwilczynski for contributing to this release.
Read the release notes on our website for a quick overview of the most exciting new features in this release.
toBigint, toBoolean, toDate, toNumber and toString transformation actions (pull request #1212)examples action to add example values to a schema (pull request #1199)getExamples method to extract example values from a schema (pull request #1199)isbn validation action to validate ISBN-10 and ISBN-13 strings (pull request #1097)RawCheckAddIssue, RawCheckContext, RawCheckIssueInfo, RawTransformAddIssue, RawTransformContext and RawTransformIssueInfo types for better developer experience with rawCheck and rawTransform actions (pull request #1359)EMOJI_REGEX used by emoji action^1.4.0Many thanks to @EltonLobo07, @sacrosanctic, @muningis, @EskiMojo14, @MOZGIII, @vktrl and @jasperteo for contributing to this release.
Many thanks to @EltonLobo07, @sacrosanctic, @muningis, @EskiMojo14, @MOZGIII, @vktrl and @jasperteo for contributing to this release.
Read the release notes on our website for a quick overview of the most exciting new features in this release.
message method to overwrite local error message configuration of a schema (pull request #1103)summarize method to summarize issues into a pretty-printable multi-line string (pull request #1158)getTitle, getDescription and getMetadata methods to extract metadata of a schema (pull request #1154)minEntries and maxEntries validation action to validate number of object entries (pull request #1100)entries and notEntries validation action to validate number of object entries (pull request #1156)parseJson and stringifyJson transformation action to parse and stringify JSON (pull request #1137)flavor transformation action to flavor the output type of a schema (pull request #950)multipleOf validation action (pull request #1164)variant and variantAsync schema to improve performance by aborting validation of discriminators early (pull request #1110)NanoIDAction and NanoIDIssue interface to NanoIdAction and NanoIdIssue (pull request #1171)MarkOptional type to fix input and output type of objects in edge cases (issue #1176)This is a summary of the changes between v0 and v1. Many thanks to everyone who contributed to this release.
This is a summary of the changes between v0 and v1. Many thanks to everyone who contributed to this release.
assert method to assert values (issue #862)checkItemsAsync action (pull request #856)graphemes, maxGraphemes, minGraphemes and notGraphemes action (pull request #853)words, maxWords, minWords and notWords actionargs and returns action to transform functions (issue #243)rfcEmail action to validate RFC 5322 email addresses (pull request #912)gtValue and ltValue action for greater than and less than validation (pull request #978, #985)values and notValues action for easier multi-value validation (pull request #919)slug action to validate URL slugs (pull request #910)ReadonlyMap and ReadonlySet to readonly action (issue #1059)entriesFromObjects util to improve tree shaking (pull request #1023)pipe and pipeAync method to support unlimited pipe items of same input and output type (issue #852)@__NO_SIDE_EFFECTS__ notation to improve tree shaking (pull request #995)exactOptional and exactOptionalAsync schema (PR #1013)minValue and maxValue for NaN (pull request #843)nullable, nullableAsync, nullish, nullishAsync, optional, optionalAsync, undefinedable and undefinedableAsync for undefined default value (issue #878)partialCheck and partialCheckAsync action to add .pathList property in a type-safe wayfindItem action to support type predicates (issue #867)looseObject, looseObjectAsync, object, objectAsync, objectWithRest, objectWithRestAsync, strictObject and strictObject (PR #1013)optional and optionalAsync when used within an object schema (PR #1013)MarkOptional type to fix order of entries and TS error when using generic schemas (issue #1021)VariantOption and VariantOptionAsync type to fix TS error when using generic schemas (issue #842)variant and variantAsync to support optional discriminators using exactOptional, exactOptionalAsync, optional, optionalAsync, nullish or nullishAsync_addIssue to not ignore empty strings as error message (pull request #1065)ISO_DATE_TIME_REGEX and ISO_TIMESTAMP_REGEX to support space as separator (pull request #1064)pipe and pipeAsync to be readonly by defaultforward, forwardCheck, partialCheck and partialCheckAsync to improve TypeScript performance (issue #987)DECIMAL_REGEX to support floats that start with a dot (pull request #1086)bytes, maxBytes, minBytes and notBytes actionnonOptional, nonOptionalAsync, nonNullable, nonNullableAsync, nonNullish and nonNullishAsync schema in edge cases (issue #909)any in PathKeys type (issue #929)keyof method for objects with many keys (pull request #988)enum_ schema (pull request #941)partialCheck and partialCheckAsync action for typed data with issuesMany thanks to @ssalbdivad, @matthew-dean, @Dominic-Preap, @emilesabatier and @tats-u for contributing to this release.
Many thanks to @ssalbdivad, @matthew-dean, @Dominic-Preap, @emilesabatier and @tats-u for contributing to this release.
RFC_EMAIL_REGEX to exactly match HTML specification (pull request #1068)ISO_DATE_TIME_REGEX and ISO_TIMESTAMP_REGEX to support space as separator (pull request #1064)forward, forwardCheck, partialCheck and partialCheckAsync to improve TypeScript performance (issue #987)pipe and pipeAsync to be readonly by defaultMany thanks to @andreww2012 for contributing to this release.
Many thanks to @andreww2012 for contributing to this release.
_addIssue to not ignore empty strings as error message (pull request #1065)Many thanks to @bjohn465, @wszgrcy and @AdaptCharm for contributing to this release.
Many thanks to @bjohn465, @wszgrcy and @AdaptCharm for contributing to this release.
ReadonlyMap and ReadonlySet to readonly action (issue #1059)entriesFromObjects util for arguments with readonly type (issue #1063)partialCheck and partialCheckAsync action for typed data with issuesMany thanks to @EltonLobo07, @is-jonreeves, @serkodev and @antfu for contributing to this release.
Many thanks to @EltonLobo07, @is-jonreeves, @serkodev and @antfu for contributing to this release.
gtValue and ltValue action for greater than and less than validation (pull request #978, #985)values and notValues action for easier multi-value validation (pull request #919)slug action to validate URL slugs (pull request #910)entriesFromObjects util to improve tree shaking (pull request #1023)This is a summary of the changes between v0 and v1. Many thanks to everyone who contributed to this release.
This is a summary of the changes between v0 and v1. Many thanks to everyone who contributed to this release.
assert method to assert values (issue #862)checkItemsAsync action (pull request #856)graphemes, maxGraphemes, minGraphemes and notGraphemes action (pull request #853)words, maxWords, minWords and notWords actionargs and returns action to transform functions (issue #243)rfcEmail action to validate RFC 5322 email addresses (pull request #912)pipe and pipeAync method to support unlimited pipe items of same input and output type (issue #852)@__NO_SIDE_EFFECTS__ notation to improve tree shaking (pull request #995)exactOptional and exactOptionalAsync schema (PR #1013)minValue and maxValue for NaN (pull request #843)nullable, nullableAsync, nullish, nullishAsync, optional, optionalAsync, undefinedable and undefinedableAsync for undefined default value (issue #878)partialCheck and partialCheckAsync action to add .pathList property in a type-safe wayfindItem action to support type predicates (issue #867)looseObject, looseObjectAsync, object, objectAsync, objectWithRest, objectWithRestAsync, strictObject and strictObject (PR #1013)optional and optionalAsync when used within an object schema (PR #1013)MarkOptional type to fix order of entries and TS error when using generic schemas (issue #1021)VariantOption and VariantOptionAsync type to fix TS error when using generic schemas (issue #842)variant and variantAsync to support optional discriminators using exactOptional, exactOptionalAsync, optional, optionalAsync, nullish or nullishAsyncbytes, maxBytes, minBytes and notBytes actionnonOptional, nonOptionalAsync, nonNullable, nonNullableAsync, nonNullish and nonNullishAsync schema in edge cases (issue #909)any in PathKeys type (issue #929)keyof method for objects with many keys (pull request #988)enum_ schema (pull request #941)Many thanks to @andersk, @cloudkite and @thecotne for contributing to this release.
Many thanks to @andersk, @cloudkite and @thecotne for contributing to this release.
variant and variantAsync to support optional discriminators using exactOptional, exactOptionalAsync, optional, optionalAsync, nullish or nullishAsynclooseObject, looseObjectAsync, object, objectAsync, objectWithRest, objectWithRestAsync, strictObject and strictObject to support fallback and fallbackAsync for missing entries (PR #1031)Many thanks to @m-kutnik and @AndreiCravtov for contributing to this release.
Many thanks to @m-kutnik and @AndreiCravtov for contributing to this release.
MarkOptional type to fix order of entries and TS error when using generic schemas (issue #1021)VariantOption and VariantOptionAsync type to fix TS error when using generic schemas (issue #842)Many thanks to @andersk, @EltonLobo07, @xcfox, @Bilboramix, @genki, @ivands, @bachmacintosh, @sandros94, @Hugos68 and @typed-sigterm for contributing
Many thanks to @andersk, @EltonLobo07, @xcfox, @Bilboramix, @genki, @ivands, @bachmacintosh, @sandros94, @Hugos68 and @typed-sigterm for contributing to this release.
See discussion #1022 and issue #983 for more details and context on this release.
exactOptional and exactOptionalAsync schema (PR #1013)looseObject, looseObjectAsync, object, objectAsync, objectWithRest, objectWithRestAsync, strictObject and strictObject (PR #1013)optional and optionalAsync when used within an object schema (PR #1013)Many thanks to @KubaJastrz for contributing to this release.
Many thanks to @KubaJastrz for contributing to this release.
@__NO_SIDE_EFFECTS__ notation from assert, parse and parseAsync (issue #1015)Many thanks to @esdmr for contributing to this release.
Many thanks to @esdmr for contributing to this release.
@__NO_SIDE_EFFECTS__ notation from _addIssue (issue #1007)Many thanks to @antfu, @EltonLobo07, @serkodev, @andersk, @hendrikheil, @kurtextrem, @kazizi55 and @ikeyan for contributing to this release.
Many thanks to @antfu, @EltonLobo07, @serkodev, @andersk, @hendrikheil, @kurtextrem, @kazizi55 and @ikeyan for contributing to this release.
rfcEmail action to validate RFC 5322 email addresses (pull request #912)@__NO_SIDE_EFFECTS__ notation to improve tree shaking (pull request #995)keyof method for objects with many keys (pull request #988)enum_ schema (pull request #941)Many thanks to @KubaJastrz for contributing to this release.
Many thanks to @KubaJastrz for contributing to this release.
optional with pipeline (issue #944)Many thanks to @sbking for contributing to this release.
Many thanks to @sbking for contributing to this release.
nullable, nullableAsync, nullishAsync, optional, optionalAsync, undefinedable and undefinedableAsync (issue #935)Many thanks to @Balastrong and @ivanbarlog for contributing to this release.
Many thanks to @Balastrong and @ivanbarlog for contributing to this release.
any in PathKeys type (issue #929)Many thanks to @genki for contributing to this release.
Many thanks to @genki for contributing to this release.
Many thanks to @NiklasPor and @ssalbdivad for contributing to this release.
Many thanks to @NiklasPor and @ssalbdivad for contributing to this release.
optional, optionalAsync, nullable, nullableAsync, nullish and nullishAsync schemanonOptional, nonOptionalAsync, nonNullable, nonNullableAsync, nonNullish and nonNullishAsync schema in edge cases (issue #909)Many thanks to @ruiaraujo012, @colinhacks and @ssalbdivad for contributing to this release.
Many thanks to @ruiaraujo012, @colinhacks and @ssalbdivad for contributing to this release.
pipe and pipeAync method to support unlimited pipe items of same input and output type (issue #852)Many thanks to @hanakannzashi for contributing to this release.
Many thanks to @hanakannzashi for contributing to this release.
nullable, nullableAsync, nullish, nullishAsync, optional, optionalAsync, undefinedable and undefinedableAsync for undefined default value (issue #878)Many thanks to @dgreensp for contributing to this release.
Many thanks to @dgreensp for contributing to this release.
We recommend that you check if the libraries you are using have already been updated. Except for the type signature, any breaking changes should only…
Many thanks to @gcornut, @EltonLobo07, @remonke, @ktkk and @fabulousgk for contributing to this release.
Since we changed the type signature, you may experience TypeScript errors when using Valibot v1 with other libraries. We are committed to helping update the libraries in our ecosystem. We recommend that you check if the libraries you are using have already been updated. Except for the type signature, any breaking changes should only be related to our internal implementation.
assert method to assert values (issue #862)checkItemsAsync action (pull request #856)graphemes, maxGraphemes, minGraphemes and notGraphemes action (pull request #853)words, maxWords, minWords and notWords actionargs and returns action to transform functions (issue #243)minValue and maxValue for NaN (pull request #843)bytes, maxBytes, minBytes and notBytes actionWe recommend that you check if the libraries you are using have already been updated. Except for the type signature, any breaking changes should only…
Many thanks to @colinhacks for contributing to this release.
Since we changed the type signature, you may experience TypeScript errors when using Valibot v1 with other libraries. We are committed to helping update the libraries in our ecosystem. We recommend that you check if the libraries you are using have already been updated. Except for the type signature, any breaking changes should only be related to our internal implementation.
Fix function type declaration of _run property
_run propertyMany thanks to @ajfhs812, @andrew-d-jackson and @declanlscott for contributing to this release.
Many thanks to @ajfhs812, @andrew-d-jackson and @declanlscott for contributing to this release.
metadata action to add custom metadata to a schematitle metadata action to add a title to a schema (discussion #826)decimal action to validate integer and float strings (pull request #823)decimal action to digits (pull request #823)NoPipe type to SchemaWithoutPipeIssueDotPath type (issue #814)Many thanks to @EltonLobo07, @ZerNico, @Andarist, @ruiaraujo012 and @merodiro for contributing to this release.
Many thanks to @EltonLobo07, @ZerNico, @Andarist, @ruiaraujo012 and @merodiro for contributing to this release.
reference property of all action base types to be less strict (issue #799)variant and variantAsync to improve performance and issues generation for nested variants with different discriminators (pull request #809)Many thanks to @jasperteo, @alecmev and @cruzdanilo for contributing to this release.
Many thanks to @jasperteo, @alecmev and @cruzdanilo for contributing to this release.
nanoid action to validate Nano IDs (pull request #789)undefinedable and undefinedableAsync schema (issue #385)Many thanks to @tpetry, @incompletude, @ComradeVanti, @istonikula and @ShlokDesai33 for contributing to this release.
Many thanks to @tpetry, @incompletude, @ComradeVanti, @istonikula and @ShlokDesai33 for contributing to this release.
exactOptionalPropertyTypes config (issue #385)IssueDotPath type for pipe and pipeAsync method (issue #793)IssueDotPath type for variant and variantAsync schema (issue #700)Many thanks to @EltonLobo07, @samuba, @alecmev, @gflohr, @threehams and @carcinocron for contributing to this release.
Many thanks to @EltonLobo07, @samuba, @alecmev, @gflohr, @threehams and @carcinocron for contributing to this release.
expects and expected property by enclosing combined values in parenthesesoptional, optionalAsync, nullish and nullishAsync schemas in objectsTuplePath and QuestionMarkSchema type (issue #659, #776)pipe and pipeAsync method (pull request #785)Many thanks to @morinokami, @xcfox, @devcaeg, @shayneo, @Sandros94, @slevithan, @thecotne and @EltonLobo07 for contributing to this release.
Many thanks to @morinokami, @xcfox, @devcaeg, @shayneo, @Sandros94, @slevithan, @thecotne and @EltonLobo07 for contributing to this release.
base64 action to validate Base64 strings (pull request #644)description metadata action (pull request #747)pipe and pipeAsync method (pull request #747)HEXADECIMAL_REGEX (pull request #666)unknown[] in LengthInput type to ArrayLike<unknown>ArrayInput and ContentInput type to use MaybeReadonlyEMOJI_REGEX to be more accurate and strict (pull request #666)fallback and fallbackAsync method for specific schemas (pull request #752)fallbackAsync method for async schemas (pull request #732)Many thanks to @N0tExisting, @ksv90, @peterbe, @foster-hangdaan and @zougari47 for contributing to this release.
Many thanks to @N0tExisting, @ksv90, @peterbe, @foster-hangdaan and @zougari47 for contributing to this release.
normalize action to normalize strings (issue #691)entriesFromList utilentriesFromList util (issue #492)key property to SetPathItem type to improve DX (issue #693, #694)FunctionReference type and refactor codeMany thanks to @jindong-zhannng, @dyljhd and @TeChn4K for contributing to this release.
Many thanks to @jindong-zhannng, @dyljhd and @TeChn4K for contributing to this release.
pipe and pipeAsync method to 19 (issue #643)Many thanks to @Saeris, @Jimdooz, @Kenzo-Wada and @sillvva for contributing to this release.
Many thanks to @Saeris, @Jimdooz, @Kenzo-Wada and @sillvva for contributing to this release.
file, function and promise schemaawaitAsync action to await promise in pipelineoperation property to filterItems, findItem, mapItems, reduceItems and sortItem actionaction argument of filterItems, findItem, mapItems, reduceItems and sortItem action to operationaction argument and property of transform and transformAsync action to operation_stringify utilMany thanks to @Demivan for contributing to this release.
Many thanks to @Demivan for contributing to this release.
_isPartiallyTyped util of partialCheck and partialCheckAsync actionMany thanks to @allezxandre for contributing to this release.
Many thanks to @allezxandre for contributing to this release.
Fix types of partialCheck and partialCheckAsync action
partialCheck and partialCheckAsync actionMany thanks to @Demivan, @ruiaraujo012, @Karakatiza666, @micahjon, @unlinking, @demarchenac, @xsjcTony, @ziyak97 and @Lukasz17git for contributing to
Many thanks to @Demivan, @ruiaraujo012, @Karakatiza666, @micahjon, @unlinking, @demarchenac, @xsjcTony, @ziyak97 and @Lukasz17git for contributing to this release.
partialCheck and partialCheckAsync action (issue #76, #145, #260)checkItems, filterItems, findItem, mapItems, reduceItems and sortItem action (issue #595)every and some action to everyItem and someItem_isAllowedObjectKey to _isValidObjectKey and add check for inherited propertiesRecordPathItem and TuplePathItem type and refactor codereceived property of issue in date schema for invalid dates (issue #654)Many thanks to @ruiaraujo012, @jansedlon, @ksjitendra18 and @megacherry for contributing to this release.
Many thanks to @ruiaraujo012, @jansedlon, @ksjitendra18 and @megacherry for contributing to this release.
rawCheck, rawCheckAsync, rawTransform and rawTransformAsync action (issue #597)FlatErrors type for better developer experience (discussion #640)pipe and pipeAsync method to mark output as untyped only when necessary (discussion #613)skipPipe option from Config type and refactor librarythis reference in looseTuple, looseTupleAsync, strictTuple, strictTupleAsync, tuple, tupleAsync, tupleWithRest and tupleWithRestAsync schema (pull request #649)options key in EnumSchema interfaceMany thanks to @Omochice for contributing to this release.
Many thanks to @Omochice for contributing to this release.
Many thanks to @Afsoon, @AlexXanderGrib, @Andarist, @AndreyYolkin, @ariskemper, @Demivan, @DylanThomasFr, @EltonLobo07, @GabrielHangor, @Hugos68, @Ily
Many thanks to @Afsoon, @AlexXanderGrib, @Andarist, @AndreyYolkin, @ariskemper, @Demivan, @DylanThomasFr, @EltonLobo07, @GabrielHangor, @Hugos68, @IlyaSemenov, @MohammedEsafi, @MrGeniusProgrammer, @Saeris, @Sandros94, @Sec-ant, @alexbit-codemod, @ammarriq, @anuraghazra, @arybitskiy, @bingtsingw, @brandonpittman, @brenelz, @chertik77, @chimame, @christophsturm, @dboune, @devcaeg, @dusty, @fredericoo, @gmaxlev, @homersimpsons, @jansedlon, @jchatard, @joshwashywash, @jsudelko, @juliusmarminge, @kovalchukq, @linkb15, @lukemorton, @macarie, @morgante, @mtt-artis, @mutewinter, @mxdvl, @nakanoasaservice, @naveen-bharathi, @sacrosanctic, @samualtnorman, @saturnonearth, @seren5240, @sillvva, @ssalbdivad, @vladshcherbin, @xcfox, @yudinmaxim, @znycheporuk and many others for contributing to this release.
To migrate from an older version, please see the official migration guide and our announcement post.
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
getDotPath util and refactor flatten methodFlatErrors type of flatten methodTo migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
parser and safeParser methodMany thanks to @IlyaSemenov for contributing to this release.
Many thanks to @IlyaSemenov for contributing to this release.
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
config method to library to change local configuration of schema (issue #618)Many thanks to @IlyaSemenov for contributing to this release.
Many thanks to @IlyaSemenov for contributing to this release.
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
ContentInput, ContentRequirement, LengthInput, SizeInput and ValueInput type to exports (issue #614)Many thanks to @DylanThomasFr and @IlyaSemenov for contributing to this release.
Many thanks to @DylanThomasFr and @IlyaSemenov for contributing to this release.
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
parser and safeParser method (issue #504)Many thanks to @dusty for contributing to this release.
Many thanks to @dusty for contributing to this release.
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
forward method by excluding previous issues from forwarding (issue #616)Many thanks to @devcaeg, @EltonLobo07, @vladshcherbin and @ammarriq for contributing to this release.
Many thanks to @devcaeg, @EltonLobo07, @vladshcherbin and @ammarriq for contributing to this release.
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
_stringify util for custom and modified objects (issue #608)Many thanks to @naveen-bharathi for contributing to this release.
Many thanks to @naveen-bharathi for contributing to this release.
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
intersect schema (issue #601)Many thanks to @AlexXanderGrib, @chertik77 and @chimame for contributing to this release.
Many thanks to @AlexXanderGrib, @chertik77 and @chimame for contributing to this release.
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
Many thanks to @chimame for contributing to this release.
Many thanks to @chimame for contributing to this release.
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
variant schema (pull request #600)Many thanks to @jansedlon for contributing to this release.
Many thanks to @jansedlon for contributing to this release.
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
Default type for optional, nullable and nullish schema (issue #593)Many thanks to @jansedlon and @mutewinter for contributing to this release.
Many thanks to @jansedlon and @mutewinter for contributing to this release.
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
optional, nullable and nullish schema (issue #593, #363)Many thanks to @Demivan, @EltonLobo07, @xcfox, @mxdvl, @Afsoon, @IlyaSemenov, @Saeris, @devcaeg, @AndreyYolkin, @MrGeniusProgrammer, @znycheporuk, @ma
Many thanks to @Demivan, @EltonLobo07, @xcfox, @mxdvl, @Afsoon, @IlyaSemenov, @Saeris, @devcaeg, @AndreyYolkin, @MrGeniusProgrammer, @znycheporuk, @macarie and many others for contributing to this release.
To migrate from an older version, please see the official migration guide: https://valibot.dev/guides/migrate-to-v0.31.0/
Your coding agent can read these notes before it upgrades. Set up the MCP server →