You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Dave Rolsky <au...@urth.org> on 2002/12/13 19:51:23 UTC

ANNOUNCE: HTML::Mason 1.16

This is the latest action-packed release of HTML::Mason, with more bloody
fights, steamy sex, and outrageous laughs than ever before.

Thrill   ... as an autohandler calls the next component in the chain.

Tremble  ... at the awesome might of the wicked dhandler.

Cry      ... for the humble subcomponent.


This release fixes a bunch of bugs, including one potentially serious
memory leak (if you created many Interp objects).  It also includes a much
rewritten version of the Admin Guide.  Comments and suggestions on this
are welcome for future releases.

Have fun.


Changes

1.16  December 13, 2002

[ ENHANCEMENTS ]

- Documented behavior of $m->flush_buffer when a filter is present.
- Turned off "nowrap" for error message on HTML error page.  No more
horizontal scrolling!
- Substantially rewrote portions of the Admin Guide, in order to
improve and clarify the portions related to configuring and
customizing Mason under mod_perl.
- Added back "raw error" on HTML error page.
- Replaced FilesMatch with LocationMatch in docs and FAQ, because
using FilesMatch means you can't use dhandlers.
- Reduced memory usage when compiling large components.  Memory usage
for smaller components hasn't changed much, but they weren't really a
problem in the first place.
- Added a cgi_request method to the CGIHandler::Request object, which
parallels the apache_req method offered by the ApacheHandler::Request
object.

[ BUG FIXES ]

- When using the code cache within an Interp, a circular reference was
created which prevented the Interp object from ever being destroyed.
With Perl 5.6.0+, this will be automatically prevented by using weak
references as needed.  With Perl 5.00503, you will need to call the
new Interp->flush_code_cache method in order to break the circular
reference.  This bug could cause memory leaks with code that created
new Interp objects over time, though most uses of Mason do not do
this.  Reported by Kate Porter.
- Fixed bad parsing of <% $foo || 50 %>.  Mason was interpreting this
as an escape flag.  Escape flags now much match /^[[:alpha:]_]\w+/ and
Mason specifically looks for || in a substitution as well.  Reported
by Kwindla Kramer.
- If a dhandler one subdirectory down (like /foo/dhandler) called
$m->decline, Mason threw a bogus exception.  Fixed by Harmen.
- Running the test suite caused an error in the shell on Win32 with
newer versions of MakeMaker.  Reported by Murat Unalan.  (We _think_
this is fixed but we'd like confirmation from a Win32 user).
- It was not possible to set the data_cache_defaults parameter from
the httpd.conf file.  Now it is.
- Mason was using Apache::Request->new instead of
Apache::Request->instance.  This meant that if you had a handler that
ran earlier (like a TransHandler) and that handler created an
Apache::Request object, then the one Mason created would be missing
any POST arguments.  Reported by Ray Zimmerman.
- Several different places in the docs said that Cache::Cache accepts
a username option, but there is no such thing.
- alter_superclass didn't work with CGIHandler because CGIHandler
didn't define a $VERSION variable.  Reported by Nadine and Harry
Laxen.
- Made CGIHandler merge together POST and query string arguments in
order to be consistent with ApacheHandler.  Reported by Nadine and Harry
Laxen.
- The CGIHandler module was overriding any out_method provided by the
user.  Reported by Nadine and Harry Laxen.