4.88 August 28th, 2017
[MAINTENANCE]
- Address "." being removed from @INC by using absolute filepaths - thanks Kent Fredric!
4.87 May 14th, 2017
[MAINTENANCE]
- Update cc routine to recognize new 2 series Mastercards
---------------------------------------------------
4.86 March 26th, 2017
[NEW FEATURES]
- Add three new profile methods: depedencies_regexp,
dependent_optional, dependent_require_some
[MAINTENANCE]
- Bump VERSION in all classes to 5.85
4.85 Feb 25th, 2017
[MAINTENANCE]
- Bump VERSION in all classes to 5.85
4.84 Feb 25th, 2017
[MAINTENANCE]
- Various test file warning fixes
- Change conditional loading of CGI to require version 4.35 or higher (4ce9ac9e)
4.83 Feb 23rd, 2017
[MAINTENANCE]
- Re-release of 4.82: tarball was missing files as "make dist"
errored when it didn't find MANIFEST
- Deleted unused Perl6 files
4.82 Feb 23rd, 2017
[MAINTENANCE]
- Made CGI dependency optional
- Replaced Build.PL with Makefile.PL
- Updated Makefile.PL constraints
- Removed dependency on Perl6::Junctions
- Moved the code to GitHub
- Applied patches from: RT 77765, 78443, 10489
- Added shebang, warnings pragma to all test scripts
- Perltidied tests scripts
- Replaced is_tainted() sub with Scalar::Util::tainted()
Problems found locating distfiles:
Package cabocha: missing distfile cabocha-0.68.tar.bz2
Package convertlit: missing distfile clit18src.zip
Package php-enchant: missing distfile php-enchant/enchant-1.1.0.tgz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
Upstream changes:
4.81 Jul 19th, 2013
[DOCUMENTATION]
- There is no such thing as "array context". The documentation now refers to "list context"
instead.
- Fix "the the" typos. (Thanks to dsteinbrunner, RT#77901)
a) refer 'perl' in their Makefile, or
b) have a directory name of p5-*, or
c) have any dependency on any p5-* package
Like last time, where this caused no complaints.
Upstream changes:
4.80 Nov 1st, 2012
[NEW FEATURES]
- New built-in constraint_methods to test the number of values submitted for a
particular field:
FV_num_values(1),
FV_num_values_between(1,2), # inclusive
One way that garbage can get through a Data::FormValidator profile is
when two values are submitted when only one is intended. In this
case, this application could end up with a values like this:
ARRAY(0x841214c)
Using these new constraints, you can precisely control how many values
are allowed for each field.
[INTERNAL]
- Source control hosting has been moved to http://hub.darcs.net
You can now browse, pull and fork the darcs repo through this website.
4.71 Oct 2nd, 2012
[BUG FIXES]
- Custom messages for built-in constraints work again. It appears that this
was broken in 4.70, which triggered a sleeper bug.
(Thanks to Lee Carmichael, Mark Stosberg, RT##73235)
4.70 11/11/11
[NEW FEATURES]
- Built-in constraints in Constraints.pm can now be renamed:
constraint_methods => {
first_names => {
constraint_method => FV_max_length(3),
name => 'custom_length',
}
},
(Thanks to heinst@arqs.com.br for the suggestion, RT#49477)
[INTERNALS]
- modernize Constraints.pm and Results.pm a bit.
- Module::Build added to configure_requires in Build.PL
4.67 11/11/11
[INTERNALS]
- modernize FormValidator.pm internals a bit
- Update META.yml to exclude an internal package from getting indexed.
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
pkgsrc changes:
- Adjust dependencies
Upstream changes:
4.65 Wed Dec 30 22:17:33 EST 2009
[NEW FEATURES]
- New FV_replace() filter to simplify basic find-and-replace filters:
field_filters => {
first_name => FV_replace(qr/Mark/,'Don'),
},
[BUG FIXES]
- Untainted multi-line fields are no longer truncated after the first newline.
(RT#44004, Thanks to Matthew Lawrence)
- Fix bug when the constraint_method contains a capturing parens and 0 is a valid value.
(RT#45177, Thanks to Junior Medina and Mark Stosberg)
[DOCUMENTATION]
- Typo fixes (Lyle)
[INTERNALS]
- Best Practice: Redundant <span> tag was removed from default error message formatting
(RT#42926), Thanks to girlwithglasses)
- Best Practice: eliminated some indirect object notation in the tests (Mark Stosberg)
- Now require a new CGI.pm for the build stage (RT#49912, thanks to dsteinbrunner)
- White space improvements (RT#30205, Thanks to Peter Liscovius)
- Fixed a warning in the test suite (RT#42251, Thanks to Frank Wiegand)
Pkgsrc changes:
o Adjust dependencies, including reshuffling to match contents
and order in META.yml
o Require perl version 5.8, also according to META.yml
Upstream changes:
4.63 Sat Jan 3 12:46:15 EST 2009
[DOCUMENTATION]
- Improve docs for writing your own constraints (girlwithglasses)
4.62 Sat Jan 3 12:10:14 EST 2009
[DOCUMENTATION]
- Fix typo in ConstraintsFactory docs (Geraint A. Edwards)
- Clarified docs for get_filtered_data (Lisa Hagemann)
- Clarify that 'field_filter_regexp_map' can take coderefs as
values (Ron Savage)
[INTERNALS]
- Better diagnostics when load_profiles fails (Thoralf Klein)
- Improved portability of t/untaint.t (Alexandr Ciornii)
- Make some tests conditional on Date::Calc being installed (Frank Wiles)
to trigger/signal a rebuild for the transition 5.8.8 -> 5.10.0.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=...").
- added dependency to p5-Email-Valid
- corrected version of dependency to p5-Date-Calc
- added dependency to p5-Perl6-Junction
- corrected PERL5_MODULE_TYPE to Module::Build
ChangeLog:
4.61 Mon Jun 16 14:37:31 EDT 2008
[INTERNALS]
- packaging issue from Perl 4.60 resolved.
4.60 Mon Jun 16 14:10:14 EDT 2008
[NEW FEATURES]
- Dependencies can now be specified using a code ref.
Thanks to Bradley C Bailey, via RT#24935.
[BUG FIXES]
- length constraints for min, max and 'between' now work for lengths
of 32k and longer. (Carl Vincent).
- We now use Email::Valid to validate e-mail addresses instead of
our own regrex. Email::Valid passed all our our existing regression
tests for e-mail addresses that should pass and fail. Email::Valid
also correctly recognizes emails with single quote characters in them.
These are valid, but our regex didn't recognize them. (Mark Stosberg)
[INTERNALS]
- Typo in Constraints documentation corrected by K B Shiv Kumar (RT#32358)
- Add some tests and docs for "date_and_time" constraint, from
Data::FormValidator:::Constraints::Dates. It appears there may still
exist a leap-year bug with the date parser. See the TODO test in
t/dates_closure.t for details. An alternative is to use
Data::FormValidator::Constraints::DateTime
(Mark Stosberg, Matt Christian)
4.57 Thu Nov 1 22:47:13 EDT 2007
[BUG FIXES]
- The min max and length_between constraints now allow multi-line input,
Thanks to Carl Vincent. RT##30221. If we had only used the Regex style
prescribed by the Perl Best Practices book in the first place, this
wouldn't have been a problem!
[INTERNALS]
- Makefile.PL to updated to explicitly require 5.008;
- Fix doc link to "Old School Constraints", thanks to rjbs.
4.56 Wed Oct 31 12:34:32 EDT 2007
[INTERNALS]
- declare that we rely on 5.8, because some 5.6 tests were failing.
A patch for 5.6 compatibility would be welcome. Thanks to rjbs for the prod.
4.55 Sun Oct 21 11:41:41 EDT 2007
[BUG FIXES]
- Constraints in Upload.pm now apply to filtered data, not raw data.
(Graham TerMarsch, Mark Stosberg, RT#24702)
4.54 Sun Oct 21 09:27:07 EDT 2007
[INTERNALS]
- It looks like 4.53 got uploaded wrong, appearing as the code for 4.50.
4.53 Sat Oct 20 15:57:56 EDT 2007
[BUG FIXES]
- Invalid fields should still be invalid, even when missing_optional_valid is true.
Patch thanks to Robert Juliano. [RT#28860]
[INTERNALS]
- Improve documentation link, thanks to Robert Stockdale [RT#29510]
- Give a plug to Data::FormValidator::Constraints::MethodsFactory. Recommended!
- s/foreach /for /g throughout the code, per Perl Best Practices
4.52 Fri Oct 19 15:39:14 EDT 2007
No code changes.
[INTERNALS]
- Fix PERL5LIB issue with untaint.t, Thanks to Matt Trout and others [RT#30126]
4.51 Fri Jul 13 23:31:43 EDT 2007
[BUG FIXES]
- Quit assuming that because the first element of an array is undef, the
the whole thing is undef. (RT#24703, GTERMARS, Paul Blair)
- For the "file_format" file upload constraint, File::MMagic sometimes
wrongly returns the generic "application/octet-stream" MIME type instead
of the correct MIME type. We now this return value as meaning "I don't
know" and try the MIME type sent by the browser if this happens.
(Mark Stosberg)
- for the "file_format" file upload constraint, we now do a
case-insensitive comparison of the MIME type provided by the browser,
following the MIME standard. This bug was masked because we check the
returned MIME type by File::MMagic first. Because it generally works
and returns a lower-case result, it didn't matter. However, it some cases
File::MMagic misbehaves under mod_perl, causing the the issue to matter.
(Matt Christian, Mark Stosberg)
[INTERNALS]
- Start requiring and using Scalar::Util, which prevents UNIVERSAL::can() form generating warnings.
(RT#25873, Dave O'Neill)
- Start requiring Perl6::Junction, which we had previously copy/pasted a bit
of into DFV. (Unlike some of the other Perl6 namespace modules, this one
does /not/ use a source filter, and is addictively simple and useful.
4.50 Mon Dec 4 21:28:09 EST 2006
[ENHANCEMENTS]
- New method for constraint writing: get_filtered_data().
(Graham TerMarsch, Mark Stosberg, RT#22589)
- Stronger profile checking, to insure that all constraint_method values
are code references. Note: This explicitly simplifies things compared to
the 'constraints' system. Bare strings declarations are not allowed with
'constraint_methods'. (Mark Stosberg)
- Numerous documentation and comment typo fixes (Evan Zacks)
- Clarified the docs for overriding msgs (RT#18050)
[BUG FIXES]
- ':all' was documented as a group of constraints to import, but it didn't
work. The documentation was updated to recommend ':closures' instead.
(PURDY, RT#21052)
- FV_eq_with now works with CGI.pm-style objects as input. (Jason Crummack)
- Fix documented example of using constraint methods. (Brian Lozier)
- When a constraint and a constraint_regexp_map matched the same field,
only the ones from the map where being used in one case. This was a
regression since the 4.0 release. A new regression test was also added
for this case. (Matt Christian)
4.49_01 Tue Oct 3 14:13:59 EDT 2006
[ENHANCEMENTS]
- New defaults_regexp_map profile key, useful for dynamically generated
checkbox fields. (Mark Stosberg)
Based on patch provided by Martin Wilke via PR 34405.
Pkgsrc change:
Change dependency to p5-Test-Simple. This module require Test::More,
and it is included in p5-Test-Simple>=0.10 and perl>=5.7.2.
Changes:
4.40 Mon Aug 21 19:41:24 EDT 2006
[BUG FIXES]
- All FV_ closures are now exported with ":closures". (Ed Pigg, Mark Stosberg)
[ENHANCEMENTS]
- Added new constraint for the common case of comparing one field with another,
such as a word confirmation field. Example:
constraint_methods => {
password => FV_eq_with('password_confirm'),
}
(Mark Stosberg)
4.30 Mon Jul 10 21:41:37 EDT 2006
[ENHANCEMENTS]
- A new method for constraint writers has been added: untainted_constraint_value().
If you have written a constraint which untaints, use this method to return the
untainted result. It will prepare the right result whether the user has requested
untainting or not. (Mark Stosberg)
- New built-in constraints added:
FV_min_length(3),
FV_max_length(100),
FV_length_between(3,100),
These constraints can optionally perform untainting. (Mark Stosberg)
- We now work around a bug in File::MMagic which could cause some filehandles
to be corrupted after after the file_format constraint was used.
[BUG FIXES]
- Regexp::Common regular expressions which accepted zero as a valid input would
have wrongly failed their constraints unless untainting was enabled. (Mark Stosberg)
[INTERNALS]
- Improved documentation for built-in constraints. (Mark Stosberg)
4.20 Mon Jun 12 20:44:36 EDT 2006
[ENHANCEMENTS]
- Documentation in Data::FormValidator::Filters has been improved. (Mark Stosberg}
- Added FV_split() a new filter that makes it super-easy to apply the same constraint
to a list of values passed in a single field, such as a comma separated list of e-mail
addresses. (Mark Stosberg).
[BUG FIXES]
- For input given as a hashref containing array references, values could
have been mistakenly modified by reference through filters. We now
explicitly copy elements in these case, to avoid modifying the input.
(RT#19592)
4.14 Fri Feb 17 08:59:40 EST 2006
[ENHANCEMENTS]
- Consider a field with only a null character to be invalid (Jamie Krasnoo)
[BUG FIXES]
- Fix bug in cc_number constraint, which was only present when used as a "constraint_method". (Evan A. Zacks)
4.13
[BUG FIXES]
- Updated overloading syntax to work with Template::Stash (frank)
developer is officially maintaining the package.
The rationale for changing this from "tech-pkg" to "pkgsrc-users" is
that it implies that any user can try to maintain the package (by
submitting patches to the mailing list). Since the folks most likely
to care about the package are the folks that want to use it or are
already using it, this would leverage the energy of users who aren't
developers.
Changes since 3.63
4.12 Thu Jan 5 21:07:50 EST 2006
[INTERNALS]
- Fix test suite to pass when CGI::Simple is not installed
(Lee Carmichael, Davide Dente)
4.11 Tue Jan 3 18:38:23 EST 2006
[ENHANCEMENTS]
- A new constraint for minimum image dimensions was added in
Data::FormValidator::Constraints::Upload (Lee Carmichael)
[INTERNALS]
- refactoring of Upload.pm and t/upload.t (Lee Carmichael)
4.10 Thu Dec 22 19:55:34 EST 2005
[ENHANCEMENTS]
- The msgs key can now take a callback, allow users to override how error
message generation is done. Some alternative message generate routines
will hopefully be published soon. (Cees Hek, Chris Laco and others)
- New profile key: untaint_regexp_map (Michael Peters)
[BUG FIXES]
- bug was fixed for dependent fields that had false values, but were valid
(Emanuele Zeppieri)
- Failed constraints for multiple fields with the same name no longer return duplicate
error messages (Will Hawes)
- value of any_errors was wrongly added to msgs even when there are no errors
(RT#14942, report and test script by Michael Graham)
[INTERNALS]
- bump Date::Calc requirement (RT#15715)
4.02 Wed Aug 31 21:22:58 EST 2005
[ENHANCEMENTS]
- the use of custom signal handers for "die" has now been localized to
avoid interfering with other applications. (Josh Miller).
- initial support for qr in constraint_method profile key
[BUG FIXES]
- Updated ::Constraints example docs to be accurate: recommend :closures, not :all
[INTERNALS]
- provide a more accurate debugging message for constraint_method_regexp_map
4.01 Sat Aug 20 13:16:47 EST 2005
[ENHANCEMENTS]
- get_input_data() now supports the parameters "as_hashref => 1" to
return the input data in a uniform way.
[INTERNALS]
- Constraints may refer to fields that are 'unknown' to
Data::FormValidator. These unknown values will remain unfiltered
as before. (Michael Peters).
- _get_data() was renamed to _get_input_as_hash(). You shouldn't care.
4.00 Sun Aug 14 10:57:25 EST 2005
*** NOTE ***
This a major update with a significant code changes. While the test suite
indicates we have 100% compatibility with 3.x, you are encouraged to test
this release with your own applications before deploying it in a production
environment.
[ENHANCEMENTS]
- The constraints interface has been overhauled to be more intuitive to use
with parameterized constraints. This included added new two new profile
keys: 'constraint_methods' and 'constraint_method_regexp_map'. All of
the old syntax is still supported, but de-emphasized in the documentation.
See RELEASE_NOTES for details.
- A new method has been added to help building custom constraints:
"set_current_constraint_name('foo')" will set the name of a constraint
from within itself. An alias named 'name_this()' is provided for brevity.
See the section on "Writing your own constraints" in DFV::Constraints
for details.
- success() method added to Results object. This is an easy way to check
that there were no missing or invalid fields. (Michael Peters).
- 'separator' was misspelled consistently in the the docs, code and tests.
The proper spelling as well as the legacy typo spelling are now
supported, although the typo'ed version is no longer documented, except
for here. :) Thanks to Terrence Brannon for spotting this.
- The 'msgs' hash in the profile is now validated to make sure it includes only
valid keys. This should help to spot some errors faster.
- ::Constraints::Upload now supports CGI::Simple, thanks to David Emery.
- Documentation for required_regexp has been improved. (William McKee)
- support for coderefs as default values (Marcello)
- Improved field_filters documentation, thanks to Andrew Brosnan.
[BUG FIXES]
- RT#12220: Canadian Province RE were updated. (Steve Simms).
- The preferred MIME type was not being returned by the 'file_format'
constraint for file uploads. This would have only affected cases where
the mime type sent by the browser differed from the one detected by DFV.
Thanks to Randal Schwartz for spotting this. (RT#12744).
- Profile re-use when constraint_regexp_map is used is now fixed
(Thanks to Cees Hek).
- The date_and_time constraint now understands this format: MMDDYYYY.
(RT#12111, thanks to JMAY)
- This one is worth a brief explanation. When this old syntax was used:
my ( $valid, $missing, $invalid, $unknown ) = Data::FormValidator->validate({}, {} );
$invalid would be returned as an empty arrayref if there were no
invalids. This return value was undocumented, and was later changed to
be 'undef' sometime between 3.50 and 3.70. However, I found that some
applications, including Cascade, depended on the undocumented return
value (which they shouldn't have).
I have now reverted the behavior to returning an empty arrayref in this
case, added a test for it, and updated the docs to be explicit about the
return value. This will save some people unexpected breakages when
upgrading DFV from a very old version with very old applications.
Those who use the $results object are unaffected.
[INTERALS]
- Add many failing TODO tests for built-in filters. See t/filters_builtin.t
- A new test was added to check that no warnings are emitted when an untainted
constraint returns undef (Michael Peters)
module directory has changed (eg. "darwin-2level" vs.
"darwin-thread-multi-2level").
binary packages of perl modules need to be distinguishable between
being built against threaded perl and unthreaded perl, so bump the
PKGREVISION of all perl module packages and introduce
BUILDLINK_RECOMMENDED for perl as perl>=5.8.5nb5 so the correct
dependencies are registered and the binary packages are distinct.
addresses PR pkg/28619 from H. Todd Fujinaka.
Change log:
3.63
[BUG FIXES]
- email validation was beefed up to not permit spaces with e-mails
or semi-colons to get through. Thanks to Jason Crome for some tests
to this, and the Mail::VRFY module, which was the source of the
improved RE.
[INTERNALS]
- Added a couple more test to the distribution which were missing in
the MANIFEST
3.62 Fri Oct 8 22:55:49 EST 2004
[INTERNALS]
- Removed experimental label from 'msgs' functionality.
- Beefed up test suite for dependencies and dependency_groups (Drew Taylor)
3.61 Mon Sep 20 18:10:23 EST 2004
[BUG FIXES]
- file_format from ::Constraints::Upload now handles
non-existent files more gracefully. (Evan A. Zacks)
3.60 Mon Sep 20 18:10:23 EST 2004
[BUG FIXES]
- file_max_bytes seemed to never be reporting failure.