3.71 Sun Jul 31 12:28:21 EST 2005
    [BUG FIXES]
    - 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.

    [INTERNALS]
    - Add many failing TODO tests for built-in filters. See t/filters_builtin.t

3.70 Tue Jul 19 21:02:06 EST 2005

    [ENHANCEMENTS]
    - DFV::Constraints::Upload can now be used with CGI::Simple (David Emery)

    - success() method added to Results object. This is an easy way to check
      that there were no missing or invalid fields. (Michael Peters).  To make
      an even more compact syntax, you can simply use the $results object in a
      boolean context to check for success. The CGI::Application ValidateRM
      plugin will make use of this. 

    - '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.

    - Documentation and test improvements related to missing_optional_valid

    - Update CA province codes (Steve Simms)

   [BUG FIXES]
   - Possibly fix mod_perl/CGI.pm reloading bug

   [INTERNALS]
   - Location of public darcs repo is mentioned in the docs

   - A new test was added to check that no warnings are emitted when an untainted
      constraint returns undef (Michael Peters)
  
   - Several test updates and documentation improvements. 

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.

3.59 Thu Jul 02 2004
    [ENHANCEMENTS]
    - Added more tests for Date constraints, and removed some more warnings (Michael Dorman)

    [BUG FIXES]
    - Fixed failing dependency check happening sometimes with a CGI object as input. (Drew Taylor)

3.58 Wed May 05 2004
    [ENHANCEMENTS]
    - Test suite has been migrated further to 'Test::More' style, and
      all tests should complete without any warnings. A big thanks
      goes to Gabor Szabo for this work.  

3.57 Wed Apr 21 2004 
    [ENHANCEMENTS]
    - 'validator_packages' now handles the importing of filters as well as constraints.
       (Ronald Kimball)

    - Added profile validation check for hashref style constraints. This will
      make typos in key names easier to find. (Barry Hoggard, for demonstrating
      the need.) 

    [BUG FIXES]
    - no longer try to use a Carp module method without having it loaded. Instead,
      we just call "die" now. (Gunnar Wolf)

3.56 Fri Apr 16 2004 
    [BUG FIXES]
    - Fixed a mis-handling of unknown variables. Functionality brought inline
      with documented behaviour (Richard Clarke)
    - fixed bug image dimensions test in DFV::Constraints::Upload (Barry Hoggard)

    [ENHANCEMENTS]
    - added mention of HTML::Template::Associate::FormValidator to SEE ALSO

3.55 Wed Mar 25 2004
    - better diagnostics when a filters fail.

3.54 Wed Mar 24 2004 
    [BUG FIXES]
    - Fixed a mis-handling of invalid constraints introduced in 3.53 (Kevin Baker).  

    [ENHANCEMENTS]
    - Refactored and improved some contraint related tests (Kevin Baker)
    - clarified documentation for uploading constraints to mention that a
      CGI.pm object is needed for input.

3.53 Mon Mar 22 2004
    [BUG FIXES]
    - Removed bug introduced in 3.52 that would have mis-handled files that had
      some filters applied, and were then used as parameters in constraints for
      multiple fields. (Kevin Baker) 
    - Possibly fixed t/24_upload.t test on Windows platforms (podmaster)

3.52 Sun Mar 21 2004
    [BUG FIXES]
    - After a constraint failed, future constraints relying on the same input
      parameters may have falsely failed. (Kevin Baker)  
    - Untainting of false values (such as '0') was broken, and has been fixed.    
      (Kato Atsushi)

    [ENHANCEMENTS]
    - the profile syntax checker now reports all invalid keys, instead of just
      the first one.  Also, this code was refactored to be a bit faster. (Kevin Baker).


