The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
Revision history for Perl extension Data::Session.

1.16  Thu Apr  3 17:53:00 2014
	- Rewrite a bit of code which used 'each', to not update the hash being processed, because 'each'
		gets confused. See http://blogs.perl.org/users/rurban/2014/04/do-not-use-each.html.
		Thanx to Reini Urban for that article.

1.15  Fri Jun 21 11:43:00 2013
	- Update pre-reqs thus: Pragmas shipped with Perl are now version 0 only. This means they are expected
		to be present, but a specific version # is not important. As per advice by Father C. (for a different
		module). Pragmas affected: autovivification, overload, parent, strict, vars and warnings.
	- Update various other module version pre-reqs, including CGI to V 3.63. The test for equality in t/basic.t
		for CGI cookies and HTTP header failed on CGI V 3.53, and work has been done in CGI V 3.63 in that
		area. Hopefully this pre-req change fixes that problem (which was detected on 1 CPAN Tester machine).

1.14  Wed Jun 19 17:07:00 2013
	- No code changes.
	- Rename CHANGES to Changes as per CPAN::Changes::SPEC.
	- Update pre-reqs.

1.13  Thu May  3 11:23:00 2012
	- In parse_options(), the result of parsing the 'type' (driver:Pg;id:MD5;serialize:DataDumper)
		was printed both for verbose == 1 and verbose > 1. Now it's only printed if verbose > 1.
	- Apart from the above, no other code changes. Just additions to the docs, as follows...
	- Add important section to the docs, under FAQ: Guidelines re Sources of Confusion.
		(a) Firstly, explain (with examples) the difference (for CGI::Snapp-derived scripts) between:
		$self -> param(a_key => 'a_value');
		and
		$self -> param('session') -> param(a_key => 'a_value');
		(b) Explain at what stage in a CGI script flush() should be called.
		(c) Then, explain (with examples) that:
		$self -> param('session') -> param(a_hash => %a_hash);
		will fail, and you must use a hashref:
		$self -> param('session') -> param(a_hash => {%a_hash});
		Likewise for arrays 'v' arrayrefs.

1.12  Tue Apr 24 15:13:00 2012
	- After prompting by William Bulley (many thanx!) I found a range of issues which have been addressed:
	- Some combinations of options to new() triggered an unjustifiable die, so code in validate_options()
		has been simplified.
	- Add new demos in scripts/: cgi.demo.cgi (CGI script), cgi.sha1.pl (command line script), and file.sha1.pl.
	- Copy scripts/cgi.demo.cgi into the Synopsis, since such a self-contained CGI demo was lacking.
	- Copy scripts/file.sha1.pl into the Synopsis, to go with scripts/file.autoincrement.pl. These demonstrate
		the different uses of file_name and id_file as options to new().
	- Clean up some typos within the other demo code in the Synopsis.
	- Clean up similar typos in scripts/file.autoincrement.pl.
	- Expand the discussion of how certain options to new() interact. See Combinations of Options.
	- Fix various typos throughout the PODs.
	- Switch from Module::Load to Class::Load.
	- Change the versions of the pre-reqs to correspond to what was available with Perl V 5.10.1.

1.11  Fri Jul  8 11:17:00 2011
	- Replace DBIx::Admin::DSNManager with Config::Tiny, to make it easier to put Data::Session into Debian.
	- In Build.PL, shift DBIx::Admin::CreateTable from requires to build_requires. Config::Tiny goes there too.
	- In the test code, change both sleeps from 2 to 3 seconds, to see if that solves rare test failures.
	- In the test code, use File::Basename's fileparse rather than a regexp to see if the SQLite directory exists.
	  This should fix some test failures under Windows.

1.10  Tue Jun 21 16:42:00 2011
	- After some marvellous debugging by Jeff Lavallee, one of the CPAN testers, I've changed O_RDONLY to O_RDWR in
	  Data::Session::Driver::File, to deal with a flock problem. This code was copied from CGI::Session, which may
	  therefore still have the same problem.
	- Also, $! is now included in error messages, both in Data::Session::Driver::File and Data::Session::ID::AutoIncrement.
	  Because this reveals directories in paths, $! is only displayed when new(debug => 1) is used in Data::Session.

1.09  Fri Jun 17 14:22:00 2011
	- Revert change in 1.08, which produces errors during global destruction.
	  This means, to save a session, you must store something in it, to force the session to be modified.
	- Duplicate, briefly, the explanation of sessions and flushing, as the new first point in the FAQ.
	- Changes some debug messages (relating to session and parameter expiry) which were ambiguous.

1.08  Fri Jun 17 13:07:00 2011
	- Ensure new sessions, and not just modified ones, are written during flush().

1.07  Mon May 16  9:23:00 2011
	- Remove redundant declaration of id() in Data::Session::ID::Static, which was producing the message:
	  field "id" redefined or overridden at ... line 10.

1.06  Thu May 12 12:01:00 2011
	- No code changes.
	- Patch the tests to parse the DSN more closely, to skip tests if the SQLite directory /tmp does not exist.
	  This directory is present in t/basic.ini and t/bulk.ini.

1.05  Tue Apr 12 13:11:00 2011
	- Eliminate references to /tmp by using File::Temp::newdir. This applies to docs and various scripts/*.pl.
	- Patch t/Test.pm to use DBI.
	- Patch t/basic.t to avoid a used once error on $BerkeleyDB::Error.
	- Add configure_requires => { 'Module::Build' => 0.38 } to Build.PL.
	- Reformat Build.PL and Makefile.PL now that we've reverted from Padre to Emacs (due to install issues).
	- Add META.json to files tracked by git.

1.04  Wed Feb 16 11:55:00 2011
	- Replace /usr/bin/perl with /usr/bin/env perl.
	- Replace common::sense with use strict and use warnings, to get uninit var warnings.

1.03  Fri Dec 24 17:36:00 2010
	- Add DBD::SQLite to the list of pre-reqs.
	- Patch POD warning users to avoid Storable due to this bug:
		http://rt.cpan.org/Public/Bug/Display.html?id=36087

1.02  Tue Dec 14 11:16:00 2010
	- Change handling of parameters passed to cookie(), so that the caller may pass extra parameters to
		the query object's cookie() method.
	- Document the $atime parameter to the atime() method.
	- Change the POD structure, so that all methods are assigned a level of head2 under a head1 of Methods.
	- Various small corrections to the POD.

1.01  Wed Dec  1 16:35:00 2010
	- In t/basic.t, use Module::Load to load BerkeleyDB and Cache::Memcache conditionally, and exit cleanly
		if they are not installed.

1.00  Tue Nov 30 14:08:00 2010
	- Original version.