| 1 |
root |
1.1 |
Version 3.10 |
| 2 |
|
|
1. Added Apache2::RequestIO, which is necessary for mp2 interoperability. |
| 3 |
|
|
|
| 4 |
|
|
Version 3.09 |
| 5 |
|
|
1. Fixed tabindex="0" when using CGI to create forms without a prior start_html |
| 6 |
|
|
2. Removed warning about non-numeric MOD_PERL_API_VERSION. |
| 7 |
|
|
|
| 8 |
|
|
Version 3.08 |
| 9 |
|
|
1. update support for mod_perl 2.0. versions prior to |
| 10 |
|
|
mod_perl 1.999_22 (2.0.0-RC5) are no longer supported. |
| 11 |
|
|
|
| 12 |
|
|
Version 3.07 |
| 13 |
|
|
1. Fixed typo in mod_perl detection. |
| 14 |
|
|
|
| 15 |
|
|
Version 3.06 |
| 16 |
|
|
|
| 17 |
|
|
1. Fixed bare call to script() in start_html |
| 18 |
|
|
2. Moved Fh::DESTROY out of autoloaded functions so as to avoid |
| 19 |
|
|
clobbering $@ when CGI functions are executed in an eval{} |
| 20 |
|
|
context. |
| 21 |
|
|
3. mod_perl 2.0 version detection patch in CGI::Cookie provided by |
| 22 |
|
|
Allen Day. |
| 23 |
|
|
4. autoEscape() flag is now respected when generating extra |
| 24 |
|
|
attributes. |
| 25 |
|
|
5. Tests for *tag start/end generation from Shlomi Fish. |
| 26 |
|
|
6. Support for can() method provided by Ron Savage. |
| 27 |
|
|
7. Fix for lang='' when outputting XHTML. |
| 28 |
|
|
8. Added support for chunked transfer encoding, as suggested by |
| 29 |
|
|
Hakan Ardo |
| 30 |
|
|
9. Fixed clobbering of row and column headers in tableized radio |
| 31 |
|
|
and checkbox groups, as reported by Nicolas Thierry-Mieg. |
| 32 |
|
|
10. <Label> tags are now associated with form elements, as suggested |
| 33 |
|
|
by accessibility guidelines. |
| 34 |
|
|
11. The <?xml> directive produced by start_html is now turned off by |
| 35 |
|
|
default and the charset is specified in a <meta> directive. Apparently |
| 36 |
|
|
IE6 (and maybe some versions of Opera) were getting confused by this. |
| 37 |
|
|
12. Support for tab indexes. |
| 38 |
|
|
13. Retired the HTML docs. The POD docs are now primary documentation. |
| 39 |
|
|
14. CGI::Carp now correctly detects and handles Apache::Dispatch. |
| 40 |
|
|
15. CGI::Util::utf8_chr now correctly sets the UTF8 flag on 5.006 or |
| 41 |
|
|
higher perls (fix courtesy Slaven Rezic). |
| 42 |
|
|
|
| 43 |
|
|
|
| 44 |
|
|
Version 3.05 |
| 45 |
|
|
|
| 46 |
|
|
1. Fixed uninitialized variable warning on start_form() when running |
| 47 |
|
|
from command line. |
| 48 |
|
|
2. Fixed CGI::_set_attributes so that attributes with a - are handled |
| 49 |
|
|
correctly. |
| 50 |
|
|
3. Fixed CGI::Carp::die() so as to avoid problems from _longmess() |
| 51 |
|
|
clobbering @_. |
| 52 |
|
|
4. If HTTP_X_FORWARDED_HOST is defined (i.e. running under a proxy), |
| 53 |
|
|
the various functions that return HOST will use that instead. |
| 54 |
|
|
5. Fix for undefined utf8() call in CGI::Util. |
| 55 |
|
|
6. Changed the call to warningsToBrowser() in |
| 56 |
|
|
CGI::Carp::fatalsToBrowser to call only after HTTP header is sent |
| 57 |
|
|
(thanks to Didier Lebrun for noticing). |
| 58 |
|
|
7. Patches from Dan Harkless to make CGI.pm validatable against HTML |
| 59 |
|
|
3.2. |
| 60 |
|
|
8. Fixed an extraneous "foo=bar" appearing when extra style |
| 61 |
|
|
parameters passed to start_html; |
| 62 |
|
|
9. Fixed cross-site scripting bug in startform() pointed out by Dan |
| 63 |
|
|
Harkless. |
| 64 |
|
|
10. Fixed documentation to discuss list context behavior of |
| 65 |
|
|
form-element generators explicitly. |
| 66 |
|
|
11. Fixed incorrect results from end_form() when called in OO manner. |
| 67 |
|
|
12. Fixed query string stripping in order to handle URLs containing |
| 68 |
|
|
escaped newlines. |
| 69 |
|
|
13. During server push, set NPH to 0 rather than 1. This is supposed |
| 70 |
|
|
to fix problems with Apache. |
| 71 |
|
|
14. Fixed incorrect processing of multipart form fields that contain |
| 72 |
|
|
embedded quotes. There's still the issue of how to handle ones |
| 73 |
|
|
that contain embedded semicolons, but no one has complained (yet). |
| 74 |
|
|
15. Fixed documentation bug in -style argument to start_html() |
| 75 |
|
|
16. Added -status argument to redirect(). |
| 76 |
|
|
|
| 77 |
|
|
Version 3.04 |
| 78 |
|
|
|
| 79 |
|
|
1. Fixed the problem with mod_perl crashing when "defaults" button |
| 80 |
|
|
pressed. |
| 81 |
|
|
|
| 82 |
|
|
Version 3.03 |
| 83 |
|
|
|
| 84 |
|
|
1. Fix upload hook functionality |
| 85 |
|
|
2. Workaround for CGI->unescape_html() |
| 86 |
|
|
3. Bumped version numbers in CGI::Fast and CGI::Util for 5.8.3-tobe |
| 87 |
|
|
|
| 88 |
|
|
Version 3.02 |
| 89 |
|
|
|
| 90 |
|
|
1. Bring in Apache::Response just in case. |
| 91 |
|
|
2. File upload on EBCDIC systems now works. |
| 92 |
|
|
|
| 93 |
|
|
Version 3.01 |
| 94 |
|
|
|
| 95 |
|
|
1. No fix yet for upload failures when running on EBCDIC server. |
| 96 |
|
|
2. Fixed uninitialized glob warnings that appeared when file |
| 97 |
|
|
uploading under perl 5.8.2. |
| 98 |
|
|
3. Added patch from Schlomi Fish to allow debugging of PATH_INFO from |
| 99 |
|
|
command line. |
| 100 |
|
|
4. Added patch from Steve Hay to correctly unlink tmp files under |
| 101 |
|
|
mod_perl/windows |
| 102 |
|
|
5. Added upload_hook functionality from Jamie LeTaul |
| 103 |
|
|
6. Workarounds for mod_perl 2 IO issues. Check that file upload and |
| 104 |
|
|
state saving still working. |
| 105 |
|
|
7. Added code for underreads. |
| 106 |
|
|
8. Fixed misleading description of redirect() and relative URLs in |
| 107 |
|
|
the POD docs. |
| 108 |
|
|
9. Workaround for weird interaction of CGI::Carp with Safe module |
| 109 |
|
|
reported by William McKee. |
| 110 |
|
|
10. Added patches from Ilmari Karonen to improve behavior of |
| 111 |
|
|
CGI::Carp. |
| 112 |
|
|
11. Fixed documentation error in -style argument. |
| 113 |
|
|
12. Added virtual_port() method for finding out what port server is |
| 114 |
|
|
listening on in a virtual-host aware fashion. |
| 115 |
|
|
|
| 116 |
|
|
Version 3.00 |
| 117 |
|
|
|
| 118 |
|
|
1. Patch from Randal Schwartz to fix bug introduced by cross-site |
| 119 |
|
|
scripting vulnerability "fix." |
| 120 |
|
|
2. Patch from JFreeman to replace UTF-8 escape constant of 0xfe with |
| 121 |
|
|
0xfc. Hope this is right! |
| 122 |
|
|
|
| 123 |
|
|
Version 2.99 |
| 124 |
|
|
|
| 125 |
|
|
1. Patch from Steve Hay to fix extra Content-type: appearing on |
| 126 |
|
|
browser screen when FatalsToBrowser invoked. |
| 127 |
|
|
2. Patch from Ewann Corvellec to fix cross-site scripting |
| 128 |
|
|
vulnerability. |
| 129 |
|
|
3. Fixed tmpdir routine for file uploading to solve problem that |
| 130 |
|
|
occurs under mod_perl when tmpdir is writable at startup time, but |
| 131 |
|
|
not at session time. |
| 132 |
|
|
|
| 133 |
|
|
Version 2.98 |
| 134 |
|
|
|
| 135 |
|
|
1. Fixed crash in Dump() function. |
| 136 |
|
|
|
| 137 |
|
|
Version 2.97 |
| 138 |
|
|
|
| 139 |
|
|
1. Sigh. Uploaded wrong 2.96 to CPAN. |
| 140 |
|
|
|
| 141 |
|
|
Version 2.96 |
| 142 |
|
|
|
| 143 |
|
|
1. More bugfixes to the -style argument. |
| 144 |
|
|
|
| 145 |
|
|
Version 2.95 |
| 146 |
|
|
|
| 147 |
|
|
1. Fixed bugs in start_html(-style=>...) support introduced in 2.94. |
| 148 |
|
|
|
| 149 |
|
|
Version 2.94 |
| 150 |
|
|
|
| 151 |
|
|
1. Removed warning from reset() method. |
| 152 |
|
|
2. Moved |
| 153 |
|
|
|
| 154 |
|
|
and tags into the :html3 group. Hope this removes undefined CGI::Area |
| 155 |
|
|
errors. |
| 156 |
|
|
|
| 157 |
|
|
Changed CGI::Carp to play with mod_perl2 and to (hopefully) restore |
| 158 |
|
|
reporting of compile-time errors. |
| 159 |
|
|
|
| 160 |
|
|
Fixed potential deadlock between web server and CGI.pm when aborting |
| 161 |
|
|
a read due to POST_MAX (reported by Antti Lankila). |
| 162 |
|
|
|
| 163 |
|
|
Fixed issue with tag-generating function not incorporating content |
| 164 |
|
|
when first variable undef. |
| 165 |
|
|
|
| 166 |
|
|
Fixed cross-site scripting bug reported by obscure. |
| 167 |
|
|
|
| 168 |
|
|
Fixed Dump() function to return correctly formed XHTML - bug |
| 169 |
|
|
reported by Ralph Siemsen. |
| 170 |
|
|
|
| 171 |
|
|
Version 2.93 |
| 172 |
|
|
|
| 173 |
|
|
1. Fixed embarassing bug in mp1 support. |
| 174 |
|
|
|
| 175 |
|
|
Version 2.92 |
| 176 |
|
|
|
| 177 |
|
|
1. Fix to be P3P compliant submitted from MPREWITT. |
| 178 |
|
|
2. Added CGI->r() API for mod_perl1/mod_perl2. |
| 179 |
|
|
3. Fixed bug in redirect() that was corrupting cookies. |
| 180 |
|
|
4. Minor fix to behavior of reset() button to make it consistent with |
| 181 |
|
|
submit() button (first time this has been changed in 9 years). |
| 182 |
|
|
5. Patch from Dan Kogai to handle UTF-8 correctly in 5.8 and higher. |
| 183 |
|
|
6. Patch from Steve Hay to make CGI::Carp's error messages appear on |
| 184 |
|
|
MSIE browsers. |
| 185 |
|
|
7. Added Yair Lenga's patch for non-urlencoded postings. |
| 186 |
|
|
8. Added Stas Bekman's patches for mod_perl 2 compatibility. |
| 187 |
|
|
9. Fixed uninitialized escape behavior submitted by William Campbell. |
| 188 |
|
|
10. Fixed tied behavior so that you can pass arguments to tie() |
| 189 |
|
|
11. Fixed incorrect generation of URLs when the path_info contains + |
| 190 |
|
|
and other odd characters. |
| 191 |
|
|
12. Fixed redirect(-cookies=>$cookie) problem. |
| 192 |
|
|
13. Fixed tag generation bug that affects -javascript passed to |
| 193 |
|
|
start_html(). |
| 194 |
|
|
|
| 195 |
|
|
Version 2.91 |
| 196 |
|
|
|
| 197 |
|
|
1. Attribute generation now correctly respects the value of |
| 198 |
|
|
autoEscape(). |
| 199 |
|
|
2. Fixed endofrm() syntax error introduced by Ben Edgington's patch. |
| 200 |
|
|
|
| 201 |
|
|
Version 2.90 |
| 202 |
|
|
|
| 203 |
|
|
1. Fixed bug in redirect header handling. |
| 204 |
|
|
2. Added P3P option to header(). |
| 205 |
|
|
3. Patches from Alexey Mahotkin to make CGI::Carp work correctly with |
| 206 |
|
|
object-oriented exceptions. |
| 207 |
|
|
4. Removed inaccurate description of how to set multiple cookies from |
| 208 |
|
|
CGI::Cookie pod file. |
| 209 |
|
|
5. Patch from Kevin Mahony to prevent running out of filehandles when |
| 210 |
|
|
uploading lots of files. |
| 211 |
|
|
6. Documentation enhancement from Mark Fisher to note that the |
| 212 |
|
|
import_names() method transforms the parameter names into valid |
| 213 |
|
|
Perl names. |
| 214 |
|
|
7. Patch from Dan Harkless to suppress lang attribute in <html> tag |
| 215 |
|
|
if specified as a null string. |
| 216 |
|
|
8. Patch from Ben Edgington to fix broken XHTML-transitional 1.0 |
| 217 |
|
|
validation on endform(). |
| 218 |
|
|
9. Custom html header fix from Steffen Beyer (first letter correctly |
| 219 |
|
|
upcased now) |
| 220 |
|
|
10. Added a -verbatim option to stylesheet generation from Michael |
| 221 |
|
|
Dickson |
| 222 |
|
|
11. Faster delete() method from Neelam Gupta |
| 223 |
|
|
12. Fixed broken Cygwin support. |
| 224 |
|
|
13. Added empty charset support from Bradley Baetz |
| 225 |
|
|
14. Patches from Doug Perham and Kevin Mahoney to fix file upload |
| 226 |
|
|
failures when uploaded file is a multiple of 4096. |
| 227 |
|
|
|
| 228 |
|
|
Version 2.89 |
| 229 |
|
|
|
| 230 |
|
|
1. Fixed behavior of ACTION tag when POSTING to a URL that has a |
| 231 |
|
|
query string. |
| 232 |
|
|
2. Added Patch from Michael Rommel to handle multipart/mixed uploads |
| 233 |
|
|
from Opera |
| 234 |
|
|
|
| 235 |
|
|
Version 2.88 |
| 236 |
|
|
|
| 237 |
|
|
1. Fixed problem with uploads being refused under Perl 5.8 when under |
| 238 |
|
|
Taint mode. |
| 239 |
|
|
2. Fixed uninitialized variable warnings under Perl 5.8. |
| 240 |
|
|
3. Fixed CGI::Pretty regression test failures. |
| 241 |
|
|
|
| 242 |
|
|
Version 2.87 |
| 243 |
|
|
|
| 244 |
|
|
1. Security hole patched: when processing multipart/form-data |
| 245 |
|
|
postings, most arguments were being untainted silently. Returned |
| 246 |
|
|
arguments are now tainted correctly. This may cause some scripts |
| 247 |
|
|
to fail that used to work (thanks to Nick Cleaton for pointing |
| 248 |
|
|
this out and persisting until it was fixed). |
| 249 |
|
|
2. Update for mod_perl 2.0. |
| 250 |
|
|
3. Pragmas such as -no_xhtml are now respected in mod_perl |
| 251 |
|
|
environment. |
| 252 |
|
|
|
| 253 |
|
|
Version 2.86 |
| 254 |
|
|
|
| 255 |
|
|
1. Fixes for broken CGI::Cookie expiration dates introduced in 2.84. |
| 256 |
|
|
|
| 257 |
|
|
Version 2.85 |
| 258 |
|
|
|
| 259 |
|
|
1. Fix for broken autoEscape function introduced in 2.84. |
| 260 |
|
|
|
| 261 |
|
|
Version 2.84 |
| 262 |
|
|
|
| 263 |
|
|
1. Fix for failed file uploads on Cygwin platforms. |
| 264 |
|
|
2. HTML escaping code now replaced 0x8b and 0x9b with unicode |
| 265 |
|
|
references < and *#8250; |
| 266 |
|
|
|
| 267 |
|
|
Version 2.83 |
| 268 |
|
|
|
| 269 |
|
|
1. Fixed autoEscape() documentation inconsistencies. |
| 270 |
|
|
2. Patch from Ville Skyttä to fix a number of XHTML inconsistencies. |
| 271 |
|
|
3. Added Max-Age to list of CGI::Cookie headers. |
| 272 |
|
|
|
| 273 |
|
|
Version 2.82 |
| 274 |
|
|
|
| 275 |
|
|
1. Patch from Rudolf Troller to add attribute setting and option |
| 276 |
|
|
groups to form fields. |
| 277 |
|
|
2. Patch from Simon Perreault for silent crashes when using CGI::Carp |
| 278 |
|
|
under mod_perl. |
| 279 |
|
|
3. Patch from Scott Gifford allows you to set the program name for |
| 280 |
|
|
CGI::Carp. |
| 281 |
|
|
|
| 282 |
|
|
Version 2.81 |
| 283 |
|
|
|
| 284 |
|
|
1. Removed extraneous slash from end of stylesheet tags generated by |
| 285 |
|
|
start_html in non-XHTML mode. |
| 286 |
|
|
2. Changed behavior of CGI::Carp with respect to eval{} contexts so |
| 287 |
|
|
that output behaves properly in mod_perl environments. |
| 288 |
|
|
3. Fixed default DTD so that it validates with W3C validator. |
| 289 |
|
|
|
| 290 |
|
|
Version 2.80 |
| 291 |
|
|
|
| 292 |
|
|
1. Fixed broken messages in CGI::Carp. |
| 293 |
|
|
2. Changed checked="1" to checked="checked" for real XHTML |
| 294 |
|
|
compatibility. |
| 295 |
|
|
3. Resurrected REQUEST_URI code so that url() works correctly with |
| 296 |
|
|
multiviews. |
| 297 |
|
|
|
| 298 |
|
|
Version 2.79 |
| 299 |
|
|
|
| 300 |
|
|
1. Changes to CGI::Carp to avoid "subroutine redefined" error |
| 301 |
|
|
messages. |
| 302 |
|
|
2. Default DTD is now XHTML 1.0 Transitional |
| 303 |
|
|
3. Patches to support all HTML4 tags. |
| 304 |
|
|
|
| 305 |
|
|
Version 2.78 |
| 306 |
|
|
|
| 307 |
|
|
1. Added ability to change encoding in <?xml> assertion. |
| 308 |
|
|
2. Fixed the old escapeHTML('CGI') ne "CGI" bug |
| 309 |
|
|
3. In accordance with XHTML requirements, there are no longer any |
| 310 |
|
|
minimized attributes, such as "checked". |
| 311 |
|
|
4. Patched bug which caused file uploads of exactly 4096 bytes to be |
| 312 |
|
|
truncated to 4094 (thanks to Kevin Mahony) |
| 313 |
|
|
5. New tests and fixes to CGI::Pretty (thanks to Michael Schwern). |
| 314 |
|
|
|
| 315 |
|
|
Version 2.77 |
| 316 |
|
|
|
| 317 |
|
|
1. No new features, but released in order to fix an apparent CPAN |
| 318 |
|
|
bug. |
| 319 |
|
|
|
| 320 |
|
|
Version 2.76 |
| 321 |
|
|
|
| 322 |
|
|
1. New esc.t regression test for EBCDIC translations courtesy Peter |
| 323 |
|
|
Prymmer. |
| 324 |
|
|
2. Patches from James Jurach to make compatible with FCGI-ProcManager |
| 325 |
|
|
3. Additional fields passed to header() (like -Content_disposition) |
| 326 |
|
|
now honor initial capitalization. |
| 327 |
|
|
4. Patch from Andrew McNaughton to handle utf-8 escapes (%uXXXX |
| 328 |
|
|
codes) in URLs. |
| 329 |
|
|
|
| 330 |
|
|
Version 2.752 |
| 331 |
|
|
|
| 332 |
|
|
1. Syntax error in the autoloaded Fh::new() subroutine. |
| 333 |
|
|
2. Better error reporting in autoloaded functions. |
| 334 |
|
|
|
| 335 |
|
|
Version 2.751 |
| 336 |
|
|
|
| 337 |
|
|
1. Tiny tweak to filename regular expression function on line 3355. |
| 338 |
|
|
|
| 339 |
|
|
Version 2.75 |
| 340 |
|
|
|
| 341 |
|
|
1. Fixed bug in server push boundary strings (CGI.pm and CGI::Push). |
| 342 |
|
|
2. Fixed bug that occurs when uploading files with funny characters |
| 343 |
|
|
in the name |
| 344 |
|
|
3. Fixed non-XHTML-compliant attributes produced by textfield() |
| 345 |
|
|
4. Added EPOC support, courtesy Olaf Flebbe |
| 346 |
|
|
5. Fixed minor XHTML bugs. |
| 347 |
|
|
6. Made escape() and unescape() symmetric with respect to EBCDIC, |
| 348 |
|
|
courtesy Roca, Ignasi <ignasi.roca@fujitsu.siemens.es> |
| 349 |
|
|
7. Removed uninitialized variable warning from CGI::Cookie, provided |
| 350 |
|
|
by Atipat Rojnuckarin <rojnuca@yahoo.com> |
| 351 |
|
|
8. Fixed bug in CGI::Pretty that causes it to print partial end tags |
| 352 |
|
|
when the $INDENT global is changed. |
| 353 |
|
|
9. Single quotes are changed to character entity ' for compatibility |
| 354 |
|
|
with URLs. |
| 355 |
|
|
|
| 356 |
|
|
Version 2.74 |
| 357 |
|
|
|
| 358 |
|
|
September 13, 2000 |
| 359 |
|
|
1. Quashed one-character bug that caused CGI.pm to fail on file |
| 360 |
|
|
uploads. |
| 361 |
|
|
|
| 362 |
|
|
Version 2.73 |
| 363 |
|
|
|
| 364 |
|
|
September 12, 2000 |
| 365 |
|
|
1. Added -base to the list of arguments accepted by url(). |
| 366 |
|
|
2. Fixes to XHTML support. |
| 367 |
|
|
3. POST parameters no longer show up in the Location box. |
| 368 |
|
|
|
| 369 |
|
|
Version 2.72 |
| 370 |
|
|
|
| 371 |
|
|
August 19, 2000 |
| 372 |
|
|
1. Fixed the defaults button so that it works again |
| 373 |
|
|
2. Charset is now correctly saved and restored when saving to files |
| 374 |
|
|
3. url() now works correctly when given scripts with %20 and other |
| 375 |
|
|
escapes in the additional path info. This undoes a patch |
| 376 |
|
|
introduced in version 2.47 that I no longer understand the |
| 377 |
|
|
rationale for. |
| 378 |
|
|
|
| 379 |
|
|
Version 2.71 |
| 380 |
|
|
|
| 381 |
|
|
August 13, 2000 |
| 382 |
|
|
1. Newlines in the value attributes of hidden fields and other form |
| 383 |
|
|
elements are now escaped when using ISO-Latin. |
| 384 |
|
|
2. Inline script and style sections are now protected as CDATA |
| 385 |
|
|
sections when XHTML mode is on (the default). |
| 386 |
|
|
|
| 387 |
|
|
Version 2.70 |
| 388 |
|
|
|
| 389 |
|
|
August 4, 2000 |
| 390 |
|
|
1. Fixed bug in scrolling_list() which omitted a space in front of |
| 391 |
|
|
the "multiple" attribute. |
| 392 |
|
|
2. Squashed the "useless use of string in void context" message from |
| 393 |
|
|
redirects. |
| 394 |
|
|
|
| 395 |
|
|
Version 2.69 |
| 396 |
|
|
|
| 397 |
|
|
1. startform() now creates default ACTION for POSTs as well as GETs. |
| 398 |
|
|
This may break some browsers, but it no longer violates the HTML |
| 399 |
|
|
spec. |
| 400 |
|
|
2. CGI.pm now emits XHTML by default. Disable with -no_xhtml. |
| 401 |
|
|
3. We no longer interpret &#ddd sequences in non-latin character |
| 402 |
|
|
sets. |
| 403 |
|
|
|
| 404 |
|
|
Version 2.68 |
| 405 |
|
|
|
| 406 |
|
|
1. No longer attempts to escape characters when dealing with non |
| 407 |
|
|
ISO-8861 character sets. |
| 408 |
|
|
2. checkbox() function now defaults to using -value as its label, |
| 409 |
|
|
rather than -name. The current behavior is what has been |
| 410 |
|
|
documented from the beginning. |
| 411 |
|
|
3. -style accepts array reference to incorporate multiple stylesheets |
| 412 |
|
|
into document. |
| 413 |
|
|
|
| 414 |
|
|
1. Fixed two bugs that caused the -compile pragma to fail with a |
| 415 |
|
|
syntax error. |
| 416 |
|
|
|
| 417 |
|
|
Version 2.67 |
| 418 |
|
|
|
| 419 |
|
|
1. Added XHTML support (incomplete; tags need to be lowercased). |
| 420 |
|
|
2. Fixed CGI/Carp when running under mod_perl. Probably broke in |
| 421 |
|
|
other contexts. |
| 422 |
|
|
3. Fixed problems when passing multiple cookies. |
| 423 |
|
|
4. Suppress warnings from _tableize() that were appearing when using |
| 424 |
|
|
-w switch with radio_group() and checkbox_group(). |
| 425 |
|
|
5. Support for the header() -attachment argument, which can give |
| 426 |
|
|
pages a default file name when saving to disk. |
| 427 |
|
|
|
| 428 |
|
|
Version 2.66 |
| 429 |
|
|
|
| 430 |
|
|
1. 2.65 changes in make_attributes() broke HTTP header functions |
| 431 |
|
|
(including redirect), so made it context sensitive. |
| 432 |
|
|
|
| 433 |
|
|
Version 2.65 |
| 434 |
|
|
|
| 435 |
|
|
1. Fixed regression tests to skip tests that require implicit fork on |
| 436 |
|
|
machines without fork(). |
| 437 |
|
|
2. Changed make_attributes() to automatically escape any HTML |
| 438 |
|
|
reserved characters. |
| 439 |
|
|
3. Minor documentation fix in javascript example. |
| 440 |
|
|
|
| 441 |
|
|
Version 2.64 |
| 442 |
|
|
|
| 443 |
|
|
1. Changes introduced in 2.63 broke param() when retrieving parameter |
| 444 |
|
|
lists containing only a single argument. This is now fixed. |
| 445 |
|
|
2. self_url() now defaults to returning parameters delimited with |
| 446 |
|
|
semicolon. Use the pragma -oldstyle_urls to get the old "&" |
| 447 |
|
|
delimiter. |
| 448 |
|
|
|
| 449 |
|
|
Version 2.63 |
| 450 |
|
|
|
| 451 |
|
|
1. Fixed CGI::Push to pull out parameters correctly. |
| 452 |
|
|
2. Fixed redirect() so that it works with default character set |
| 453 |
|
|
3. Changed param() so as to returned empty string '' when referring |
| 454 |
|
|
to variables passed in query strings like 'name1=&name2' |
| 455 |
|
|
|
| 456 |
|
|
Version 2.62 |
| 457 |
|
|
|
| 458 |
|
|
1. Fixed broken ReadParse() function, and added regression tests |
| 459 |
|
|
2. Fixed broken CGI::Pretty, and added regression tests |
| 460 |
|
|
|
| 461 |
|
|
Version 2.61 |
| 462 |
|
|
|
| 463 |
|
|
1. Moved more functions from CGI.pm proper into CGI/Util.pm. |
| 464 |
|
|
CGI/Cookie should now be standalone. |
| 465 |
|
|
2. Disabled per-user temporary directories, which were causing grief. |
| 466 |
|
|
|
| 467 |
|
|
Version 2.60 |
| 468 |
|
|
|
| 469 |
|
|
1. Fixed junk appearing in autogenerated HTML functions when using |
| 470 |
|
|
object-oriented mode. |
| 471 |
|
|
|
| 472 |
|
|
Version 2.59 |
| 473 |
|
|
|
| 474 |
|
|
1. autoescape functionality breaks too much existing code, removed |
| 475 |
|
|
it. |
| 476 |
|
|
2. use escapeHTML() manually |
| 477 |
|
|
|
| 478 |
|
|
Version 2.58 |
| 479 |
|
|
|
| 480 |
|
|
This is the release version of 2.57. |
| 481 |
|
|
|
| 482 |
|
|
Version 2.57 |
| 483 |
|
|
|
| 484 |
|
|
1. Added -debug pragma and turned off auto reading of STDIN. |
| 485 |
|
|
2. Default DTD updated to HTML 4.01 transitional. |
| 486 |
|
|
3. Added charset() method and the -charset argument to header(). |
| 487 |
|
|
4. Fixed behavior of escapeHTML() to respect charset() and to escape |
| 488 |
|
|
nasty Windows characters (thanks to Tom Christiansen). |
| 489 |
|
|
5. Handle REDIRECT_QUERY_STRING correctly. |
| 490 |
|
|
6. Removed use_named_parameters() because of dependency problems and |
| 491 |
|
|
general lameness. |
| 492 |
|
|
7. Fixed problems with bad HREF links generated by url(-relative=>1) |
| 493 |
|
|
when the url is like /people/. |
| 494 |
|
|
8. Silenced a warning on upload (patch provided by Jonas Liljegren) |
| 495 |
|
|
9. Fixed race condition in CGI::Carp when errors occur during parsing |
| 496 |
|
|
(patch provided by Maurice Aubrey). |
| 497 |
|
|
10. Fixed failure of url(-path_info=>1) when path contains % signs. |
| 498 |
|
|
11. Fixed warning from CGI::Cookie when receiving foreign cookies that |
| 499 |
|
|
don't use name=value format. |
| 500 |
|
|
12. Fixed incompatibilities with file uploading on VMS systems. |
| 501 |
|
|
|
| 502 |
|
|
Version 2.56 |
| 503 |
|
|
|
| 504 |
|
|
1. Fixed bugs in file upload introduced in version 2.55 |
| 505 |
|
|
2. Fixed long-standing bug that prevented two files with identical |
| 506 |
|
|
names from being uploaded. |
| 507 |
|
|
|
| 508 |
|
|
Version 2.55 |
| 509 |
|
|
|
| 510 |
|
|
1. Fixed cookie regression test so as not to produce an error. |
| 511 |
|
|
2. Fixed path_info() and self_url() to work correctly together when |
| 512 |
|
|
path_info() modified. |
| 513 |
|
|
3. Removed manify warnings from CGI::{Switch,Apache}. |
| 514 |
|
|
|
| 515 |
|
|
Version 2.54 |
| 516 |
|
|
|
| 517 |
|
|
1. This will be the last release of the monolithic CGI.pm module. |
| 518 |
|
|
Later versions will be modularized and optimized. |
| 519 |
|
|
2. DOMAIN tag no longer added to cookies by default. This will break |
| 520 |
|
|
some versions of Internet Explorer, but will avoid breaking |
| 521 |
|
|
networks which use host tables without fully qualified domain |
| 522 |
|
|
names. For compatibility, please always add the -domain tag when |
| 523 |
|
|
creating cookies. |
| 524 |
|
|
3. Fixed escape() method so that +'s are treated correctly. |
| 525 |
|
|
4. Updated CGI::Pretty module. |
| 526 |
|
|
|
| 527 |
|
|
Version 2.53 |
| 528 |
|
|
|
| 529 |
|
|
1. Forgot to upgrade regression tests before releasing 2.52. NOTHING |
| 530 |
|
|
ELSE HAS CHANGED IN LIBRARY |
| 531 |
|
|
|
| 532 |
|
|
Version 2.52 |
| 533 |
|
|
|
| 534 |
|
|
1. Spurious newline in checkbox() routine removed. (courtesy John |
| 535 |
|
|
Essen) |
| 536 |
|
|
2. TEXTAREA linebreaks now respected in dump() routine. (courtesy |
| 537 |
|
|
John Essen) |
| 538 |
|
|
3. Patches for DOS ports (courtesy Robert Davies) |
| 539 |
|
|
4. Patches for VMS |
| 540 |
|
|
5. More fixes for cookie problems |
| 541 |
|
|
6. Fix CGI::Carp so that it doesn't affect eval{} blocks (courtesy |
| 542 |
|
|
Byron Brummer) |
| 543 |
|
|
|
| 544 |
|
|
Version 2.51 |
| 545 |
|
|
|
| 546 |
|
|
1. Fixed problems with cookies not being remembered when sent to IE |
| 547 |
|
|
5.0 (and Netscape 5.0 too?) |
| 548 |
|
|
2. Numerous HTML compliance problems in cgi_docs.html; fixed thanks |
| 549 |
|
|
to Michael Leahy |
| 550 |
|
|
|
| 551 |
|
|
Version 2.50 |
| 552 |
|
|
|
| 553 |
|
|
1. Added a new Vars() method to retrieve all parameters as a tied |
| 554 |
|
|
hash. |
| 555 |
|
|
2. Untainted tainted tempfile name so that script doesn't fail on |
| 556 |
|
|
terminal unlink. |
| 557 |
|
|
3. Made picking of upload tempfile name more intelligent so that |
| 558 |
|
|
doesn't fail in case of name collision. |
| 559 |
|
|
4. Fixed handling of expire times when passed an absolute timestamp. |
| 560 |
|
|
5. Changed dump() to Dump() to avoid name clashes. |
| 561 |
|
|
|
| 562 |
|
|
Version 2.49 |
| 563 |
|
|
|
| 564 |
|
|
1. Fixes for FastCGI (globals not getting reset) |
| 565 |
|
|
2. Fixed url() to correctly handle query string and path under |
| 566 |
|
|
MOD_PERL |
| 567 |
|
|
|
| 568 |
|
|
Version 2.48 |
| 569 |
|
|
|
| 570 |
|
|
1. Reverted detection of MOD_PERL to avoid breaking PerlEX. |
| 571 |
|
|
|
| 572 |
|
|
Version 2.47 |
| 573 |
|
|
|
| 574 |
|
|
1. Patch to fix file upload bug appearing in IE 3.01 for |
| 575 |
|
|
Macintosh/PowerPC. |
| 576 |
|
|
2. Replaced use of $ENV{SCRIPT_NAME} with $ENV{REQUEST_URI} when |
| 577 |
|
|
running under Apache, to fix self-referencing URIs. |
| 578 |
|
|
3. Fixed bug in escapeHTML() which caused certain constructs, such as |
| 579 |
|
|
CGI->image_button(), to fail. |
| 580 |
|
|
4. Fixed bug which caused strong('CGI') to fail. Be careful to use |
| 581 |
|
|
CGI::strong('CGI') and not CGI->strong('CGI'). The latter will |
| 582 |
|
|
produce confusing results. |
| 583 |
|
|
5. Added upload() function, as a preferred replacement for the |
| 584 |
|
|
"filehandle as string" feature. |
| 585 |
|
|
6. Added cgi_error() function. |
| 586 |
|
|
7. Rewrote file upload handling to return undef rather than dieing |
| 587 |
|
|
when an error is encountered. Be sure to call cgi_error() to find |
| 588 |
|
|
out what went wrong. |
| 589 |
|
|
|
| 590 |
|
|
Version 2.46 |
| 591 |
|
|
|
| 592 |
|
|
1. Fix for failure of the "include" tests under mod_perl |
| 593 |
|
|
2. Added end_multipart_form to prevent failures during qw(-compile |
| 594 |
|
|
:all) |
| 595 |
|
|
|
| 596 |
|
|
Version 2.45 |
| 597 |
|
|
|
| 598 |
|
|
1. Multiple small documentation fixes |
| 599 |
|
|
2. CGI::Pretty didn't get into 2.44. Fixed now. |
| 600 |
|
|
|
| 601 |
|
|
Version 2.44 |
| 602 |
|
|
|
| 603 |
|
|
1. Fixed file descriptor leak in upload function. |
| 604 |
|
|
2. Fixed bug in header() that prevented fields from containing double |
| 605 |
|
|
quotes. |
| 606 |
|
|
3. Added Brian Paulsen's CGI::Pretty package for pretty-printing |
| 607 |
|
|
output HTML. |
| 608 |
|
|
4. Removed CGI::Apache and CGI::Switch from the distribution. |
| 609 |
|
|
5. Generated start_* shortcuts so that start_table(), end_table(), |
| 610 |
|
|
start_ol(), end_ol(), and so forth now work (see the docs on how |
| 611 |
|
|
to enable this feature). |
| 612 |
|
|
6. Changed accept() to Accept(), sub() to Sub(). There's still a |
| 613 |
|
|
conflict with reset(), but this will break too many existing |
| 614 |
|
|
scripts! |
| 615 |
|
|
|
| 616 |
|
|
Version 2.43 |
| 617 |
|
|
|
| 618 |
|
|
1. Fixed problem with "use strict" and file uploads (thanks to Peter |
| 619 |
|
|
Haworth) |
| 620 |
|
|
2. Fixed problem with not MSIE 3.01 for the power_mac not doing file |
| 621 |
|
|
uploads right. |
| 622 |
|
|
3. Fixed problem with file upload on IIS 4.0 when authorization in |
| 623 |
|
|
use. |
| 624 |
|
|
4. -content_type and '-content-type' can now be provided to header() |
| 625 |
|
|
as synonyms for -type. |
| 626 |
|
|
5. CGI::Carp now escapes the ampersand BEFORE escaping the > and < |
| 627 |
|
|
signs. |
| 628 |
|
|
6. Fixed "not an array reference" error when passing a hash reference |
| 629 |
|
|
to radio_group(). |
| 630 |
|
|
7. Fixed non-removal of uploaded TMP files on NT platforms which |
| 631 |
|
|
occurs when server runs on non-C drive (thanks to Steve Kilbane |
| 632 |
|
|
for finding this one). |
| 633 |
|
|
|
| 634 |
|
|
Version 2.42 |
| 635 |
|
|
|
| 636 |
|
|
1. Too many screams of anguish at changed behavior of url(). Is now |
| 637 |
|
|
back to its old behavior by default, with options to generate all |
| 638 |
|
|
the variants. |
| 639 |
|
|
2. Added regression tests. "make test" now works. |
| 640 |
|
|
3. Documentation fixes. |
| 641 |
|
|
4. Fixes for Macintosh uploads, but uploads STILL do not work pending |
| 642 |
|
|
changes to MacPerl. |
| 643 |
|
|
|
| 644 |
|
|
Version 2.41 |
| 645 |
|
|
|
| 646 |
|
|
1. url() method now includes the path info. Use script_name() to get |
| 647 |
|
|
it without path info(). |
| 648 |
|
|
2. Changed handling of empty attributes in HTML tag generation. Be |
| 649 |
|
|
warned! Use table({-border=>undef}) rather than |
| 650 |
|
|
table({-border=>''}). |
| 651 |
|
|
3. Changes to allow uploaded filenames to be compared to other |
| 652 |
|
|
strings with "eq", "cmp" and "ne". |
| 653 |
|
|
4. Changes to allow CGI.pm to coexist more peacefully with |
| 654 |
|
|
ActiveState PerlEX. |
| 655 |
|
|
5. Changes to prevent exported variables from clashing when importing |
| 656 |
|
|
":all" set in combination with cookies. |
| 657 |
|
|
|
| 658 |
|
|
Version 2.40 |
| 659 |
|
|
|
| 660 |
|
|
1. CGI::Carp patched to work better with mod_perl (thanks to Chris |
| 661 |
|
|
Dean). |
| 662 |
|
|
2. Uploads of files whose names begin with numbers or the Windows |
| 663 |
|
|
\\UNC\shared\file nomenclature should no longer fail. |
| 664 |
|
|
3. The <STYLE> tag (for cascading style sheets) now generates the |
| 665 |
|
|
required TYPE attribute. |
| 666 |
|
|
4. Server push primitives added, thanks to Ed Jordan. |
| 667 |
|
|
5. Table and other HTML3 functions are now part of the :standard set. |
| 668 |
|
|
6. Small documentation fixes. |
| 669 |
|
|
|
| 670 |
|
|
TO DO: |
| 671 |
|
|
1. Do something about the DTD mess. The module should generate |
| 672 |
|
|
correct DTDs, or at least offer the programmer a way to specify |
| 673 |
|
|
the correct one. |
| 674 |
|
|
2. Split CGI.pm into CGI processing and HTML-generating modules. |
| 675 |
|
|
3. More robust file upload (?still not working on the Macintosh?). |
| 676 |
|
|
4. Bring in all the HTML4 functionality, particular the accessibility |
| 677 |
|
|
features. |
| 678 |
|
|
|
| 679 |
|
|
Version 2.39 |
| 680 |
|
|
|
| 681 |
|
|
1. file uploads failing because of VMS patch; fixed. |
| 682 |
|
|
2. -dtd parameter was not being properly processed. |
| 683 |
|
|
|
| 684 |
|
|
Version 2.38 |
| 685 |
|
|
|
| 686 |
|
|
I finally got tired of all the 2.37 betas and released 2.38. The main |
| 687 |
|
|
difference between this version and the last 2.37 beta (2.37b30) are |
| 688 |
|
|
some fixes for VMS. This should allow file upload to work properly on |
| 689 |
|
|
all VMS Web servers. |
| 690 |
|
|
|
| 691 |
|
|
Version 2.37, various beta versions |
| 692 |
|
|
|
| 693 |
|
|
1. Added a CGI::Cookie::parse() method for lucky mod_perl users. |
| 694 |
|
|
2. No longer need separate -values and -labels arguments for |
| 695 |
|
|
multi-valued form elements. |
| 696 |
|
|
3. Added better interface to raw cookies (fix courtesy Ken Fox, |
| 697 |
|
|
kfox@ford.com) |
| 698 |
|
|
4. Added param_fetch() function for direct access to parameter list. |
| 699 |
|
|
5. Fix to checkbox() to allow for multi-valued single checkboxes |
| 700 |
|
|
(weird problem). |
| 701 |
|
|
6. Added a compile() method for those who want to compile without |
| 702 |
|
|
importing. |
| 703 |
|
|
7. Documented the import pragmas a little better. |
| 704 |
|
|
8. Added a -compile switch to the use clause for the long-suffering |
| 705 |
|
|
mod_perl and Perl compiler users. |
| 706 |
|
|
9. Fixed initialization routines so that FileHandle and type globs |
| 707 |
|
|
work correctly (and hash initialization doesn't fail!). |
| 708 |
|
|
10. Better deletion of temporary files on NT systems. |
| 709 |
|
|
11. Added documentation on escape(), unescape(), unescapeHTML() and |
| 710 |
|
|
unescapeHTML() subroutines. |
| 711 |
|
|
12. Added documentation on creating subclasses. |
| 712 |
|
|
13. Fixed problem when calling $self->SUPER::foo() from inheriting |
| 713 |
|
|
subclasses. |
| 714 |
|
|
14. Fixed problem using filehandles from within subroutines. |
| 715 |
|
|
15. Fixed inability to use the string "CGI" as a parameter. |
| 716 |
|
|
16. Fixed exponentially growing $FILLUNIT bug |
| 717 |
|
|
17. Check for undef filehandle in read_from_client() |
| 718 |
|
|
18. Now requires the UNIVERSAL.pm module, present in Perl 5.003_7 or |
| 719 |
|
|
higher. |
| 720 |
|
|
19. Fixed problem with uppercase-only parameters being ignored. |
| 721 |
|
|
20. Fixed vanishing cookie problem. |
| 722 |
|
|
21. Fixed warning in initialize_globals() under mod_perl. |
| 723 |
|
|
22. File uploads from Macintosh versions of MSIE should now work. |
| 724 |
|
|
23. Pragmas now preceded by dashes (-nph) rather than colons (:nph). |
| 725 |
|
|
Old style is supported for backward compatability. |
| 726 |
|
|
24. Can now pass arguments to all functions using {} brackets, |
| 727 |
|
|
resolving historical inconsistencies. |
| 728 |
|
|
25. Removed autoloader warnings about absent MultipartBuffer::DESTROY. |
| 729 |
|
|
26. Fixed non-sticky checkbox() when -name used without -value. |
| 730 |
|
|
27. Hack to fix path_info() in IIS 2.0. Doesn't help with IIS 3.0. |
| 731 |
|
|
28. Parameter syntax for debugging from command line now more |
| 732 |
|
|
straightforward. |
| 733 |
|
|
29. Added $DISABLE_UPLOAD to disable file uploads. |
| 734 |
|
|
30. Added $POST_MAX to error out if POSTings exceed some ceiling. |
| 735 |
|
|
31. Fixed url_param(), which wasn't working at all. |
| 736 |
|
|
32. Fixed variable suicide problem in s///e expressions, where the |
| 737 |
|
|
autoloader was needed during evaluation. |
| 738 |
|
|
33. Removed excess spaces between elements of checkbox and radio |
| 739 |
|
|
groups |
| 740 |
|
|
34. Can now create "valueless" submit buttons |
| 741 |
|
|
35. Can now set path_info as well as read it. |
| 742 |
|
|
36. ReadParse() now returns a useful function result. |
| 743 |
|
|
37. import_names() now allows you to optionally clear out the |
| 744 |
|
|
namespace before importing (for mod_perl users) |
| 745 |
|
|
38. Made it possible to have a popup menu or radio button with a value |
| 746 |
|
|
of "0". |
| 747 |
|
|
39. link() changed to Link() to avoid overriding native link function. |
| 748 |
|
|
40. Takes advantage of mod_perl's register_cleanup() function to clear |
| 749 |
|
|
globals. |
| 750 |
|
|
41. <LAYER> and <ILAYER> added to :html3 functions. |
| 751 |
|
|
42. Fixed problems with private tempfiles and NT/IIS systems. |
| 752 |
|
|
43. No longer prints the DTD by default (I bet no one will complain). |
| 753 |
|
|
44. Allow underscores to replace internal hyphens in parameter names. |
| 754 |
|
|
45. CGI::Push supports heterogeneous MIME types and adjustable delays |
| 755 |
|
|
between pages. |
| 756 |
|
|
46. url_param() method added for retrieving URL parameters even when a |
| 757 |
|
|
fill-out form is POSTed. |
| 758 |
|
|
47. Got rid of warnings when radio_group() is called. |
| 759 |
|
|
48. Cookies now moved to their very own module. |
| 760 |
|
|
49. Fixed documentation bug in CGI::Fast. |
| 761 |
|
|
50. Added a :no_debug pragma to the import list. |
| 762 |
|
|
|
| 763 |
|
|
Version 2.36 |
| 764 |
|
|
|
| 765 |
|
|
1. Expanded JavaScript functionality |
| 766 |
|
|
2. Preliminary support for cascading stylesheets |
| 767 |
|
|
3. Security fixes for file uploads: |
| 768 |
|
|
+ Module will bail out if its temporary file already exists |
| 769 |
|
|
+ Temporary files can now be made completely private to avoid |
| 770 |
|
|
peeking by other users or CGI scripts. |
| 771 |
|
|
4. use CGI qw/:nph/ wasn't working correctly. Now it is. |
| 772 |
|
|
5. Cookie and HTTP date formats didn't meet spec. Thanks to Mark |
| 773 |
|
|
Fisher (fisherm@indy.tce.com) for catching and fixing this. |
| 774 |
|
|
|
| 775 |
|
|
p |
| 776 |
|
|
|
| 777 |
|
|
Version 2.35 |
| 778 |
|
|
|
| 779 |
|
|
1. Robustified multipart file upload against incorrect syntax in |
| 780 |
|
|
POST. |
| 781 |
|
|
2. Fixed more problems with mod_perl. |
| 782 |
|
|
3. Added -noScript parameter to start_html(). |
| 783 |
|
|
4. Documentation fixes. |
| 784 |
|
|
|
| 785 |
|
|
Version 2.34 |
| 786 |
|
|
|
| 787 |
|
|
1. Stupid typo fix |
| 788 |
|
|
|
| 789 |
|
|
Version 2.33 |
| 790 |
|
|
|
| 791 |
|
|
1. Fixed a warning about an undefined environment variable. |
| 792 |
|
|
2. Doug's patch for redirect() under mod_perl |
| 793 |
|
|
3. Partial fix for busted inheritence from CGI::Apache |
| 794 |
|
|
4. Documentation fixes. |
| 795 |
|
|
|
| 796 |
|
|
Version 2.32 |
| 797 |
|
|
|
| 798 |
|
|
1. Improved support for Apache's mod_perl. |
| 799 |
|
|
2. Changes to better support inheritance. |
| 800 |
|
|
3. Support for OS/2. |
| 801 |
|
|
|
| 802 |
|
|
Version 2.31 |
| 803 |
|
|
|
| 804 |
|
|
1. New uploadInfo() method to obtain header information from uploaded |
| 805 |
|
|
files. |
| 806 |
|
|
2. cookie() without any arguments returns all the cookies passed to a |
| 807 |
|
|
script. |
| 808 |
|
|
3. Removed annoying warnings about $ENV{NPH} when running with the -w |
| 809 |
|
|
switch. |
| 810 |
|
|
4. Removed operator overloading throughout to make compatible with |
| 811 |
|
|
new versions of perl. |
| 812 |
|
|
5. -expires now implies the -date header, to avoid clock skew. |
| 813 |
|
|
6. WebSite passes cookies in $ENV{COOKIE} rather than |
| 814 |
|
|
$ENV{HTTP_COOKIE}. We now handle this, even though it's O'Reilly's |
| 815 |
|
|
fault. |
| 816 |
|
|
7. Tested successfully against new sfio I/O layer. |
| 817 |
|
|
8. Documentation fixes. |
| 818 |
|
|
|
| 819 |
|
|
Version 2.30 |
| 820 |
|
|
|
| 821 |
|
|
1. Automatic detection of operating system at load time. |
| 822 |
|
|
2. Changed select() function to Select() in order to avoid conflict |
| 823 |
|
|
with Perl built-in. |
| 824 |
|
|
3. Added Tr() as an alternative to TR(); some people think it looks |
| 825 |
|
|
better that way. |
| 826 |
|
|
4. Fixed problem with autoloading of MultipartBuffer::DESTROY code. |
| 827 |
|
|
5. Added the following methods: |
| 828 |
|
|
+ virtual_host() |
| 829 |
|
|
+ server_software() |
| 830 |
|
|
6. Automatic NPH mode when running under Microsoft IIS server. |
| 831 |
|
|
|
| 832 |
|
|
Version 2.29 |
| 833 |
|
|
|
| 834 |
|
|
1. Fixed cookie bugs |
| 835 |
|
|
2. Fixed problems that cropped up when useNamedParameters was set to |
| 836 |
|
|
1. |
| 837 |
|
|
3. Prevent CGI::Carp::fatalsToBrowser() from crapping out when |
| 838 |
|
|
encountering a die() within an eval(). |
| 839 |
|
|
4. Fixed problems with filehandle initializers. |
| 840 |
|
|
|
| 841 |
|
|
Version 2.28 |
| 842 |
|
|
|
| 843 |
|
|
1. Added support for NPH scripts; also fixes problems with Microsoft |
| 844 |
|
|
IIS. |
| 845 |
|
|
2. Fixed a problem with checkbox() values not being correctly saved |
| 846 |
|
|
and restored. |
| 847 |
|
|
3. Fixed a bug in which CGI objects created with empty string |
| 848 |
|
|
initializers took on default values from earlier CGI objects. |
| 849 |
|
|
4. Documentation fixes. |
| 850 |
|
|
|
| 851 |
|
|
Version 2.27 |
| 852 |
|
|
|
| 853 |
|
|
1. Small but important bug fix: the automatic capitalization of tag |
| 854 |
|
|
attributes was accidentally capitalizing the VALUES as well as the |
| 855 |
|
|
ATTRIBUTE names (oops). |
| 856 |
|
|
|
| 857 |
|
|
Version 2.26 |
| 858 |
|
|
|
| 859 |
|
|
1. Changed behavior of scrolling_list(), checkbox() and |
| 860 |
|
|
checkbox_group() methods so that defaults are honored correctly. |
| 861 |
|
|
The "fix" causes endform() to generate additional <INPUT |
| 862 |
|
|
TYPE="HIDDEN"> tags -- don't be surpised. |
| 863 |
|
|
2. Fixed bug involving the detection of the SSL protocol. |
| 864 |
|
|
3. Fixed documentation error in position of the -meta argument in |
| 865 |
|
|
start_html(). |
| 866 |
|
|
4. HTML shortcuts now generate tags in ALL UPPERCASE. |
| 867 |
|
|
5. start_html() now generates correct SGML header: |
| 868 |
|
|
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"> |
| 869 |
|
|
|
| 870 |
|
|
6. CGI::Carp no longer fails "use strict refs" pragma. |
| 871 |
|
|
|
| 872 |
|
|
Version 2.25 |
| 873 |
|
|
|
| 874 |
|
|
1. Fixed bug that caused bad redirection on destination URLs with |
| 875 |
|
|
arguments. |
| 876 |
|
|
2. Fixed bug involving use_named_parameters() followed by |
| 877 |
|
|
start_multipart_form() |
| 878 |
|
|
3. Fixed bug that caused incorrect determination of binmode for |
| 879 |
|
|
Macintosh. |
| 880 |
|
|
4. Spelling fixes on documentation. |
| 881 |
|
|
|
| 882 |
|
|
Version 2.24 |
| 883 |
|
|
|
| 884 |
|
|
1. Fixed bug that caused generation of lousy HTML for some form |
| 885 |
|
|
elements |
| 886 |
|
|
2. Fixed uploading bug in Windows NT |
| 887 |
|
|
3. Some code cleanup (not enough) |
| 888 |
|
|
|
| 889 |
|
|
Version 2.23 |
| 890 |
|
|
|
| 891 |
|
|
1. Fixed an obscure bug that caused scripts to fail mysteriously. |
| 892 |
|
|
2. Fixed auto-caching bug. |
| 893 |
|
|
3. Fixed bug that prevented HTML shortcuts from passing taint checks. |
| 894 |
|
|
4. Fixed some -w warning problems. |
| 895 |
|
|
|
| 896 |
|
|
Version 2.22 |
| 897 |
|
|
|
| 898 |
|
|
1. New CGI::Fast module for use with FastCGI protocol. See pod |
| 899 |
|
|
documentation for details. |
| 900 |
|
|
2. Fixed problems with inheritance and autoloading. |
| 901 |
|
|
3. Added TR() (<tr>) and PARAM() (<param>) methods to list of |
| 902 |
|
|
exported HTML tag-generating functions. |
| 903 |
|
|
4. Moved all CGI-related I/O to a bottleneck method so that this can |
| 904 |
|
|
be overridden more easily in mod_perl (thanks to Doug MacEachern). |
| 905 |
|
|
5. put() method as substitute for print() for use in mod_perl. |
| 906 |
|
|
6. Fixed crash in tmpFileName() method. |
| 907 |
|
|
7. Added tmpFileName(), startform() and endform() to export list. |
| 908 |
|
|
8. Fixed problems with attributes in HTML shortcuts. |
| 909 |
|
|
9. Functions that don't actually need access to the CGI object now no |
| 910 |
|
|
longer generate a default one. May speed things up slightly. |
| 911 |
|
|
10. Aesthetic improvements in generated HTML. |
| 912 |
|
|
11. New examples. |
| 913 |
|
|
|
| 914 |
|
|
Version 2.21 |
| 915 |
|
|
|
| 916 |
|
|
1. Added the -meta argument to start_html(). |
| 917 |
|
|
2. Fixed hidden fields (again). |
| 918 |
|
|
3. Radio_group() and checkbox_group() now return an appropriate |
| 919 |
|
|
scalar value when called in a scalar context, rather than |
| 920 |
|
|
returning a numeric value! |
| 921 |
|
|
4. Cleaned up the formatting of form elements to avoid unesthetic |
| 922 |
|
|
extra spaces within the attributes. |
| 923 |
|
|
5. HTML elements now correctly include the closing tag when |
| 924 |
|
|
parameters are present but null: em('') |
| 925 |
|
|
6. Added password_field() to the export list. |
| 926 |
|
|
|
| 927 |
|
|
Version 2.20 |
| 928 |
|
|
|
| 929 |
|
|
1. Dumped the SelfLoader because of problems with running with taint |
| 930 |
|
|
checks and rolled my own. Performance is now significantly |
| 931 |
|
|
improved. |
| 932 |
|
|
2. Added HTML shortcuts. |
| 933 |
|
|
3. import() now adheres to the Perl module conventions, allowing |
| 934 |
|
|
CGI.pm to import any or all method names into the user's name |
| 935 |
|
|
space. |
| 936 |
|
|
4. Added the ability to initialize CGI objects from strings and |
| 937 |
|
|
associative arrays. |
| 938 |
|
|
5. Made it possible to initialize CGI objects with filehandle |
| 939 |
|
|
references rather than filehandle strings. |
| 940 |
|
|
6. Added the delete_all() and append() methods. |
| 941 |
|
|
7. CGI objects correctly initialize from filehandles on NT/95 systems |
| 942 |
|
|
now. |
| 943 |
|
|
8. Fixed the problem with binary file uploads on NT/95 systems. |
| 944 |
|
|
9. Fixed bug in redirect(). |
| 945 |
|
|
10. Added '-Window-target' parameter to redirect(). |
| 946 |
|
|
11. Fixed import_names() so that parameter names containing funny |
| 947 |
|
|
characters work. |
| 948 |
|
|
12. Broke the unfortunate connection between cookie and CGI parameter |
| 949 |
|
|
name space. |
| 950 |
|
|
13. Fixed problems with hidden fields whose values are 0. |
| 951 |
|
|
14. Cleaned up the documentation somewhat. |
| 952 |
|
|
|
| 953 |
|
|
Version 2.19 |
| 954 |
|
|
|
| 955 |
|
|
1. Added cookie() support routines. |
| 956 |
|
|
2. Added -expires parameter to header(). |
| 957 |
|
|
3. Added cgi-lib.pl compatability mode. |
| 958 |
|
|
4. Made the module more configurable for different operating systems. |
| 959 |
|
|
5. Fixed a dumb bug in JavaScript button() method. |
| 960 |
|
|
|
| 961 |
|
|
Version 2.18 |
| 962 |
|
|
|
| 963 |
|
|
1. Fixed a bug that corrects a hang that occurs on some platforms |
| 964 |
|
|
when processing file uploads. Unfortunately this disables the |
| 965 |
|
|
check for bad Netscape uploads. |
| 966 |
|
|
2. Fixed bizarre problem involving the inability to process uploaded |
| 967 |
|
|
files that begin with a non alphabetic character in the file name. |
| 968 |
|
|
3. Fixed a bug in the hidden fields involving the -override directive |
| 969 |
|
|
being ignored when scalar defaults were passed. |
| 970 |
|
|
4. Added documentation on how to disable the SelfLoader features. |
| 971 |
|
|
|
| 972 |
|
|
Version 2.17 |
| 973 |
|
|
|
| 974 |
|
|
1. Added support for the SelfLoader module. |
| 975 |
|
|
2. Added oodles of JavaScript support routines. |
| 976 |
|
|
3. Fixed bad bug in query_string() method that caused some parameters |
| 977 |
|
|
to be silently dropped. |
| 978 |
|
|
4. Robustified file upload code to handle premature termination by |
| 979 |
|
|
the client. |
| 980 |
|
|
5. Exported temporary file names on file upload. |
| 981 |
|
|
6. Removed spurious "uninitialized variable" warnings that appeared |
| 982 |
|
|
when running under 5.002. |
| 983 |
|
|
7. Added the Carp.pm library to the standard distribution. |
| 984 |
|
|
8. Fixed a number of errors in this documentation, and probably added |
| 985 |
|
|
a few more. |
| 986 |
|
|
9. Checkbox_group() and radio_group() now return the buttons as |
| 987 |
|
|
arrays, so that you can incorporate the individual buttons into |
| 988 |
|
|
specialized tables. |
| 989 |
|
|
10. Added the '-nolabels' option to checkbox_group() and |
| 990 |
|
|
radio_group(). Probably should be added to all the other |
| 991 |
|
|
HTML-generating routines. |
| 992 |
|
|
11. Added the url() method to recover the URL without the entire query |
| 993 |
|
|
string appended. |
| 994 |
|
|
12. Added request_method() to list of environment variables available. |
| 995 |
|
|
13. Would you believe it? Fixed hidden fields again! |
| 996 |
|
|
|
| 997 |
|
|
Version 2.16 |
| 998 |
|
|
|
| 999 |
|
|
1. Fixed hidden fields yet again. |
| 1000 |
|
|
2. Fixed subtle problems in the file upload method that caused |
| 1001 |
|
|
intermittent failures (thanks to Keven Hendrick for this one). |
| 1002 |
|
|
3. Made file upload more robust in the face of bizarre behavior by |
| 1003 |
|
|
the Macintosh and Windows Netscape clients. |
| 1004 |
|
|
4. Moved the POD documentation to the bottom of the module at the |
| 1005 |
|
|
request of Stephen Dahmen. |
| 1006 |
|
|
5. Added the -xbase parameter to the start_html() method, also at the |
| 1007 |
|
|
request of Stephen Dahmen. |
| 1008 |
|
|
6. Added JavaScript form buttons at Stephen's request. I'm not sure |
| 1009 |
|
|
how to use this Netscape extension correctly, however, so for now |
| 1010 |
|
|
the form() method is in the module as an undocumented feature. Use |
| 1011 |
|
|
at your own risk! |
| 1012 |
|
|
|
| 1013 |
|
|
Version 2.15 |
| 1014 |
|
|
|
| 1015 |
|
|
1. Added the -override parameter to all field-generating methods. |
| 1016 |
|
|
2. Documented the user_name() and remote_user() methods. |
| 1017 |
|
|
3. Fixed bugs that prevented empty strings from being recognized as |
| 1018 |
|
|
valid textfield contents. |
| 1019 |
|
|
4. Documented the use of framesets and added a frameset example. |
| 1020 |
|
|
|
| 1021 |
|
|
Version 2.14 |
| 1022 |
|
|
|
| 1023 |
|
|
This was an internal experimental version that was never released. |
| 1024 |
|
|
|
| 1025 |
|
|
Version 2.13 |
| 1026 |
|
|
|
| 1027 |
|
|
1. Fixed a bug that interfered with the value "0" being entered into |
| 1028 |
|
|
text fields. |
| 1029 |
|
|
|
| 1030 |
|
|
Version 2.01 |
| 1031 |
|
|
|
| 1032 |
|
|
1. Added -rows and -columns to the radio and checkbox groups. No |
| 1033 |
|
|
doubt this will cause much grief because it seems to promise a |
| 1034 |
|
|
level of meta-organization that it doesn't actually provide. |
| 1035 |
|
|
2. Fixed a bug in the redirect() method -- it was not truly HTTP/1.0 |
| 1036 |
|
|
compliant. |
| 1037 |
|
|
|
| 1038 |
|
|
Version 2.0 |
| 1039 |
|
|
|
| 1040 |
|
|
The changes seemed to touch every line of code, so I decided to bump |
| 1041 |
|
|
up the major version number. |
| 1042 |
|
|
1. Support for named parameter style method calls. This turns out |
| 1043 |
|
|
to be a big win for extending CGI.pm when Netscape adds new HTML |
| 1044 |
|
|
"features". |
| 1045 |
|
|
2. Changed behavior of hidden fields back to the correct "sticky" |
| 1046 |
|
|
behavior. This is going to break some programs, but it is for |
| 1047 |
|
|
the best in the long run. |
| 1048 |
|
|
3. Netscape 2.0b2 broke the file upload feature. CGI.pm now handles |
| 1049 |
|
|
both 2.0b1 and 2.0b2-style uploading. It will probably break again |
| 1050 |
|
|
in 2.0b3. |
| 1051 |
|
|
4. There were still problems with library being unable to distinguish |
| 1052 |
|
|
between a form being loaded for the first time, and a subsequent |
| 1053 |
|
|
loading with all fields blank. We now forcibly create a default |
| 1054 |
|
|
name for the Submit button (if not provided) so that there's |
| 1055 |
|
|
always at least one parameter. |
| 1056 |
|
|
5. More workarounds to prevent annoying spurious warning messages |
| 1057 |
|
|
when run under the -w switch. -w is seriously broken in perl |
| 1058 |
|
|
5.001! |
| 1059 |
|
|
|
| 1060 |
|
|
Version 1.57 |
| 1061 |
|
|
|
| 1062 |
|
|
1. Support for the Netscape 2.0 "File upload" field. |
| 1063 |
|
|
2. The handling of defaults for selected items in scrolling lists and |
| 1064 |
|
|
multiple checkboxes is now consistent. |
| 1065 |
|
|
|
| 1066 |
|
|
Version 1.56 |
| 1067 |
|
|
|
| 1068 |
|
|
1. Created true "pod" documentation for the module. |
| 1069 |
|
|
2. Cleaned up the code to avoid many of the spurious "use of |
| 1070 |
|
|
uninitialized variable" warnings when running with the -w switch. |
| 1071 |
|
|
3. Added the autoEscape() method. v |
| 1072 |
|
|
4. Added string interpolation of the CGI object. |
| 1073 |
|
|
5. Added the ability to pass additional parameters to the <BODY> tag. |
| 1074 |
|
|
6. Added the ability to specify the status code in the HTTP header. |
| 1075 |
|
|
|
| 1076 |
|
|
Bug fixes in version 1.55 |
| 1077 |
|
|
|
| 1078 |
|
|
1. Every time self_url() was called, the parameter list would grow. |
| 1079 |
|
|
This was a bad "feature". |
| 1080 |
|
|
2. Documented the fact that you can pass "-" to radio_group() in |
| 1081 |
|
|
order to prevent any button from being highlighted by default. |
| 1082 |
|
|
|
| 1083 |
|
|
Bug fixes in version 1.54 |
| 1084 |
|
|
|
| 1085 |
|
|
1. The user_agent() method is now documented; |
| 1086 |
|
|
2. A potential security hole in import() is now plugged. |
| 1087 |
|
|
3. Changed name of import() to import_names() for compatability with |
| 1088 |
|
|
CGI:: modules. |
| 1089 |
|
|
|
| 1090 |
|
|
Bug fixes in version 1.53 |
| 1091 |
|
|
|
| 1092 |
|
|
1. Fixed several typos in the code that were causing the following |
| 1093 |
|
|
subroutines to fail in some circumstances |
| 1094 |
|
|
1. checkbox() |
| 1095 |
|
|
2. hidden() |
| 1096 |
|
|
2. No features added |
| 1097 |
|
|
|
| 1098 |
|
|
New features added in version 1.52 |
| 1099 |
|
|
|
| 1100 |
|
|
1. Added backslashing, quotation marks, and other shell-style escape |
| 1101 |
|
|
sequences to the parameters passed in during debugging off-line. |
| 1102 |
|
|
2. Changed the way that the hidden() method works so that the default |
| 1103 |
|
|
value always overrides the current one. |
| 1104 |
|
|
3. Improved the handling of sticky values in forms. It's now less |
| 1105 |
|
|
likely that sticky values will get stuck. |
| 1106 |
|
|
4. If you call server_name(), script_name() and several other methods |
| 1107 |
|
|
when running offline, the methods now create "dummy" values to |
| 1108 |
|
|
work with. |
| 1109 |
|
|
|
| 1110 |
|
|
Bugs fixed in version 1.51 |
| 1111 |
|
|
|
| 1112 |
|
|
1. param() when called without arguments was returning an array of |
| 1113 |
|
|
length 1 even when there were no parameters to be had. Bad bug! |
| 1114 |
|
|
Bad! |
| 1115 |
|
|
2. The HTML code generated would break if input fields contained the |
| 1116 |
|
|
forbidden characters ">< or &. You can now use these characters |
| 1117 |
|
|
freely. |
| 1118 |
|
|
|
| 1119 |
|
|
New features added in version 1.50 |
| 1120 |
|
|
|
| 1121 |
|
|
1. import() method allows all the parameters to be imported into a |
| 1122 |
|
|
namespace in one fell swoop. |
| 1123 |
|
|
2. Parameters are now returned in the same order in which they were |
| 1124 |
|
|
defined. |
| 1125 |
|
|
|
| 1126 |
|
|
Bugs fixed in version 1.45 |
| 1127 |
|
|
|
| 1128 |
|
|
1. delete() method didn't work correctly. This is now fixed. |
| 1129 |
|
|
2. reset() method didn't allow you to set the name of the button. |
| 1130 |
|
|
Fixed. |
| 1131 |
|
|
|
| 1132 |
|
|
Bugs fixed in version 1.44 |
| 1133 |
|
|
|
| 1134 |
|
|
1. self_url() didn't include the path information. This is now fixed. |
| 1135 |
|
|
|
| 1136 |
|
|
New features added in version 1.43 |
| 1137 |
|
|
|
| 1138 |
|
|
1. Added the delete() method. |
| 1139 |
|
|
|
| 1140 |
|
|
New features added in version 1.42 |
| 1141 |
|
|
|
| 1142 |
|
|
1. The image_button() method to create clickable images. |
| 1143 |
|
|
2. A few bug fixes involving forms embedded in <PRE> blocks. |
| 1144 |
|
|
|
| 1145 |
|
|
New features added in version 1.4 |
| 1146 |
|
|
|
| 1147 |
|
|
1. New header shortcut methods |
| 1148 |
|
|
+ redirect() to create HTTP redirection messages. |
| 1149 |
|
|
+ start_html() to create the HTML title, complete with the |
| 1150 |
|
|
recommended <LINK> tag that no one ever remembers to include. |
| 1151 |
|
|
+ end_html() for completeness' sake. |
| 1152 |
|
|
2. A new save() method that allows you to write out the state of an |
| 1153 |
|
|
script to a file or pipe. |
| 1154 |
|
|
3. An improved version of the new() method that allows you to restore |
| 1155 |
|
|
the state of a script from a file or pipe. With (2) this gives you |
| 1156 |
|
|
dump and restore capabilities! (Wow, you can put a "121,931 |
| 1157 |
|
|
customers served" banner at the bottom of your pages!) |
| 1158 |
|
|
4. A self_url() method that allows you to create state-maintaining |
| 1159 |
|
|
hypertext links. In addition to allowing you to maintain the state |
| 1160 |
|
|
of your scripts between invocations, this lets you work around a |
| 1161 |
|
|
problem that some browsers have when jumping to internal links in |
| 1162 |
|
|
a document that contains a form -- the form information gets lost. |
| 1163 |
|
|
5. The user-visible labels in checkboxes, radio buttons, popup menus |
| 1164 |
|
|
and scrolling lists have now been decoupled from the values sent |
| 1165 |
|
|
to your CGI script. Your script can know a checkbox by the name of |
| 1166 |
|
|
"cb1" while the user knows it by a more descriptive name. I've |
| 1167 |
|
|
also added some parameters that were missing from the text fields, |
| 1168 |
|
|
such as MAXLENGTH. |
| 1169 |
|
|
6. A whole bunch of methods have been added to get at environment |
| 1170 |
|
|
variables involved in user verification and other obscure |
| 1171 |
|
|
features. |
| 1172 |
|
|
|
| 1173 |
|
|
Bug fixes |
| 1174 |
|
|
|
| 1175 |
|
|
1. The problems with the hidden fields have (I hope at last) been |
| 1176 |
|
|
fixed. |
| 1177 |
|
|
2. You can create multiple query objects and they will all be |
| 1178 |
|
|
initialized correctly. This simplifies the creation of multiple |
| 1179 |
|
|
forms on one page. |
| 1180 |
|
|
3. The URL unescaping code works correctly now. |