++ed by:

4 PAUSE users
2 non-PAUSE users.

Dave Rolsky

Changes for version 1.21

    • The semantics of @_ for components now match Perl subroutines: @_ contains aliases to the caller's arguments, instead of copies. For example, if a component updates $_[0], the corresponding argument is updated (or an error occurs if it is not updatable). The only users that will notice this are those that update elements of @_ in components and do not expect those changes to affect the caller. If you have any doubts, grep your component tree for '\$_\[' and look for assignment statements.
    • Cache the result of taint_is_on() for performance.
    • Mason was copying arguments several times for a request, and several more times for each component call. The unnecessary copies have been eliminated. As part of eliminating these copies, a new compiler parameter has been added, "define_args_hash". The default setting, "auto", should work with all existing Mason components. See the HTML::Mason::Compiler::ToObject docs for details. Task id #464. Suggested by Doug Treder.
    • Add more details about subclassing the compiler to the Subclassing documentation.
    • There is now a compiler parameter called "use_source_line_numbers", which can be used to turn off line numbering based on the source file. This can be useful when single stepping a component through the debugger. Task id #461.
    • Fixed a serious error in which a Compiler that was used on a component containing certain kinds of syntax errors would claim that any future components also contained syntax errors. Task id #467.
    • Now assigning runtime properties (such as interp) to method component objects as well as subcomponent objects. Task id #462.
    • Fixed the HTML error display. Errors were not being properly HTML-escaped. Task id #468. Reported by Jeremy Blain.
    • A bad interaction between the XS version of Params::Validate, Perl 5.00503 and taint mode has been "fixed" by requiring Params::Validate 0.59, where the problem is fixed. Task id #470.
    • The test suite now runs the taint mode tests is no longer skipped on earlier versions of Perl. Task id #471.
    • The ApacheHandler module would go into an infinite memory-eating loop when run in taint mode with Perl 5.6.1. Task id #469. Reported by William McKee.
Show More