HTML-Mason

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN


    - Trying to load HTML::Mason::ApacheHandler outside of mod_perl caused
      an error "like Undefined subroutine &Apache::perl_hook called at
      /usr/local/share/perl/5.8.7/HTML/Mason/ApacheHandler.pm line
      257". While it will never _run_ outside of mod_perl, it should at
      least load.

    - Fixed test in 14a-fake_apache.t that failed with CGI.pm >= 3.16.

    - The example code in the HTML::Mason::Resolver::Null code was
      just wrong. Fixed by John Siracusa.

    - Fixed a test failure in 06-compile.t when using bleadperl. RT
      #17118.

1.32  January 3, 2006

    [ BUG FIXES ]

    - Under mod_perl 1.x with error_mode set to output, the headers were
      sent after the content when a compilation error occurred.  Reported by
      Gareth Kirwan.  Task id #592.

    - URI-escape utf8 characters the same way that CGI::escape and
      URI::Escape::uri_escape_utf8 do.  Patch by Denis Shaposhnikov.

    - On startup Mason creates a file named ".__obj_create_marker" in the
      object directory.  Under mod_perl, Mason was not chmod'ing the file
      when Apache was started as root. This led to permission errors in
      environments where the Interp is created anew every request.  Task id
      #593.

    - Treat the return value of component execution as a string in
      ApacheHandler.  This prevent warnings about comparing the empty string
      to a number when a component returns "".  Reported by Benjamin Franz.

    - Setting a MasonPlugins Apache parameter caused a fatal error.  Patch
      by David Jack Olrik.

    - Calling base_comp() on the Request object inside a plugin's
      start_request_hook method caused an infinite recursion in Mason.
      Reported by Jesse Vincent.

1.3101  August 23, 2005

    [ BUG FIXES ]

    - One last fix for CGIHandler.  If you provided your own out_method it
      was ignoring it and using its own.  Reported by David Glasser.

1.31  August 20, 2005

    [ BUG FIXES ]

    - Fix several regressions in the CGIHandler and FakeApache modules.
      Some changes from the stable branch were never merged into the trunk
      before 1.30.  Reported by Jesse Vincent.  Task id #589.

    - Under Apache2, if an ApacheHandler object was created during server
      startup and the associated Interp object created any files or
      directories, Mason would crash when attempting to chown those
      files/dirs to the uid/gid that Apache will use after forking.  Task
      #586.

    - The compiler was adding an extra block around a component's
      body, which meant that variables declared in the body (in perl lines
      or blocks) were not seen in the cleanup section.  Task id #587.

    - The compiler was also adding "no warnings 'uninitialized'" in this
      block, which could hide various errors.

    - Hopefully fix $VERSION in ApacheHandler so PAUSE will not be
      confused and think we have regressed.

    - Turned off some prompts during the module's installation.  These
      were intended to help new users configure Apache to run Mason
      components, but they're probably a bit confusing.  Will return in a
      future release as a separate script that can be run from the command
      line.

1.30  August 11, 2005

    [ INCOMPATIBLE CHANGES ]

    - ** Under mod_perl2, MasonArgsMethod will default to "CGI", since
      libapreq2 is still in development.  If you have successfully installed
      libapreq2, just set MasonArgsMethod to "mod_perl" to use it.

    [ ENHANCEMENTS ]

    - Some doc tweaks to clarify that Mason should work out of the box
      with both mod_perl 1 and 2.
    - Added "use warnings" to all modules and made sure all tests ran
      warnings-free.

    [ BUG FIXES ]

    - Silence a warning when HTML::Mason::ApacheHandler was loaded outside
      of mod_perl.
    - Support renamed Apache2::Status module.

1.29_02  June 22, 2005

    [ ENHANCEMENTS ]

    - ** Support for mod_perl-2.00 (mod_perl-1.99 is no longer supported
      because of API changes in 2.0RC5).
    - Mason recovers more gracefully from an empty or corrupted object
      file. Task id #579.

    [ BUG FIXES ]

    - Fixed bug with content type being reset when decline_dirs=0.
      Submitted by Brian Phillips. Task id #584.
    - Put "Mason" prefix back in Params.pod. Task id #575.
    - Fixed fetch_comp(undef) to not return an empty hash. Task id #578.
    - static_source_touch_file did not take effect until after one request
      for a top-level component.  Reported by Lai Zit Seng. Task id #576.

1.29_01  January 25, 2005

