Changes for version 4.29_2
Changes for version 4.29_1
- Special Thanks to Ron Savage who did the bulk of the work to put this release together.
- FIX: Patch CGI::Session to fix RT#29138 (Patch by Barry Friedman)
- NEW: Add a note to CGI::Session's POD referring to utf8 problems, and include references to RT#21981 (Reported by erwan) and RT#28516 (Reported by jasoncrowther)
- FIX: Patch CGI::Session::Driver::DBI.pm to fix RT#24601 (Patch by latypoff)
- FIX: Patch CGI::Session::Driver::DBI.pm to fix RT#24355 (Reported by fenlisesi, patch by Ron Savage)
- NEW: Add t/bug24285.t to ensure session data files are created properly when the user specifies a directory other than /tmp (Reported by William Pearson RT#24285, patch by Ron Savage)
- FIX: Patch t/ip_matches.t and t/bug21592.t to remove test files left in /tmp, to fix RT#29969 (Reported by ANDK, patch by Ron Savage)
- FIX: Patch POD for CGI::Session::Driver::file to clarify how to use the option to change the file name pattern used to created session files (Report by appleaday RT#33635, patch by Ron Savage)
- FIX: Patch CGI::Session::Driver::sqlite to add sub DESTROY to fix RT#32932 (Patch by Alexander Batyrshin, corrected by Ron Savage)
- FIX: Remove CGI::Session::Seralize::json and t/g4_dbfile_json.t until such time as this code can be made to work reliably. Both JSON::Syck and JSON::XS have been tried, and in both cases t/g4_dbfile_json.t dies horribly (but differently). Patch POD for CGI::Session to remove references to JSON. RT#25325 (Reported by bkw, patch by Ron Savage)
- NEW: Patch CGI::Session's POD and load() to allow the session/cookie name default of CGISESSID to be overridden. (Patch by Lee Carmichael RT#33437, reformatted by Ron Savage). Lee has also patched t/name.t to test the new functionality
- NEW: Split CGI::Session::Serialize::yaml out into its own distro. Get it hot from CPAN!
- NEW: Add Build.PL for Module::Build users. This also requires adding PL_FILES => {} to Makefile.PL to beat ExtUtils::MakeMaker over the head, otherwise it executes 'perl Build.PL Build'
- NEW: Support specification of both the id column name and the a_session column name in the sessions table, by extending the options acceptable in CGI::Session->new(..,..,{here}). Allow: {TableName => 'session', IdColName => 'my_id', DataColName => 'my_data'}. Default: {TableName => 'sessions', IdColName => 'id', DataColName => 'a_session'}. Allow any 1, 2 or 3 of these options. Missing keys default as specified. (Patch by Chris RT#2224. Implemented differently by Ron Savage). Supported drivers: o MySQL (native to CGI::Session) o ODBC (separate distro, CGI::Session::Driver::odbc V 1.01) o Oracle (separate distro, CGI::Session::Driver::oracle V 1.01) o Postgres (native) o SQLite (native)
Changes for version 4.20_1
- FIX: -ip_match now works even when it's not the last import item. (RT#21779)
- FIX: In the PostgreSQL driver, a race condition is when storing is now worked around. (Mark Stosberg)
- FIX: Added important clarification and example to MySQL driver docs that the session column needs to be defined as a primary key to avoid duplicate sessions. (Justin Simoni, Mark Stosberg)
- FIX: The default serializer now works correctly with certain data structures. (RT#?) (Matt LeBlanc)
- FIX: A documentation bug in find() was fixed (Matt LeBlanc)
- FIX: Documented how to declare a database handle to be used on demand, which was introduced in 4.04. (Mark Stosberg)
- FIX: Connections made with SQLite now disconnect only when appropriate, instead of always. This addresses a symptom seen as "attempt to prepare on inactive database handle" (Jaldhar Vyas, Sherzod, Mark Stosberg)
- FIX: Args to the constructor for CGI::Session and the drivers are now always shallow copied rather than used directly, to prevent modification. (RT#21952, Franck Porcher, Sherzod, Mark Stosberg)
- FIX: The documentation for expire($param, $time) was made more explicit (pjf, Mark Stosberg)
- NEW: Added recommended use of flush() to the Synopsis (Michael Renner, RT#22333)
- NEW: Added links to Japanese translations of the documentation (Makio Tsukamoto) http://digit.que.ne.jp/work/index.cgi?Perldoc/ja
- INTERNAL: Update test to workaround YAML versions less than 0.58. (Matt LeBlanc)
- INTERNAL: param() code was refactored for clarity (Mark Stosberg, Ali ISIK, RT#21782)
- INTERNAL: new() and load() were refactored (Ali Isik)
- INTERNAL: renamed some environment variables used for testing (Ron Savage)
- INTERNAL: Multi key-value syntax of param() now always returns number of keys successfully processed, 0 if no key/values were processed.
Modules
persistent session data in CGI applications
CGI::Session driver specifications
Base class for native DBI-related CGI::Session drivers
CGI::Session driver for BerkeleyDB using DB_File
Default CGI::Session driver
CGI::Session driver for MySQL database
PostgreSQL driver for CGI::Session
CGI::Session driver for SQLite
error handling routines for CGI::Session
CGI::Session ID driver
default CGI::Session ID generator
CGI::Session ID Driver for generating static IDs
Default CGI::Session serializer
serializer for CGI::Session
Serializer for CGI::Session
Extended CGI::Session manual
Provides
in lib/CGI/Session/Test/Default.pm
in lib/CGI/Session/Test/Default.pm
in lib/CGI/Session/Test/Default.pm