The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Revision history for Perl extension Argv.

0.01  Thu May 27 14:32:34 1999
	- original version; created by h2xs 1.18

0.25  Tue Nov  2 22:42:50 EST 1999
	- first CPAN release. NKNTW

0.26  Tue Nov  9 19:36:17 EST 1999
	- Fix Windows autoquoting for paths ending in \

0.27  Thu Nov 11 09:37:06 EST 1999
	- Fix Windows autoquoting again - turn embedded newlines back
	into a literal "\n" so the &*@# cmd shell can turn it BACK.

0.28  Thu Nov 11 22:09:44 EST 1999
	- Bugfix: if ->qx has options but no args
	- Removed unused ->script method.

0.29  Sun Nov 14 12:55:37 EST 1999
	- added Argv->count class method for metrics collection

0.30  Mon Nov 15 12:05:47 EST 1999
	- Bugfix: change shell quoting on Unix to be closer to Win32
	  (quote embedded double-quotes, then double-quote the
	  entire word, rather than try to use single quotes on Unix
	  and the above on Windows).

0.32  Tue Nov 16 16:01:56 EST 1999
	- Added an integration with IPC::ChildSafe. This
	  allows a user to request that commands be run
	  in the context of a single co-process rather
	  than doing a new fork/exec for each one.

0.33  Fri Nov 19 11:45:44 EST 1999
	- Fixed a bug in Argv->quote method.

0.34  Mon Nov 29 13:03:31 EST 1999
	- Lots of POD work.
	- Implemented inheritance of attributes when constructor used
	  as an instance method.
	- Renamed exported qxargv() to qv().
	- Modified many methods to return the object in 'set' mode.

0.35  Wed Dec  8 23:22:54 EST 1999
	- Some cosmetic work.
	- Improved integration with IPC::ChildSafe with quoting fixes.

0.39  Thu Dec 16 21:58:20 EST 1999
	- Renamed 'ipc' method to 'childsafe'.
	- Renamed 'dfltopts' method to 'dfltsets'.
	- Added 'stdopts' method.
	- Allow config data to be specified for methods calling
	  Getopt::Long::GetOptions().

0.40  Fri Dec 17 20:25:13 EST 1999
	- Added 'autofail' method.
	- Cleaned up PODs some.
	- Reformatted to 4-space indenting.

0.41 Wed Jan  5 12:31:18 EST 2000
	- Renamed 'nativepath' to 'pathnorm'.
	- Worked on 'stdopts' method.
	- Removed overcomplicated 'dbglevel' stuff.

0.42 Sun Jan  9 18:15:39 EST 2000
	- POD work
	- Fixed quoting bug.
	- Defer errors to caller in ipc_childsafe call.

0.45 Fri Jan 14 21:42:12 EST 2000
	- Added anon-hash metthod of setting attrs
	- Implemented non-sticky context-sensitive attrs.
	- Implemented ->stdout(2) and ->stderr(1), etc.
	- Renamed stdopts method to attropts.
	- push(@EXPORT_OK, MSWIN) constant.

0.46 Sun Jan 16 06:18:11 EST 2000
	- bugfix in functional interface

0.47 Tue Jan 18 21:09:41 EST 2000
	- Regularized handling of qx/qv/ccqv/etc

