The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 1.17

  • ENHANCEMENTS
    • Added "REQUEST:" as a component specifier for method comp calls, similar to "SELF:" and "PARENT:". "REQUEST:" is short-hand for $m->request_comp. Suggested by Manuel Capinha, among others.
    • Added $m->call_self. This was present in Mason pre-1.10, and has been added back per Jon Swartz's request.
    • Added $comp->attributes, similar to $comp->methods. This just returns attributes for a given component objects. It doesn't return attributes inherited from a parent. Suggested by Matti Makitalo.
  • BUG FIXES
    • ** When $m->cache_self was used for a component with a filter block, the output would be cached _before_ filtering, and filtered every time it was retrieved from the cache. This has been fixed, and the documentation now specifies that the filtered output is cached.
    • Fixed failure of 12-taint.t #7 on Win32 boxes. Reported by Randy Kobes.
    • Without HTML::Entities installed, 13-errors.t #7 failed. Reported by Sam Kington.
    • $m->file did not handle relative paths properly when called from a subcomponent or method. Reported by Chris Hutchinson.
    • If $m->abort was called in the shared block of a component that had a filter, then a fatal error occured. Reported by Chris Pudney.
    • Mason was not cooperating with Apache::Filter, and attempts to filter Mason's output did not work. Fixing this also requires Apache::Filter 1.021, if you are using Apache::Request to handling incoming arguments. Reported by by Manuel Capinha.
    • Mason assumed that if Scalar::Util loaded without errors, it had a weaken() subroutine. However, Scalar::Util provides a pure Perl implementation that does not include this subroutine. Now we check for this subroutine explicitly. Reported by Autrijus Tang.
    • Some code constructs, such as qw() lists, would end up being turned into invalid code during component compilation. Reported by Robert Landrum.
    • Subclassing a subclass of HTML::Mason::Request broke when the class between HTML::Mason::Request and your own class called alter_superclass.
    • Under mod_perl 2.0, when ApacheHandler could't resolve a filename to a component, it would die instead of returning a not found status.
  • INCOMPATIBLE CHANGES
    • Removed the long deprecated and undocumented $comp->parent_comp method. Use $comp->owner instead.

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