[libhtml-mason-perl] annotated tag v1.55 created (now 4cdcafb)

Florian Schlichting fsfs at moszumanska.debian.org
Mon Nov 6 22:47:30 UTC 2017


This is an automated email from the git hooks/post-receive script.

fsfs pushed a change to annotated tag v1.55
in repository libhtml-mason-perl.

        at  4cdcafb   (tag)
   tagging  88634c58a7c202d9cf949daf9f2a86bc622b769e (commit)
 tagged by  Dave Rolsky
        on  Fri Nov 14 21:57:03 2014 -0600

- Log -----------------------------------------------------------------
v1.55

(no author) (1):
      New repository initialized by cvs2svn.

Alex Vandiver (1):
      Fix precedence error; "and" is lower precedence than "return"

Dave Rolsky (32):
      Don't create a passthrough Makefile.PL
      Check for .git, not .svn
      Add .gitignore
      Use pid ($$) in paths so we can run tests in parallel
      Handle undefined value for Filter config in ApacheHandler
      Formatting tweak
      Changes for 1.47
      Bump version
      Add Module::Build to configure_requires
      Fix spacing
      Avoid uninit value warning with subcomponent in anon component
      Update MANIFEST.SKIP
      Changes for 1.48
      Bump version to 1.48
      Ignore all meta files
      Small Changes formatting tweak
      Update .gitignore
      Remove ancient sample code
      Remove broken links to masonhq.com
      Move live tests from xt/author to live-tests
      Move Pod::Weaver module to inc/
      Update weaver plugin to work from inc and skip main module
      Tidy some ancient code in bin
      Update dist.ini to use my bundle
      Merge pull request #1 from jibsheet/master
      Changes for next release
      Bump version
      Tweak text about Mason 2
      Update .mailmap
      Remove link to jonswar github
      Remove Git::CheckFor::MergeConflicts plugin
      v1.55

Jonathan Swartz (49):
      update copyright
      correct spelling of overriden -> overridden
      1.49
      skip release
      add
      add dzil support files, remove old cruft
      used to be autogenerated, now hand-maintained
      ignore t/lib/BadModule.pm
      simplify
      ignore htdocs
      expand P<>, ADMIN<>, and DEVEL<> pod shortcuts for good
      fix broken links
      ignore mason_tests
      make live tests author-only
      1.50
      remove now-autogenerated pod sections like AUTHOR, COPYRIGHT, SEE ALSO
      add SeeAlsoMason
      VERSION will be autocreated
      1.50
      update Changes from previous dist
      fix MANIFEST.SKIP
      don't perltidy after all
      revert tidying
      remoe superfluous sections
      update
      add mason 2 note, getting help and sources
      1.50
      updating to next version 1.51
      1.51
      remove hardcoded version
      add
      1.51
      updating date for 1.51
      updating to next version 1.52
      RT #49031 - Ignore 'Software caused connection abort'
      RT #88708 - sort hash keys to deal with Perl 5.18+ hash randomization
      1.52
      Merge pull request #2 from alexmv/precedence
      Merge pull request #1 from rjbs/escape-each-item
      Merge pull request #3 from avar/do-not-use-global-warnings-in-tests
      Merge pull request #4 from avar/implement-use_warnings-switch
      Merge pull request #5 from avar/html-mason-params-correct-docs-for-compiler_class-default
      1.52
      updating date for 1.52
      updating to next version 1.53
      1.53
      updating date for 1.53
      updating to next version 1.54
      updating date for 1.54

Kevin Falcone (1):
      Ask CGI to not warn about param() in list context.

Ricardo Signes (2):
      escape each part of substitution, not their concatenation
      ensure that we can write escapes that handle refs

