Revision history for Mason

** marks an incompatible change

2.15  Nov 27, 2011

** Incompatible changes
  - Rename bin/mason to bin/mason.pl, to avoid conflict with the Mason firewall tool.

* Fixes
  - Fix parser bug with filters and comment characters (Tomohiro Hosaka)

2.14  Sep 6, 2011

** Incompatible changes
  - Deprecate %%-lines, <%args> section and <%shared> section, which IMO add
    unnecessary TMTOWTDI. Standardize on the <%class> section and Moose 'has'
    declarations. These alternate syntaxes may make it into a plugin.

* Improvements
  - Allow applications to specify Mason subclasses by naming convention.
  - Document use of Mason subclasses in Mason::Manual::Subclasses.

* Fixes
  - Respect Mason::CodeCache plugins (bokutin)
  - Allow comments after filter markers {{ and }}

2.13  Jul 26, 2011

* Improvements
  - Add process_output, an easy way to modify all Mason output in a plugin or subclass

2.12  Jul 3, 2011

* Fixes
  - Fix $m->visit under PSGIHandler (Jozef Mojzis)
  - Fix $m->visit when initial out_method passed

2.11  Jun 29, 2011

* Fixes
  - Fix memory leaks between Interp, Request and Component; add test for leaks (StephenClouse)

2.10  Jun 23, 2011

* Fixes
  - Fix filter pipe syntax, broken in 2.09 - RT #69038 (MDIETRICH)
  - Specify and test execution order of multiple filters in pipe syntax
  - Go back to generating version numbers for all sub-modules again

2.09  Jun 20, 2011

* Fixes
  - Properly rename Mason::t::Defer test

2.08  Jun 18, 2011

** Incompatible changes
  - Change apply filter syntax to
     % $.Filter {{
     ...
     % }}
    as it reduces tag soup and better matches the typical use of filtering a block of content

* Improvements
  - Add $m->filter to manually apply filters
  - Add CLASS->no_wrap() as a convenient way to skip parent wrapping
  - Set $_ as well as $_[0] to content for filtering, to make s// based filters easier

* Fixes
  - Define $CLASS as well as CLASS in components, ala CLASS module
  - Fix $. notation inside <& &>
  - Re-fix compatibility with JSON version 1.x
  - Untaint component source when in taint mode (e.g. mod_perl) as in Mason 1, otherwise
    compiler regexes may fail

2.07  Apr 21, 2011

* Improvements
  - Allow arguments to be passed to the content sub from a dynamic filter (e.g. CompCall)
  - Throw error on unmatched %> or &>
  - Fix error line numbers after method sections and multiple text sections

* Fixes
  - Prevent false inheritance loops when component overrides its default parent (Jozef Mojzis)
  - Fix compatibility with JSON version 1.x

* Other
  - Only generate version numbers for .pm files with documentation, to reduce inter-version churn

2.06  Mar 14, 2011

* Fixes
  - Use new file extensions in eg/blog (Jozef Mojzis)

2.05  Mar 6, 2011

** Incompatible changes
  - Change default component file extensions due to conflict with Objective C's .m
    (suggested by jomo). New extensions:
    .mc - top-level component
    .mi - internal component
    .mp - pure-perl component

* Fixes
  - Require comp_root parameter to Mason->new (cxreg)
  - Require that request path is absolute
  - Ignore whitespace at beginning of a <%args> and <%shared> line (cxreg)

* Improvements
  - Forbid reserved names such as 'cmeta' in new method and attribute declarations
  - Improve error message when request path not found - list all component paths searched

* Testing
  - Stop using test counts - see http://bit.ly/eISu3R

* Documentation
  - Add Mason/Manual/Intro.pod

2.04  Feb 26, 2011

* Fixes
  - Fix broken $m->scomp (Tomohiro Hosaka)

* Testing
  - Add a pile of tests to fill in coverage gaps

2.03  Feb 24, 2011

* Improvements
  - Add -e option to bin/mason

* Fixes
  - Depend on Log::Any 0.08, for Log::Any::Test (David Wheeler)

2.02  Feb 24, 2011

* Fixes
  - Allow index file (index.m, index.pm) to be accessed directly with /index path (Matthias Dietrich)
  - Fix error line # for invalid attribute
  - Include HTMLFilters in eg/blog/install.sh (qiuhw)
  - Fix t/mason-app.t to be perl-location-agnostic (qiuhw)
  - Prevent CPAN from indexing built-in plugin implementation files

* Backend
  - Remove InstanceMeta object, make args() a direct method of component
  - Add pluggable Mason::Component::Import for importing non-Moose things into components

2.01  Feb 20, 2011

* Fixes
  - Declare Devel::GlobalDestruction dependency; get rid of List::MoreUtils dependency

2.00  Feb 16, 2011

- Initial Mason 2 version - see HTML::Mason for previous versions