The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

Changes for version 4.30

  • FIX: Patch POD for CGI::Session in various places, to emphasize even more that auto-flushing is unreliable, and that flush() should always be called explicitly before the program exits. The changes are a new section just after SYNOPSIS and DESCRIPTION, and the PODs for flush(), and delete(). See RT#17299 and RT#34668
  • NEW: Add t/new_with_undef.t and t/load_with_undef.t to explicitly demonstrate the effects of calling new() and load() with various types of undefined or fake parameters. See RT#34668
  • FIX: Patch POD for new() and load() to clarify the result of calling these with undef, or with an initialized CGI object with an undefined or fake CGISESSID. See RT#34668. Specifically: You are strongly advised to run the old-fashioned 'make test TEST_FILES=t/new_with_undef.t TEST_VERBOSE=1' or the new-fangled 'prove -v t/new_with_undef.t', for both new*.t and load*.t, and examine the output
  • FIX: Patch POD in various tiny ways to improve the grammar

Changes for version 4.29_2

  • FIX: stop ExtUtils::MakeMaker trying to create Build.PL (Ron Savage)
  • FIX: Disable trying to use utf8 in tests. (Ron Savage) Ref RT#21981, RT#28516

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