Revision history for Perl module Validator::LIVR
0.01 2013-02-02
- First version, released on an unsuspecting world.
0.02 2013-08-12
- LIVR v0.2 support (not_empty_list)
0.03 Not Released
- Fixed pipelining (now validator passes the modified
result to each next rule).
0.04 2013-08-15
- LIVR v0.3 support (trim, to_lc, to_uc)
0.05
- Fix bug with applying validation rule after filter
0.06
- LIVR v0.4 support (remove, leave_only, url, iso_date, like with flags, rules aliasing)
0.07
- Add version to every pm file
0.08
- More detailed debug in tests
0.09
- Fix typo in MANIFEST paths
v2.0
- Switched to semver. New release version is 2.0
- Unified approach to types handling
- "Base rules" renamed to "Common rules".
- "Filter rules" renamed to "Modifiers". They do not validate anything, just modify data.
- "Helper rules" renamed to "Metarules" as this rules are for describing other rules
- Added common rule "any_object"
- Added string rule "string"
- Added string rule "eq"
- Added metarule "variable_object"
- Added metarule "or"
- Added modifier "default"
- Add more edge cases to test suite
- Add experimental status to the "like" rule
v2.1 2026-10-19
- Updated the test suite to the current LIVR test suite
- A rule with several names, such as { like => '^\w+$', max_length => 20 }, dies.
Only one of the rules was used, a random one (GitHub issue #11).
- A validator that died on a wrong rule dies again on the next validate(). Before,
the next validate() checked no fields and passed any data.
- "or" passes empty values to its rule sets too, so "required" and "not_empty" in them work
- No dependencies: "email" and "url" are checked as in the other LIVR implementations,
without Email::Valid and Regexp::Common. The module loads in 9 ms instead of 21.
- "email" rejects names and comments, such as "John <john@example.com>", spaces around
the address, line breaks, and TLDs that start with a digit, as in an IP address without
brackets. It accepts letters of other languages in the local part.
- "url" accepts a user and password, a query without a path, any characters in the path
and domain names in other languages. It rejects IP addresses with numbers over 255 and
a trailing newline.
- "url" checks a long wrong URL fast. A path of 100 KB took more than 20 seconds.
- "iso_date" rejects a trailing newline
- "iso_date" checks dates without Time::Piece, which printed "Garbage at end of string" warnings
- "equal_to_field" does not warn when the other field is missing
- "length_between" does not print debug output anymore
- Faster: validation of a form is 3.5 times faster, "email" 14 times, "url" 5.7 times,
building a validator and validating 2.6 times
- The license in META is Artistic 2.0, it was "unknown"
- Tests run on GitHub Actions with Perl from 5.10 to the newest one
- README.pod is not installed anymore. MakeMaker before 7.32 installed it as Validator/README.pod
- New documentation: a quick tour, all rules with their error codes, "prepare" and
how to write rules in Perl
- Bugs are reported in GitHub Issues, and META links to them
Keyboard Shortcuts
Global
s
Focus search bar
?
Bring up this help dialog
GitHub
gp
Go to pull requests
gi
Go to GitHub issues (only if GitHub is preferred repository)