3.51 Thu Feb 26 2004
    [THINGS THAT MIGHT BREAK YOUR CODE]
    - The default formatting now uses the 'class' attribute in the <span> tag instead
      of the 'id' attribute. This shouldn't be a big deal and may actually make
      CSS styling easier, but it is a change. (Drew Taylor)

    [BUG FIXES]
    - In some cases empty fields were marked as 'valid' under mod_perl when they shouldn't be.
      (Drew Taylor)
    - Prevent unnecessary death due to $@ being set. (Kevin Baker) 
    - Fixed documentation typo related to writing your own constraints (Stewart Russell)

    [ENHANCEMENTS]
    - valid() can now return multiple values in array context.
    - Mention Data::FormValidator::Util::HTML
    - Added new t/constraints_builtin.t as a beginning of more through testing
      of the built-in constraints.  
    - Several documentation updates (Kevin Baker)

3.50 Mon Jan 12 2004
    - No functionality changes since 3.49_1, I'm just declaring it stable.
    - I did sneak in the addition of a $VERSION in a couple included modules
    where none had been provided before.

3.49_1
	[THINGS THAT MIGHT BREAK YOUR CODE]
	- A change has been made to Data::FormValidator::Constraints::Upload,
	and only affects constraints in that module. Meta data will no longer
	be provided by adding additional "_info" fields to the valid hash.
	The same data is now available through the new meta() method of the
	Data::FormValidator::Results object. 

	[NEW FEATURES]
	- A new meta() method has been added to the Data::FormValidator::Results
	class. This function allows constraints to communicate meta data
	they discover about the values during the validation process. 
	For example, a file size may be discovered while checking to see
	if the file size is too large. This is only currently being
	used in Data::FormValidator::Constraints::Upload.

3.15 Sun Nov 03 2003
    - Instead of explictly supporting CGI and Apache::Request objects, now any
      object which has a param() method can be used. In particular, this allows
      CGI::Simple to be used. 

      Before, if you used an object which was not CGI or Apache::Request, it would
      treat the object as a hash reference and possibly work. Now it will die
      with a diagnostic message in this case.  (Cees Hek)

    - Many documentation typo fixes (Cees Hek and Timothy Appnel)

    - The dependency on Module::Build to install the distribution has been
      removed. Now either Module::Build or the traditional MakeMaker system can
      be used.

3.14
    [BUG FIXES]
    - fixed POD syntax issue in Constraints.pm that was causing a 'make test' 
      failure with Test::Pod >.96

