All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
1.5.1 - 2022-06-30
- Inefficient regular expression complexity of lowercase() and uppercase() rules
1.5.0 - 2022-06-27
- Support async validation within the
optionalrule (#206) - New modifier
strictfor schema validation (#191, #179)
- Correct incorrect return type of
checkvalidation strategy (boolean -> void) - Bug with
Proxycheck where it always returnedtrue
1.4.0 - 2022-02-17
- Untranspiled build
v8n.esm.browser.jsfor modern browsers (#165) - TypeScript support through bundled type definitions (#28)
- Bug with schema validation (#166) - thanks @havelaer
- Bug with environments that cannot use the Proxy object (#45) - thanks @akarel and @NoemiRozpara
1.3.3 - 2019-09-15
- Bug with nested async rules (#161)
1.3.2 - 2019-05-20
- Bug with
optionalrule that ignores thestringrule when validating
1.3.1 - 2019-05-20
- Bug with
optionalrule that ignores validation when an empty string is passed (#149)
1.3.0 - 2019-05-19
- Rule
instanceOf()to check inheritance of prototypes. - Rule
numeric()to check for strings containing numbers
- Rule
optionalnow supports a flag to consider trimmed empty strings valid (considerTrimmedEmptyString) (#140)
1.2.3 - 2018-10-03
- Bug with
schemarule when working with array-based modifiers (#127)
1.2.2 - 2018-08-29
- Bug with polyfill for
integerrule - Bug with
Infinityvalues in range-based rules
1.2.1 - 2018-08-17
- Rename
ValidationExceptiontoValidationError
- Wrong example in the README file
1.2.0 - 2018-07-31
- Rule
passesAnyOf()to perform branching validation. - Rule
optional()for validation of optional values.
- Rule
number()now supports a flag to make it returnfalsefor infinite numbers (#76)
testAsync()nesting causes for failed validation.
- From v2.0.0: Rule
number()will returnfalsefor infinite values by default
1.1.2 - 2018-07-26
- Issue with
schema()not validating at deeper levels properly.
1.1.0 - 2018-07-25
- Ability to receive all validation errors for a value with
testAll(). - Ability to create and test asynchronous rules with
testAsync(). - Rule
object()to check whether a value is an object. - Rule
schema()to validate the schema of an object. - Modifier
someto verify that at least one value in an array passes a rule. - Modifier
everyto verify that all values in an array pass a rule.
- Made
ValidationExceptioninherit from JavaScript's built-inError. - Rewrote documentation and moved it from the README to a website using VuePress.
- Made the validation object immutable.
- Build process now properly transpiles modules from ES6 to ES5. (#44)