0.48 Sun Jan 30 22:40:17 EST 2000
	- Renamed 'systemxargs' to 'syxargs'.
	- Renamed 'pathnorm' to 'inpathnorm', and added
	  an 'outpathnorm' method as well.
	- Renamed 'cmd' method to 'argv' (to avoid
	  confusion with $self->ipc_cleartool->cmd()
	  method.
	- Added ->syfail and ->qxfail attributes.
	- Allow hashref attr specifiers to have a leading '-'.

0.49 Wed Feb  2 14:56:04 EST 2000
	- Bugfix - qx() was overwriting stderr output with stdout
	  when both were redirected, in ipc_childsafe mode.
	- Added an "exception-handling" capability. The autofail
	  attr can be a code-ref indicating a function to
	  call on failure, or an array-ref of which the first
	  element is a code-ref as above and the remainder
	  constitutes the arguments to pass to said sub.
	- Allow constructor to be called as ->clone to clone
	  an existing instance.
	- Reworked ipc_childsafe to only allow derived classes
	  access to the coprocess (since the base class cannot
	  directly support it).
	- Reworked attropts() to allow prefix_pattern to be specified.
	- Normalised -dbglevel output somewhat - made normal mode
	  show returned data at dbglevel >= 2 since ipc mode does so.

0.50 Wed Feb 16 11:52:40 EST 2000
	- Added experimental AUTOLOAD capability, analogous
	  to "perldoc Shell".

0.51 Mon Apr  3 17:26:46 EDT 2000
	- The 'quote' method now returns $self instead of @_.
	  This is to emphasize the fact that it modifies @_ in place.
	- Propagate class attributes into the env to set the defaults
	  for child processes.
	- Cleaned up issues related to Getopt::Long::Configure and
	  default settings.

0.54 Thu Aug 10 11:54:14 EDT 2000
	- Compatibility for old Data::Dumper builds without Dumpxs.

0.55 Thu Nov 30 15:14:29 EST 2000
	- Bugfix for case where ->exec returns on UNIX.
	- Bugfix: previous versions silently removed '--' from @ARGV.
	- POD work.

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

1.00 Wed Aug 29 00:10:24 EDT 2001
	= Test Env: Solaris 8/Win2K SP2/Perl 5.6/CC 4.2
	- Fixed a bug in the interaction with IPC::ChildSafe;
	  the status from system() wasn't being correctly returned
	  in coprocess mode.
	- Added a ->quiet() attribute which suppresses stdout from
	  system and exec (but not qx).
	- Minor cosmetic fix: in verbose mode, quote whitespace
	  so the resulting cmdline can be pasted back into a shell.
	- Insist on a modern (>=2.23) Getopt::Long for simplicity.
	- Bugfixes contributed by Silvio Wanka of alcatel.de.
	- Try to use Clone or Storable modules for cloning if present;
	  they're significantly faster. (Then removed Clone again
	  for now, it's not ready for prime time).
	- Minor new feature: the ->autofail exception-handling
	  mechanism now allows a scalar-ref; the scalar will be
	  incremented for each execution error.
	- Improved verbosity (dbglevel=1) to show when cmd lines
	  are split up for syxargs() reasons.
	- Bugfix in ->summary class method.
	- Recognizing that the API has reached maturity,
	  I've moved the version to indicate a released state.
	  I'll try hard to stay compatible with 1.00 in
	  subsequent releases.

1.01 Mon Sep  3 21:53:25 EDT 2001
	- More cleanups of ->summary class method; try to make
	  invocation and argument counts agree better.
	- Bugfix in ->argv method.

1.02 Tue Sep 25 10:17:42 EDT 2001
	- *COMPATIBILITY ALERT*: The ->inpathnorm attribute now
	  defaults to OFF on Windows (it's always been a no-op on
	  UNIX so the only effect is on Windows). In previous
	  versions the default was ON. Programs which depended on
	  this default must now set it explicitly.
	- Reworked ->outpathnorm to be overrideable. This does not
	  change any semantics in Argv per se.

1.03 Wed Oct  3 11:56:58 EDT 2001
	- Added ->envp method to specify a custom environment for
	  the child process.
	- Added ->dump method (debugging aid).
	- Defined a meaning for dbglevel=2; it now shows the $? from
	  each child process.
	- Defined a meaning for dbglevel=3; it now invokes ->dump before
	  each execution.

1.04 Thu Nov  1 10:52:36 EST 2001
	- Clean up and release 1.03 work (1.03 was never released).

1.05 Tue Nov 20 21:48:36 EST 2001
	- Minor cleanup work.
	- bugfix in ->warning method
	- bugfix in interface to IPC::ChildSafe

1.06 Fri Dec 21 07:54:24 EST 2001
	- bugfix to let subclasses interface with their own
	  in-process implementations.