Version 3.25 1. Fixed the link to the Netscape frames page. 2. Added ability to specify an alternate stylesheet. Version 3.24 1. In startform(), if request_uri() returns undef, then falls back to self_url(). This should rarely happen except when run outside of the CGI environment. 2. image button alignment options were mistakenly being capitalized, causing xhtml validation to fail. Version 3.23 1. Typo in upload() persisted, now fixed for real. Thanks to Emanuele Zeppieri for correct patch and regression test. Version 3.22 1. Typo in upload() function broke uploads. Now fixed (CPAN bug 21126). Version 3.21 1. Don't try to read data at all when POST > $POST_MAX. 2. Fixed bug that caused $cgi->param('name',undef,'value') to unset param('name') entirely. 3. Fixed bug in which upload() sometimes returns empty. (CPAN bug #12694). 4. Incorporated patch from BURAK@cpan.org to support HTTPcookies (CPAN bug 21019). Version 3.20 1. Patch from David Wheeler for CGI::Cookie->bake(). Uses mod_perl headers_out->add() rather than headers_out->set(). 2. Fixed problem identified by Andrei Voronkov in which start_form() output was screwed up when initial argument begins with a dash and subsequent arguments do not. 3. Quashed uninitialized variable warnings coming from script_name(), url() and other functions that require access to the PATH_INFO environment variable. Version 3.19 1. Added patch from Stephen Frost that allows one to suppress use of the temp file that is created during uploads. 2. Fixed problem noted by Martin Foster in which regular expression meta-character terms in the path information were not quoted, causing URL parsing to fail on URLs that contained metacharacters (such as +). 3. More fixes to the url() method. 4. Removed "hack to fix broken PATH_INFO in MSII". Version 3.18 1. Doc typo fixes. 2. Patch from Steve Peters to default the document type to match the charset. 3. Fixed param() so that param(-name=>'foo',-values=>[]) sets the parameter to empty list. Version 3.16 Wed Feb 8 13:29:11 EST 2006 1. header() -charset option now works even when the MIME type is not "text". 2. Fixed documentation for cookie() function and fastCGI. 3. Upload filehandles now only closed automatically on Windows systems. 4. Apache::Cookie compatibility fix from David Wheeler 5. CGI::Carp->fatalsToBrowser() does not work correctly with mod_perl 2. No workaround is known. 6. Fixed text status code associated with 302 redirects. Should be "Found" but was "Moved". 7. Fixed charset in start_html() and header() to be in synch. Version 3.15 Wed Dec 7 15:13:22 EST 2005 1. Remove extraneous "?" from self_url() when URI contains a ? but no query string. Version 3.14 Tue Dec 6 17:12:03 EST 2005 1. Fixed broken scrolling_list() select attribute. Version 3.13 1. Removed extraneous empty "?" from end of self_url(). Version 3.12 1. Fixed virtual_port so that it works properly with https protocol. 2. Fixed documentation for upload_hook(). 3. Added POSTDATA documentation. 4. Made upload_hook() work in function-oriented mode. 5. Fixed POST_MAX behavior so that it doesn't cause client to hang. 6. Disabled automatic tab indexes and added new -tabindex pragma to turn automatic indexes back on. 7. The url() and self_url() methods now work better in the context of Apache mod_rewrite. Be advised that path_info() may give you confusing results when mod_rewrite is active because Apache calculates the path info *after* rewriting. This is mostly worked around in url() and self_url(), but you may notice some anomalies. 8. Removed empty (and non-validating)
from code emitted by end_form(). 9. Fixed CGI::Carp to work correctly with Mod_perl 1.29 in an Apache 2 environment. 10. Setting $CGI::TMPDIRECTORY should now be effective. Version 3.11 1. Killed warning in CGI::Cookie about MOD_PERL_API_VERSION 2. Fixed append() so that it works in function mode. 3. Workaround for a bug that appears in Apache2 versions through 2.0.54 in which SCRIPT_NAME and PATH_INFO are incorrect if the additional path_info contains a double slash. This workaround will handle the common case of http://mysite.com/cgi-bin/log.cgi/http://www.some.other.site/args, but will not handle the uncommon case of a ScriptAlias directive that adds additional path information to the end of the translated URI. Version 3.10 1. Added Apache2::RequestIO, which is necessary for mp2 interoperability. Version 3.09 1. Fixed tabindex="0" when using CGI to create forms without a prior start_html 2. Removed warning about non-numeric MOD_PERL_API_VERSION. Version 3.08 1. update support for mod_perl 2.0. versions prior to mod_perl 1.999_22 (2.0.0-RC5) are no longer supported. Version 3.07 1. Fixed typo in mod_perl detection. Version 3.06 1. Fixed bare call to script() in start_html 2. Moved Fh::DESTROY out of autoloaded functions so as to avoid clobbering $@ when CGI functions are executed in an eval{} context. 3. mod_perl 2.0 version detection patch in CGI::Cookie provided by Allen Day. 4. autoEscape() flag is now respected when generating extra attributes. 5. Tests for *tag start/end generation from Shlomi Fish. 6. Support for can() method provided by Ron Savage. 7. Fix for lang='' when outputting XHTML. 8. Added support for chunked transfer encoding, as suggested by Hakan Ardo 9. Fixed clobbering of row and column headers in tableized radio and checkbox groups, as reported by Nicolas Thierry-Mieg. 10.