Changes for version 1.16
- ENHANCEMENTS
- Documented behavior of $m->flush_buffer when a filter is present.
- Turned off "nowrap" for error message on HTML error page. No more horizontal scrolling!
- Substantially rewrote portions of the Admin Guide, in order to improve and clarify the portions related to configuring and customizing Mason under mod_perl.
- Added back "raw error" on HTML error page.
- Replaced FilesMatch with LocationMatch in docs and FAQ, because using FilesMatch means you can't use dhandlers.
- Reduced memory usage when compiling large components. Memory usage for smaller components hasn't changed much, but they weren't really a problem in the first place.
- Added a cgi_request method to the CGIHandler::Request object, which parallels the apache_req method offered by the ApacheHandler::Request object.
- BUG FIXES
- When using the code cache within an Interp, a circular reference was created which prevented the Interp object from ever being destroyed. With Perl 5.6.0+, this will be automatically prevented by using weak references as needed. With Perl 5.00503, you will need to call the new Interp->flush_code_cache method in order to break the circular reference. This bug could cause memory leaks with code that created new Interp objects over time, though most uses of Mason do not do this. Reported by Kate Porter.
- Fixed bad parsing of <% $foo || 50 %>. Mason was interpreting this as an escape flag. Escape flags now much match /^[[:alpha:]_]\w+/ and Mason specifically looks for || in a substitution as well. Reported by Kwindla Kramer.
- If a dhandler one subdirectory down (like /foo/dhandler) called $m->decline, Mason threw a bogus exception. Fixed by Harmen.
- Running the test suite caused an error in the shell on Win32 with newer versions of MakeMaker. Reported by Murat Unalan. (We _think_ this is fixed but we'd like confirmation from a Win32 user).
- It was not possible to set the data_cache_defaults parameter from the httpd.conf file. Now it is.
- Mason was using Apache::Request->new instead of Apache::Request->instance. This meant that if you had a handler that ran earlier (like a TransHandler) and that handler created an Apache::Request object, then the one Mason created would be missing any POST arguments. Reported by Ray Zimmerman.
- Several different places in the docs said that Cache::Cache accepts a username option, but there is no such thing.
- alter_superclass didn't work with CGIHandler because CGIHandler didn't define a $VERSION variable. Reported by Nadine and Harry Laxen.
- Made CGIHandler merge together POST and query string arguments in order to be consistent with ApacheHandler. Reported by Nadine and Harry Laxen.
- The CGIHandler module was overriding any out_method provided by the user. Reported by Nadine and Harry Laxen.
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