Changes  view on Meta::CPAN

      'HTML::Mason::Resolver::File::ApacheHandler'.  However, you can now
      pass Interp constructor params directly to the ApacheHandler
      constructor, which will create the interp object internally. 
    - ** The MasonMultipleConfig httpd.conf parameter has been removed.
      Mason can now figure this out by itself.
    - ** The HTML::Mason::Interp time() method has gone away.
    - ** The base_comp is now changed for each component call, unless that
      component call uses a component object for its first argument, or the
      call starts with SELF: or PARENT:.
    - ** The "perl_" prefix for Mason tags is no longer supported.
    - ** The backslash character now eliminates a newline at the end of
      any line, not just before %-lines and section tags.

    [ ENHANCEMENTS AND NEW FEATURES ]

    - It is now possible to pass chunks of component content as part of a
      component call.
    - Mason now supports subrequests via the new $m->subexec and
      $m->make_subrequest methods.
    - Mason no longer requires you to specify a component root or data
      directory.  The component root now defaults to your document root in a
      web context, or your filesystem root in a standalone context.  The
      data directory will be a subdirectory of your server root under
      mod_perl, and Mason can work without any data directory at all in
      other contexts.
    - The Resolver class API has been redesigned and is documented for the
      first time.
    - The installation process will offer to help you setup Mason for use
      with mod_perl if it can find your Apache configuration file and it
      cannot find an existing Mason configuration.
    - The HTML::Mason::Request->instance method is now the officially
      supported way of getting at the current request object outside of a
      Mason component (suggested by John Siracusa).
    - The HTML::Mason::Interp->comp_exists method now checks for a
      component's existence without loading the component (suggested by
      Randal Schwartz).
    - Mason now includes a module called HTML::Mason::CGIHandler, which
      greatly simplifies the use of Mason via CGI scripts.
    - Mason now uses File::Spec for all filesystem operations.
    - All the .pod files have been merged into their corresponding .pm
      files, where appropriate.
    - Added the Component attr_if_exists method (suggested by Joe
      Frisbie).
    - We now use the HTML::Entities module's encode function for the 'h'
      substitution escape flag.  This module escapes high-ascii characters
      properly.
    - Calling a method via $m->comp('comp:method') works just like
      $comp->call_method('method').
    - When an object contains other objects then the containing object's
      constructor accepts parameters intended for the contained objects.
      For example, the Interp object contains a Resolver object and Request
      objects.  The Interp's new method will accept constructor parameter
      for both the Resolver and Request objects.
    - The ApacheHandler args_method is now a per-object parameter.
    - Mason is now much smarter about recompiling components.  In general,
      it can detect if compiler options for a compiled component are
      different from the current options, and will recompile the component
      if necessary.  The exception to this is that with compiler parameters
      which take callbacks (such as preprocess), Mason can only tell if such
      a parameter is present, not whether the actual callback has changed.
    - The ApacheHandler object will chown any files created during server
      startup as needed.

    [ BUG FIXES ]

    - The <%args> section can now contain comments which contain the
      string '=>' (reported by Chris Hutchinson).
    - Fixed the longstanding bug that using print() or $r->print() causes
      output/headers to appear out of order.  You can now safely use these,
      though we still recommend that you use Mason to send output.
    - Filtered output now does appear when $m->abort() used.  However, an
      abort inside a component called via $m->scomp() still cause the output
      generated by that component to disappear.

    [ INTERNALS ]

    - Output buffering and filtering is handled by the new
      HTML::Mason::Buffer class.
    - All fatal errors thrown during component execution are exception
      objects in the HTML::Mason::Exception class hierarchy.
    - The CGI GET/POST argument processing code has been simplified
      (submitted by Ilmari Karonen).
    - ApacheHandler now uses a special Resolver subclass to translate URIs
      to component paths.
    - Parameters passed to "set" accessors are now validated in the same
      way as constructor parameters.
    - The component requested and the arguments it was passed are now
      properties of the Request object.

1.05  April 30, 2002

    - Fixed improper handling of parameters for non-GET/POST
      request. (submitted by Radu Greab)
    - Fixed Interp to accept a resolver object param. (reported by Bojan
      Jovanovic)
    - Fixed infinite loop when calling $m->decline with // in dhandler
      arg. (reported by Baldur Kristinsson)

1.04  October 30, 2001

    - Fixed locale parser_version 0,8 problem. (submitted by Louis-David Mitterrand) 
    - Fixed inability to use '/' for comp_root. (reported by Doug Hunt) 
    - Fixed HTML::Mason::Parser::make_dirs dying when reload_file not
      defined. (reported by Ivan E. Panchenko)
    - Made error_process regexps more specific. (suggested by Vadim Belman) 
    - Fixed $m->count. (reported by David Wheeler) 
    - Fixed writing of object files in taint mode. (submitted by Barrie Slaymaker) 
    - Made it possible to run Makefile.PL without prompts. 

1.03  May 17, 2001

    - Made raw error message accessible from the new error display via
      an unobtrusive link.
    - Fixed Apache tests when started by a non-root user. (reported
      by Barrie Slaymaker)
    - Added short-circuits for Apache tests on Win32 and on systems with
      Apache configurations that cannot be properly parsed. (reported by
      Jindra Vavruska)

1.02  April 17, 2001