autarch (2053):
      remove direct access to other object's hash keys
      remove direct access to other object's hash keys
      add some methods to keep others away from my hash keys
      remove direct access to other object's hash keys
      added test for pre & postprocess options
      tests for parser pre & postprocess options
      fix broken postprocess feature
      automates the task of making simple read & read/write accessor methods
      use HTML::Mason::MethodMaker to make simple accessors
      removed unneeded use of Exporter
      added warning about mod_perl as a DSO
      removed object hash key of '_permitted', which wasn't being used anywhere
      added cgi_object to ::Request::ApacheHandler class so it can return the CGI object we use internally
      documentation for new cgi_object method
      summarized my changes
      make sure warnings are off when %ARGS is assigned in a component
      squash warning
      resolving conflicts
      make cgi_object method return a new, empty CGI object if none was
      document that cgi_object is a fatal error when using Apache::Request to get args
      added FAQ for how to handle file uploads
      added Component run method so components execute themselves rather than having the Request object poking about in their internals.  Nice and clean (and subclassable)
      The code_cache related tests have to change when the size of a cached component changes
      make MethodMaker declarations look pretty for Jon ;)
      this test now also tests that the $m->cache store action returns the value stored
      returns the stored value on a store action if this is successful
      document that $m->cache store action returns the stored value if successful
      add Component method run_dynamic_sub to be called from Request object to eliminate Request poking about in Component internals
      removed some unused imports and changed a bizarre code construct in process_comp_path
      did the following things for a number of modules:
      added 'use 5.004' to top
      removed unneeded use
      remove use of POSIX
      change DSO warning to mention that I did actually get this working
      more ch-ch-changes
      remove yet more direct hash accesses into the component.  clean up some variable names
      explicitly use IO::File cause its not in any of the modules any more
      3 things
      remove all IO:: stuff
      remove use of IO::
      remove use of IO::
      remove use of IO::
      remove IO::
      finish cleaning up var names
      I thought we killed this weird stat thing already ;)
      var name cleanup
      always one last var name to clean up
      check even more syscall returns
      more changes
      use File::Spec
      getting ready for 0.89 (already!)
      removed a number of functions no longer being used.  Use File::Spec where appropriate
      fix screwup that caused error at startup if using system logging
      use File::Spec to replace a lot of file/dir related code
      added CGI object test
      test for cgi_object method
      test cgi_object method
      test harness for Mason
      clarify difference between Apache request object and Mason request object for last question
      fix so that its possible to override call_path param properly
      get Jon's fix for the CGI object stuff from 0.89 into the HEAD branch
      This appears to fix the tainting bug!
      this runs independtly of the test harness (new or old) and tests that the parser works in taint mode
      use plain scalar instead of scalar ref in getting around taint bug.  Its less obfuscated and benchmarks to the same speed
      uses the spiffy new test harness
      new test suite for error testing
      updated version
      makes sure that Tests.pm can see TEST_VERBOSE=1 switch to make test
      some code reorganization to make the paths the test harness uses for writing components available publicly
      use expect_error param to check error message.
      translated all old tests
      added a few options (interp & skip_expect) to support Interp tests
      recursive descent lexer piece of new parser architecture
      base class for compilers.  Basically a set of methods that are called from the lexer that generates a big data structure representing the component and does basic escaping and such.  The compiler subclasses are responsible for generating some sort of useful output (like a component object file)
      compiler subclass to generate object file text
      beginning of compiler subclass to generate class files instead of object files
      just spits out events to STDOUT.  useful for testing the lexer
      allow compiler_class as parameter to new
      add line numbering whenever text is added to text buffer
      I remembered why I got rid of the text buffer stuff once already.  It makes proper line numbering almost impossible.  I got rid of it and added in proper line numbering (I think).  Maybe I'll take a look at the text buffer concept again later.
      call SUPER::new (to get lexer object)
      call SUPER::new
      fix first test to match old path
      convert to new system
      convert to new system
      fix regex for perl var names
      make check_output avaialable as a public class method (need to doc it though)
      expect $m->caller_args to return a list
      remove qr// and add bad_var_name test
      fix incorrect use of File::Spec->catdir
      update with fix for _make_error problems and check for bad var names (of course, this module will go away but for now its good to make it pass all the tests)
      delete files generated for Apache::test
      Apache::test module.  Once this version is standard in the mod_perl distro this can go.
      no longer needed
      fix major bug where if actual result was totally empty, it was treated as success
      doc check_output method
      fix test that was failing without being caught by test harness (because of bug in test harness)
      uses real apache server for testing
      contains patch needed to make this work with servers using DSOs (any DSO, not just mod_perl)
      removed chk_version (which is in makeconfig.pl)
      added a bunch of code that uses Apache::test to generate an Apache conf file.
      add test that $r really is an Apache::Request object when in mod_perl args mode
      sync up with changes in 0.8.  Also make minimum Perl version 5.005
      I rearranged the code so that the lexer is created by the compiler,
      call _init instead of SUPER::new
      remove new method and move its functionality to _init which is called from subclasses.
      tweak cleanup to make sure we don't miss things.
      use absolute paths for everything in the Apache config file
      expect root dir for apache test in $ENV{APACHE_DIR} so we can use absolute paths for everything.
      fix doubled slash (//) in generated path
      remove carriage returns that screwed up my testing
      bug fix for Apache::Status view
      fix typo
      added Caleb Crome.  Moved to perfect alphabetical ordering because that is important!
      access all attributes internally via accessors
      lots of little tweaks to make it produce a correct component.
      lots of little tweaks.  This still doesn't do much.
      make it work under taint mode
      use catdir instead of catfile
      try setting PERL5LIB explicitly
      merge in various changes from the branch
      bring in changes from mason-0-8-branch (cvs update -j mason-0-8-branch foo)
      remove linefeeds (I think)
      show more lines when showing disparities between what was received and what was expected
      bring in changes from mason-0-8-branch
      minor tweak to error message
      bring in changes from mason-0-8-branch (why, I don't know?  Since this should be going away soon in this branch anyway)
      bring in mason-0-8-branch changes
      bring in changes from mason-0-8-branch
      kill linefeeds
      remove linefeeds
      bring mason-0-8-branch changes
      remove reference to FAQ
      merge in mason-0-8-branch changes
      continuing the endless mason-0-8-branch merging
      update with 0.8 changes
      bring 0.8 branch changes
      bye bye faq
      bring in 0.8 branch changes
      bye bye tests
      further cleanup of test file removal
      more file removals
      remove more files
      files removed
      all removed
      remove files
      bring in new tests from mason-0-8  branch
      merge from mason-0-8
      don't copy makeconfig.pl to module dir
      fewer globals
      only use one global
      move code a titch
      merge in changes from 1.0 branch
      check in changes from 1.0 branch
      merge in 1.0 branch
      merge in 1.0 changes
      merge in fix from 1.0 branch
      added Params::Validate and upped version #
      merge in goodies from 1-0 branch
      remove carriage returns (oops)
      integrate 1-0 branch
      merge 1-0 branch and use File::Spec
      merge from 1-0 branch
      merge 1-0 branch (I don't care if this breaks cause it'll all dissapear soon I hope)
      merge in from 1-0
      merge in 1-0 branch
      merge from 1-0 branch
      cleanup after merge
      merge in 1-0
      put Error.pm into HEAD branch too
      anally merge from 1-0
      merge in 1-0
      more or less blindly merge in 1-0 stuff, which is generally more up to date
      merge in 1-0
      incorporate changes from 1.03
      comment out old perl_* tests (I assume this is disappearing?)
      add tests from John Williams
      change made by John Williams
      remove test of STORE param (John Williams)
      a convenient module in which to define all exceptions at once
      John William's buffer code tweaked a bit by me to abstract it more.
      is_taint_on => taint_is_on  cause I want to say:
      change parser_params to compiler_params.  Need to add lexer_params and finish implementation
      this incorporates a number of changes:
      more big changes:
      much tweaking
      small tweaks to internal data structures
      handle new data structures
      don't use Parser
      remove references to MLDBM
      renamed test and tweaked to make it work
      use compiler, not parser
      update to expect new error text from lexer/compiler
      use new compiler
      use new interp->make_anonymous_component method (which seems to exist just for this test)
      don't run tests unless we have Cache::FileCache
      move escaping from parser into here
      fix bugs in turning source into component object process (in load method)
      implement allowed_globals, escape flags, and postprocess of perl & text
      call ->_init with params
      *** empty log message ***
      handle lexer/compiler params
      handle <% $foo | %> though I think it should be an error
      add 'n' flag to make it do what we want
      improve/fix some error messages
      don't use Parser.om
      have debug flag as a scalar
      fix handling on 'n' flag
      use new compiler, not parser
      tweak handling of debug mode
      fix code cache test by increasing cache size (#line directives are probably bulking up component size)
      incorporate Barrie Slaymaker's patch for Parser.pm here (fixes a problem in taint mode).  I need a test for this, I think.
      add more tests to catch stuff caught by Barrie Slaymaker
      tweak a comment
      convert die to exceptions
      convert die to exceptions
      fix code that would ignore a valid param of 0 for use_strict
      no need to explicitly load Lexer class
      die => exception
      add a couple new ones
      rethrow exceptions if possible, otherwise make regular errors into exceptions
      die => exceptions
      die => exceptions
      die => exceptions
      implement Ilmari Karonen's much simplified args grabbing loop
      use Apache::Request by default.  User must load CGI themselves and set args_method in the params to the ApacheHandler object to change this.
      tweak docs to reflect new reality of defaulting to Apache::Request
      make sure to preload CGI when necessary
      add Apache::Request as dependency
      update dependencies
      avoid undef warning
      put the 1; in the right place
      rework Resolver API to make it much simpler.
      add to a comment
      remove old methods from File.pm
      test for new $m->comp({store => \$foo},...);
      store param for comp requests.  use it to implement scomp.
      fix POD buglet
      passing content to flush_buffer won't do anything
      these changes fix much of the memory leakage but there still seems to be a 4k leak every 1-2k requests.  Help!
      using a scalar ref for the out_method breaks in stream mode now (as it should).  Use a sub instead
      this optimization no longer works but the Buffer.pm code does something similar
      buffer->destroy => dispose
      simplify out_method method
      destroy => dispose
      make sure to clean up buffers in ->_reinitialize
      update urls
      I'm bored and working on random things for no reason
      Ok, this thing has been dead for a while.  To the Attic with thee!
      make copyright year 1998-2001
      fix copyright years
      test that print call works (in a non-Apache setting)
      test that print() works with Apache
      do wack crazy shit to make print() work from inside components
      apply John William's patch which makes ->dispose unnecessary
      no need to call dispose (I think) - we still have a slow leak though
      fix test counts
      always upgrade $r to an Apache::Request object now that we require Apache::Request anyway
      hideous evil thing!  This code makes $r->print work in components by blessing $r into a subclass that capture calls to ->print and does the 'right' thing with them.
      always do tests with Apache::Request (and do them first)
      no more testing for Apache::Request cause its now required
      Not sure if I should do this but it avoid sending output through the tied filehandle so it should be quicker
      implement Ken's suggestion for handling $r->print, plus a tweak of my own.
      don't require Apache::Request or else install may fail.  But warn user that it is required for using Mason with mod_perl
      tests for comps w/content (from John Williams)
      make it match comps with content
      handle comps w/ content (very little code, actually).  thanks to John Williams
      tweak pop_stack to not pop_buffer_stack (do it explicitly) cause..
      remove handling of </&| foo &> for comp w/content ending (we only accept </&|> now)
      add conditionals to protect against undef warnings when using 5.00503
      update this to make it useful again (very nice for debugging the lexer)
      simplify handling of comps w/content
      change comp w/content ending tags
      remove unneeded capturing parens in regex
      Add HTML::Mason::Request->instance for outside-of-Mason access to request object
      task #218 - Eliminate run_count() and first_time() from comp API
      remove expectation for run_count/first_time results
      remove use of ->first_time & ->run_count
      move some of the CGI.pm args processing to Utils.pm so it can be used from CGI scripts
      add docs on using Mason via  CGI
      test ignore_warnings_expr
      test using $_ in a filter
      remove mentions of Parser
      test interp->make_anonymous_component
      tweaks in eval_object_text
      get rid of Parser mentions
      Parser => Compiler
      fix handling of expect_error when no error occurs.
      don't mention Parser
      add make_anonymous_component docs
      make sure line numbering is correct
      allow skipping of prompts
      I am so anal.  I just had to have the lexer handling escaped newlines cause it bugged me that the compiler was doing it
      don't handle escaped newlines here
      needs a compiled_component method even as a no op
      </&|> => </&>
      don't overwrite MASON_VERBOSE env var by accident
      correct patch. oops
      document TEST_VERBOSE
      document --no-prompts
      show something for values that are references in status handler
      break stuff out of makeconfig.pl into separate files
      Mason will now try to do a simple Apache configuration for you
      remove apache_install.txt on clean
      still needs an import() sub for maximal efficiency.  removing it broke my install.  I was over-zealous
      fix exception throwing
      check that the object passed to push_buffer_stack implements the Buffer interface
      remove call method (legacy stuff)
      save user specified config file location
      there is no conf_file entry in that hash.  Don't know why I did that!
      use user-specified conf file if available
      This bit was not achieving anything for our purposes
      move all param checking into validation spec
      MultipleConfig without a CompRoot setting still indicates we're being loaded from the Apache config file
      InterpClass may be set but not yet loaded, just short circuit and use the 'private' method
      uh, yeah
      no poking about in other object's data structures!
      try to use all needed modules as soon as possible
      really try to load all classes ASAP
      validate lexer class based on interface, not isa-ness
      fix syntax errors
      make sure all classes get loaded eventually
      be consistent in method names
      reality was different from what comments and error messages indicated
      use Params::Validate
      Jon didn't like calling this parameter just 'comp' and in retrospect he's definitely right.  Change it.
      this method just makes sense alongside subcomps
      If this is set make sure we know its been overridden
      use File::Spec more and tweak comments
      catdir and catpath are actually very different!
      ok, now MultipleConfig tests work all good and stuff
      this bit not used anywhere!
      a (micro-?)optimization
      fix syntax error from last checkin
      another common Apache location
      oops comment in wrong place and return not needed
      Jon said this:
      don't require 5.004.  we require 5.005 in HTML/Mason.pm, that should be enough (I think?)
      merge .pod with .pms
      to the Attic with thee!
      with the lexer/compiler working and the other stuff moved to Interp these can go to the Attic
      pass args method HTML::Mason::ApacheHandler->new
      remove cruft from past conflict
      don't try to load so many classes here.  Let that be handled by the sub-objects bits
      This works ok for the Interp class, at least.
      use wacky new Container.pm code.  Makes 08-ah.t pass (along with changes to ApacheHandler.pm)
      use new validation_spec/allowed_params method
      comp_root is in resolver now
      MultipleConfig is no longer needed.  This can be determined easily enough (it was the whole args method bit that made this necessary before)
      no more MasonMultipleConfig
      get rid of MultipleConfig
      a better way to ensure the least objects are created.  Even works with multiple configs since multiple requests that use the same set of params will reuse the objects (neat)
      don't poke about in globals, use API
      a bit of a hack to make sure that we get all of the overridden foo_class params right away so these can be passed to ->allowed_params
      This should do the right thing in several respects now:
      use base, not @ISA
      doesn't create anything
      make it a container
      tweak to make it work with Container.pm
      comment was wrong, now its not broken
      debugging is good.  no need to remove it!
      ok, 08-ah.t passes now.  I don't care what changes are made to this class as long as 08-ah.t keeps passing
      this code has been moved to HTML::Mason::Container
      test for bug #283
      should work with HEAD requests and whatnot now
      change strange formatting
      don't capture unnecessarily
      add escape just to be clear
      add object id method (note that this currently requires Digest::MD5.  Is that a problem?)
      add object_id method
      add object_id method
      add compiler_id as attribute
      add an exception just for incompatible compilers
      make eval_object_text check compiler_id in loaded components.  Also handles older components with or without parser_version
      components got a little bigger when adding compiler_id
      no more cache files
      newer CGI.pm versions add a default charset to the content-type header
      no need for error param
      pass comp name on error (more useful than just saying <anonymous component>)
      barf on 0 length components
      clean up httpd.pid file
      this validity of comp_root is checked when the object is created
      remove other checks that comp root is string or arrayref
      remove the bits related to really old components (now allows for zero length components)
      make sure id is properly escaped
      make id generation smarter
      require (and use) newest Exception::Class, which has a slightly different interface
      no need to use regex when eq will do
      implementation, tests, and docs for $m->cache_self
      fix check for last comp root when determining whether or not to make a new object
      see comment
      update prereqs
      Clinton now calls these keys instead of identifiers (thank you, Clinton ;) so we should too
      point to correct location.
      fix typo reported by Jay Caliguiran
      add MasonDhandlerName
      remove need for HTML::Mason::Config
      fix tied file handle's PRINTF method and add a test for it
      Params::Validate 0.08 fixes a bug with the NO_VALIDATION option (for P::V).
      Params::Validate 0.08 shipped without a Makefile.PL.  require 0.09
      ok, 0.10 really has an ok MANIFEST, I swear, really, it'll work.  I'm not kidding this time.
      set_options has been renamed to validation_options
      make tests more likely to run: if 10 seconds pass waiting for the
      fix comment
      hey, use strict, there's an idea (I'm so embarassed!)
      make it possible to easily use a request sublcass (will have neat example in book!)
      make generic_block public so that all the methods that we might want to be subclassed are public
      wherever we have 'use base', use the parent modules (because 5.00503's
      make ApacheHandler a Container subclass.  should make it easier to subclass
      only needs SCALAR from P::V
      only needs SCALAR from P::V
      cosmetic tweak
      remove spaces on empty lines
      remove no longer relevant comment
      lexer just needs to have ->lex and ->object_id methods.  No need to force it to subclass HTML::Mason::Lexer
      factor out block ending bits.  might make some subclasses a little easier
      more methods lexer must provide
      wasn't actually using anything from Tools
      wasn't actually using some of these functions
      was exporting lots of things that no longer exist!
      wasn't using Data::Dumper;
      its good the compiler to generate valid Perl code (/me smacks me)
      fix syntax error
      only need to use it once
      remove unpleasant whitespace on empty lines (anal-man strikes again)
      update to new Mason
      remove carriage returns
      mention parser is gone
      improve the way a custom request class is handled (if ApacheHandler were a subclass of Interp it might be even easier)
      restore check for isa-ness
      John Williams claims this may not work, so back to checking for VERSION
      make data_dir and comp_root settable
      wasn't being used anywhere
      A. no need to break encapsulation
      gack, more encapsulation breakage.  and it wouldn't have worked anyway! and it should use File::Spec!
      various fixes
      use delayed object stuff for request creation
      just let interp make the request (and figure out what class it should be)
      make sure to not install any .pl files
      make load_pkg work cross-platform
      oops, didn't mean to remove that just yet!
      have to eval this cause if the class isn't loaded this will blow chunks
      fix docs
      use exceptions
      use exceptions
      test that subclassing works (still need to test that you can pass something like MasonFooVal from httpd.conf though)
      the quest to annhilate needless whitespace continues
      try to make sure this code doesn't generate great gobs of warnings (like I've seen in my logs) for uninit values
      use new get_keys API call
      /me pays more attention when fixing warnings
      really trying hard to avoid those warnings
      another potential warning issue
      another pod fix
      one more tiny pod tweak
      make it work under taint mode again (grr, run the tests!) and add a
      this class doesn't need to inherit from HTML::Mason::Container twice over
      typo fix
      remove all the nasty copies from of the comp text.  Just untaint it once
      don't mention parser
      make it possible to have a call_path param with multiple slashes in the path (foo//bar)
      handle URLs with multiple consecutive slashes
      revert previous change for paths with //+ in them and simply handle them by cleaning up the path when we first see it, since these sorts of paths break a lot of assumptions otherwise.
      test dhandler code against a call path with multiple consecutive slashes
      fix uninit value warning
      fix some doc bugs
      test to catch weird loop madness with ->flush_buffer
      clear the buffer after flushing, otherwise old output just sits there (amazing I didn't see this earlier)
      remove Apache-related bits and make a new method ->_run_comp (which is overriden in HTML::Mason::ApacheHandler::Request)
      move the Apache-related madness for catching $r->print and print into the Request subclass
      remove debug warning
      handle Mac line endings too
      this is slightly faster
      same effect, one less line of code
      improve object_id generation
      when a buffer without a parent is flushed, don't do anything, because calling ->clear on a top level buffer containing scalar ref buffer simply makes the output disappear.
      simplify method quite a bit
      fix test count
      remove unneeded var
      fix flush_buffer slightly differently.  Any buffer without a parent automatically turns on ignore_flush
      spacing tweak
      another dhandler test
      i made the test so it doesn't hurt to have it, I guess
      get rid of one goto
      don't use deprecated features in test helper code ;)
      goto considered harmful ;)
      without the "delay headers if only whitespace is sent" bit this test outputs the first header set, not the second
      only tie/untie STDOUT for first comp call
      error messages are a little different if all errors are exceptions
      tie stdout as little as possible
      there is no ->_error method anymore
      tweak regex a little for new style errors
      having two exceptions with the same abbreviation seems like a bad thing.
      only import once
      no need to fiddle with Apache::print in two different spots
      apparently the code to handle print and $r->print can be trimmed a bit (I think I had multiple solutions implemented at the same time)
      do print catching tests in stream mode too
      also make sure it works with $m->flush_buffer
      add live tests for CGIHandler (right now there's extra junk in here that was copied from 08-ah.t.  most of it can probably go)
      setup live tests for CGIHandler
      Mason needs 5.005
      remove some unneeded code (and whitespace on empty lines)
      make sure all errors include comp name and line number
      use fixed Exception::Class
      Oops, didn't mean to delete that
      error messages have a changed a little
      doesn't hurt to quotemeta
      use correct var for name!
      errors in generated comp code should be exceptions
      true or undef is a little misleading, since we never actually explicitly check defined-ness, just boolean truth/false.
      if we tell people they can use their own request of buffer subclasses, we really need to use our own API rather than bypassing it by passing output directly to the top buffer's sub reference.
      order of buffers returned from ->buffer_stack should match order returned from ->callers
      remove more unholy whitespace
      fix a number of bugs related to the Apache::Status code, also make it warning free
      fix Apache::Status code
      don't generate exception from existing exception
      make Params::Validate generate proper exceptions
      don't unconditionally throw an error here (I am dummm)
      Apache::Status hook improvement
      Apache::Status hooks improvement
      make error/exception handling a bit more standardized
      implement attr_if_exists (with test)
      fix bug in _run_comp that hosed all requests
      stream => autoflush
      remove die_handler related code as this is no longer being used
      don't pass mod param to buffer constructor
      implement autoflush
      remove $m->time related bits
      add a HTML::Mason::Exception::Syntax class with extra accessors and slightly tweaked as_string
      make syntax errors very consistent
      inheritance is declared earlier
      no longer need this stuff (I hope)
      error_mode is now request param
      make sure to preserve context properly
      *** empty log message ***
      ok, we can, in most circumstances, cache apachehandler objects
      slightly simplify how request gets the out_method attribute
      make accessors for selected params for contained obejct (request)
      test accessor for contained object params
      no need for that
      move request object creation later (we only use it in handle_request_1)
      fix var name (code that works is good)
      tweak some wording in the docs
      update some docs
      move process_comp_path docs to Interp.pm since nothing ever calls it in the request object (I can make an alias in the request for backwards compatibility if desired)
      rename method to absolule_comp_path (cause that's what it returns)
      fix (sort of) calls to ->assign_runtime_properties that were broken.
      fix name and dir_path to really be cross-platform
      fix list/scalar context propogation again
      simplify a little bit
      change really weird parens
      initial docs (mostly done but might need some tweaking)
      useful when you want to create component on the fly via
      without a comp_root, must use HTML::Mason::Resolver::Null class
      update copyright
      get rid of assumption in ApacheHandler that resolver is
      fixes failure of 09-component/#5 (context propogation)
      improve docs a bit
      improve dump_specs output
      test that things work without an explicit comp root
      add no comp_root config for apachehandler tests
      use document root as default comp_root when none is provided _and_ the resolver can actually accept one
      remove a number of empty calls to ->contained_objects and ->valid_params
      *** empty log message ***
      the default document root bits	should be done in the resolver itself, I	think.
      it's important to call ->rethrow when possible or else the stacktrace
      exception objects have no as_text method!
      fq_path => comp_id
      comp_root method for interp object
      convert component ids to obj filenames in a cross-platform manner
      improve docs about comp_id
      improve generation of unique key for apachehandlers to handle code
      don't put things in the hash if it doesn't exist
      no_comp_root => no_config
      add ServerRoot to generated httpd.conf file so when it tries to pick a default data_dir it works
      remove default comp root stuff
      move default comp root stuff here again
      generate a default comp root and data dir when the interp/resolver will accept it
      a few small changes to make this stuff more intelligent (read the long comments for details)
      um, yeah, capitalize that env var so it actually works!
      be more flexible about err message check
      fixes warnings from 5.7.3
      call abosolute_comp_path in interp with dir_path
      keep our bundle up to date
      move absolute_comp_path from Interp to Tools, don't document it as publically accessible
      make this test fail more gracefully
      make interp via apachehandler
      create interp via apachehandler
      override request class here
      remove request class hack for mod_perl
      remove warning against print and $r->print
      remove all mentions of parser.  show creation of ApacheHandler object
      remove mention of comp root and data dir for "simplest" config bits
      cleanup data dir that is created for no_config tests
      implemented HTML::Mason::Resolver::File::Apache
      fix docs
      eh, doesn't use autoload anywhere
      use the new 'official' subrequest mechanism
      add new HTML::Mason::ComponentInfo class to be returned by resolvers
      update docs a bit
      encourage everyone to read the admin manual
      encourage pre-loading of mason modules
      one little tweak
      fix bug where incompatible object files triggered an exception instead of a recompilation
      make comment make sense
      try to get docs in sync with current state of code
      *** empty log message ***
      tests turning off autohandlers for a subrequest
      These changes are all about moving the use_autohandlers and
      no longer allow undef for auto- or d- handler names
      mention the use_<foo> params for requests
      fix braino
      move HTML::Mason::Resolver::File::Apache into ApacheHandler.pm file and rename to ::ApacheHandler
      another subrequest test
      change comp_text => comp_source (if we have a compiler it makes sense to talk about "source")
      implement use_autohandlers in request _without_ recalcing inheritance each time a request runs
      don't recalc inheritance over and over.  just do it once when ->assign_runtime_properties is called
      comp_text => comp_source
      remove incorrect comment
      add responsibility to componentinfo class for compiling (and returning object code)
      update docs
      all components now have some sort of comp_id
      change param name for ->make_component
      slight method name tweak
      simplify how anon components get a title and comp id
      lots of changes to update for new code, clarify things, update POD syntax to more modern usages
      ComponentInfo renamed as ComponenSource (suggested by Jon).  I think this is a more accurate name
      *** empty log message ***
      call error functions without parens to improve compile time checks
      call abbreviated error function without parens
      try to clarify the code path a little more here
      take advantage of new full_message method in Exception::Class 1.00
      turn on fatal error mode if expect_error is set
      handle scalarref out_method for errors in output mode
      make error_mode default to 'output' in a web context (where that actually makes sense)
      revert error_mode change since the default error mode is now fatal in a non-web context
      remove weird use_autohandlers hack (wasn't supposed to go into CVS0
      require Exception::Class 1.00
      fix precedence for sending out error output
      don't use nonexistend config options
      allow_recursive_autohandlers param gone
      replace regex with one that is known to work ;)
      don't forget to strip off final slash where necessary
      use regex from File::Basename here too
      fix tabbing (very important ;)
      don't use File::Spec on URL-style paths.  Also make sure path is always absolute
      $m->out => $m->print
      no need to prepend /
      test use print outside of ApacheHandler, with & without autoflush
      print directly to STDOUT, do not pass to currently selected filehandle, do not collect $200
      correct comment
      not use File::Basename
      fixup "print catching" to actually work in all cases
      change package name used with handler.pl
      change package name
      make sure this works when repeated (that select magic is restored after a print in Tie::Handle::Mason::PRINT)
      die if the interp's resolver ! ->can('apache_request_to_comp_path')
      move remapping of Apache::print into Request::ApacheHandler->exec
      pure cosmetics
      make $m->abort(0) set aborted_value properly
      make sure $m->abort(0) works
      remove reload_file code
      require new Params::Validate (faster and has BOOLEAN type)
      fix bug
      implement fixed_source feature
      add test for fixed_source feature
      if there is something where an object file needs to go that is not a file, throw an exception (otherwise we'll just die later).
      remove tests related to ->make_component with a path arg
      remove path arg to interp->make_component
      add test for interp w/o data_dir
      make interp work w/o a data_dir
      test accessor validation generated by MethodMaker
      add accessor validation test for contained object param accessor
      add ability to do accessor validation
      do validation for all relevant accessors, using already defined validation_spec where possible
      no need to load this hear
      fix up parameter validation
      make component accurate
      fix up test numbering
      make this status_as_html look like the one in AH
      gah, I just can't handle seeing a goto when it isn't really needed (what's wrong with a do loop?  It's nice and clear.  Do this _at least_ one time)
      uncomment instance code
      there is no fourth ah object to use
      add warning when onexistent AH object is requested
      don't copy args
      make it a normal loop
      require Params::Validate 0.14
      make auto_send_headers a request property, as mentioned in todo item #292
      document subrequests
      use convenient new BOOLEAN validation type
      slight doc clarification
      update docs on comp_root
      default_root_path was changed to default_path_prefix a while back
      fix spelling in comment ;)
      add test for running without a comp_root outside the web
      remove default_path_prefix stuff because it just didn't work (the
      don't remove args shared by the containing and contained objects
      add pointer to bit on using Mason outside the web in Admin manual
      add section on using Mason outside the web
      %args was no longer being used
      actually it ignores all arguments
      for contained objects the default is what is in CONTAINED_OBJECTS, not VALID_PARAMS{foo}{isa}
      fix defaults for object.  Unless an object is a contained object, there is no default at all
      indicate whether a param is required
      add default_path_prefix back in
      add back default_path_prefix but still assign default comp_root via valid_params
      remove system log test
      update non-web docs bit
      The comp_root method is documented separately
      add back default_path_prefix
      document load method
      remove useless whitespace
      no need to get $comp_root
      check for public attribute in param spec
      mark some attributes as not being public so they don't end up in generated docs
      auto-generated via a script
      make interp private
      don't list params here, just refer reader to Params.pod
      document constructor params
      remove out_method as a parameter (just make it a passthrough)
      out_method is no longer an interp param
      some small updates
      add description for contained object
      pass through contained object descriptions
      add descriptions for contained objects
      remove unnecessary parens
      updated
      no more system logs
      remove mention of system log
      line_count => line_number
      line_count => line_number
      very minimal docs
      remove mention of path arg to make_component
      update docs a bit
      fill in a little more
      one more thing
      return Params::Validate type from all_specs
      fixed_source => static_source
      caught a few old instances of fixed vs. static
      I _think_ this is more cross-platform compatible but I don't know how this will work on systems with volumes (like Win32 & VMS).  Guess we can just wait for the bug reports ;)
      used with "make manifest"
      comment out code cache tests until they are less fragile
      don't skip that, we need it for tests
      validate params (helped me catch an error)
      fix call to write_object_file
      mention Params doc
      changes L<> links
      changes to L<> links
      no, really fix the links
      updated L<>
      updated L<> tags
      skeleton POD
      add POD (incomplete)
      update L<> tags
      more L<> fixups (to make sure crosslinks work when they should)
      no need to mess with this module!
      oooooooooohhhhhhhhhhhhhhhhhhhh........... aaaaaaaaaaaaaaaaahhhhhhhhhhhhhhhhhhh..................
      add test for error handling in cache_self
      fix error handling bug in cache_self
      allow any error_format for which there is a method "as_foo" in HTML::Mason::Exception
      rename CGIRequest to FakeApache (would like to use Apache::Fake but it appears to have some issues and I don't want to wait on it)
      add another test
      exclude a few more things
      add note on calling flush_buffer when filter block is active, in scomp, etc.
      document component call modifiers
      use instance method instead of poking about in HTML::Mason::Commands namespace
      remove periods
      make aliases for now deprecated top_args and top_comp
      doesn't hurt to be explicit
      default comp_class
      fix some L<> tags
      *** empty log message ***
      one more note
      grammar-ify
      make error detection a little smarter
      avoid undef warnings
      avoid some warnings
      implement weird hack and move version down to 1.09_01 (I think Ken was right)
      um, I don't remember what I intended to do with that variable but right now it's not doing anything at all
      refer to CGIHandler instead of custom CGI
      fix up links a bit and mention CGIHandler
      allow space before block ending tags like </%args>
      delete old POD files
      more details.  am I missing anything?
      add docs for handle_request and prepare_request
      use perldoc -l per Ken's suggestion
      tweak how old pods are deleted
      change message
      this message doesn't seem to show up no matter what I do.  Weird, but not important
      add a new regex for newer makemakers
      can't call output unless we have a scalar ref buffer
      all the abort tests had a wrong assumption.  In fact, output generate
      test that abort cooperates with the store comp call modifier
      make sure to flush output even on an abort
      initial changelog.  I tweaked the format a bit because there are _so_ many changes and I wanted to try to organize it somehow
      don't put this in CVS
      little tweak for Build.PL
      more changes
      document a few more incompatibilities
      hey, I'm dumb.  Amazingly, this somehow worked.  I don't know why.
      skeleton docs
      make these methods a little safer (no need to blow up in $self->{buffer} doesn't exist)
      added some names (also a good syncmail test)
      make it "component calls with content"
      I should be jailed for this ;)
      pod skeleton
      don't need Data::Dumper
      update requirements
      little doc tweak
      fix title (so links work on search.cpan.org)
      minor change to link text
      fix Apache::Status page (needs a test)
      remove "expire this comp" code from perl status page
      the trick here (to make pod2html work) is to make sure that the entire
      add a =cut
      again, gotta be on one line (annoying)
      slight tweaks
      add docs
      document this class
      add a quick note
      document functions
      don't send '' as output on a flush
      update to require Cache::Cache 1.00
      require Cache::Cache 1.00
      remove evilness now that Cache::Cache 1.0 has fixed this problem
      add filename field back to Compilation exception (must reduce crack intake)
      loosen up regex for fiddling with make targets with newer MM modules
      need to save cwd when resolver was created because it can change (if you use File::Find, for example) and that can get _really_ confusing
      more detail on how relative paths are handled
      you too can now laugh at my inability to write C code ;)
      skip C stuff for now
      fix some pod nits reported by Ilya Martynov
      add a name
      making data_dir read-write makes no sense unless we actually create new data_dir subdirectories when it changes (eek).  Then it'd be different per-Apache child and you have a big nasty mess.
      document this motha
      add a bit more
      provide pointers to other docs
      documentation
      make it look nicer
      mention change to base_comp
      update docs on base_comp (please read and make changes if this doesn't make sense)
      duh
      fix comment typo
      mention args_method change
      should have restored this earlier
      This implements an optimization (yes, me, optimizing! ;) for the
      require 0.15 (it has a bugfix)
      require 0.15
      a few minor cleanups
      don't call compiler->text for an empty string
      um, don't be an idiot and check truth when that would break things
      remove unneeded check of $p{text}
      add some functions used for parameter handling in components
      I've always thought that the generated argument handling code was too complex.  This simplifies it quite a bit.
      gah, why would you do that?
      even if we decide we want to support this idiom I still don't like it.  so there.
      more style issues
      modernize a bit
      previewer is gone, to return in another life
      make it stop
      add back a newline
      remove dangling print optimization.  It broke autoflush
      document new funcs
      updated change list - probably ready for 1.09_02 soon.  I'd like to finish HTML::Mason::Subclassing before that though
      be real explicit about backwards incompatibilities
      add backwards compat warning here too
      improve error message for failure to coerce parameter to a specific type
      fix test names and expectations
      fix descriptions
      complexify "text" regex to make tests pass
      make good English
      add tests for alternate ways of executing CGI requests
      multiple ways of executing a request
      remove some unused stuff
      handle_cgi => handle_component (better name needed?)
      set a param in CGI object to test later
      not actually using Carp anywhere in here
      reorder subs in file so that match order of usage
      *** empty log message ***
      remove unused exec method
      require P::V 0.16
      require P::V 0.16 which silences a warning it was giving with 5.00503
      *** empty log message ***
      make it work (warnings-free) with 5.00503
      I'm not all that satisfied with this solution but if I do a string eval on the same problem code in a standalone script it does not just hang.
      test #21 produced different errors for 5.00503 & 5.6.1
      make this work with newer versions of Perl where the hanging bug doesn't happen
      pass line & file with args
      *** empty log message ***
      test line number reporting in <%args> block
      put #line comment above variable assignment for args block to catch error like
      oops, fix error message check
      ok, this has been sitting here long enough doing nothing
      always expect real syntax error
      cool, we can still send out the real cause of the error!
      handle_component => handle_comp
      *** empty log message ***
      *** empty log message ***
      improve error message
      not using Cwd
      changes that allow this to work:
      add some new tests to check handling of various presence/absence of whitespace in args/flags/attr blocks
      add note about making your own error formatting method
      unless out_method is explicitly set we make the subrequest pass output to the same buffer as all other output.  Works spiffy
      add a test to make sure that output from a subrequest comes where we'd expect
      add bit about output for subrequest being "inlined" into caller
      note about subreq output
      tweaks to canonize headers in a way that CGI.pm likes
      *** empty log message ***
      make grammatical ;)
      gah, really fix the word choice correctly this time
      these freakish changes allow Mason to work with modperl 2.0, although there still seem to be some dir_config related bugs in the CVS version of mod_perl 2.  but I did get it to serve mason pages.  cool.
      remove my debugging code
      two things:
      clarify instance
      don't call import, just run the code
      no need to put this in BEGIN block
      *** empty log message ***
      handle this in <%args>
      try to set $r as allowed global earlier in order to allow components using $r to be preloaded
      move comment to correct location
      wish I knew how to test this stuff
      doc tweaks and make auto_send_headers writeable (does that server a purpose yet?  I dunno)
      remove dev_dirs feature
      require E::C 1.01 (fixes a bug in 1.00)
      require E::C 1.01
      only require Apache::Request if user has mod_perl installed
      latest changes
      *** empty log message ***
      mac os x has mod_perl but Apache::Request still won't work there
      document redirect method
      fix typo
      add redirect method to request
      add redirect test
      centralize live server code
      remove live server code
      remove live server code
      add redirect method
      add redirect test
      *** empty log message ***
      move some attributes around
      move attribute docs around
      move some attributes around
      set a settable attribute
      fix attribute changes to actually work!
      fix attribute moves
      need to set this directly
      make sure redirects are not farked up by weird code in handler subs
      Apache::Request is not required
      clarify default comp_root
      use cwd for default comp root
      *** empty log message ***
      change path for component called with new interp
      change reserved cache key bit
      change cache key for cache_self
      do default comp root even when new is called without $r
      grammar-ize
      implement aborted & aborted_value in terms of checking $@
      suppresses a warning from 5.8.0-RC1
      up version num
      minor pod tweaks
      don't skip live_server_lib.pl
      hack to let make_params_pod.pl work
      belatedly add release date
      add ** for incompatible changes
      this change makes subrequests respect autoflush in parent request
      *** empty log message ***
      revert previous change cause it turns out to have been unecessary
      add some tests related to autoflush & subrequests to make sure that it DWIM
      uh, it was already working
      warn about $m & $r in <%once>
      add warning about $m & $r in <%once> with preloads
      check comment with compiler id for compatibility
      *** empty log message ***
      gack, new test to catch bug in compiler
      make sure percent line is preceded by start of line
      *** empty log message ***
      don't bypass this test
      find <%method> && <%def> with no name
      catch invalid method/def names
      clarify error message
      add some tests for bad <%method> blocks (no name & invalid name)
      *** empty log message ***
      must stop leaving this in here
      sometimes for debugging I don't want this stuff cleaned up
      *** empty log message ***
      rename $low_class to $class_param
      These changes make ApacheHandler handle config items like
      *** empty log message ***
      pass qr// regex, not string
      *** empty log message ***
      add class::container prereq
      replace with Class::Container
      replace HTML::Mason::Container with Class::Container
      add Class::Container as prereq
      maintainin prereqs in 2 places is dumb
      slightly simplify code by always getting validation spec in ->get_param method
      add Mason version to compiler id checksum
      start subclassing docs
      add test for line number reporting in <%once> blocks (also applies to <%cleanup> and others
      make sure all Perl blocks have a line number comment for error reporting.
      fix off-by-one in line numbering
      test for off-by-one in line numbering caused by args block miscount
      remove cruft
      make it a Class::Container
      add docs
      move subclassing docs to Subclassing.pod
      document request_args method
      ok, I consider this done.
      add in 1.05 changes
      doc tweaks
      ooh, exciting! (1.10)
      this seems slightly more elegant
      clarify version number
      add some more incompatibilities
      tweak a few things in prep for 1.10
      newline before "killing..." message
      fix warning from pod2html
      remove XX comment
      remove cd-me samples from MANIFEST
      fix regex
      add Class::Container & File::Spec
      don't mention previewer or cd-me example
      Kwindla does not maintain the FAQ any more.
      square credits with list generated by todo tracker (which is missing many of the names already on here, oh well)
      can't mix location & filesmatch
      preload Apache::Request
      mention httpd.conf bits too
      don't include Build.PL (cause its not up to date)
      freaking pod2html!
      have I mentioned recently how much I hate pod2html?
      add subclassing link
      fix base_comp docs, doh!
      fix pod nit
      add this back ( i could've sworn I saw this mentioned for an earlier version)
      fix link
      make it 5.005-happy
      skip test with older Perls
      add a comment
      fix fix for running tests as root
      fix link text
      mention autoflush
      remove chown bit
      add that AH will chown created files/dirs
      add mention of chown feature
      don't upgrade $r if its already an Apache::Request object
      1.101 changes
      fix and clarify subrequest docs
      fix doc bugs for subrequests
      more changes
      up to 1.11
      *** empty log message ***
      explcitly set content_type when error mode is html
      ha! freaking indirect syntax actually caused an error ("Undefined subroutine &HTML::Mason::Interp called at /usr/local/share/perl/5.6.1/HTML/Mason/Exceptions.pm line 287.")
      um, I meant error_format
      *** empty log message ***
      add httpd.conf bits here too
      here goes nothing
      document how to mix $m->redirect and eval blocks
      a little late but better late than never, I suppose
      better abort handling code
      don't document the same change twice (reported by Jonathan Swartz ;)
      somp? interesting typo
      fix typo
      I _really_ need a proof-reader ;)
      use L<> here, not C<>
      make request_args method for benefit of subclasses
      mention CGIHandler
      fix html error output to have balanced table tags
      accept all r/w request attributes
      ignore undef warnings in this bit of code
      ignore undef warnings when making object id
      avoid error when asked to compiler an empty string
      making args_method settable makes little sense given the current way
      fix syntax error typo
      don't store reference to $request in closure!
      fix memory leak from how we were using Apache::Request
      optimize case of scalarref buffer
      optimize common cases for rw methods, since they get called a lot and shift is (relatively) expensive for such a small sub
      add comment about optimization so others don't remove it in the future
      hideous, but highly effective, optimization
      let subcomps find the hash entry for us
      hmm, that's what I get for using Devel::Profiler, which seems a bit flaky
      this is actually a worthwhile hack, and seems to give us about a 8% boost
      don't need methods for these
      no need to set $HTML::Mason::Commands::m every time ->comp is called since it can only be a _different_ object if ->exec was called
      increase version so it shows up properly on CPAN
      make sure instance works whenever out_method might be called
      add test for HTML error messages
      already have $interp
      minor optimization to reduce number of method calls
      update test name
      optional & a default doesn't make much sense
      no terribly compelling reason to make this a container
      again, no terribly strong reason to make this a container object.  skipping validation seems to be a speed boost
      this method gets called a lot.  this tiny optimization seems to have a minor impact when profiliing
      also no need to have this be a Container
      require faster P::V
      *** empty log message ***
      seems like a useful optimization when lots of $m->print calls happen
      hey, this can't be helping much!
      do more direct manipulation of various stacks, because these are accessed on every comp call
      more optimizations, and a long-winded comment about the various optimizations recently added
      expand comment a bit
      require newer version (version dance time again)
      you can (version) dance if you wanna
      fix backwards comparison
      up it again!
      *** empty log message ***
      simple benchmarking script
      beginnings of simple benchmark tool
      made simple script
      comps for benchmarking
      up required module v nums
      up required versions (this should be the last time before 1.12)
      mention what you can and cannot see argument-wise in <%shared> blocks
      um, I am dumb (but it still seemed to work?) - reported by Andy Lester
      mention PerlFreshRestart
      make things more readable (without needing a bazillion column editor)
      using this interal var is more portable (kill may not work on all platforms)
      test with custom interp provided (a bit fragile because we need to duplicate the AH default params when creating the Interp)
      add new interp class test (tests Class::Container as well).  will fail with current C::C
      pass %params, not @_, since we might change %params
      require 0.24 (0.23 fails some tests with 5.8.0)
      require P::V 0.24
      back to old resolver subclass
      revert to Resolver::File::ApacheHandler
      remove resolve_backwards
      add new_superclass method for use by subclasses
      make it callable as class or object method
      mention request ->new_super method
      use correct method name
      new_superclass sounds like a constructor.  change the method name
      new_superclass => alter_superclass
      mention perl_ no longer being supported
      require latest Class::Container
      require C::C 0.07
      just expect valid_params to be get/set
      about to do 1.12
      finally!
      make sure scomp & cache_self cooperate
      I hate 5.00503
      handle upper case METHOD/DEF
      test <%METHOD> (upper case)
      mention MASON_VERBOSE
      quick bugfix release
      changes for 1.1201
      add description for lexer_class
      description for interp
      use proper grammar
      fix syntax error
      slight grammar tweak
      reword item
      don't run tests using 'h' escape flag unless we have HTML::Entities available
      make sure that buffer push/pops are _always_ balanced
      handle filter buffer push/pop in Component->run rather than inside
      make the filter a component parameter, not a part of its body code
      test wacky combos of cache_self, filters, & scomp and make sure it all works (it does now)
      use comp_id as key in wrapper index, because all components (anonymous or not) have a comp_id
      add bit about not using $m or $r as variable names
      optimize common case
      add semi-colon
      suppress 'subroutine redefined' warnings
      fix typo
      fix error when multiple comp roots are defined in the httpd.conf
      fix typo
      make sure $apr gets assigned if $r is an Apache::Request object.
      accomodate newer Debian
      add Apache::Filter cooperation test
      dont' do filter test first
      config for Apache::Filter cooperation test
      this change should make the $r->print() hack cooperate with _any_
      fix problem in apache_request_to_comp_path on Win32
      this'll be the next verson
      sort keys explicitly
      sing it, Bowie!
      also needed to fix Win32 bug
      trim trailing slashes
      add tests for allowing spaces after method/subcomp names
      allow space after subcomp/method names
      compile component so that comments should be allowed after flags & attr section
      add test for comments after attribute and flag definitions
      allow dash (-) in subcomp/method names
      add test for dash in subcomponent name
      more changes
      added credits
      change A-Za-z0-9 to \w which will cooperate better with locales
      use \w instead of [A-Za-z0-9] in order to be more locale friendly
      *** empty log message ***
      [\w_] is redundant
      reword this change
      it only affects Unicode.  locales are entirely lexical
      simplify infinite-loop-in-interpreter checking (code from Ken)
      no need for a 1-item loop
      permanently set version to be higher than last release where the version was based on the CVS version.
      permanently set version to be higher than highest version on CPAN (which is 1.69 as part of the 1.05 release).  This should fix the CPAN 'r' bug thinking 1.69 is more recent than 1.242, and avoid all such problems in the future.
      last bits for 1.13
      if its created without a request, the comp root needs to be specified
      slightly better handling of void context
      <%filter> should be able to stuff from <%shared>
      filter-specific tests
      fix bugs in fix for filter & shared/ARGS
      pass arguments when calling filter
      pass arguments to filter
      add test for turning off strict (which works _without_ changes to the existing code!)
      add note on source filters
      add test for using Switch.pm if its installed (source filter test)
      do object file if it exists, rather than just eval'ing its code.  this fixes source filters
      show creating comp root and data dir
      clarify comment
      warn when not-found comp path matches a real filesystem path
      make use_strict work no matter what
      better use strict test
      test turning off strict when not using object files
      no need to check ->can
      just pass along args
      fix obscure bug waiting to happen.  don't add $filter to the buffer stack unless there _is_ a filter
      add date for 1.13
      add test for death in cache_self
      remove extra flush (because this is already happening in $comp->run)
      no reason to stick this stuff in a BEGIN block
      don't mention betas
      test weird lexer edge case (just for Jon ;)
      test clear_buffer and flush_buffer inside comp call w/ content
      differentiate between ignoring clear and flush
      differentiate between ignoring clear & flush for buffers
      new bits for user-defined escapes
      more code for user-settable escapes
      remove escape stuff, as it's now entirely dynamic and uses the interp object
      new subs for escaping
      user-defined escape tests
      new user-defined escapes
      fix test
      don't use explicit Unix-style paths
      don't spit out filesystem info
      don't expect filesystem info
      make it filesystem agnostic
      provide links for more of the docs
      don't save source in memory
      only untaint if necessary
      forgot my semi-colon!
      note to self: the tests are there for a reason, doofus!
      escaping methods should expect scalar refs
      make sure apply_escapes always gets a single text argument
      tweaks for escape code
      learn to write proper regexes (fix add_escape name check regex)
      uc escape should expect scalar ref
      use proper sub name (I'm surprised this worked!)
      add docs on user-defined escapes
      learn to spell
      mention passing arrayref for multiple default escapes
      use OBJECT, not HASHREF
      document apply_escapes
      add other 1.14 changes
      add_escape => set_escape
      fixup and clarify escape docs
      fix grammar
      patch from Ilya
      fix tests to use correct api
      whether these tests represent bugs is highly debatable, and its not
      allow user to use a different status for redirect
      allow user to specify status code for redirect
      document $status arg for redirect method
      mention redirect status thingy
      fix typo
      specifically say lexical variables are shared with <%shared>
      remove tests that won't ever pass
      fix expected error for Perl < 5.6.0
      fix typos
      add bit on setting escapes
      add handling for MasonSetEscape parameter
      add some MasonSetEscape directives
      test MasonSetEscape directives
      can't use html_escape as escape sub. made new old_html_escape for this purpose
      add old_html_escape sub for pre-1.1 to implement html escaping behavior as an escape
      this is a safer test because a component could call a method that only exists in itself (not in the base_comp, just the current_comp)
      implement is_method
      add is_method
      test that we get a useful error when a component's source file is unreadable
      handle MasonEscapes as normal constructor param, with some munging
      change escape setting
      needs to add, not set
      handle setting escapes from constructor
      document escapes option to new()
      remove section on special param for escapes
      make sure mason handles a zero-length source file properly (which means it causes no errors)
      add a 1; at the end
      add test that bad source_callback returns useful error
      escapes => escape_flags
      escape => escape_flags
      old => basic
      old => basic
      add test for setting escape flags via constructor
      first version of spiffy new module
      teeny doc tweaks
      respect MASON_NO_CLEANUP env var
      one more escaping test
      add test for proper error with invalid escape flag
      allow for escape subroutine to be a string, which is assumed to be in HTML::Mason::Escapes
      one more escape flag setting to make sure string version of setting works
      use new escapes module
      different sub name
      removed all the escaping bits
      add test for a comp with a filter block calling a comp that clears the buffer.  The entire stack should be cleared in this case.
      move flexible handling of escape parameters to set_escape and document this
      remove funky handling of escape flag settings, just pass it to
      update changes
      fix error display (good thing 1.14 didn't go out yet!)
      don't include check for required args if there are none
      just do require, which will only load the module as needed
      revert earlier change because doing "require CGI" again can cause some dumb warning about redefining a constant, and I'd best leave well enough alone before 1.14
      mention mp2 fix
      handle error in a subrequest properly
      test for error handling in subrequests
      *** empty log message ***
      fix bug description
      fix link
      fix link again
      fix another POD buglet
      ok, really freaking fix this link!
      no, really, this actually fixed the pod link.  I'm not kidding.
      GAH! I'm an idiot.  Fix all the POD shortcuts I broke by checking in a post-processed file.
      add date
      don't mention cd-me
      make code play nice with CPAN's r command
      fix test name
      argh, there's no way to conditionally skip the test from _inside_ the test, and it's not til we're in it that we know what will happen so ...
      turn on MASON_MAINTAINER env var when a CVS dir exists
      fix test numbering if alarm doesn't work
      ignore unitialized value warnings that may come from Switch.pm during compilation
      fix setting env var
      fix further cruft from checking in post-processed docs
      *** empty log message ***
      only flush top buffer after executing filter
      test that a filter doesn't break a call to $m->clear_buffer that comes later
      add more filter tests.  both of these fail for now
      fixes filter bugs by ...
      filters are now handled by giving the buffer a component object which
      get the filter from a component object
      don't distribute stuff in benchmarks (too late for 1.14)
      make filter a rw property via methodmaker
      set filter on $m->current_comp
      make has_filter a get method
      shut warning when there's nothing to cleanup before running tests
      check comp for filter, not buffer
      make pre_test_cleanup option because some tests (see 07-interp.t) do
      set pre_test_cleanup to 0 so that multiple comp root tests can function
      skip Apache/mod_perl test setup unless run in 'maintainer mode'
      only run for maintainers
      add handy is_maintainer sub
      oops, didn't mean to check that in
      must return explicit number for MY::test
      changes for 1.15
      *** empty log message ***
      change release date
      no need for etc dir
      get rid of reference to "Parser"
      remove reference to old Parse.pm
      test for flush in presence of filter (still need to decide if this test is actually looking for the right output)
      clear is meaningless when there is no buffer
      move some tests here from 09-component.t
      move filter tests to 02a-filter
      comment for test (there can be only one!)
      chop off newline (apparently, this was being obscured somehow by the buffers, and I don't have a clue why it didn't show up earlier)
      this is the "use fewer damn buffers" patch, which gets rid of the 1-1 relationship between a comp call and sticking a buffer on the stack, because it really doesn't serve any purpose.  All tests pass except one in 02a that is unrelated to this change.
      don't use flush at all, because it may (or may not depending on what
      fix crucial hello, world example
      ignore flushes when a filter is in effect (matches 1.0x behavior)
      expect flushes to be ignored when filter is in effect
      clarify how flush_buffer works in presence of a filter
      don't ignore flush in the presence of a filter
      respect flush in a filter
      document behavior of filters with regards to flush_buffer
      mention flush_buffer & filter
      remove nowrap from error cell, so long errors messages don't require horizontal scrolling
      *** empty log message ***
      pod fixes (cut'n'paste-o, mostly)
      had wrong function name in docs
      test calling a component via scomp inside a filter section
      test more complicated scenario with a filter calling a component that dies, all while wrapped in an autohandler
      add test for one _possible_ expectation regarding $m->abort in a filter section
      code cleanup
      avoid warning when path is /
      fix doc buglet
      tweak to docs about setting escape in handler.pl
      don't match <% $foo || 50 %> as escape
      add test for || in substitution
      more tests for substitution flags
      require flags to start with an alpha or underscore (breaks some tests in 06-compiler that contain <% $expr | %>)
      method to retrieve escape flag regex (will be used in interp)
      tighten up regex for acceptable flags
      add some code that forms the basis of code to record test results in a DB file with the intention of providing another script to compare results and generate summaries, etc.
      replace deprecated parent_comp method with owner
      remove type entry in code_cache, which is a relic of some attempted feature during development of 1.1x
      don't allow no-flag escape
      compiled_component now returns ref to object code
      Don't store component directly in code cache, instead we make a copy
      tests that interp objects are destroyed as expected
      replaces FilesMatch with LocationMatch where appropriate
      add back raw error display to HTML error page
      don't escape '$' in shell command on Win32
      call instance instead of new to get an Apache::Request object
      try to make destruction for determinate
      small hack to shut up compile-time warning from 5.00503
      will only work properly with 5.6.0+
      remove code to make copies of comp objects
      remove comp copying circular ref fix
      add Scalar::Util prereq
      calling ->can only works on objects, not on any old scalar
      test decline from lower level dhandler to top-level dhandler (based on bug report on users list but there seems to be no bug)
      make regex human-readable
      there is no username option for Cache::Cache!
      test that setting data_cache_defaults from httpd.conf works
      set data_cache_defaults for testing
      make escape_flags a hash_list
      add new type of parameter, hash_list
      parse data_cache_defaults as hash_list
      cosmetic fix to make this stuff fit on my screen (won't fit on all screens, but previous layout used _way_ too many columns)
      reformat to reduce line wrap
      reduce line wrap, make more readable
      add mem leak warning
      less line wrap
      fix weird formatting
      die, line wrap, die
      oops, want to run these tests
      use LocationMatch instead of FilesMatch
      change module name
      change package name to something that makes a little more sense (I think)
      major rewrite, particularly of sections on configuration
      fix caps for head3
      fix cperl-mode buglet
      ahem, need $self ;)
      sneaky trick to really create failing test case for top-level dhandler
      be a little more portable
      don't leave path empty or call to ->load will throw an exception later
      just die if we can't get an interp, because without it other things will blow up
      prepare changes file for upcoming release
      hope to release 1.16 next week sometime
      remove debugging output thingy
      remove other debugging thingy
      read in 16KB chunks
      mention reduced memory usage for large comps
      cache constructor expects hashref
      Apache::Request->instance was introduced in 0.32
      mention Apache::Reload
      fix link to Admin section
      fix grammar
      a lot of minor tweaks and POD fixups
      fix one caps
      pod buglet fix
      =item /\*|\d/
      take some care not to needlessly copy incoming arguments around
      formatting and wording changes
      rewrite to just use MasonX::Request::WithApacheSession
      add version and comment explaining why
      don't override user-provided out_method
      cleanup and tweaks based on Jared Rhine's comments
      some changes based on Jon's suggestions
      shut Win32 up because one of those two vars may be undef
      add test for mixed query string & POST params
      use Utils::cgi_request_args to process arguments
      mention that we merge POST and query string args
      add explicit return to make it clear that returning the value of $req->exec is important
      explicitly override default format set further on
      provide access to cgi_request object
      more on wrappers
      fix reference to older name of module
      can't use HTML::Mason as handler
      add CGI.pm as prereq
      can't put escapes in =head's
      mention cgi_request method
      more 1.16 changes
      shameless book promotion
      require CGI 2.46, which is in Perl 5.00503
      don't require Apache::Request if user has only Apache2/mod_perl2
      credit where it's due ;)
      mention book
      update prereq list
      grammar fix
      a few tiny tweaks to wording
      no more previewer
      add date
      don't run this test unless the user has HTML::Entities
      avoid uninit value warning
      try to work around test failure on Win32 (getcwd may not be tainted there?)
      test of a subclass of a subclass of request (this fails currently)
      we want to change the inheritance of the _caller_, not the inheritance
      remove unused variable
      track what was last added to the body code so we can avoid adding line number comments between contiguous perl-lines
      test for qw() spanning multiple perl-lines
      glob_path should not return directories, only files
      die if $self->load fails when doing preloads
      test handling abort in shared block of comp that also has filter
      if comp that should have filter doesn't have one, return unfiltered output
      test that we cache post-filter component output, not pre-filter
      make sure we cache filtered component output in cache_self, not the output before its run through the filter
      alter filter so that's it obvious when filter is run multiple times against same output
      add call_self and re-write cache_self to use it
      convenience method for when request object has to monkey around with filters in cache_self & call_self
      add tests for $m->call_self
      use rethrow_exception
      description tweaks
      document call_self - note this still needs an example that actually
      test REQUEST:
      add REQUEST: as shorthand for $m->request_comp in component calls
      add tests for $comp->methods, $comp->subcomps, & $comp->attributes (the last is new)
      add attributes method
      get rid of long-deprecated (and not documented for ages) parent_comp method
      get print from $new_r, not $r
      simplify use of $r in prepare_request
      talk about mod_perl arg handling first
      use correct module as handler
      remove comment that is no longer meaningful
      fix error message
      use File::Spec
      pass text as a reference
      remove pass-text-as-ref optimization (needs more thinking out)
      Scalar::Util may not always have weaken sub (patch from Autrijus)
      turn weaken check into compile-time constant
      add test for calling $m->file in a subcomp
      make $m->file work in subcomps/methods
      add prereq for Apache::Filter 1.021+ _if_ the user already has
      these are actually needed in live_server_lib.pl
      not needed here
      load needed modules here
      add clarifications for how abort & cache_self work with shared/filters/etc
      changes for 1.17
      add John Williams
      should replace all newlines with <br>, not just the first
      put pre tags around raw error message
      don't stick filename in double-quoted string because on windows backslashes cause problems
      in Win32 destructor seems to run later than exit from block.  try to force it to run earlier
      convert line ending to try to make this pass on win32
      check for Scalar::Util::weaken explicitly
      more detail in mem leak warning
      remove bogus Win32 (non-)fix
      1.17 soon I hope
      no need for $r->warn (which mp 2 doesn't yet support anyway)
      have to exit, doh
      final changes for 1.17
      learn to be more grammar
      shut up warnings from 5.00503
      remove unused pos bits
      fix syntax err (can't believe this worked on 5.6.1+!
      fix line counting bug with 5.00503
      require E::C 1.09
      up to 1.18
      changes for 1.18
      change release date
      require E::C 1.10 (fixes alias bug)
      use new alias feature in E::C
      allow flag or attr closing tag to be upper-cased
      allow non-lower case in ending tags for flags, attr, & args
      some more parsing tests to make sure that one line blocks and non lower case ending tags are allowed
      use a custom resolver subclass provided as an object to the apachehandler constructor
      if errors are handled internal to a component, we can't expect error_format to be respected (I don't think)
      change print to warn for dump method
      test for _very_ ugly bug where subcomponents from one component can leak into another
      fix subcomp/method leakage
      latest bugs
      urls may change, but id won't
      prepare for release
      simplify test components for subcomp leak test down to bare minimum to expose bug
      remove spaces
      add date
      just check defined-ness of component source
      clarify scope of filter block
      move subrequest tests to their own file (some of these .t files have way too much stuff in them)
      fixup tests after moving subrequest tests to separate file
      test error from calling metohd or subcomp inside shared block
      detect recursive calls to dynamic_subs_init, which should only happen when a method or subcomp is called from a shared block
      test I added a while back to test a bug report
      $m->notes is a 1.20 thing
      mention putting wrapper code in <Perl> block
      don't turn references into HTML::Mason::Exception objects, only strings
      more about handling Mason-generated exceptions
      mention that error_mode must be "fatal" when handling exceptions in wrapper code
      warn against calling methods/subcomps in shared block
      *** empty log message ***
      test handling of non-Mason exception objects
      add note about content type and dhandlers
      fix wording
      fix in_package & subrequest bug by moving handling of in_package to compilation of components
      move setting request earlier
      *** empty log message ***
      minor word tweak
      oops, I'm tired, the original wording was correct
      test for bug reported by Vadim Ustiansky
      uncomment stuff (oops)
      remove debugging junk
      fix decline and cache_self bug with patch from Vadim Ustiansky plus some more code plus docs
      *** empty log message ***
      make object at startup even if ArgsMethod isn't set (oops)
      remove debugging cruft
      don't get dir_config if we already have it
      FilesMatch => LocationMatch
      make Tests.pm respect TEST_VERBOSE env var
      method & subcomp can longer have the same name
      more docs on performance
      restore missing newline
      add Exceptions to docs list
      make sure we have a SYNOPSIS and DESCRIPTION
      simplify config-related code slightly
      *** empty log message ***
      remove attempt to create object during server startup
      add bits on config name
      pluralize
      *** empty log message ***
      slight wording change
      wording tweak
      guide => manual
      show MasonConfigName being used more
      add config name to at least one configuration just to make sure some tests are run where this is set
      generate config cache key before getting the config in a usable form,
      remove Config name stuff
      make space expectations match up, after which it passes with 5.8.0
      just use HTML::Mason::Request->instance inside tied filehandle, rather than holding a reference to a specific object.
      *** empty log message ***
      woohoo, new release
      forgot to squeeze
      perl blocks aren't stored as blocks
      check define_args_hash always and never
      add define_args_hash implementation
      not copying is an enhancement.  Plus add mention of define_args_hash
      turn a few arrays into scalars
      add more information on what someone might want to subclass when creating their own compiler
      *** empty log message ***
      require P::V 0.58
      use regex validation
      assignment needs to be on one line for proper line number reporting
      test keeps failing under 5.00503 but I think the problem is the test code itself, not Mason
      doesn't work under 5.6.1 either
      let H::M::Resolver::File barf if no comp_root is provided, since that's what needs the parameter
      restore previous comp_root checking code, because we don't want to allow default from H::M::Resolver::File to be used.  only change is die => param_error
      use exceptions instead of calling die()
      do more permutations on ApacheHandler object creation
      add taint tests
      add some tests for running under taint mode
      fix test counts
      checking taint mode in BEGIN block seemed causes an infinite memory-eating loop in mod_perl
      re-fix warnings
      require latest P::V
      add nasty hack for testing with 5.00503
      make taint mode check cached
      remove weird binary cruft
      test to make sure we see uses of %ARGS in the args section
      looks for mention of %ARGS in <%args> block!
      check for ARGS in postamble too
      only check defaults that aren't undef
      make tests verbose when TEST_VERBOSE=1
      hmm, $VERBOSE & $DEBUG weren't being used
      no need to set MASON_VERBOSE=1 now
      make comment a little less demanding ;)
      new release
      update copyright years
      fix grammar
      this should be even more optimized when all warnings are being ignored
      add test for setting ignore_warnings_expr to '.'
      adjust test to test bug #473 (filters run twice after abort) as well
      I have no idea why we would flush the buffer in comp() after an
      grammar fix
      test whether $m->aborted can be checked in a filter section
      add warning about return() in filter
      *** empty log message ***
      test empty attr & flags blocks
      allow comments in <%attr> & <%flags> blocks
      *** empty log message ***
      no point in checking path of '/' against FS - this gives a warning from File::Spec::Unix::catfile under bleadperl and there's no point in doing it anyway
      English good
      require Exception::Class 1.14
      don't save references in mason exception objects
      document redirect non-bug bug (task #477)
      changes for 1.22
      new version
      just to distinguish the two branches
      Build.PL should now be equivalent to Makefile.PL
      can never be too strict
      add some minimal docs
      fix title
      remove stray =back
      DWheeler's fix
      changes from branch
      add test for DWheeler's fixed bug
      only use basic html escape in error component
      fix redirect inside scomp bug (task id #498)
      remove accidental change
      *** empty log message ***
      remove test since we aren't going to be able to fix this
      Declined exception doesn't have aborted_value field
      spiffy new build/install/test stuff with Module::Build
      fix doc buglet
      just use bare return for callers & caller_args when there is no entry on the stack, otherwise
      clarify comment
      tweaks
      only pop the buffer stack if we have good reason to believe that we should!
      remove confusing comments
      clarify comment
      clear_buffer now always clears all buffers
      doubt this will ever be used but ...
      test & document turning off autohandlers
      *** empty log message ***
      I just saw this fail, and it was probably a timing problem, so I'm increasing the times to make this less likely to happen
      switch to pass-through makefile.pl
      remove this cruft since I'm not ever going to finish it for mp 1.x
      sleep longer here too, but no need to extend expiration
      make these tests more flexible in the face of varying versions of CGI.pm, some of which have slightly different output for headers
      more fixes from branch
      add some minimal docs
      add Apache package declaration to stop Jon's errors
      fix SYNOPSIS (dwheeler)
      use LocationMatch, not FilesMatch
      move all install/build code into Mason::Build
      *** empty log message ***
      respect --noprompts
      only setup apache test for maintainers
      simplify code slightly
      require at least mod_perl 1.24 if user already has mod_perl installed
      don't unconditionally require Apache::Request
      add empty manifest so EU::Manifest shuts up!
      need recent EU::Manifest for dist action
      *** empty log message ***
      require mod_perl 1.24 - it was released in May of 2000 so this seems pretty reasonable
      *** empty log message ***
      escape vars
      use Test::Builder inside H::M::Tests
      don't capture unnecessarily
      need to convert custom pod tags before pod2man is done
      require Pod::Html
      add action to test POD files (which needs to be done after Params.pod is generated and custom tags are processed)
      fix method name in error message
      E::C 1.15 has a bug fix
      implement clear_and_abort Request method
      clarify redirect implementation
      pass through work to CGI.pm methods whenever possible
      new Params::Validate error messages
      no undef warning
      document that return foils cleanup block
      plugin patch from Doug Treder
      actually, plugins are only stored in the request object
      no need to keep "plugins" key around
      don't assume all plugins are objects.  if there is no new() method just call plugin on a class
      plugin class
      no longer using Config
      stop error when no plugins are specified
      use File::Glob::bsd_glob, because Perl's built-in glob is broken on Windows
      Mason passes all other parameters as hashes, not hash refs, so there's no reason to do so with plugins
      test setting interp->out_method
      default comp root is current working directory, not /
      use Proc::ProcessTable to get process size
      fix broken FakeApache methods and add tests for them
      require Params::Validate 0.70 to make sure users aren't affected by nasty memory leaks
      update with current bits
      *** empty log message ***
      add HTML error output test
      we need to pass parent_request to new request objects so that if
      add reference to devel docs on data caching
      comment in last line of comp call causes syntax error
      comment in last line of comp call causes syntax error
      missing >
      first stab at Handler base class
      check for needed Apache::Filter version at runtime if filtering is on, rather than making it a prereq
      lc ARGS
      correct the flow of the space-time continuum
      add mention of plugins param to new()
      continue pleasing pod tester
      add action to test POD coverage (whooh, we suck ;)
      copy over new tests from stable branch
      add support for todo tests.
      add a todo test for <% #foo %>
      add bugfix tests from stable
      compiler bug fixes ported forward from stable
      should subclass compilation exceptions
      doc fix from branch
      bug fix from stable for line numbering breakage with args, attr, & flags
      new tests from stable
      doc fixes from stable
      remove space from test name
      port of bug fix for comp calls with leading newline
      remove confusing space before parens
      uh, since when do we end sub names with an underscore?
      remove one last use of sub name ending in underscore (grr)
      add changes from 1.25 - 1.28 here
      make header regexes case-insensitive to work with older CGI.pm
      remove stray bit of doc
      make sure custom pod conversion in blib always happens
      make sure pod is only tested in blib
      don't use SKIP block
      don't pass dir to all_pod_files_ok()
      add a title to make pod => html converter happy
      make sure pod2html temp files don't end up in manifest
      fix link
      allow passing dir to convert_custom_pod
      we need to make this a dev version # or people who do "install HTML::Mason" from the CPAN shell will get this release, which would be bad
      add a date
      more stuff to skip
      remove mentions of Buffer class
      update copyright dates. add license file. add John Williams to authors
      change version number
      remove reference to Buffer, add Plugin
      remove empty manifest from cvs
      change version # to be less than 1.30
      oops, this was wrong in the uploaded tarball (no big deal for dev release)
      auto-generate passthrough Makfile.PL
      wording tweak
      owner is not available in regular components
      update mod_perl2 support for latest mod_perl RC
      one more mod_perl 2 change
      eek, weird amazon sub naming convention ;)
      fix package name
      the API didn't change constantly
      move BEGIN block out of package since it's not specific to one package
      clean up warnings from trying to load Apache::Filter
      make post API change mod_perl 2.0 RCs work
      MP2 1.99 is ok
      mod_perl2.pm will load fine under mod_perl 1, we really need to check $ENV{MOD_PERL} to figure out what version of mod_perl is currently loaded
      add a date
      new version
      missed a bug fix in Changes (oh well)
      remove checks for Perl < 5.6.0
      update README
      encourage people to use modules for handler() subs, its cleaner and seems less magical than handler.pl stuff (I hope)
      add a big warning about mixing wrappers & PerlSetVar config methods
      rename the action to be less similar to M::B built-in "html" action
      small doc tweaks to clarify that both mp 1 and 2 are supported out of the box
      changes for 1.30
      check for /usr/sbin/apache2
      add use warnings to all modules and make sure the tests run warnings-clean
      mention addition of "use warnings" in changes
      clean up weird tabbing
      clean up weird formatting
      add missing type for plugins param
      die if we have mp2 and CGI < 3.08, since it just won't work without that version or newer
      improve prereq checks for mp1 & 2
      woohoo, 1.30
      move $VERSION here which will (I hope) make PAUSE indexer happier
      formatting fixes and untabify (no tabs darnit!)
      make this metohd actually work
      minor formatting tweak to make code a little clearer
      changes for 1.31
      destroy all tabs.  who put all these in here?  could have been me years ago, actually.
      redo de-tabbing without fscking existing indentation
      redo de-tabbing without fscking existing indentation (hating CVS here)
      ignore Plugin dir
      a couple tests for cleanup blocks
      remove naughty block around body which was there to turn off warnings
      where the heck did this thing come from?
      shut up warnings from this test (they used to be shut up by the no warnings added to comp bodies)
      add a semi colon before the component's final return - this helps catch syntax errors in the component body
      *** empty log message ***
      we don't want the generated subs to be in the "no strict 'refs'" scope
      modernize HTML in examples
      add no_warnings option for tests to explicitly make sure a test runs & passes the output checks without any warnings
      style cleanup
      only output defined bits of text for output-generating code with enable_autoflush off
      added expect_warnings, which works just like expect_error (more or less)
      test that a substitution can output an undef value without warnings
      fix regressions in CGIHandler and FakeApache.  add tests from stable for CGIHandler.  fix failing test due to changes in Request
      update changelog
      don't show warnings unless verbose flag is on
      do show warnings when not verbose if warnings were not expected
      remove debugging gunk
      new version
      a tweak to make really sure we don't confuse any modules/PAUSE looking for $.+VERSION
      turn off assisted install for now, since it always prompts
      *** empty log message ***
      remove .cvsignore file
      fix check for has custom out method to actually work
      fix for CGIHandler
      new tiny release to fix CGIHandler
      look for .svn, not CVS
      make sure to skip .svn dirs
      oops, forgot my little header
      use Test::More instead of Test
      be consistent and use http_header_sent() here
      make sure headers are sent for compilation errors under mp1
      no more need for make_fh because filehandles-as-scalar is built in to 5.6.0+
      specify version more normally
      make sure that $retval is defined before checking if it is == 200
      fix handling of utf8 in uri to match CGI.pm and URI::Escape
      skip second test on Perl < 5.8.0
      silence warning if mod_perl is not installed
      add a bug fix Jon implemented a while back
      add task id
      treat return value from comp execution like a string.  add an HTTP_OK constant instead of just using 200
      there is no such parse option as 'arrayref', it's 'list' (which is kind of goofy) - fixed rt.cpan.org #15710
      more fixes
      mark compute_base_comp_for_frame as private and die if given a frame number < 0 (since that means we've tried to find a base comp all the way down the stack and could not find one)
      if base_comp is called before we have a stack set up just throw an exception and give up
      if we're going to optimize here might as well optimize as much as possible
      privatize more methods
      just return false if base_comp is called before we have a stack (which matches what all the other stack-info methods return when there is no stack)
      document that request is incomplete when start_request_hook is called - RT #16015
      *** empty log message ***
      ignore any data files that might end up in t
      move var definition to where it is used
      simplify code execution by simply returning early from fetch_comp when not caching
      remove mostly unused $interp in favor of $self->interp in several methods
      make comment more accurate
      refactor _initialize method to break out individual pieces into their own private methods, just for readability
      remove ancient comment about expiring cached components via Apache::Status page
      add release date
      in bleadperl uninit warnings include the var name, so adjust regex for that (see RT 17118)
      fix from Shane McCarron for test failure on win32
      make sure we can load this module outside of mod_perl
      don't have to trick ApacheHandler into being loadable, and if it ever fails I want to see it, because that's a bug
      document fix for ApacheHandler not loading outside of mod_perl
      302 should be Found, but was Moved in CGI.pm < 3.16
      Change the example code to actually work - from John Siracusa
      Note fixing of example code in Null resolver
      Simplify code for determining what versions of mod_perl are installed
      Fix task #596, flush does nothing when there's a filter present.
      Add clarifying comment in print()
      Tweak filter test so that it will catch the filter being run twice
      Doh, no tests fail as long as they all have unique names.
      When calling flush_buffer, we should flush $self->{request_buffer}
      Fixes the last failing test by making the stack buffer unflushable
      Note new tests in Changes.
      Correct typo in example code.
      There is no resolve() method in either H::M::Resolver or
      Fix a small typo in the docs.
      Add a change that I must've done from this machine, because this was
      Add mention of RT 17118, fixed in 1.33
      Add release date for 1.33
      Doh, lost the "R" in "Revision"
      Protect against weirdness with CPANPLUS and/or Module::Build in tests
      Note fix for bogus live test failures.
      Add get_server_port - patch from HDP.
      Note get_server_port() change.
      Add a test to ensure that the file resolver doesn't give access to
      Add a component about the security of get_info.
      A bunch of tests to make sure that Mason does not leak memory. The
      Fix test plan
      This fixes a major bug which prevents objects from being destroyed in
      Added labels for each block of tests
      Remove empty comment line.
      Simplify test case. It has nothing to do with %ARGS.
      Rename to match existing leak test file.
      Make the extra block more obvious.
      Ok, this looks like a Perl bug, but it's useful as a TODO test so we
      Note memory leak fix.
      Add a simple --dist flag to Build.PL. We should use this when we're
      Fixed META.yml mis-declaration of prereqs.
      Include Module::Build in build_requires.
      Update changes with latest change.
      New version for releaes.
      Shut up warning when not running verbosely.
      Use dist=1 to indicate we're building a tarball, so it's available
      We need Module::Build 0.26 for the ->args method.
      When load_pkg fails because it loads A, which cannot find B, make sure
      Add note for most recent bug fix.
      Remove unused var
      I finally tracked down the new stack corruption bug I was seeing. It
      This brings back the old stack-handling method of just using Perl's
      With some versions of Perl (5.6.2 in my testing and 5.8.5 in a bug
      remove whitespace and comment
      This simple change fixes the stack corruption problem, though the
      Remove separator since the support comp is only used in this one test.
      A 1 second expiration may just be too little on some systems. It's
      Add changes for 1.35.
      Remove unused component.
      Add a test for handling of request for dir when decline_dirs is false.
      Add a date for 1.35.
      Update to 1.35.
      This bundle was way out of date with our actual prereqs.
      Add HTML::Entities as a recommended module. Since it's not a prereq,
      Passing undef to $r->content_type() seems to cause warnings undef
      Record uninit warning fix in Changes.
      Add named_component_subs to compiler, which compiles all components
      Pass comp_path to compiler.
      Distinguish between comp source and compiled component object.
      Fix test description to describe success case, not failure.
      Pass comp_path to compiler as needed.
      Have to pass the comp_path to the ComponentSource constructor, not
      Make named_component_subs work in the presence of <%shared>
      Oops, this should be off by default. I had turned it on to run all the
      Make HTML::Entities a required module. This simplifies our code and
      Added new errors_are_exceptions Request parameter which can be used to
      Add an additional test to make sure errors are not upgraded to
      Improve named_component_subs docs.
      Someone reported a test failure in this test. I _suspect_ that the
      Remove bit about nesting <%perl> blocks. It implies that other blocks
      Change errors_are_exceptions to component_error_handler, and make the
      Return the return value of calling SUPER::exec. Debian bug #425937.
      Note CGIHandler::Request->exec() fix.
      Add reporter for latest bug fix.
      Update changes to match current state of error handling in Request.
      This fixes a problem in the handling of the comp with content stack in
      Add date.
      Fix a grammar mistake.
      Add a missing period.
      Use $r->notes() to track whether or not we've sent the headers in
      Document header-related bug fixes I just checked in.
      Make these tests more verbose about why they skip tests.
      Ignore more generated files
      Require 5.006 here since HTML::Mason itself does.
      Make this version 1.37 and set the date for the release
      The version for mp2 is in mod_perl2.pm not mod_perl.pm
      Update Changes.
      The nasty closure leaks have all been fixed in 5.10, apparently.
      tests should not be executable
      A huge refactoring of the incredibly nasty Apache live tests.
      Use strict & warnings in our generated CGIHandler.cgi file.
      Integrated the live tests for CGIHandler.pm into the new live test framework.
      Rename ah subdir to live, since it contains CGIHandler tests as well.
      Turn on recursive test files (though the live tests will only get run
      Yet another header-sending fix.
      Allow comp call with content end tag to include whitespace ala:
      Changes for 1.38
      Remove bits that set notes after sending header.
      This change gets the live tests passing with Apache2, since under mp2
      Change the expiration to 2 seconds. I noticed a bunch of failures for
      Last change for 1.38
      Add release date for 1.38
      New version #
      Some minor doc tweaks and reformatting
      Slight reformatting
      Update for release
      Unfortunately, L<> links to outside modules cause us to generate links
      Remove a few more L<> links that made lint unhappy
      I cannot spell test, apparently.
      Fix for setting >1 cookie under CGIHandler
      fix/improve docs on compile() method to match reality
      Clean up some pod formatting.
      Prep for 1.40 release with Jesse's segfault fix, for the benefit of Debian (and everyone else ;)
      Make symbolic ref syntax consistent
      Add release date
      Jon, please don't L<> to modules not in this dist, it makes linklint sad.
      This check was somehow broken by the latest Exception::Class. This
      Fix a link in Admin
      Bump version
      Add changes for release
      Clarify which version of E::C I'm talking about
      Fix speling of publicly
      Require CHI 0.21+ for testing
      Fix broken print method in FakeApache
      Add release date
      Bump version
      Add dynamic_config flag
      Failing test for components with spaces in path
      escape filenames before putting them in a #line directive
      Add bug fix for spaces in path issue
      Hackaround attempting to "do" an object file in taint mode (seems to be an error with 5.10)
      More flushing fixes.
      Add release date
      Bump version
      Revert attempt to fix tainted @INC (sigh, I give up on taint mode)
      update manifest.skip
      Fix release date - formatting tweaks
      Don't try Switch test on Perl 5.12.0+, since that may cause a "Switch is deprecated" warning.
      Don't use defined on a hash, which is deprecated, and warns in 5.12.0
      Add changes for 1.45
      Bump version to 1.45
      Add release date
      No "used once" warnings when setting globals

jswartz (399):
      eliminate risky 'my var = value if...' idiom
      fixed syntax of open and seek calls
      shortened mailing list info to refer to masonhq; updated my email address
      this will be version 1.1
      merge caller_args, top_args, fetch_next changes from mason-0-8-branch
      updated copyright to 2000
      merge various changes from mason-0-8-branch
      fixed quote glitch
      don't try to escape undefined perl expression
      whoops
      clarify url escaping
      separated group->add_test and group->add_support blocks with dashed lines, to improve readability of test files
      tests for top_comp, top_args, and calling call_next from helper component
      various updates to README
      document need to clear cache when changing parser (todo #163)
      added subdirectory glob pattern to preload test
      fix preload documentation (bug #203); add a few validation tests for preload values
      minor formatting bug
      minor wording change regarding default xpressions
      took out erroneous qw
      just to be a stickler, checking in original 0.896 version for 1.0 release, then reapplying change after 1.0
      merge changes from 1.0 branch
      merge change from 1.0 branch
      merge changes from branch, putting eval around all comp calls
      first stage of replacing old Mason caching mechanism with Cache::Cache interface
      merging from 1.0 branch
      remove debug file facility and documentation
      standardized parenthesis
      eliminated debug files
      eliminate taint_check parser option by detecting when taint mode is on
      removed mc_ command compatibility and docs (task #225)
      remove old mentions of mc_ commands from docs
      remove debugging mention
      overhauled cache documentation for new Cache::Cache implementation
      added function comments
      deleted access_data cache; added data_cache_namespace
      changed caching section to reflect Cache::Cache switch
      replaced data_cache_dir with data_cache_defaults
      minor fixes
      remove infernal dos newline characters
      formatting fixes
      eliminate verbose_compile_error (merged from branch)
      remove test directory, no longer needed with new test system
      added .cvsignore files to ignore files created when make test is run
      allow comp_root of '/' (bug #259)
      add prereqs section
      fix to Apache conf
      update Eric Hammond email address (methinks this should be in a database or something)
      take out misleading taint line
      put back standalone script example
      standardize new usage in docs
      fix cache tests to match new syntax
      remove DataCacheDir; fix disabling data caching section
      remove source_ref_start (until rolsky brings it back again :)) and cache_file
      removed data_cache_dir and cache_file; added data_cache_defaults example
      automatically require cache subclass if not in INC
      fix cache tests for new syntax
      various fixes, additions to caching section
      get rid of use_data_cache
      removed cache file from test results
      remove 'Guarantees (or lack thereof)' section, as this is no longer necessarily true with Cache::Cache
      there is no more Config.pm, so remove from .cvsignore
      add load_pkg routine; use HTML::Entities for |h flag (task #287)
      switch to load_pkg for Time::HiRes usage
      use load_pkg to confirm existence of Cache::Cache and cache subclass
      test whether file can be opened, not whether $fh can be created (it always can)
      Take email addresses out of CREDITS. It's an administrative cost and spam risk, and doesn't buy us much.
      Remove some artifacts of debug files: debug_* parameters in valid_params, $debug_msg reference in error handling
      No comments allowed at end of Apache conf line.
      Turn on tracing for each exception class.
      Remove deprecated output_mode
      Take write_system_log calls out of ApacheHandler.pm. They belong in Interp.pm, if anywhere, but we may ditch system logs altogether and just use hooks.
      Simplify ApacheHandler's automatic http header behavior. No longer
      Further simplify automatic header code.
      Change default die handler from Carp::confess to HTML::Mason::Exceptions::error
      No need for error_backtrace and error_clean now that we are always passing back an exception object.
      First set of functions on the road to making exceptions readable (so as to replace Error.pm)
      capitalize error for consistency
      put "at line" before line number in error msgs
      It seems more correct to do HTML::Mason::Exception->Trace(1) than Exception::Class::Base->Trace(1) since Mason users might be using Exception::Class for their own uses, and they won't necessarily want tracing on.
      Fix wrapper_index/path undef warning by shoving under the rug...the
      eliminate use of run_once in example
      When calling compile(), pass filename along as name if it is available.
      Get rid of out_mode (going to be replaced with autoflush), and static_file_root (deemed unnecessary).
      Get rid of out_mode (being replaced with autoflush) and file_root (deemed unnecessary)
      Get rid of out_mode (will be replaced with autoflush)
      * Only override SIG{__DIE__} once, at top of Request::exec. This provides consistent behavior that all errors out of Request::exec should be exceptions.
      Take out stream/buffer mode (will be replaced with autoflush); make {buffer} always a reference to simplify code
      Get rid of error_mode (moving to Request.pm)
      Add HTML::Mason::Exception::TopLevelNotFound
      Whoops, didn't mean to make an interpreter (doesn't work without comp_root/data_dir yet)
      * Use top_level_not_found_error instead of error_code to signal a not found at top level (used by ApacheHandler); get rid of error_code
      Simplify code to override *Apache::print - just do once around $request->exec. Seems to work for me. This will also let us clean up the _run_comp2 ugliness.
      Tie STDOUT once, before the first comp call in exec().
      Get rid of _run_comp, as no longer needed.
      fix module name
      whoops, didn't mean to remove that
      Set default error_format based on error_mode. If 'fatal', use line format; if 'output', use html format.
      Add fields to abort, compilation, and syntax error class definitions.
      If we create a new exception from a Mason exception, just use the
      Change _compilation_error to stuff filename into exception object
      implement separate error_mode and error_format parameters
      Ignore all stack frames within HTML::Mason::Exceptions
      Seperate exec()'s error handling into separate routine, _handle_error,
      Override _handle_error to always die when top level component is not found,
      Add isa_mason_exception, which checks that exception class exists. Use instead of UNIVERSAL::isa.
      Take out use_autohandlers, use_dhandlers, and allow_recursive_autohandlers parameters.
      removed outdated Components.pod shell pod
      Simplify AUTHORS sections; just put in Mason.pm, Admin.pod, Devel.pod, and Request.pm as these are the most often read.
      Eliminate Error.pm; error formatting code is now in Exceptions.pm
      standardize SEE ALSO sections somewhat
      simplify full_message call a bit
      and add undef protection
      take out use_autohandlers test
      Put in_cache_self flag back in top_stack, because more than one component may call cache_self in the stack.
      Make print the official name of the output method, with out a synonym.
      add MasonErrorFormat mention; update error_mode choices
      fix pod buglet
      Don't use HTML::Mason::Error anymore
      out => print
      Document error_mode and error_format
      Get rid of a few unused variables
      Don't create cache/locks subdir
      Don't create preview subdir
      If we create a new exception from a Mason exception, just use the *short* error message.
      Get rid of handle_request_1, move contents into handle_request and request->exec
      Answer Dave's question.
      Clean up fixed_source usage a bit
      add comments about comp_id
      There's no need for a special case for caching virtual components. If a virtual component has a path, it should be using a memory resolver (which may or may not be implemented for this release).
      get rid of warning
      * Change Request object to have comp and args embedded in it. exec()
      * Centralize not_found error serving in return_not_found().
      Adjust for new Request exec interface.
      add is_subrequest
      Whoops, _cgi_args() now requires $cgi_object as argument
      * Eliminate top_level_predicate from our lives.
      get rid of MasonTopLevelPredicate
      On a success code, send headers if they have not been sent and if we
      adjust tests for new Request.pm API, loss of top_level_predicate
      update .cvsignore files
      Remove all traces of previewer. It will be back in a much more compact form, eventually, but probably not for 1.1.
      Change loop into a block with a redo. A loop is unintuitive when it
      Take sub apache_request_to_comp_path out of Resolver so that ApacheHandler can() check works
      Make default error format 'text' instead of 'brief'
      When resolver is created with no comp_root, use / as only root and allow relative paths to be used. This allows for the most intuitive standalone use. Implemented with new Resolver method default_root_path, which defaults to undef (meaning paths must be absolute).
      change default_root_path to default_path_prefix, to avoid overuse of the word 'root'.
      eliminate use-of-undef warning
      Errors in _initialize are now stuffed in prepare_error(), and
      remove system log documentation; document fixed_source mode
      get rid of hooks and system logs; put a few methods in sort order
      change / to rootdir on Dave's suggestion
      change from default_path_prefix to rel2abs for more generality; rename use_default_path to allow_relative_path
      fix typo
      comment prepare_error mechanism in _initialize
      move install helper scripts to install subdirectory
      Rename top_comp and top_args to request_comp and request_args
      Fix up documentation of component call modifiers; take out mention of base_comp
      fix pod2html errors
      ignore subdirectories
      Take out some fluff from Mason.pm
      Update index.html so it will work on site as well as standalone
      Add in 1.04 and 1.03 changes, add date
      Get rid of extra blank lines - if we want these we can put them in the convert-changes script that should be run with the install - but all releases should be consistently formatted.
      no periods after L{} tags
      a few indenting glitches
      We create htdocs during makerel.pl
      The link remover can't handle multiple links. So sue me. Anyway, we
      add closing tr
      ignore Params.pod
      Greatly simplify handler.pl
      Reorganization and rewrites in places
      Put auto-chown in new() method so it works for handler.pl configuration as well
      whoops
      Standalone mode is now documented in Admin.pod
      Take out relative-path resolving special case when Resolver is created without component root
      Make comp_root read-only - changing comp_root in a resolver (and thus in an Interp) is not supported. Take out a few unnecessary lines of code.
      update standalone script link
      create_time => load_time
      ignore_warnings_expr affects loading, not compiling
      Use $self->abort(REDIRECT) instead of $r->status(REDIRECT), it seems the more standard way to do this.
      add a bit more detail to redirect doc
      Add a web-specific features section containing the existing "Sending HTTP Headers" as well as new "Returning HTTP Status" and "External Redirects" sections.
      Add "use HTML::Mason;" to bring in $VERSION, the assumption being that
      add warning about PerlFreshRestart
      Can't cache auto_send_headers anymore, because it can be changed mid-request.
      Fixed problem with internal Apache requests, involving the Apache::print override.
      Compute and store $real_apache_print once at load time; remap
      Change around recommended reading section
      Document internal redirects
      Explicitly prevent requests from being executed twice with a nice error msg
      add test for internal redirect
      Allow $m->aborted to take an optional $err argument, but still default to $@; improve documentation of $m->abort and $m->aborted given new implementation
      Don't allow resolver to get created without comp_root, if it needs one
      MasonOutmode --> MasonOutMode
      Make m->decline clear buffer (task #335)
      Add date to Changes
      explain differences between Apache::Request and CGI
      add </a> for all <a name=...> tags
      get rid of out_method in base-bones standalone example
      start_block => end_block
      capitalize title
      add note about system log being removed
      add date
      add details about caching, must add also to docs
      add an example of replacing expire_if with get_object and get_created_at
      formatting fix
      capitalize a few section names at random, to make sure we allow <%INIT> and so on
      don't run cache test if Cache::Cache not present
      update globals section to take out bad advice about 'use vars' in autohandlers
      add busy lock doc
      Actually document the default key for cache_self, as it is needed for
      be a little more accurate about cache_self args
      =pod sections seem to mess up pod2html; change to standard comments
      document exec method
      need load_pkg
      Fix $req->exec to use wantarray correcly (move wantarray() call outside of eval).
      test that $req->exec returns scalar and list values correctl
      check wantarray in return-value tests
      do the right thing in non-return context (wantarray undefined)
      select the originally selected handle, not STDOUT
      change title
      add test for exec in non-return context
      a few formatting changes
      convert =pod to regular comment section, since it was confusing pod2html and pod installer
      add a NAME, otherwise pod installer gets mad
      Allow expire_in for token backward compatibility with 1.0x
      add create_time for backwards compatibility with 1.0x
      add param documentation
      add test for 1.0x cache compatibility layer
      Update to reflect new backward compatibility efforts in 1.14; separate installation/setup from component syntax
      Update with information about data caching: expire_if, busy_lock, and 1.0x compatibility layer
      added to enhance Cache::BaseCache
      add back current_time for backward compatibility (deprecated); add data_cache_api to list of contained request params
      add pkg_loaded to export
      add backward compatibility layer with 1.0 cache API and time method
      provide yet more details about data caching in its own section
      add test for both expire_in and expires_in; fix test for expire_if
      add test for current_time and $m->time; fix expectation of cache module
      add a few comments
      object must be grabbed after expire_if is handled
      add test that Mason cache packages get created
      fix typo
      update "declining image requests" and "sessions"
      standardize on P<> for parameters
      up version num
      standardize some section titles, alphabetize some section items
      Make data_cache_namespace work generally with comp_ids
      update cache documentation; use custom P<> tag for parameter links
      fix some pod links
      fix up Cache::BaseCache documentation for end users
      many little documentation changes to cleanup and make more consistent
      a few more pod fixes
      fix real filesystem check
      all guides are now manuals :)
      add Cache
      missing colon
      add MANIFEST
      document deprecated methods
      Add changes for 1.14
      Add 1.14 people
      wording change
      Add note about |h escape change and the html_escaping parameter
      add note about $m->call_self no longer existing
      add example of private component directory
      add tests for filters in subcomponents
      Do cleanup before running test as well as after, in case test directory was left around
      Fix a whole bunch of broken links (thanks linklint!)
      add Component
      Filters in subcomponent and methods were never broken in a released version.
      Add date, close enough probably
      I think changes should be ordered with most "important" items first, judgement call of course
      Add flush_code_cache as a memory leak solution for users of 5.00503 or earlier
      * Fix some broken links and pod tags
      fix link
      combine and clean up admin sections discussing image requests and security; make eg/httpd.conf more realistic
      Use just LocationMatch rather than FilesMatch; as Ken points out, LocationMatch will work
      fix LocationMatch buglet
      ignore htpods
      add example of using call_self to trap errors
      mark cache_self change as incompatibility
      Add a line about wantarray
      add "manually applying escapes" note
      should have been head3
      Add missing documentation to index.html, reorganize. Generated dynamically from masonhq/comps/misc/doc_index.html.
      Fix several doc buglets
      fix doc buglet
      You cannot create a subcomponent and method with the same name.
      doc buglet
      Rename $info to $source, since it is a ComponentSource object. I found the generic use of $info confusing.
      You can now run just some of a test file with the '--tests-to-run' flag,
      little fixes
      Modify 'subrequest' test to use Perl's print after the subrequest finishes. This currently fails at least on my 5.6.1 system.
      Change simple component example to use localtime correctly.
      fix "HTML table formed from list of hashes" example
      change $info to $source in assign_runtime_properties for clarity, since it is a ComponentSource object
      add Jeremy Blain
      Add use_source_line_numbers compiler parameter, on by default, which controls whether source #line directives are inserted into object files [task #461].
      join is faster than foreach
      * Fix bug #462, in which runtime properties are not assigned for methods.
      Add line to test $comp->is_method
      For performance, cache whether taint is on or off the first time the
      This line isn't useful, as $code isn't referenced anywhere.
      add a few 1.21 changes
      Reverted back to Ken's version with an extra comment.
      Make taint_is_on a constant subroutine.
      * Add "I am not a method" lines to reflect change to Tests.pm:/shared/display_comp_obj
      add optimization for ignore_warnings_expr => '.'
      Eliminate unnecessary request and component argument copying in Interp and Request. This also changes the semantics of @_ in components to match that of Perl's, e.g. to contain aliases to the caller's arguments. [Task #464]
      Get rid of double backslashes that interfere with html escaping [Bug #468]
      Look for ClearModuleList directives as well
      Take out the use of alarm() and SIG{ALRM} to trap rare infinite loops
      started 1.22 changes
      whoops, add a space
      Change remaining 'new HTML::Mason::Foo' to 'HTML::Mason::Foo->new' in the docs, since the majority of developers in the group seem to prefer this.
      Allow the user to subclass Tests.pm and run tests with that subclass,
      The object file load loop in Interp:load (line 302) loops forever if
      Add an in_named_block property to $self->{current_compile} containing
      Define $self->{current_compile}->{in_named_block} locally in _compile_subcomponents_or_methods as well
      fix grammar
      Add --tests-to-skip parameter / MASON_TESTS_TO_SKIP environment
      Forbid duplicate definition of subcomponents and methods [task #476]
      Add $self->{main_compile}, always set to the first $self->{current_compile}.
      Improve --tests-to-run and --tests-to-skip options: Accept wildcards
      doc fix
      fix a number of section references
      change wording, add credits, add optimistic release date
      add a bit about has_content
      augment comment for has_content
      generalize 18-interp_leak.t to 18-leak.t; add test for request leak
      comment NoRefs(1)
      add subexec relative path mention
      Trigger a fatal error when the explicit inherit path for a component cannot be found.
      Fix busy_lock - simply return the object's value rather than attempting to reset its expiration time. The latter would allow multiple busy_lock calls to indefinitely delay the object's expiration. [Task #484]
      whoops, make busy_lock work with any duration string
      document backslash-at-end-of-line change in 1.1x
      add more docs about basic_html_escape
      reword and reformat escaping docs; add cache->clear example
      Have caller, callers and caller_args return undef if the specified stack level does not exist [task #495].
      add tests for not found errors
      Revert busy_lock behavior back to 1.22 state, which was basically correct, as opposed to the completely incorrect behavior that I checked in here. The only fixes from 1.22 are: (1) allow busy_lock to take any duration string, and (2) document the unavoidable fact that after the busy_lock time expires, only one new process at a time will attempt to recompute the value.
      small clarification
      make attr_exists return undef instead of 0 for false [task #508]
      doc buglet
      mention that $m->redirect requires Mason 1.1x
      Filter out Exception::Class::__ANON__ and
      fix caller doc buglet
      Propagate errors from using tests_class class
      Instead of adding a newline to every <& &> comp call, just change the preprocessing to retain existing newlines.
      move backslash change to syntax category
      update urls
      mention accessor methods
      add note about auto_send_headers(0)
      eliminate component <-> subcomponent memory leak by weakening subcomponent owner slot (item #549)
      Large number of changes, many of them based on work at Amazon.
      oops, had commented out important line for testing
      changed internal methods to have underscore at beginning instead of end; fixed apache_request_to_comp_path
      old component path could be leaked inside anonymous component object - fixed and added a test
      fix recently introduced bug in <& &> syntax wrt non-word characters past the first position; added tests
      include whitespace in call itself, for more accurate line numbering
      add more tests for printing lists, base_comp in subcomponent, and accidental 'next'ing out of component; add more docs about base_comp
      change enable_autoflush default to 1, removing backward incompatibility
      Convert plugins to create and pass context objects to hooks
      use 5.006_000; is preferred form
      show successful output when expected error does not occur
      separate comp call syntax into separate test file; test that paths are canonicalized to the same component (currently failing) and that components cannot be called outside the comp root
      Call absolute_comp_path on all paths to fetch_comp, as this canonicalizes even the absolute paths.
      add more feedback from canonicalize test
      Add ability for end_request plugin to change content; more plugin tests
      Remove "optimization" of reassigning out_method after header sending; it doesn't help in the vast majority of non-autoflush cases
      Merge rolsky's changes to value returning section
      merge comp_exists doc change; fix no-content HTTP case (e.g. redirects)
      cleanup config docs per Max Baker
      change context->args to return a list reference or list depending on context
      Fix ->decline from /dhandler entering infinite loop (task id #573)
      Change object file path to include the compiler object_id and customizable extension (default .obj). Change compiler params to be read-only so as to compute the object_id only once. Current 06-compiler.t:compiler_id_change test fails because our object_id signature generation is lame; trying to figure out a replacement. Task ids 152 and 569.
      replace existing object_id routine with Data::Dumper + Adler32 checksum, tests now pass
      update Changes
      Fixed comp_exists to work with any path accepted by comp or fetch_comp (task #572). Fixed fetch_comp to not throw errors for various bad paths.
      add a _hook prefix to the name of each plugin hook method, to distinguish them from future user-accessible methods on plugin objects
      skip autoflush_in_parent_not_subrequest for now - we're not sure of the appropriate behavior, and this needn't be a showstopper for releasing 1.3
      more updates for 1.30
      update changes and credits
      If a request fails during initialization (e.g. the top-level component cannot be loaded), then return immediately if and when exec() is called. See http://masonhq.com/?WhyRequestPrepareErrors. This is probably not the final API, but it is good enough for 1.3 release and closest to the existing behavior.
      Check static_source touch file before first component is loaded. Bug #576.
      Clarify that current request == $m
      clean up base_comp description a bit
      add 'not in use' comment
      cache parent in use_internal_component_caches mode
      change fetch_comp(undef) to return undef instead of unblessed empty hash - task #578
      Prefix Apache parameter names with 'Mason' (bug #575)
      mention PerlModule Apache2::compat in Mason.pm and Admin.pod
      don't override out_method if user has provided one
      Recover more gracefully from an empty or corrupted object file. [task #579]
      Only reset file type on directories. Task id #584.
      Update changse
      remove brackets from cache_self description
      indicate that load dies with error on failure
      revert to 'if defined' instead of grep when printing a list of items to the Mason output buffer; it is more efficient

kwilliams (318):
      Fixed wantarray detection in comp1().  Closes to-do item #115.
      Fixed warning about bareword 'y' interpreted as string.
      Tiny simplification of code that senses component caller's wantarray()
      Mason now requires File::Spec version 0.8 or higher, so I added that
      Added a little codelet for displaying errors as file-chunks rather than line-chunks.
      Was accidentally calling comp() instead of scomp() in test.
      $m->out() and <% %> now accept and emit more than one argument, just
      Eliminated several unneccesary eval("...") statements in
      Eliminated more unneccesary eval("...") statements in
      Added a bit of code that improves compatibility with Apache::Filter.
      Apache::test now allows the user to skip testing with a live server if
      Fixed a couple of bugs in File::Spec::canonpath, which we're
      Fixed some incorrect/misleading comments.
      In filtering example, regex will allow additional attributes between
      Put all module names in single-quoted strings, since for some reason
      Added 'Exception::Class' to list of module prerequisites in PREREQ_PM.
      Fixed POD typo.
      Uncompressed the formatting of the object_file() and cache_file() methods.
      Add documentation for the 'interp' parameter to the new() method
      Did some work on the cooperation with Apache::Status.  First, it will
      Added the ability to delete cached components via the Apache::Status
      Added test for $interp->make_component() - doesn't pass yet because
      Cleaned up code that handles default values in new().  It also wasn't
      The make_component() and make_anonymous_component() docs were
      As near as I can tell, $interp->make_component() didn't work at all.
      Merged the make_component() and make_anonymous_component() methods.
      Adjust for $interp->make_component() API changes.
      Adjust docs to match current make_component() situation.
      Tiny speedup to call_next() - don't create temporary array.
      make_component() now dies with an exception object instead of a string.
      The 'die_handler' heading got lost sometime, I added it back.
      push_buffer_stack() needs to shift(@_) to get rid of $self before validating its params.
      First step toward making Apache::Request optional again.  Seems to
      Will skip Apache::Request tests if Apache::Request not installed, or
      Did lots of work on making the various classes more "pluggable".
      Get rid of the old %fields hash, it's replaced by valid_params().
      Converted Component and Lexer to use new valid_params() system.
      More work on pluggability of classes.
      Make the Interp's 'resolver' parameter overridable.
      Broke the circular reference between the compiler and the lexer.  The compiler
      Created the create_subobjects() function in Utils.pm, and altered the
      The interpreter now auto-creates the resolver and compiler.
      Corrected some terminology in an error message.
      Let the validate() function return the parameters for the compile() method.
      The 'current_time' property of Interp has gone away.  In its place,
      A full stat() of the sourcefile isn't necessary unless it exists.
      Moved responsibility for a component's object_file and cache_file from
      Revamped the HTML::Mason::Container class - now classes set their
      Fixed a few problems in creating the Config.pm file.  Also, defined()
      Fix exception-throwing typo
      The lexer is required for the Compiler, not optional.
      If a 'foo' parameter is passed instead of 'foo_class', then we
      Some minor documentation revisions
      Some minor code cleanup in the set_global() method
      Use 'interp_params' instead of 'compiler_params'
      Get rid of 'lexer_params' and 'compiler_params' - the interpreter will
      Added an 'interp_class' parameter to the new() method.  t/14-cgi.t is
      Added a HTML::Mason::CGIHandler class and some tests for it.
      Setting $r->header_out('Foo' => undef) or $r->content_type(undef) will
      Docs correction: change make_anonymous_component() to make_component().
      Added the handle_cgi() and interp() methods, and their docs.
      Fix missing quotation mark from FilesMatch.  Also make indenting look nice.
      Committed a test which exhibits an infinite-loop bug involving % in a text section
      Fixed a bug in which % in a text-section caused an infinite loop.
      Improved the regex for matching a text section.
      Squashed another infinite loop.
      Errors of line numbers in <%init> blocks should now be correct,
      Don't use typeglobs as filehandles under perl 5.6 or greater - undef
      Convert all spaces to   in code listing (context around red
      Changed name of $compiler->set_allowed_globals() to
      Fixed the 'postprocess_perl' directive - it was skipping many of the
      Added a little stub documentation
      We don't need Digest::MD5, since we don't need the checksum to change
      Change 'allowed_globals' to 'allow_globals' (was a typo?)
      Fixed POD typo
      Found a bug in parsing of <%attr> sections: 0 can't be used as a
      Fixed a bug in which 0 wasn't a valid <%attr> or <%flags> value (or key).
      Fixed a bug that prevented headers from being set properly
      Don't inherit from HTML::Mason::Request.
      Added code that allows 'delayed' creation of contained objects.  This
      We shouldn't be deleting the '_class' from the '_delayed_$class' hash,
      Let the Container class create the Interp object for us.
      Avoid creating a temporary hash for arguments to the new() method.
      Buffer & Request now use the Container class to validate parameters
      Create compile-time abbreviations for exceptions
      Use compile-time exception abbreviations
      Some minor formatting cleanup
      Tiny little speedup - don't create another SVHV just to look up an entry in it.
      Use compile-time exception abbreviations
      Use compile-time exception abbreviations
      Use compile-time exception abbreviations
      Use compile-time exception abbreviations
      Changed the say the 'abbr' feature works, this way is less error-prone.
      Added a dump_specs() method, mostly useful for the book, I think.
      More conversion to new exception-handling abbreviations
      Update the "docs".
      Fix a couple formatting tags
      Don't get your hopes up - just fix a module-loading issue.
      Use the Container class for HTML::Mason::Request::ApacheHandler, which
      Store all state about the current lex in $self->{current} instead of
      add_hook() and remove_hook() now use validate() to validate their parameters.
      Avoid needless copying of parameters from @_ to %args.
      Use the compile-time abbreviations for exceptions.
      Get the 14-cgi.t test working again.  Also added a TODO test for a new feature of CGIHandler.
      Moved 'data_cache_defaults' from Interp to Request, since that's where they're used.
      Use HTML::Mason::MethodMaker for some common lookups.
      Added the delayed_object_params() method.  Previously, all the
      Fixed the $m->cgi_object method in CGIHandler.
      Oops, forgot to take out a debug statement
      Add a stub to catch people who are trying to use the Parser module with Mason > 1.1
      Add a function that will catch people trying to do
      Fix regex for checking the 'error_mode' parameter
      Remove superfluous line of code
      Make sure we're opening a file for reading, so someone malicious
      Allow for a comp_root in a few different forms
      The object files are now created using the exact name of the component
      Simplify an expression in setting component args
      Reorganized the resolver methods.  Allows for more transparent interaction with the Interpreter.
      Use the redesigned resolver API
      Use the info returned by the resolver, don't try to reconstruct it.
      Back out part of the previous change, sort of: comp_root() will act as
      Restore to previous state - but these two tests (multiconf1 &
      Fix the new comp_root() accessor method
      The 'make_component' test with a path should work now (or will as soon as I check in its changes).
      Added the 'is_virtual' test parameter and its docs.  Implemented by a
      Changed 'virtual_comp' to 'is_virtual'.
      Some very minor code cleanup
      Make the 'comp_root' parameter optional.  This allows for easier use
      Allow 'virtual' components - components created by make_component()
      Added a stack_entry() method for accessing entries in the component
      Be a little safer about calling Apache->request() method
      Add descriptions for valid parameters.  This allows for some
      Return the output as a string rather than printing it.
      Add descriptions for valid_params
      Add descriptions for valid_params
      Be a bit more flexible in the dump_specs output (perhaps too flexible?)
      Add descriptions to valid_params.
      Give a default description when none is provided
      Provide descriptions for valid_params
      Error message has changed, don't be so specific about it.
      Be less specific in error messages, we just want to make sure the
      Use named parameters for output options
      Get rid of all the text output formatting code for dump_specs().  The
      Provide 'parse' types for a couple parameters, which helps auto-generate the docs.
      return() is smart enough to return the right thing in context.
      Simplify the code for finding comps upwards
      Fix name of "expires_in" parameter
      Be a little more subclassable about making child buffers
      Dave, don't you run 'make test' anymore? ;-)
      Simplify the error callback
      This new test currently fails, but should succeed.
      Update & reorganize
      Minor code formatting change
      Initial support for building via Module::Build
      Downgrade $Module::Build::VERSION to 0.05_01, I'm not ready to release 0.06 yet.
      The only thing missing from Build.PL now is the proper 'Build clean'
      We shouldn't have t/error_log in MANIFEST
      Simplify the creation of the returned hashref value for request_args()
      Use the full Container idiom in case someone wants to subclass
      Created a new() method in HTML::Mason::Container.  Its derived classes
      Updated summary of usage
      The time() method is gone from the request object
      Clarify the docs
      Clarify docs for ->compiler().
      Change $r->headers_out->add(...) to $r->header_out(...) for broad compatibility
      The old version of this didn't work when running under the root user
      change run_script() to run_perl_script()
      Make this a HTML::Mason::Container subclass.
      Edit some parameter descriptions
      Fix typo in comment
      Correct typo
      None of the parameters should be public, I think.
      Nearly gave me a heart attack - we still support relative paths in
      Added a couple of tests that exhibit a couple of bugs I've found.  Not
      Make the list of properties (inherited by subrequests) a method, so
      Don't hard-code the names of blocks, make it a method.
      Get the list of "properties" dynamically.  This is used when creating
      Params::Validate version didn't match in two parts of Makefile.PL
      Move the request args processing to its own method (request_args()).
      skip CVS directories properly
      Ugh, this wasn't as self-contained as I thought it was.  Well, it
      error_mode and error_format docs were backwards
      add a test for syntax errors in make_component()
      Add some cautions and elaborations to the documentation.  Recommend
      Be safer about removing files in $APACHE{apache_dir}
      In glob_path() the component root could contain regex metacharacters
      Generate error message using an anonymous component, which helps us
      Small doc addition
      Use a better hack for letting ApacheHandler run offline
      Slight simplification of an error string
      A new command-line tool for executing Mason components
      Add a resolve_backwards() method for mapping from files to component paths
      Instead of creating our own resolver, use the new resolve_backwards()
      wantarray() is documented to return true, false, and undef, not necessarily 1, 0, and undef (though in implementation it does).
      Don't multiply-define prerequisite information
      Fix what looks like a typo in exception handling
      Avoid unnecessary string copying in a couple of places: the text()
      Several changes to avoid needless copying of component text.  Mostly
      Avoid a couple of unnecessary data copies in compiled_component().
      To reduce string copying and memory usage, _constructor() doesn't
      "use_strict" now affects the object files, not the way those object
      Add a comment about why we're doing a list subscript here
      If a suitable httpd.conf file can't be found, don't die().  Just
      Put the MASON COMPILER ID at the beginning of the object file, so we
      Test out the Compiler->assert_creatorship() method.
      write_object_file() now takes a string reference for 'object_code'.
      This is just a little script that makes it easier to test a single
      load() doesn't need to read the content of an object file into memory
      Fix a doc typo
      Fix a doc typo.
      Make sure comments parse correctly in substitution tags
      tests $m->caller() in subcomponent (I thought I'd found a bug, but I hadn't).
      Test calling $m->call_next from within a subcomponent.  This used to
      Demonstrate several scoping bugs related to <%shared> and <%init>
      The $m->caller() method had somehow escaped documentation.
      $m->caller() documented.
      Fixed a small documentation error about what kinds of things are valid
      Don't load HTML::Mason::* modules here, because in Makefile.PL we
      Can't use error() routines here, just use die()
      Clear up some grey areas in the <%shared> docs.
      Fix a doc typo
      Add tests for one-level-deep ServerRoot
      Make it expect to succeed with single_level_serverroot
      Only die if data_dir isn't explicitly set and the default would be
      Use a better regex for finding flag names
      Placeholder for something that would be nice to have
      Add a large component, and memory usage numbers
      Add a TODO suggestion for faster output
      Two changes for better memory usage in buffers.
      Add a 'clear_cache' CLI argument
      Add an explanatory comment about backward compat
      Add a compile_to_file() method, which is the write_object_file() that
      Use the Compiler->compile_to_file() method instead of
      Use Test.pm for better verbosity upon failure
      Add the rest of the options to the usage statement.
      Implement --cvs_tag option
      large.mas is too big to check in, and it's auto-generated
      Fix the test that makes sure we can write tainted component data to
      Fix the default comp_class.  This must have meant that nothing was
      If $err is true, we can call its ->can() method from UNIVERSAL, we
      Don't use HTML::Mason::Tests, that confuses the references and clouds
      Don't clean up when debugging
      Explain why tests are being skipped
      Add rethrow_exception(), which rethrows correctly when its argument is
      lex() can now accept either a SCALAR or a SCALARREF.
      Added the utility function read_file_ref(), which takes care to never
      The source_callback routine can now return either a reference to the
      Show the CVS output
      Use read_file_ref() instead of read_file() as the source_callback
      Use a compile-time constant for the infinite loop alarm() hack
      Make sure we're loading the right version of Mason from CVS
      compile() now passes through all arguments it receives to its
      compile() can now accept either a SCALAR or SCALARREF for comp_source.
      Don't use object files in compiler subclass test
      Use Test.pm for reporting results
      Remove a couple things unnecessary under Test.pm
      Use Test.pm
      ok() isn't used anymore
      Allow 'expect' parameter to be a qr{} regex
      A couple of tests for setting error_format
      Simplify the handling of PERL_BUG_INFINITE_LOOP so that _do_or_eval()
      Check line numbers of error messages after escaped newlines
      Use 'tr/\n//' instead of 'tr/\n/\n/' to count lines, because it
      Fix typo in comment.
      Check whether the request_method is HEAD only once, not every time we print.
      This change was suggested by several people
      HTML-escape the raw error message
      Added the 'check_error_format_brief' test to make sure the 'brief'
      Don't set a default request_class or resolver_class if the user
      The 'my $foo = bar() if baz()' construction is never a good idea.
      Don't create $SIG{__DIE__} anonymous wrappers around
      perl 5.6.0 doesn't like "foo \n => $bar"
      Add an $m->notes() method
      Explain notes() method
      add docs for comp_root_array
      The data members of $self and $self->{current_comp} were being badly
      Tests for the compiler, but doesn't use HTML::Mason::Test
      *** empty log message ***
      Change 'current_comp' member to 'current_compile'
      *** empty log message ***
      Only certain kinds of syntax errors
      Get rid of BUS error under 5.6, 5.005 in define_args_hash_never test
      Fix a problem in specifying resolver/interp subclasses
      Move responsibility for checking comp_root parameter to the class that requires it
      Easier and more portable way to test for taintedness (invented by Chris Nandor?)
      Don't mask the taint problem, it needs to be tested properly
      Apache won't start with a tainted ENV{PATH}, so set it
      Cooperate with M::B and use strict
      Sanitize more of %ENV
      make_subrequest() and subexec() can now take relative component paths
      Subrequests can be created with component objects
      Ignore some Module::Build generated stuff
      Added a test to make sure $@ retains its value in subcomp calls
      Remove unused variable
      Tiny simplification of wantarray conditional code
      Request->new() can now throw exceptions if the request is unexecutable
      New notes() feature needs Module::Build 0.19_05
      Use latest API of Module::Build notes() feature
      Simplify code for isa_mason_exception()
      More complete $r support from David Wheeler
      Deal with exceptions properly when request is created
      *** empty log message ***
      Remove superfluous eval{}s
      Tests out the HTML::Mason::FakeApache class
      Make sure setting dhandler_name to '' works
      Create a use_dhandlers() read-only method to short-circuit dhandler-finding process when no dhandlers are being used
      Make sure '0' can be used as a dhandler name, in case people are crazy
      More fleshing out of FakeApache from David Wheeler
      Don't make unsupported methods no-ops, just omit them
      Move the FakeApache stuff out of CGI.pm to its own module file
      Get a little more performance and/or correctness from send_fd()
      The use_autohandlers() method probably belongs in Interp, not Component
      Add docs for make_request()
      Add simple docs for purge_code_cache() method
      Set the cperl-style automatically, hope this doesn't get too annoying
      Requests may not correspond to a file
      Just set some style variables, don't force cperl-mode or an elisp-eval
      Simplify call to rscan_dir().

modus (33):
      Added session support (commented out) in handler.pl
      Initialize system_log_events with '' instead of {} to prevent
      Added the faq to the distribution and added a faq/Makefile.PL to create
      *** empty log message ***
      Inserted a dummy test section in the faq Makefile and stopped the faq
      Added Config.pm to the list of files that get nuked when we do a make clean.
      Made HTML::Mason 8-bit safe by removing the control character parsing
      Removed File::Recurse from ApacheHandler.pm -- may require branching the
      Changed the bundle to install Data::Dumper before MLDBM, since ::Dumper
      Parser.pm updates in anticipation of the <%perl_off> section.
      <%perl_off> section added.
      Updated makeconfig.pl to prefer GDBM_File, to avoid a bug in Berkeley DB 1.x
      Added matching @perltexts push in the perl_off section, per jon's request.
      Corrected a nit in the faq's desciption of anonymous subroutines.
      Added test suite
      *** empty log message ***
      final test suite commit
      Tweaked the Makefile.PL so that a make clean doesn't screw up CVS and
      Removed some older files
      Added some more tests.
      reindented some of Gerald's code.
      Even more tests!  Gosh is this fun.
      New testing infrastructure that doesn't rely on the Test module.
      Corrected a small problem in the Devel.pod.
      Bulk of the FAQ updates
      Added some description to handler.pl and added session_handler.pl
      A few more addition and a pre-0.8 spellcheck.
      permissions update
      perm tweaks
      perm tweaks
      perm tweaks
      updated the redirect question in the FAQ to reflect Beckman's redirect
      Documentation buglet.  The CGI or Apache::Request objects _are_ available

sharkey (2):
      Using $m->call_next from a helper component should reset base_comp to the request_comp.
      Fixed a bug where $m->clear_buffer inside a component called from a comp_with_content did not clear all buffers.

sharkey3 (52):
      Set base_comp whenever any component is called,
      'use base' does not automatically 'require' in perl 5.00503
      Main documentation for Components that filter content.
      document $m->content
      call_self is gone; nothing worth saving in that section.
      Remove development notes which I never meant to include anyway.
      Make flush followed by clear work inside scomp.
      fixes test 23 in 07-interp (system_log) when Time::HiRes is not installed.
      fix pod2man warning
      This is the essentially the patch formerly posted at <http://marc.theaimsgroup.com/?l=mason&m=103046929709575&w=2>
      document the bugfix
      Add $m->has_content to check for content without side effects.
      bug test and bug fix.
      Apache2 updates.
      Apache2 updates.
      Apache2 updates.
      Apache2 tweaks (mainly $r->headers_out instead of $r->header_out).
      documentation note
      Fix filter flushing anomaly: if the filter does not output anything,
      doc fix: <%filter> does not block flushing.
      Use CGI.pm for tests when Apache::Request is not installed.
      Additional Apache modules needed on some systems.
      Workarounds for changing Apache APIs
      mispelling
      big friendly error when data_dir cannot be created
      set data_dir permissions when run as root so live tests will work
      Don't change the version in ApacheHandler.
      Allow optional comp name in comp-with-content ending tag </& foo >
      Eliminate annoying "uninitialized value in concatenation" warnings.
      TODO test:
      Could it be?  Yes, it's another mod_perl2 API change.
      fix tests:
      De-obfuscate ApacheHandler creation, because it's no fun to debug.
      Merge HTML::Mason::Resolver::File::ApacheHandler into HTML::Mason::Resolver::File.
      Moved Apache configuration into t/conf and the logs into t/logs.
      Merge wheeler change from 1.2 branch.
      merge from 1.2: tone down "experimental" warning.
      mod_perl2 renaming: need to check for mod_perl and mod_perl2 modules
      mod_perl2 renaming changes
      mod_perl2 renaming: need to check both mod_perl2::VERSION and mod_perl::VERSION
      mod_perl2 renaming: check both $mod_perl2::VERSION and $mod_perl::VERSION
      check $mod_perl2::VERSION
      tested with libapreq2-2.05-dev
      Wow, I remembered to do a changelog this time.
      Be more specific about which 1.99 versions are ok
      backout a change which is causing regressions
      typo
      Convert 200 status to OK to make mod_perl-2 happy.
      make $ENV{MOD_PERL} check work when mod_perl-1 is not installed
      Make Mason work with Apache2::Status from mod_perl-2
      late with my changelog, as usual  :(
      make MasonArgsMethod default to 'CGI' under mod_perl-2

swartz (365):
      Initial revision
      imported various updates from CMP:
      Updated copyright
      Revamped arguments and parameter passing
      Fixed "return if content_type..." line
      encoded tags to fix for Internet Explorer
      organized into sections
      mention Win32 case mismatch problem
      make filename processing compatible with Windows
      fix infinite loop problem in dhandler code for certain BSD versions
      handle backslashes correctly
      replaced File::Recurse with File::Find
      implemented and documented 'expire' and 'keys' cache actions
      no longer requires File::Tools
      fixed up parameter passing, in-line sections
      Removed HTML files which are simply generated from POD files
      Removing irrelevant pod files
      added DefaultType directive to standard setup
      brought FakeApache and debug file creation up to date with mod_perl 1.16
      minor fix
      minor changes
      fix syntax errors
      don't use ApacheHandler unless we are in mod_perl or debug file environment
      fixed up system log internals
      Preview.pm no longer included automatically in mason.pm
      ApacheHandler prints to standard output instead of using \$r->print
      Added many more warnings about inferior DBM formats (e.g. SDBM); implemented new Mason configuration file (Config.pm)
      Implemented workaround for Perl 5.005 \$r scoping bug
      Integrated Philip Gwyn's patch for new Parser parameters in_package, preprocess, and postprocess.
      updated documentation about reload files; added documentation about Parser parse method
      removed memory leak associated with 'return sub {...}'
      Added changes for 0.5
      Took out File::Tools
      added
      added content management blurb to README
      added session example
      nada
      added paragraph about Apache::Session to Admin
      ok
      more
      updated version to 0.5
      removed, generated dynamically
      fix
      fixed warning
      eliminated warnings
      turn off pure text and source reference optimizations when preprocess or postprocess defined
      incorporated Philip Gwyn patch for status improvements
      added
      match to handler.pl
      little stuff
      minor doc fixups
      Took out previewer stub from Mason.pm; fixed pod errors in Commands.pod
      updated changes, credits files for 0.5.1
      cleaned up interp hooks facility
      use mod_perl in FakeApache
      Fixed FakeApache to handle Apache::Table parameters (headers, etc.) if Apache::Table is available; added pkg_installed function to Tools
      Added HEAD optimization
      Static file root, if not specified, now defaults to current component directory
      implemented shorter section names (<%init>, etc.)
      added Config.pm to ignore list
      Documented changes to parser (short section names, <%once>, <%text>, <& &>)
      added
      fixed bug in <& &> parsing
      more docs; upgraded cd-me to new syntax
      added
      added warning for calling commands outside of Interp::exec
      reorganized docs
      added filtering and related docs
      fixed <& &> detection of literal component paths
      took out head_optimization flag
      correction
      Changes file can now include L<> tags to be processed on masonhq; is preprocessed to add indentation
      Implemented autohandlers; cleaned up exec_next a bit, removed allow_handlers code
      documented autohandlers
      fixed expire bug
      implemented repeat detector in previewer
      various
      more interface improvements
      implemented recursive autohandlers
      added note re DB 1.x
      documented, updated Parser::make
      repairs to convert prog
      Changes changes
      added
      previewer interface improvements
      minor
      make comp_root,data_dir absolute
      testing now uses abs paths for comp_root,data_dir
      fix
      fix
      fix
      fixed
      removed
      added
      test, docs fixups
      little changes
      Added warning about occasional erroneous <& &> replacements; fixed <% "foo/$bar/baz" %> path conversion
      fixed mc_suppress_http_header with 0 arg
      up to date with 0.6.1
      New object-oriented component/request implementation, many changes
      version no. update
      little fixes
      little fixes
      little fixes
      fixed Parser::make_dir
      fixed uppercase <%PERL>
      Many more changes filling in new object structure
      more updates to object structure; parser method reorganization
      took out debug output, oops
      more fixes to objects
      Added def test; made cache tests work; added separate test components list
      added separate test components list
      more object fixes
      added dhandler, autohandler tests
      Added Request.pod and Component.pod; moved developer's manual to Devel.pod; many other doc changes
      allow comments in %args
      documented arg comments
      updtaed Changes file
      added more tests, made necessary fixes to libs
      fix
      removed cache store warning
      automatically upgrade pre-0.7 object files
      fixed suppress header
      Fixed some argument parsing bugs
      little speedups
      warn about mod_mime_magic
      added commands tests
      added shared locks to cache
      changed Changes
      changed Changes
      fix
      fixes
      changed evals to use braces
      version
      Updated API in a variety of ways
      changed chanegs
      removed docs to args and autohandler_next, whose current API might interfere with non-hash argument passing later on
      fixed top_level_predicate reversal
      fixed unsuppress_hook
      fixed longstanding %-line parsing bug
      added names to credits, updated changes for 0.7.1, changed version number
      fixed changes
      fixed Changes
      added mini-todo; tiny ApacheHandler fix
      fixed stupid restriction bug in action=keys
      fixed cache keys action again
      remove unnecessary terminating slashes from root & data directories; check that these dirs are absolute; added ~/ to absolute prefixes
      took out pure-text zero-size component reference
      fixed not-found-POST-infinite-loop bug; fixed various methods in FakeApache
      replace */* with default-handler in docs
      no pure text for subcomps
      version
      source ref text no longer read in binary mode, to make work on win platform
      whoops
      quoted all hash strings in object files
      whoops
      check current_time args
      mc_auto_continue --> mc_auto_next
      Devel.pod fixes
      changes/credits
      updated copyrights
      put in Brian's reload file fixes
      allow single / directory for interp directories
      made status return explicit at end of handler
      added untie %session
      fixed unsuppress_hook bug; put eval back for each comp call to fix die/eval component bug
      updated version, readme, changes
      little syntax fix
      little syntax fix
      mc_cache_self now caches return values
      fixed buglet in mc_cache_self
      added test.pl
      started implementation of multi-request stack
      more multiple-request stack changes
      added subrequest tests; updated error-generating tests to handle error specifically
      errors now checked by components themselves; real errors cause test failure
      lots of changes updating to m request protocol
      added resolver.pm
      documented data_cache_dir
      finished initial implementation of integrated request API that passes current test suite
      Reorganized tests into multiple scripts and directories
      added parser tests
      removed tests from main dir
      buglet
      more new tests
      more tests
      caller_args, decline
      finished decline method w/tests
      decline method working with ApacheHandler
      not much
      changes for 0.8
      new http header behavior and tests
      change multidirectory filenames from :: to +2f to accomodate windows
      change Components.pod references to Devel.pod
      finished converting Admin
      documented more new 0.8 features such as mult comp roots
      variety of changes
      added scomp, docs and test
      changed autohandler request methods; added data_dumper_xs config item
      doc updates
      various changes
      started changes to Changes
      updated Changes, CREDITS
      lots of doc updates; capitalize source root in obj and cache file path
      fixed ah test
      implemented intelligent code cache; removed source refs and pure text optimization
      updated changes, Admin session section, code cache tests, Previewer.pm
      make tests mod_perl independent
      fixed mod_perl test
      test fixes for win32
      little changes
      faq changes and other little stuff
      separated cache tset
      little doc changes
      faq changes
      little changes
      fixed warnings in 08-ah
      little
      wittle change
      fixed headers not being sent on blank content
      fixed default system log problem
      another 20 years for cookie_manip
      0.81 switch
      imported avantgo updates: added inheritance and cascading autohandlers, added minimal flags section, fixed source_file bug, added comp:subcomp syntax
      use -d r->finfo in ApacheHandler.pm; added new multi-site scheme to Admin.pod
      another header fix - don't send headers on error codes
      add swish =item hooks to Request.pod
      various fixes from avantgo
      minor fix
      check type of reference, might be a file reference
      implemented new inheritance scheme except for Parser changes: methods, attributes, m->called_comp, comp->parent, cascading autohandlers
      added comp:method syntax for m->comp; added SELF and PARENT special paths; fixed called_comp on top level request; dhandler_arg fix for requesting dhandler directory itself
      Autarch's reorganized Parser, including method, flags and attr tags
      added sections for declining requests for binary files and allowing requests for directories
      updated max_recurse default to 32
      fixes
      added note about handling directory requests
      added inheritance tests; updated max_recurse test for new 32 recurse limit; fixed system_log test to allow for ms times
      udpated version
      removed useless o flag
      check if err is non-null rather than defined
      added keys test
      allow keys, expire action from m->cache interface
      shuffled image/directory requests section; added decline_dirs
      made amper_test test independent of hash key ordering
      removed dependency on CGI::use_named_parameter
      new oo tests
      new oo features documentation
      minor fixes, reorg by Autarch
      added escape flags (both default and explicit) with tests
      added securing top level components section
      continued improvements to oo section
      restrict invalid flags and embedded def/method sections
      moved _escape definition to header; removed useless @g assignment
      little bug
      eliminated 'status subroutine redefined' warning
      changed parent_comp to owner; documented parent
      added call_dynamic method (for shared section)
      implemented shared section and (associated) dynamic subroutine invocation
      integrated Autarch's Apache::Request params handling option, got it working with debug files
      make flags and attr section a bit more robust; fix flag validity check
      work with new debug file args_hash
      had to simplify test for now
      fix parent_comp references
      documented apache::request args handling
      added dynamic attr behavior; little error msg fixes
      documented shared section, how-to-use-this-manual section
      made m->file work when multiple component roots
      improved inheritance tests; added test for shared section
      changed called_comp to base_comp; took out remnants of dynamic attributes and auto-call_next
      added
      mentioned clear_buffer
      mentioned CGI/req objects not available
      reorg, fixes
      allow_recursive_autohandlers => 1 by default
      documented clear_buffer and base_comp; fixed docs for call_next and fetch_next
      added -f flag to rm
      reverse allow_recursive_autohandlers polarity
      integrated and documented 0.81 dhandler removal from ApacheHandler
      changed to version 0.85
      Reverse Dave's decision and allow multiple sections. e.g. Multiple inits can be useful for readability, in preview component we put one init on top for user settings and another on bottom for hidden complex stuff
      added for 0.82
      assign defaults to use params in case ApacheHandler is only require'd (as in Mason.pm!)
      little fixes
      fixed link
      integrated full set of 0.81 changes from that release tag
      minor
      cosmetic
      added test for multiple instances of syntactic sections (e.g. init)
      ApacheHandler always gets used, even when brought in by Mason.pm; signal error if import not called
      what is test.pl doing here??
      took out errant eval-if-code code
      upped version
      added mixed case and multiple sections to perl test
      trick Apache into not reading POST content in case of 404
      eliminate unnecessary lc and index; fix infinite loop bug with multiple perl sections
      use File::Path
      added scall_method and test
      Documented attr, methods, and flags in Component.pod
      Eliminate reliance on hash ordering in tests
      formatting etc fixes to docs
      Assign Apache::Request object to \$r when ARGS_METHOD = _mod_perl_args
      create separate data dirs for each test branch, and clear data dir at start of test
      Remove http_input from docs; deprecated
      removed deprecated http_input; fixed args processing loop to allow multiple non-array (e.g. file upload) refs
      Give better error msg for <%def> or <%method> without name arg
      combined non embedded tags in one place, improved error msg for using non embedded tag in def or method
      documented \$r upgrade to Apache::Request
      ignore subdirs
      new changes
      fixed boneheaded parenthesis error
      upped version
      updated
      changed version number to 0.87
      allow arbitrary whitespace after expr escape flags
      upped version number
      fix call_method and scall_method to take list of args instead of hash
      test arg passing for methods
      test newline after escape flags
      edited cgi_object documentation wording a bit
      added items
      added taint checking warning
      reduced indentation level on MethodMaker invocations
      Only create object_create_marker_file once, and push onto files written so permissions are set correctly. Bug #593.
      test
      test again, please ignore
      testing checkin
      roll back test change
      Ken no longer active on Mason
      add closing </li> tags
      support using CHI for $m->cache
      up version to 1.39
      default CHI to File or Memory same as Cache::Cache
      pod tweaks
      add test for data_cache_defaults
      doc fixes
      add require_bad_module_in_once test
      add both use and require tests
      fix for RT #39803
      fix to work with latest version of CHI - expire_if and ref of cache changed
      fix to work with latest version of CHI - expire_if and ref of cache changed
      fix spelling mistakes - RT 45543 and 45573
      make HTML::Entities a real requirement
      depend on Log::Any 0.07
      add Test:Deep
      require Log::Any 0.08 for testing
      1.44
      added
      add logging
      add logger
      accidental commit - rollback
      add logging of major events
      add Cache::Cache back
      encourage CHI a little more
      up version
      make links like other existing ones so linklint doesn't complain
      add .svnignore
      add .svnignore
      skip notes
      1.44
      remove time - long deprecated
      mention Mason 2
      up version to 1.46
      tweak
      tweak

Ævar Arnfjörð Bjarmason (3):
      Don't turn on global warnings via shebang parsing in tests
      Implement a use_warnings flag for the Mason compiler
      HTML::Mason::Params: Correct lies about complier_class default

-----------------------------------------------------------------------

No new revisions were added by this update.

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libhtml-mason-perl.git



More information about the Pkg-perl-cvs-commits mailing list