This file lists the major changes made to Apache::ConfigParser.  If
you want detailed diffs and commit log messages, then you can view the
ViewCVS interface to the Subversion repository hosting this module at

http://www.orcaware.com/svn/viewcvs.py/orcaware/perl_apache_configparser/trunk/

Or check out a copy of the trunk in the Subversion repository at

http://www.orcaware.com/svn/repos/perl_apache_configparser/trunk/

Blair Zajac

Tue Nov 22 20:22:35 PST 2005 <blair@orcaware.com> Blair Zajac

	* Release 1.01.

	* Fix the AccessConfig, Include and ResourceConfig directives
	  which were saving the directives in the specified files as
	  daughters of the root of the tree, not of the context that
	  the AccessConfig, Include or ResourceConfig directive
	  appeared in.  Bug found by Jason Burnett
	  <jmburnett@gmail.com>.

	* Subversion repository for this package moved to
	  http://www.orcaware.com/svn/repos/perl_apache_configparser/trunk/

Sat Mar 26 21:02:12 PST 2005 <blair@orcaware.com> Blair Zajac

	* Release 1.00.

	* Greatly improve propagation of errors up to the caller and
	  add a new method $parser->errstr() that allows the caller to
	  get a human readable message why a method call failed.  The
	  errstr() string is not cleared after a successful method
	  call, so do not use it as a test for failure.  Use of $! to
	  get error messages is no longer supported, although may
	  still work.

	* Apache::ConfigParser->new no longer takes a filename as one
	  of its arguments, instead, after the Apache::ConfigParser
	  object is created, the parse_file method must be used.  This
	  separates a failure in object creation from an error in
	  parsing the Apache configuration file.  Also, after the
	  object is created, the errstr() method supports per parser
	  error messages, instead of $! being shared for the entire
	  Perl process.

	* Add the ability to find and include configuration files that
	  are identified by globs in the AccessConfig, Include and
	  ResourceConfig directives, i.e. Include /etc/apache2/*.conf.

	* Apache::ConfigParser now requires that the File::FnMatch
	  module be installed to support the file globbing.

	* Be more permissive in the whitespace appearing in starting
	  and stopping a context, i.e. <Context></Context>.  Bug
	  report and initial patch by Ron Savage <ron@savage.net.au>.

	* No longer ignore any open(), close(), opendir() and
	  closedir() errors.

	* Bump the minimum supported version of Perl from 5.004_04 to
	  5.004_05.

	* New location of the Subversion repository hosting this
	  module.  The active development trunk is located at

	    http://www.orcaware.com/svn/repos/trunk/perl_apache_configparser/

	  and the tagged released are located at

	    http://www.orcaware.com/svn/repos/tags/perl_apache_configparser/

Mon Dec  9 18:07:14 PST 2002 <blair@orcaware.com> Blair Zajac

	* Release 0.06.

Mon Dec  9 17:39:15 PST 2002 <blair@orcaware.com> Blair Zajac

	* Changes: Rename CHANGES from Changes.

	* Makefile.PL, add a prerequisite for Tree::DAG_Node
	  1.04. This should make the module load easier from CPAN when
	  Tree::DAG_Node is not previously installed into Perl.

	* MANIFEST: Renamed Changes from CHANGES.

	* README: Note that this package is hosted in a Subversion
	  repository and give its URL.

	* lib/Apache/ConfigParser/Directive.pm: Export DEV_NULL,
	  DEV_NULL and is_dev_null via @EXPORT_OK.  Add
	  %directive_value_path_element_pos and export it via
	  @EXPORT_OK.  Rename %directive_value_takes_path to
	  %directive_value_takes_abs_path.  Improve the POD for
	  *value_is_{abs_,rel_,}path.  The set_value_array and
	  set_orig_value_array methods now return the value of the
	  array before the method was called.

	* lib/Apache/ConfigParser.pm: For those directives that take
	  path arguments, instead of always checking value array index
	  0 to see if it should have ServerRoot prepended to it, which
	  is incorrect for LoadModule among other directives, check
	  all value array positions that may take a path.

Mon Sep 17 21:58:48 PDT 2001 <blair@orcaware.com> Blair Zajac

	* Release version 0.05.

Mon Sep 17 21:47:46 PDT 2001 <blair@orcaware.com> Blair Zajac

	* lib/Apache/ConfigParser.pm: Shorten the find_* method
	  names.  Rename find_at_and_down_directive_names to
	  find_down_directive_names and find_in_* to find_*.

	* lib/Apache/ConfigParser.pod: Ditto.

	* t/02parser.t: Ditto.

Mon Sep 17 12:25:41 PDT 2001 <blair@orcaware.com> Blair Zajac

	* lib/Apache/ConfigParser.pm: Rename all of the find_* methods
	  to use the word directive instead of option.  Change all of
	  the comments and POD documentation to use the word directive
	  instead of option.

	* lib/Apache/ConfigParser.pod: Ditto.

	* t/02parser.t: Ditto.

Mon Sep 17 02:01:35 PDT 2001 <blair@orcaware.com> Blair Zajac

	* Release version 0.04.

Mon Sep 17 01:17:00 PDT 2001 <blair@orcaware.com> Blair Zajac

	* lib/Apache/ConfigParser.pm: Move the setting of
	  Apache::ConfigParser's ServerRoot hash value after the value
	  array is set.  This removes any unnecessary quotes around
	  the value.

	* lib/Apache/ConfigParser.pod: Ditto.

	* t/httpd02.answer: Update the answer file to reflect this
	  change with ServerRoot.

	* t/httpd04.answer: Ditto.

	* lib/Apache/ConfigParser.pm: Move all of the code that
	  checked if a particular directive's value is a path, a pipe
	  or a syslog into lib/Apache/ConfigParser/Directive.pm since
	  logically this code belongs with the directive and not with
	  the user of the directive.  This meant moving the
	  %directive_has_non_abs_path hash to the Directive module.
	  Also rename the hash to %directive_value_takes_path to make
	  the name more accurate.  Remove the declaration of
	  @EXPORT_OK since the module does not export anything now.

	* lib/Apache/ConfigParser.pod: Ditto.

	* lib/Apache/ConfigParser.pm: Allow pre_transform_path_sub and
	  post_transform_path_sub to operate on any file or directory
	  path that is a hash key of %directive_value_takes_path but
	  only prepend ServerRoot to directives that are a hash key of
	  %directive_value_takes_rel_path that have relative files
	  that are also not equal to File::Spec->devnull.  The new
	  directives that can be transformed that previous would not
	  be are: AgentLog, AuthDBGroupFile, AuthDBMGroupFile,
	  AuthDBMUserFile, AuthDBUserFile, AuthDigestFile, CacheRoot,
	  CoreDumpDirectory, Directory, DocumentRoot, MMapFile,
	  RewriteLock and ServerRoot.

	* lib/Apache/ConfigParser.pod: Ditto.

	* lib/Apache/ConfigParser/Directive.pm: Add several new
	  methods to Apache::ConfigParser::Directive to determine the
	  file and directory properties of directives.  The new
	  methods are:
	    value_is_path and orig_value_is_path
	      return true if the directive can take a file or
	      directory path as its value array element 0 and that
	      element is a file or directory path.
	    value_is_abs_path and orig_value_is_abs_path
	      Returns true if the directive can take either an
	      absolute or relative file or directory path as its value
	      array element 0 and that element is an absolute file or
	      directory path.
	    value_is_rel_path and orig_value_is_rel_path
	      Returns true if C<$d>'s directive can take either an
	      absolute or relative file or directory path as its value
	      array element 0 and that element is a relative file or
	      directory path.

	* lib/Apache/ConfigParser/Directive.pod: Ditto.

	* lib/Apache/ConfigParser/Directive.pm: Export via @EXPORT_OK
	  the two hashes %directive_value_takes_path and
	  %directive_value_takes_rel_path which are used by the new
	  methods above and made available to other users of the
	  module.

	* t/01directive.t: Add tests to extensively test all of the
	  new methods in Apache::ConfigParser::Directive.

Sat Sep 15 23:00:54 PDT 2001 <blair@orcaware.com> Blair Zajac

	* Release version 0.03.

Sat Sep 15 22:59:50 PDT 2001 <blair@orcaware.com> Blair Zajac

	* lib/Apache/ConfigParser.pm: Upgrade to version 0.03.
	  README: Ditto.

Sat Sep 15 22:50:27 PDT 2001 <blair@orcaware.com> Blair Zajac

	* lib/Apache/ConfigParser.pm: In
	  &directive_value_is_not_dev_null_and_pipe_and_syslog allow
	  0-9 to appear in the facility name and allow :facility to be
	  optional.

	* lib/Apache/ConfigParser.pm: Ditto.

Fri Sep 14 21:44:24 PDT 2001 <blair@orcaware.com> Blair Zajac

	* Release version 0.02.

Fri Sep 14 21:27:48 PDT 2001 <blair@orcaware.com> Blair Zajac

	* lib/Apache/ConfigParser.pm: Rename &relative_path_check to
	  &directive_value_is_not_dev_null,
	  &relative_path_check_for_pipe to
	  &directive_value_is_not_dev_null_and_pipe and
	  &relative_path_check_for_pipe_and_syslog to
	  &directive_value_is_not_dev_null_and_pipe_and_syslog.

	* lib/Apache/ConfigParser.pod: Ditto.

Fri Sep 14 21:08:14 PDT 2001 <blair@orcaware.com> Blair Zajac

	* lib/Apache/ConfigParser.pm: Instead of checking if a file or
	  directory is absolute to prepend the ServerRoot on just Unix
	  and Windows systems, use File::Spec->file_name_is_absolute
	  which handles many more operating systems.  For the
	  AccessConfig, Include and ResourceConfig directives, do not
	  include the file or directory if the filename is equal to
	  File::Spec->devnull.

	* lib/Apache/ConfigParser.pm: Ditto.

Fri Sep 14 20:51:14 PDT 2001 <blair@orcaware.com> Blair Zajac

	* lib/Apache/ConfigParser.pm: Rename %directive_takes_rel_path
	  to %directive_takes_rel_path to have a more accurate name.

	* lib/Apache/ConfigParser.pod: Ditto.

Fri Sep 14 20:41:50 PDT 2001 <blair@orcaware.com> Blair Zajac

	* lib/Apache/ConfigParser.pm: Require File::Spec 0.82 which is
	  now used to do file and directory path tests.

	* lib/Apache/ConfigParser.pod: Ditto.

	* Makefile.PL: Ditto.

Fri Sep 14 19:39:26 PDT 2001 <blair@orcaware.com> Blair Zajac

	* lib/Apache/ConfigParser.pm: Allow either a single subroutine
	  reference or an array reference that contains as its
	  first element a subroutine reference followed by zero or
	  more arbitrary elements to be passed as the arguments to
	  new's pre_transform_path_sub and post_transform_path_sub
	  options.

	* lib/Apache/ConfigParser.pod: Ditto.

	* t/02parser.t: Add tests to make sure that passing arguments to 
	  pre_transform_path_sub and post_transform_path_sub work.

	* t/httpd05.answer: Ditto.

	* t/httpd07.answer: Ditto.

Thu Sep 13 14:12:43 PDT 2001 <blair@orcaware.com> Blair Zajac

	* lib/Apache/ConfigParser.pm: When checking for an absolute
	  path name on Windows, also check for upper case drive
	  letters.

	* lib/Apache/ConfigParser.pod: ditto.

Thu Sep 13 12:58:58 PDT 2001 <blair@orcaware.com> Blair Zajac

	* lib/Apache/ConfigParser.pm: Update version number to 0.02.

	* lib/Apache/ConfigParser.pod: Ditto.

	* README: Ditto.

Thu Sep 13 12:50:59 PDT 2001 <blair@orcaware.com> Blair Zajac

	* lib/Apache/ConfigParser.pm: Reformat a POD comment to make
	  sure it formats to an 80 character width screen.

	* lib/Apache/ConfigParser.pod: Ditto.

Thu Sep  6 19:14:34 PDT 2001 <blair@orcaware.com> Blair Zajac

	* Release version 0.01.
