The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
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/trunk/perl_apache_configparser/

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

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

Blair Zajac





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.