Changes for version 1.22

  • ENHANCEMENTS
    • Added $m->has_content to check for content without evaluating it.
    • Comments are now allowed on separate lines inside <%attr> and <%flags> blocks. Task id #475.
    • $m->subexec and $m->make_subrequest now accept relative paths which are interpreted relative to the current component directory, like $m->comp.
    • Documented potential problems if call to $m->redirect is trapped in an eval block, and then output is generated before the exception is rethrown. Task id #477.
  • BUG FIXES
    • If a component with a filter section called abort, the filter was run twice. Task id #473.
    • If an exception was thrown when creating a request, memory was leaked. This can happen when the top-level component cannot be found (e.g. 404) or if there is an error in compiling the top-level component. Task id #478. Reported by Doug Treder.
    • Removed the use of alarm() and SIG{ALRM} to trap rare infinite loops inside the compilation of components. It interfered with Mason environments that use alarm() for their own purposes, and the associated test would crash in certain Perl environments. If you find that Mason sometimes enters an infinite loop, see the "Hanging Processes: Detection and Diagnostics" section of the mod_perl guide for hints on diagnosing the problem. Task id #472.
    • Mason allowed a component to define two subcomponents or methods with the same name. Task id #476. Reported by John Michael Mars.

Documentation

Mason Administrator's Manual
Mason Developer's Manual
Mason configuration parameters
Documentation on Subclassing Internal Mason classes

Modules

A bundle to install the HTML::Mason package
High-performance, dynamic web site authoring system
Mason/mod_perl interface
Objects for Handling Component Output
Use Mason in a CGI environment
Base cache object
Compile Mason component source
A Compiler subclass that generates Mason object code
Mason Component Class
Mason Subcomponent Class
represents information about an component
Functions to escape text for Mason
Exception objects thrown by Mason
Mason Component Interpreter
Generates events based on component source lexing
Used to create simple get & get/set methods in other classes
Old module for compiling components
Mason Request Class
Component path resolver base class
Component path resolver for file-based components
a do-nothing resolver
Test harness for testing Mason
Function library used internally in Mason
Publically available functions useful outside of Mason

Provides

in lib/Apache/Mason.pm
in lib/HTML/Mason/Component/FileBased.pm
in lib/HTML/Mason/Exceptions.pm
in lib/HTML/Mason/Exceptions.pm
in lib/HTML/Mason/Exceptions.pm
in lib/HTML/Mason/CGIHandler.pm
in lib/HTML/Mason/ApacheHandler.pm
in lib/HTML/Mason/CGIHandler.pm
in lib/HTML/Mason/ApacheHandler.pm
in lib/HTML/Mason/Request.pm