$Header: /cvsroot/CGI::Framework/Changes,v 1.37 2005/10/11 16:21:24 mina Exp $ Revision history for Perl module CGI::Framework 0.23 - New initializer parameter "output_filter" - show_template accepts a second optional boolean parameter "nofinalize" which denotes it should not finalize() when done. This was used to bugfix fatal error emails not being sent out when not running under mod_perl 0.22 - Fatal errors sent via sendmail now also try to respect supplied smtp_from parameter 0.21 - Tweaked code that handles braindead browsers that do not properly terminate an SSL/TLS session. This used to generated a fatal error (email and all) in some cases. Now it's ignored silently. 0.20 - Fatal error email now includes X-CGI-Framework-PID header 0,19 - Minor bugfix - the fatal_error_template was shown to the user as text/plain instead of text/html if application was running under mod_perl and sendmail was used to email fatal error messages. 0.18 - pre__pre__all(), pre__post__all(), post__pre__all() and post__post__all() are now all passed a second argument: The name of the template about to be/just sent. 0.17 - The "process" javascript function now returns false, so its return value can be utilized in "onclick" events of anchors to avoid the "screen-scroll-to-top" abnormality. 0.16 - Implemented new constructor parameters: sessions_serializer_default, sessions_serializer_freezethaw and sessions_serializer_storable - Bugfix - running under mod_perl resulted in occasional "Software caused connection abort" messages. These are no longer considered fatal. 0.15 - No longer tries to write and unlink a testing file to sessions_dir for every invocation - Fatal error messages now have a stack backtrace appended to them - Bugfix: Fatal errors are no longer sent to browser below the fatal error template content when running under mod_perl 0.14 - Errors emailed via fatal_error_email now include header X-CGI-Framework-REMOTE-ADDR - Implemented new constructor parameters: action and cookie_domain - Bugfix: A weird error produced if a submitted form has the element _lang more than once is now avoided - Some minor changes to make the framework work under mod_perl: Also introduced new method finalize() 0.13 - Implemented new constructor parameter: expire - log_this now also logs the IP address from REMOTE_ADDR - Internal HTML::Template object is now initialized with option loop_context_vars, allowing for loop vars such as __odd__ and __inner__ 0.12 - Implemented support for 4 new callbacks: pre__pre__all() post__pre__all() pre__post__all() post__post__all() 0.11 - Implemented new method: return_template() - Implemented 2 new special variables: _missing_info and _missing_info_caller - Calling the clear_session() method will now preserve the internal _lang and _lastsent variables 0.10 - Implemented new logic that fixes problem of the framework validating the last-sent template even if the client hit BACK in their web browser and is actually submitting a different template. The default is now to validate whichever template the client is submitting, which is not necessarily the last template sent. - Added new constructor option: disable_back_button Note that this constructor replicates the behavior of version 0.09 and below. Unlike the previous versions, the default for version 0.10 is NOT to disable the back button. If you'd like to maintain the behavior of version 0.09 and earlier, you must set "disable_back_button => 1" in your constructor/initializer. See the POD for more details. 0.09 - Fixed a bug that caused language tags in a template with no content in them (such as ) to cause random parsing problems and missing content. - Introduced internationalization and localization to errors added via the add_error() method by utilizing the excellent Locale::Maketext module. - Documentation clarification for multi-language support 0.08 - Added new method initial_template() 0.07 - Implemented new logging features: + log_filename constructor key + log_this() method - Implemented new fatal error handling features: + Fatal error template through the new fatal_error_template constructor key + Fatal error email-to-admin feature through the new fatal_error_email, sendmail, smtp_host and smtp_from constructor keys as well as the new pre-defined variable _fatal_error for use in the fatal error template - New pre-defined variable _current_template 0.06 - Renamed constructor parameter importform to import_form, renamed built-in html variable _formaction to _form_action. Both changes are backwards compatible - If "import_form" was supplied to constructor, then subsequent calls to the form() method will return the value from the import_form namespace instead of from the built-in CGI object. This allows the programmer to modify the value in the namespace (such as $FORM::firstname) then use form() or remember() to operate on the new value, not the original one. - add_error() method no longer restricted to being called from inside a validate_templatename() routine. That gives the flexibility to add_error() followed by manually calling show_template() at any time. - The INITIALIZENEWPROJECT function now creates an /images/ subdirectory inside the /public_html/ subdirectory and places a couple of small images in it, which the errors.html template references. It looks nicer :) 0.05 - Fixed a bug that caused the framework not to call the pre_templatename and validate_templatename subroutines if the non-OOP (function-based) approach using the initialize_cgi_framework initializer was used, and the callbacks_namespace parameter was not supplied. 0.04 - Any methods and initializer parameters that were made up of 2 concatenated words have now been separated by an underscore. The following are affected: Methods/Functions: adderror => add_error clearsession => clear_session showtemplate => show_template Constructor/Initializer parameters: callbacksnamespace => callbacks_namespace cookiename => cookie_name initialtemplate => initial_template sessionsdir => sessions_dir templatesdir => templates_dir validlanguages => valid_languages The old names will still be available for compatability-purposes however will be phased out sometime in the future for code-cleanliness. All existing and new programs should use the new naming convention. - Implemented the ability to save session data in a mysql table instead of text files through a new constructor parameter sessions_mysql_dbh. - Implemented a new method "remember" that is a shorthand for transferring values from the just-submitted form to the session. - Changed default form enctype to "multipart/form-data" so that file-uploads can be done. This seems to have no side-effect other than enabling file uploads to work. - Some documentation and synopsis bugfixes. - Thanks to Ron Savage 0.03 - Added new methods: get_cgi_object, get_cgi_session_object, html_push, html_unshift - Added new constructor option, importform - Documentation fixes and elaborations 0.02 - Initial release