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