Revision history for Perl extension HTML::Mason.
An HTML version of this file, complete with links to documentation, is
available at http://www.masonhq.com/changes.html.
All development by Jonathan Swartz, swartz@transbay.net, unless otherwise noted:
- [mschmick] Mark Schmick, mark@webz.com
- [modus] Patrick Kane, modus@pr.es.to
See CREDITS file for other contributors.
** denotes an incompatible change
0.6 Fri Jul 16 08:09:27 PDT 1999
- New <& &> tag provides a more convenient way to call components
inside HTML. mc_comp still works.
- The "perl_" prefix has been eliminated from section names: now
simply use <%init>, <%cleanup>, <%args>, etc. The old names still
work.
- The utility bin/convert0.6.pl converts existing components to use
the above new syntax.
- New autohandler feature finally provides an easy way to specify a
common template or behavior for a directory. An autohandler is invoked
just before any top-level components in its directory begins executing.
It can display header/footers, apply a filtering function, set up
globals, etc. A good complement to dhandlers.
- New <%once> section contains code that will be executed once when a
component is loaded. It is useful for defining persistent variables
and named subroutines.
- New <%text> section allows you to turn off Mason processing for a
particular section of text.
- Implemented first installation test suite! [modus]
- HEAD optimization: we now automatically abort after headers are sent
on a HEAD request.
- New Parser make() utility traverses a tree of components, compiling
any out-of-date components into object files and reporting errors.
- New mc_comp_source command returns the source filename of this or
any component.
- mc_file now uses current component path by default for relative paths
if no static_file_root defined (suggested by John Landahl)
- Various previewer interface improvements
- Removed link tags in pods documentation due to 5.004 problems
- Took out previewer stub from Mason.pm to eliminate "subroutine
redefined" warning
- Updated makeconfig.pl to prefer GDBM_File, to avoid a bug in
Berkeley DB 1.x
- Cleaned and sped up interp hooks facility
- Stopped substituting control characters for section strings in Parser
[modus]
- Fixed mc_cache 'expire' bug (reported by Aaron Ross)
- Changed ignore_warnings default to ignore "subroutine redefined"
warnings to make <%once> more useful
- Removed defunct Safe code from Parser and defunct ALLOW_HANDLERS
code from Interp
- Added index file to htdocs/
0.5.1 Thu Jun 10 23:35:13 PDT 1999
- Removed leftover "use File::Recurse" in ApacheHandler.pm [modus]
- Added empty test target to FAQ Makefile, required on certain
architectures [modus]
0.5 Thu Jun 3 23:45:09 PDT 1999
- Removed memory leak associated with "return sub { ... }"
- Overhauled Config.pm, now maintains previous configuration when
upgrading Mason (suggested by Patrick Kane)
- Made filename processing compatible with Windows 32 (suggested by
Rafael Weinstein)
- Removed requirement of File::Tools/File::Recurse, replaced with
standard File::Find
- Switched output to STDOUT from $r->print, to facilitate chaining
with other mod_perl tools
- Switched to standard argument processing code, now handles
multi-part forms [modus]
- New preprocess and postprocess Parser options allow you to apply
auomatic modifications to components, before or after they are compiled
into code. (submitted by Philip Gwyn)
- New in_package Parser option allows components to live in any
package. (submitted by Philip Gwyn)
- Added documentation about using globals in components, and
some new facilities: Parser option 'allow_globals' and Interp
method 'set_global'.
- Documented how to save persistent user information with Apache::Session [modus]
- ** Changed behavior of reload_file mode to read directly from object
files. If you use reload files, you're now responsible for
creating object files. [mschmick]
- Reduced number of file stats when loading components [mschmick]
- New apache_status_title ApacheHandler option makes it possible to
use Mason's perl-status page with multiple ApacheHandler objects.
(submitted by Philip Gwyn)
- Upgraded FakeApache/debug files to work with mod_perl 1.19
- New sections in Component Developer's Guide explain how debug files
work and some caveats about when they don't.
- Mentioned mailing lists, masonhq.com web site, and FAQ in the
documentation and README
- Improved documentation on how to integrate images and non-Mason
hierarchies with Mason.
- Differentiated mc_cache and mc_cache_self in the commands manual
(suggested by Tom Hukins)
- Increased discouraging of SDBM, improved warnings when cache store
fails (suggested by Patrick Kane)
- Fixed HTML documentation to work with IE (suggested by Fen Lebalme)
- Fixed infinite loop in ApacheHandler dhandler search (submitted by
Chuck O'Donnell)
- Documented Parser method parse(), which allows you to compile
components outside of a Interp environment.
- New mc_cache actions 'expire' and 'keys' help you peer into data cache
files and expire selected keys.
- Corrected Parser to properly handle \ in components (submitted by
Ken Williams)
- ** Took Preview out of Mason.pm; ApacheHandler used only if mod_perl
environment. If you use the previewer, you now have to explicitly "use
HTML::Mason::Preview" in your handler.pl.
- Improved documentation about argument/GET/POST handling (suggested
by Ken Williams)
- Added cache option 'busy_lock', which prevents multiple processes
from recomputing an expire cache value at the same time. (suggested
by Dennis Watson)
- Inserted work-around for Perl 5.005 $r scoping bug (submitted by
Rafael Weinstein)
- Fixed "new CGI" example in Components.pod (submitted by Austin Lin)
- Fixed "return if content-type..." line in handler.pl and Mason.pod
(submitted by Patrick Kane)
- Added CREDITS file
0.4 Wed Jan 06 10:35:00 PST 1999
- Added support for using Perl profiler in conjunction with debug
files
- Fixed bug in previewer HTML trace introduced in 0.3
- Created Perl status section for Mason
- Removed most warnings when PerlWarn is on (suggested by Philip Gwyn)
- Added code_cache_mode parameter to control caching of components in
memory
- Fixed mismatch between documentation and code with regards to cache
store events in system log. The real event name is CACHE_WRITE.
- Changed system logging to use canonical server name when recording
URI
- Field access methods inside Mason objects are now handled with
custom subroutines instead of generic AUTOLOAD, improving performance
- Information for debug file is no longer collected if debug mode is
"none"
- Code to decline images and other non-text requests was placed in
default handler.pl and described in documentation (suggested by
Patrick Kane)
- Fixed server header output from debug files (suggested by Ewan
Edwards)
- Created a Mason bundle
- Created a CPAN "alias" from Apache::Mason to HTML::Mason
0.3 Wed Nov 25 17:00:34 PST 1998
- Added optional system logging of page requests, cache activity,
component loading
- Deny directory requests so that index files will work in mod_perl
1.16+
- Removed reliance on several external packages (Date::Manip,
CGI::Base, URI::Escape). This should reduce the amount of memory taken
up by Mason processes and make Mason easier to install.
- ** Due to the removal of Date::Manip, the mc_date command will no
longer work unless Date::Manip is explicitly used, and the syntax for
the expire_at cache parameter and the Interp current_time parameter
have changed.
- Added parser taint_check flag which allows Mason to work with taint
checking on (suggested by Randal Schwartz)
- Added warning messages when returning 404 from ApacheHandler
- Improved cache locking with the use of separate lock files
- Makefile.PL checks for required and optional packages
- Documentation fixes and improvements
- Removed obsolete and undocumented commands from Commands.pm
- Failure to write debug file is now a warning rather than fatal error
- Augmented "no configuration for previewer port" error
- Fixed $interp->exec to be able to return list
- Changed parser to remove ctrl-Ms instead of replacing with spaces
- Always call http_header hook, not just at top level
- Added global IN_DEBUG_FILE flag
- Renamed mc_call_stack to mc_comp_stack to match documentation
0.2 Fri Aug 21 08:54:13 1998
- Replaced File::lockf module, which could not port to some systems,
with simple call to flock
- Corrected email address in README
- Fixed undeclared variable bug in preview component
- The previewer did not work in basic versions of Perl 5.004 due to an
eval scoping bug. A workaround was put in place.
- Fixed expire_if cache option to pass correct argument to provided
subroutine
- Empty argument section no longer parsing incorrectly
- Took out directory names from manifest which were causing errors on
install
- Debug file is no longer prepared when debug_mode is "none"
- Use Preview.pm in Mason.pm
0.1 Wed Jul 22 20:53:56 1998
- Original version; created by h2xs 1.18