3.13 Sun Nov 02 2003
    [THINGS THAT MAY BREAK YOUR CODE] 
    - How the Regexp::Common integration has changed. The old functionality was
      to match the regular expression as a substring of the field being
      testing. Now it is more restrictive and only matches the entire string.
      This is how all the other filters worked, and is probably how you expected
      the Regexp::Common filters to work as well.

    [BUG FIXES]
	- uninitialized values in filters no longer cause warnings. (addresses bug #2751).
    - documentation typo fixes

    [ENHANCEMENTS]
	- improved syntax to be compatible with Perl 5.005
    - Added "cover" method to "Build" script. This uses Devel::Cover to generate
      a coverage report for the script
    - About 5 new tests for loading profiles from a file

3.12 Tue Jun 22 2003 
	- don't die in ::Upload if we can't find the tmp file.
	  Instead, the constraint fails and a warning is emitted. 

	- Added "image/pjpeg" to list of default mime types to use with file_format.
	  This is for the "progressive JPEG" format.

    - Several documentation improvements, thanks to Mike Fragassi.

3.11 Tue May 27 2003
	- Bug Fix: "qr" support now works better with older versions of Perl
	  (Mike Fragassi)

3.10 Mon May 26 2003 
	- New Feature: Any regular expression from Regexp::Common can now be used
	  directly as a named constraint. See Data::FormValidator::Constraints
	  documentation for an example syntax. 

	- Bug Fix: fixed imported_validators error that could occur if the same
	  profile was used more than once with the same DFV object.

	- improved support and testing of 'qr' a bit.


3.01 Thu May 15 2003
	This release fixes addresses a couple of issues related to the new support
	for error message handling through msgs() and "qr" support. If you aren't
	using these features, there's no need to upgrade. 

	- New Feature: Updated msgs() documentation and removed the requirement
	that 'msgs' be defined in profile for default formatting to be used with
	msgs() method call.

	- Bug Fix: Using named constraints wtih the new "qr" support now works.

3.00 Sun May 11 2003
	- New Feature: added debug option
	- Make default msgs in "new" constructor work as it was supposed it 2.11_04
	- Bug Fix: missing_optional_valid now works better when the input data comes
		from a CGI.pm or Apache::Request object (David Ranney)
	- Upload.pm syntax updated to no longer require Perl 5.6+ syntax
	- New Feature: Upload.pm now first tries to use File::MMagic and MIME::Type 
      to more intelligently determine the file type and an appropriate extension.

2.11_04
	- Major documentation overhaul. It should now be easier to browse and grok.

	- New Feature: defaults can be passed to new() that will be used for all
	  forms made from that object.

	- New Feature: Added support for quoting regular expressions using "qr" 
	  instead of defining them as strings. This is now the preferred method.
	  Defining regular expressions as strings is deprecated but supported.

	- New Feature: Friendly die statements when you have typos in filter 
		and constraint names. (Instead of mysterious suicide). 

	- Fixed syntax error in Upload.pm documentation
	- Bug Fix: error checking in valid_file_format in Upload.pm
	- Bug Fix: fixed bug related to returning constraint names introduced
		in 2.11_03.

2.11_03
	- The code has now been reorganized, following the module of HTML::FormValidator.
	  Filters, Constraints, and Results are now all handled in their own modules. 

	- The "msgs" error functional has now been re-designed, and is not
	  backwards compatible. Feedback on this experimental addition is encouraged.

	- New Feature: Added ConstraintsFactory.pm module to distribution

2.11_02
	- New Feature: Support for Apache::Request objects
	- New Feature: Now when constraint_regexp_map is used
		and one or more constraints is already defined, the new
		matching constraint is added to the list of constraints 
		applied, rather than superceding the old one. 

2.11_01 (A BETA release)

	- New Feature: Added Data::FormValidator::Constraints::Upload
		to the distribution.

	- New Feature: Added Data::FormValidator::Constraints::Dates
		to the distribution.

	- The functionality of returning errors with the experimental 
	  msgs feature has changed a bit. Now if you define multiple constraints,
	  the messages will always be returned as an array reference, instead of
	  when only there was more than one message. This should improve
	  integration with HTML::Template.

	- New Feature: When using multiple constraints defined as hash references,
	  the "name" attribute will default to name of the constraint, if it is
	  being called by name. 

	- added documentation for writing your own validation routines.
	- New Feature: Added 'valid' accessor/mutator method to manage
	  and manipulate the result set. This can be useful to modify 
	  the result set from within a constraint.

	- New Feature: Added "constraint_method" as an alternative
		to "constraint" in the hash-based constraint definition. 
		Related to this, there are new accessor methods for use
		inside of custom constraints:
			get_input_data();
			get_current_constraint_field();
			get_current_constraint_value();

		This whole arrangement brings support for multi-valued constraints with
		constraint_regexp_map

	- various documentation clean ups

2.10 Sun Apr 20 2003
	- New Feature: (EXPERIMENTAL) Added support for returning error messages
	  for missing and invalid fields (Juan Jose Natera Abreu).
	  This piece of functionality is marked as experimental because
	  the interface may change in the near future, and it has not been
	  tested as well as rest of the module. Search in the documentation for
	  "msgs" for the details.

	- New Feature: added support for building with Module::Build. For more
	  information on Module::Build, read this:
	  http://magnonel.guild.net/~schwern/talks/MakeMaker_Is_DOOMED/slides/

	- New Feature: included SIGNATURE file in distribution for verification
	  with Module::Signature

2.04 Fri Apr 11 2003
	- Bug Fix: multiple parameters passed to a constraint
	were not being handled appropriately in some cases. (Markus)
	- Bug Fix: Calling "validate" as a class method in combination
	with using "validator_packages no longer causes a problem.

2.03 Thu Apr 10 2003
     - Bug Fix: use of "delete" syntax with multiple values updated
	 	to be backwards compatible with Perl 5.005 (Jonathan Buhacoff) 

2.02 Wed Apr 09 2003
	- Bug Fix: fixed bug with required_regexp and optional_regexp triggered  
	if there is no required_regexp or optional_regexp in the profile *and*
	something exists in $@ (Dom)

2.01 Wed Apr 02 2003
	- Bug Fix: Fix bug introduced in 1.93 which didn't handle
		input values appropriately that were references to other things
		besides arrays. (Boris Zentner)

2.00 Sat Mar 22 2003
	- Bug Fix: Fixed bug where all code references were treated as if the were
	  using the 'multiple constraints' feature.  This bug was likely introduced
	  in 1.93 (Chris Spiegel)
	- Bug Fix: Fixed bug which caused a failllure when using some sides of
	  subroutine constraints within the "multiple constraints" syntax. 
	  (Chris Spiegal}

1.93 Sun Mar 09 2003
	- New Feature: Keys with multiple values are now supported
	- New Feature: A CGI.pm object can now be used to provide the input data
	- Bug Fix: pattern matching is faster in some cases now by not using $&
	  (Tony Stubblebine)
	- Bug Fix: better support for using valid_* packages imported from other
	  packages. (Alexander Solovey)
	- added link to demo site in documentation
	- fixed typo in documentation example (Kato Atsushi)
	- added link to Japanese translatation of the documents (Kato Atsushi)

1.92 Sun Dec 22 2002
    - support for untainting data (Tony Stubblebine)
	- documentation typo fixes (Charlie Garrison)
	- validator_packages added to profile specification
	  allowing import of validation routine from other packages (Jeremy Muhlich)
	- support for multiple constraints per field added (Jeremy Muhlich)
	- support for literal values in constraint param field (Jeremy Muhlich)

1.91 Sun Oct 05 2002
	- Added feature to require some fields in a group. (Brad Smithart)
	- Bumped version to be greater than 1.9 to make CPAN.pm fetching work again

1.11 Sat Jun 29 2002 
	- Fixed small bug where constraint arrays were tested with truth rather than length. (Maurice Aubrey) 
	- Fixed documentation bug for american_phone validation (Dan Puro)
	- Added documentation for simplified syntax using a class method  
	- Added profile syntax checking to help catch misspelled keys faster

1.10 Sun Apr 21 2002
	- Added code for field_filter_regexp_map (Tim Noll)

1.9  Sun Feb 17 2002
	- Fixed bug introduced in 1.8 which caused missing optional fields to 
	  wrongly subjected to constraint checking

1.8   Thu Feb 14 2002
	- Added link to Data::FormValidator::Tutorial in SEE ALSO section
	- Added "missing_optional_valid" flag to profiles to allow missing
	  optional fields to be considered valid

1.7   Sat Nov 03 2001
    - Fixed broken constraint_regexp_map implementation. If you
	  followed the example syntax in the documentation your regular
	  expression could have failed to match when it should have
	  succeeded. This feature now works as advertised in the
	  documentation. 
    - Updated documentation to reflect new mailing list and public
      CVS server.

1.6   Sun Sep 23 2001
	- Fixed bug with undefined lists by using empty lists instead (Ronald Kimball)
	- added IP address validation routine (Juan Jose Natera Abreu)

1.5.1 Wed Jul 18 2001
	- Updated version number to circumvent CPAN issue. No code changes. 

1.5   Thu Jun 28 2001
	- Added more flexible dependency system (Ade Olonoh)

1.4   Fri Jun 22 2001
	- Fixed bug with code references (T.J. Mather)

1.3   Tue Jun 19 2001
	- Now maintained by Mark Stosberg <mark@stosberg.com>
	- Added constraint_regexp_map, required_regexp, optional_regexp
	- filter functions are exported
	- Renamed to Data::FormValidator from HTML::FormValidator

# arch-tag: Mark_Stosberg_<mark@summersault.com>--2004-03-20_18:34:51