Revision history for Perl extension CGI::Session::ExpireSessions.

1.08  Mon Jun 12 11:32:00 2006
	- Version 1.07 was never uploaded to CPAN. It was just available from my site, and was meant
		for testing the proposed callback mechanism in CGI::Session::find. That mechanism was
		changed before CGI::Session 4.14 was released, so my module's code now changes to match.
		Also, since CGI::Session has been patched so its sub find() no longer updates the session's
		access time, my module now uses atime instead of ctime when checking for expiry

1.07  Wed Apr 12 14:36:00 2006
	- Add method expire_sessions() which uses CGI::Session V 4 method find() to find all sessions,
		and then expires sessions if appropriate. All this without evaling the contents of the session
		and which therefore resolves RT bug 16069
	- Document the new method and the new parameters to new()
	- Add test t/03-delete-via-find.t to test the new code
	- Add examples/expire-set.pl to demonstrate and document further ways of using the new method
	- Make CGI::Session V 4.13 a prerequisite

1.06  Tue Apr  4 10:04:00 2006
	- Add binmode after open in sub expire_file_sessions
	- Change "eval $session[0]" into "eval join('', @session)" to handle session data containing \n
	- Add a new test, t/new-line.t, to test session data containing \n
	- The problem with session data containing \n characters was reported via RT by m-uchino at yetipapa.com

1.05  Wed Oct 26 11:25:00 2005
	- Untaint the data read in from the sessions table before eval-ing it.
		The problem, reported (with a code patch) by Dr RA Jones, was that
		the original code triggered an insecure dependency warning when running
		under -T, but only when using DBD::PgPP under MS Windows.
		The exact reason for this warning in this situation remains a mystery
	- Simplify code in new() to no longer check if caller is an object
		as per the new standard on such matters

1.04  Tue Nov 02 15:20:00 2004
	- Note: All files referred to here match the CGI::Session file name format /cgisess_[0-9a-f]{32}/
	- Fix the assumption in sub expire_file_sessions() that the program was being run in the temp directory,
		by adding the temp directory's name as a prefix to all file names.
		Original patch: Matthias Bläsing
	- Fix sub expire_file_sessions() to delete files of size <= 5 bytes which are old enough. Files of size 0
		are sometimes created by CGI::Session under unknown circumstances.
		As always, use new(delta => 123) to change the definition of 'old enough'
	- Fix verbose message for file session where it should have referred to $$D{'_SESSION_ID'}
		and not $$D{'id'}. The latter was a careless copy-and-paste from the database code
	- Ignore recent files whose size is <= 5 bytes
	- Change text of verbose messages from 'Time lapsed' to 'Time elapsed'
	- Add a security warning to the POD. Actually this comment is redundant, because you always read the POD,
		right?

1.03  Mon Jul 19 14:47:00 2004
	- Change Makefile.PL to coexist with Module::Build
	- Add t/pod.t to test all PODs

1.02  Tue Jun 29 10:08:00 2004
	- Add code so sessions which have already expired are also deleted.
		Originally, the module allowed you to force sessions to expire, via the delta parameter to new().
		Now it also checks for sessions which have already expired, that is for sessions which CGI::Session
		would delete automatically when retrieving them. Thanx to Adam Gent for this suggestion
	- Rewrite the POD where it discusses expiration and deletion

1.01  Tue Apr 27 10:01:00 2004
	- Add another parameter to new(): table_name. This allows you to store sessions in a table with
		a non-default name. The default name is of course 'sessions'. Thanx to Mark Stosberg for this
		suggestion
	- This module does not work with Mark's module CGI::Session::PureSQL. The best solution to this
		problem seems to be to extend CGI::Session to offer a session iterator. This suggesion is also
		from Mark. I will propose this today to the author of CGI::Session when I report the bug in
		CGI:Session V 3.94 line 168, which says:
			if ( $arg->isa('CGI') )
		This bug means classes such as CGI::Simple can't be used here as a replacement for CGI.
		The code needs to be something like:
			if ($arg -> can('cookie') )...
			elsif ($arg -> can('param') )...

1.00  Mon Apr 19 12:37:29 2004
	- Original version