Changes  view on Meta::CPAN

      non-existent URL
    - Fixed "keys" cache action which never worked as documented
      (submitted by Scott Straley)
    - Fixed source references on Win32 platforms by using text mode when
      reading object file (submitted by Michael Shulman)
    - Fixed various methods in FakeApache
    - Remove final slash from system paths (component root, etc.) and
      check that those paths are absolute
    - Fixed all-text subcomponents, by bypassing the pure-text
      optimization
    - Quoted all hash strings in object file to reduce "Ambiguous use
      of ..." warnings (suggested by Paul Schilling)
    - Replaced */* with default-handler as recommended way to bypass Mason
      (suggested by Dirk Koopman)
    - Removed defunct pure text section in Administrators Guide (reported
      by Michael Shulman)

0.71  September 14, 1999

    - Logic of top_level_predicate was reversed in 0.7; fixed.
      (reported by Tom Hughes, Eric Hammond)
    - mc_suppress_http_header(0) was broken in 0.7; fixed.
      (reported by Michael Alan Dorman)
    - Fixed bug in parser section that determines whether % is at the
      beginning of a line.  (reported by Tom Hughes)
    - Parser no longer inadvertently accepts argument names with
      whitespace.  (reported by Phillip Gwyn)

0.7  September 1, 1999

    - Improved core implementation with two new classes,
      HTML::Mason::Request and HTML::Mason::Component.  Code is now cleaner
      and more scalable, and the new APIs give developers control and
      introspection over Mason's inner workings.
    - Added documentation to accommodate new classes: created
      Request.pod and Component.pod, and moved component developer's guide
      (previously at Components.pod) to Devel.pod to avoid
      confusion.
    - Object files have changed significantly (they now return a
      component object).  Pre-0.7 object files will be detected and
      automatically updated, unless you are running in reload file mode
      in which case you are responsible for generating new object files.
    - New <%def> section defines a subcomponent embedded inside a larger
      component.  This allows repeated code and HTML to be modularized
      without affecting the global component namespace.
    - <%args> section now accommodates optional comments for declarations
    - Improved Perl translation of <%args> section (submitted by Ken
      Williams)
    - Autohandler and dhandler file names are now configurable
    - Dhandlers, which formerly worked only in mod_perl mode, now work in
      stand-alone mode as well
    - Interp::exec is now re-entrant with all request specific information
      having been moved to Request class.
    - ** Reworked Parser API. parse is now called make_component, has a
      simplified set of options, and returns a component object
      directly. make is now called make_dirs.
    - Source references now read from the object file, cleaner for a
      variety of reasons. Preprocess and postprocess now work with source
      references.
    - Removed obsolete and undocumented Interp::vars and mc_var functions
    - Simplified chown/getpwuid usage in handler.pl (submitted by Randal
      Schwartz)

0.6.2  August 20, 1999

    - Fixed problem with shared data cache locks over NFS (submitted by
      Tom Hughes)
    - Fixed mc_auto_comp, which never really worked as documented
    - Fixed preloading for directories (submitted by Dennis Watson)
    - Added back Utils::get_lock, which is used by content management

0.6.1  July 27, 1999

    - Added warnings to convert-0.6.pl about occasional erroneous
      component call syntax conversions (reported by Oleg Bartunov)
    - Fixed conversion of <% mc_comp("/foo/$bar") %> (reported by Oleg
      Bartunov)
    - Fixed cache access under high concurrencies (reported by Oleg
      Bartunov)
    - Fixed uppercase <%PERL>, broken in 0.6 (reported by Daniel L. Jones)
    - Fixed mc_suppress_http_header(0), broken in 0.6 (reported by Jim
      Mortko)

0.6  July 16, 1999

    - New <& &> tag provides a more convenient way to call components
      inside HTML. mc_comp still works.
    - The "perl_" prefix has been eliminated from section names: now
      simply use <%init>, <%cleanup>, <%args>, etc. The old names still
      work.
    - The utility bin/convert0.6.pl converts existing components to use
      the above new syntax.
    - New autohandler feature finally provides an easy way to specify a
      common template or behavior for a directory. An autohandler is invoked
      just before any top-level components in its directory begins executing.
      It can display header/footers, apply a filtering function, set up
      globals, etc.  A good complement to dhandlers.
    - New <%once> section contains code that will be executed once when a
      component is loaded.  It is useful for defining persistent variables
      and named subroutines.
    - New <%filter> section and mc_call_self command allow you to arbitrarily
      filter the output of the current component.
    - New <%text> section allows you to turn off Mason processing for a
      particular section of text.
    - Implemented first installation test suite! [modus]
    - HEAD optimization: we now automatically abort after headers are sent
      on a HEAD request.
    - New Parser make() utility traverses a tree of components, compiling
      any out-of-date components into object files and reporting errors.
    - New mc_comp_source command returns the source filename of this or
      any component.
    - mc_file now uses current component path by default for relative paths
      if no static_file_root defined (suggested by John Landahl)
    - Various previewer interface improvements
    - Removed link tags in pods documentation due to 5.004 problems
    - Took out previewer stub from Mason.pm to eliminate "subroutine
      redefined" warning
    - Updated makeconfig.pl to prefer GDBM_File, to avoid a bug in
      Berkeley DB 1.x
    - Cleaned and sped up interp hooks facility
    - Stopped substituting control characters for section strings in Parser



( run in 1.832 second using v1.01-cache-2.11-cpan-71847e10f99 )