ANNOUNCE: HTML::Mason 1.30

Dave Rolsky <[email protected]> Thu, 11 Aug 2005 13:47:19 -0500 (CDT)
Newsgroups gmane.comp.web.mason.announce
Message-ID <Pine.LNX.4.61.0508111340340.26270__1721.9619978734$1123786299$gmane$org@urth.org>
I've included the changelogs for 1.29_01, 1.29_02, and 1.30 below.  This 
is a major new release with a number of new features, notably a variety of 
speed enhancements, a new plugin system, and support for mod_perl 2 out of 
the box.

This release passes all its tests (of course) but it does include a fair 
bit of code so it should be treated like any release that ends in a zero 
;)


1.30

[ INCOMPATIBLE CHANGES ]

- ** Under mod_perl2, MasonArgsMethod will default to "CGI", since
libapreq2 is still in development.  If you have successfully installed
libapreq2, just set MasonArgsMethod to "mod_perl" to use it.

[ ENHANCEMENTS ]

- Some doc tweaks to clarify that Mason should work out of the box
with both mod_perl 1 and 2.
- Added "use warnings" to all modules and made sure all tests ran
warnings-free.

[ BUG FIXES ]

- Silence a warning when HTML::Mason::ApacheHandler was loaded outside
of mod_perl.
- Support renamed Apache2::Status module.


1.29_02  June 22, 2005

[ ENHANCEMENTS ]

- ** Support for mod_perl-2.00 (mod_perl-1.99 is no longer supported
because of API changes in 2.0RC5).
- Mason recovers more gracefully from an empty or corrupted object
file. Task id #579.

[ BUG FIXES ]

- Fixed bug with content type being reset when decline_dirs=0.
Submitted by Brian Phillips. Task id #584.
- Put "Mason" prefix back in Params.pod. Task id #575.
- Fixed fetch_comp(undef) to not return an empty hash. Task id #578.
- static_source_touch_file did not take effect until after one request
for a top-level component.  Reported by Lai Zit Seng. Task id #576.

1.29_01  January 25, 2005

[ INCOMPATIBLE CHANGES ]

- ** Mason now requires Perl 5.6.0 or later. However, because 5.6.0
has so many problems, it cannot be officially supported; we strongly
recommend upgrading to at least 5.6.1.
- ** Mason now requires version 1.24 of mod_perl in the ApacheHandler
module.
- ** The behaviors of $m->flush_buffer and $m->clear_buffer have been
simplified. $m->flush_buffer only acts on the top-level output buffer;
$m->clear_buffer clears all output buffers. Task id #554.
- ** max_code_cache_size is now kept in terms of number of components,
not bytes, and its default value is 'unlimited'.
- ** Components with a <%filter> and a cache_self are no longer cached
in their filtered state. Performance-related code simplifications made
this behavior difficult to maintain. Long term this would be
easier to implement with a cache_self component <%flag>.
- ** All compiler properties are now read-only. If you need to change
compiler properties on a per-request basis, you'll need to create
multiple compiler and interpreter objects.
- ** comp_exists may try to load the designated component, and may
throw an error if it contains a syntax error.
- ** The current_time method, deprecated in 1.1x, has been removed.
- ** The HTML::Mason::Buffer class has been eliminated for performance
reasons. You can use separate components, methods, or subcomponents
and scomp to achieve the same effects as buffer pushes and pops.

[ ENHANCEMENTS ]

- Significantly improved performance in component execution,
especially in static_source mode.
- Added static_source_touch_file, making it much easier to update
a server running in static_source mode.
- Added a plugin architecture. Plugin classes can perform actions at
key points, e.g. before and after each request and each component
call.  See HTML::Mason::Plugin for documentation. Task id #24.
Initial implementation by Doug Treder.
- Added the ability to change component root(s) on the fly if the
dynamic_comp_root parameter is turned on. Task id #561. Suggested
by Alex Robinson.
- Added enable_autoflush parameter. When turned off, Mason can
compile components to a more efficient form.
- Changed the </&> tag to allow the starting component name to be
included. e.g. <&| /foo &> ... </& /foo >. Task id #556. Suggested
by Alex Robinson, John Williams, and others.
- Moved the notion of component roots (single and multiple) from the
Resolver to the Interpreter. This improved the performance of multiple
component roots in conjunction with static source mode. Any resolver,
file-based or otherwise, can benefit from component root settings or
choose to ignore them.
- Added the compiler object_id to the object file path, so that
multiple versions of Mason do not collide in the same object
directory. Task id #569.
- Added .obj (or a configurable extension) to object filenames.
Task id #152. Suggested by John Tobey.
- Added $m->clear_and_abort, syntactic sugar for the common idiom
of calling clear_buffer() and then abort(). Task id #505.
- Added an official comment syntax, <% # ... %>, and documented
the various comment markers in the developer's manual. Task id #566.
- Added buffer_preallocate_size parameter, which allows you to
potentially reduce buffer reallocations.
- Augmented the 'could not find component' error message with the
current component root(s). Task id #562.

[ BUG FIXES ]

- Mason now throws an error if the path specified in a component's
'inherit' flag cannot be found. Task id #480.
- Fixed comp_exists to work with any path accepted by comp or
fetch_comp, and fixed fetch_comp to stop throwing errors for certain
bad paths. Task id #572.
- Fixed $m->decline to work from /dhandler. Task id #573. Submitted
by Carl Raiha.
- Using 'next' or 'last' without a loop can no longer corrupt
the component stack. Task id #539.



-dave

/*===================================================
VegGuide.Org                        www.BookIRead.com
Your guide to all that's veg.       My book blog
===================================================*/


-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf