The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
# $File: //depot/cpanplus/dist/ChangeLog $
# $Revision: #9 $ $Change: 7704 $ $DateTime: 2003/08/25 18:06:00 $

[Changes for 0.043 - August 31, 2003]

This long-awaited version is mainly a bug fix version, and is likely
to be the final one in the 0.04x series, since new developments are
all directed at the 0.050 branch.

* New Features

 - Supports "sudo" during install, so users will not need to run
   cpanp as root anymore.

 - Ships with a MIRRORED.BY just in case ftp.cpan.org is down.

 - Supports Archive::Tar 1.0 and later.

 - Supports testers.cpan.org's machine-readable metadata in YAML.

 - Supports detached signatures in the form of Foo-Bar-0.01.tar.gz.sig.

* Bug fixes

 - Ownership in files extracted by Archive::Tar could be
   inconsistent when running as root.

 - In messages, singular/plural handling via %quant() was broken.

 - Many bugfixes uncovered by hash randomisation; in particular,
   the build order for dependencies are now guaranteed to happen
   in alphabetical order.

 - Some versions of "curl" do not support --remote-time uption, 
   caused spurious error messages.

 - Multiple instances of CPANPLUS::Backend objects used to cause
   referential corruptions in storable images.

 - A number of ommisions and typos in CPANPLUS::TesterGuide
   was found and fixed.

 - t/1-basic.t used to fail when the user refuses to run the
   first-time setup.  It will not be run now.
   
[Changes for 0.042 - January 12, 2003]

This version fixed a significant number of bugs uncovered by 0.041,
as well as integrating the Test::Reporter support from the -devel
branch.

* New Features

 - cpantest is now obsoleted by Test::Reporter.

* Bug fixes

 - The 'c' command was broken.

 - Default Config's prereq now default to 'ask' instead of 'follow'.

 - Makefile.PL should be preferred  over Build.PL.  (Jedi Lin)

 - Module::Build prereq parsing was suboptimal.  (Dave Rolsky)

 - Duplicated sent report checking was broken.  (Alain Barbet)

 - cpansmoke was broken due to an obvious typo. (Jeroen Latour)

 - cpansmoke should only skips existing report when -s. (Jeroen Latour)

 - Up-to-date checking was just checking existence.  (Richard Soderberg)

 - $ENV{PERL5_CPANPLUS_CONFIG} didn't work with win32 path.  (Roland Bauer)

 - 'make install' was skipping reports even if requested. (Richard Soderberg)

 - 'o --short' is now made the default; to get the original (verbose)
   output, use 'o --long'.

[Changes for 0.041 - January 5, 2003]

This "Happy New Year!" edition brought in numerous bugfixes and the
French translation.

* New Features

 - Support for installing Module::Build-based distributions.

 - The default shell now has auto-completion for command flags.

 - Messages localized to French by Alain Barbet.

 - 'o --short' now shows a reduced listing of outdated local files,
   by listing only one module per distribution.

* Bug fixes (and their first reporters):

 - Mirror list won't be fetched during automatic upgrading. (Richard Soderberg)

 - 'cpansmoke' was sending out duplicated reports for prereqs. (Alain Barbet)

 - Personal config files was clobbered by the default one. (Richard Clamp)

 - Upgrading was broken due to incompatible Config.pm. (Jost Krieger)

 - All submodules now has proper version numbers. (Alain Barbet)

 - The 'undef' and '' versions in PREREQ_PM is now correctly interpreted.

 - The 'z' command can now handle distnames as arguments.

 - 's conf' in shell was broken.

[Changes for 0.040 - November 4, 2002]

After five months in the development branch, we finally have another
major release, featuring massively rewritten, refactored and tested code.

We are looking for translators for "lib/CPANPLUS/I18N/CPANPLUS.pot" --
please contact <cpanplus-devel@lists.sourceforge.net> if you are interested
in filling the "" slots with messages in your language.

* New Features

 - A 'Classic' shell that emulates the CPAN.pm shell.
 
 - Internationalization framework for localized messages.
  
 - Comprehensive unit-test suites for CPANPLUS.pm and Backend.pm.

 - Tab completion in the Default shell.

 - Shell commands now takes options (e.g. 'install --force Module::Name').

 - New 'b' (autobundle) and 'z' (open shell in module directory) commands.

 - Checking for newer modules with 'o' is now significantly faster.

 - New configuration option, 'skiptest', to skip the 'make test' phase.

 - New 'signature' option to check PGP signatures before installation.

 - All Backend's module methods now works with either names or objects.

 - Return values are now CPANPLUS::Backend::RV objects.

 - Support for Perl version-specific build/ and dist/ directories.

 - Multiple configuration file support in Setup.pm.

 - Fetching modules with 'curl' is now possible.

* Bug fixes (and their first reporters):

 - Auto installation was broken on Cygwin.
 
 - The 'x' command (reload_indices) was leaking memory. (Jochen Stenzel)

 - The 'o' command did not recognize 'old' @INC paths (Jost Krieger)

 - Infinite loops when installing core modules are fixed. (chemboy)

 - Fixed problems about subdirs in CPAN's author directories. (Jost Krieger)

 - Contact address was missing in CPANPLUS's POD. (Mark-Jason Dominus)

 - Use user-specified 'perl' executable instead of %ENV's. (Lupe Christoph)

 - Without IPC::Run, open3() on Linux was flushed badly. (Jorrit Waalboer)

 - Report.pm used to send duplicate UNKNOWN reports. (Alain Barbet)

[Changes for 0.036 - July 30, 2002]

This release fixed the showstopping bug in 0.034 that prevented first-time
users from installing dependencies.

* New Features

 - The space after the '!' command in default shell is now optional.

 - Some new FAQ entries applied from -devel.
 
* Bug fixes (and their first reporters):

 - Fixed Makefile.PL so AutoInstall is no longer broken. (Jonathan Leffler)

 - Spelling corrections. (Jonathan Leffler)

 - Prereq modules used to send duplicate reports by cpansmoke -s. (Randy Kobes)

 - PERL_EXTUTILS_AUTOINSTALL is now set by cpansmoke to avoid interactions.

 - LWP tests in t/3-backend.t now refuses to run without HTML::HeadParser.

 - Setting defaults based on existing configuration now actually work.

[Changes for 0.035 - June 4, 2002]

This version rolls in the bugfixes reported by Jost Krieger. Thanks!

* New Features

 - The 'o' command is now accepted by bin/cpanp.

* Bug fixes (and their first reporters):

 - Fixed infinite recursive fetching CHECKSUM on bad MD5s. (Jost Krieger)

 - Retracted the painfully slow algorithm used in 'o'. (Jost Krieger)

 - The 'could not remove directory' error during uninstall is made non-fatal.

[Changes for 0.034 - June 1, 2002]

This is primarily a bug-fix version to address various bugs found in testing-
related functions.

* New Features

 - New 'v' command in default shell to re-display the version banner.

 - The 'o' command now takes optional arguments to limit modules checked.

* Bug fixes (and their first reporters):

 - Default.pm may warn about 'next' statements inside eval. (Peter Barabas)

 - Win32 was having problem with double-quote commands in Make.pm. (Yves Orton)

 - Report.pm now closes the report filehandle before sending it. (Jost Krieger)

 - The "'" character in user-entered module names will now expand to "::".

 - New CPANPLUS::Internals::System module has fixed problems caused by $|=1.

 - Makefile.PL on VMS and MacPerl should now work better.

 - Setup.pm now defaults to use passive FTP.

 - Report.pm was sending bogus FAILs for OS-specific modules.

 - Report.pm now detects missing dependencies and sends recommendations.

[Changes for 0.033 - May 1, 2002]

Following the 'next-day followup' tradition, this is _yet another_ bugfix
release, due to a rather lousy bug: $CPANPLUS::VERSION was not incremented.

* Bug fixes (and their first reporters):

 - SMTP host in 'cpantest' script should be onion.perl.org. (Lee Goddard)

 - Timeout controls in 'cpansmoke' segfaults on some version of ActivePerl.

 - Interactive 'make test' processes are now handled correctly.

 - Bundle modules that stores in lib/Bundle/ is recognized.

 - Bundles are now always installed regardless of the 'force' setting.

 - Make.pm was runing 'make test' verbosely on all Unix platforms.

[Changes for 0.032 - April 30, 2002]

This release went out with the http://perl.com/ article, "Becoming a
CPAN Tester with CPANPLUS", which is also available in this version
as CPANPLUS::TesterGuide (without the Lord of the Ring quote, though).

* New Features

 - Setup.pm now uses previous version's settings as default.

 - Returned entries in reports() are changed from hashrefs to arrayrefs.

 - When sending 'unknown' reports, advise the author to include a test suite.

 - Selections in shell now accepts '*'; bounds of 'x..y' are checked.

 - CPANPLUS now correctly guesses full distnames from partial ones.

 - URL is displayed for test reports that contains detailed information.

 - The make() and install() methods now takes a 'prereq_target' argument.

 - Added support for external FTP executable.

 - 'cpansmoke -p' no longer installs prereqs, but sets PERL5LIB to their blib.

 - Bundle installation's procedure revamped; allows upgrade and distnames now.

* Bug fixes (and their first reporters):

 - Methods in CPANPLUS.pm should display error messages. (Mark-Jason Dominus)

 - AutoInstall was reporting success on failed installs. (Jochen Stenzel)

 - Outdated CHECKSUM files prevents installation. (Jochen Stenzel)

 - Fixed self-dependencies caused by missing UNINST=1. (Jochen Stenzel)

 - Fixed co-dependencies between core and site modules. (Robert S Creager)

 - Failed tests prevents installation even with 'force'. (Chia-Liang Kao)

 - The "use Socket" line in t/3-backend.t was crashing solaris. (Andy Lester)

 - Setup.pm should check for non-writable Config.pm first. (Tony Cook)

 - Fixed buffering problems with interactive Makefile.PL. (Jorrit Waalboer)

 - Old files in build/ is now removed before extracting a module.

 - Nmake.exe is now placed in Perl's directory, not the Windows directory.

 - External commands used to break on Cygwin and Windows 9x.

 - External calls on unzip, gunzip and lynx was all broken.

 - If the user saves an empty report, cpantest won't send it out now.

 - The -a flag of cpansmoke should only send out 'make test' failures.

 - AutoInstall.pm was confusing versions with Sort::Versions installed.

 - The order of 'makeflags' and 'makemakerflags' were wrong in Setup.pm.

 - User won't be prompted to enter Setup twice on first-time runs.

 - Host guessing was not working for people living in GMT +0.

[Changes for 0.031 - April 10, 2002]

Following the 'next-day followup' tradition established by version 0.02,
this is yet another bugfix release, due to numerous Windows-related
issues in bundled utilities, and a glitch in the AutoInstaller code.

* New Features

 - Storable images are now tagged with the Storable versions.

 - Old storable images are deleted during the configuration process.

* Bug fixes (and their first reporters):

 - Use AutoInstall 0.29 to resolve installation glitches. (Jochen Stenzel)

 - Fixed IPC::Run's buffering so interactive installs work. (Jorrit Waalboer)

 - 'cpansmoke' now falls back to fork() on platforms without alarm().

 - 'cpansmoke' won't re-fetch distfiles if its arguments are module names.

 - 'cpantest' was using the incorrect 'perl.org' as its SMTP server.

 - 'cpanp' was unable to handle '--flags' with Term::ReadLine::Perl on Win32.
  
 - The scary 'Unlinking C:\' messages during uninstall() are eliminated.

[Changes for 0.03 - April 9, 2002]

This release is dedicated to Elaine -HFB- Ashton, for her tireless
efforts on maintaining search.cpan.org, perl advocacy, and sponsoring
the cpantest/cpansmoke integration support present in this release.

See the "Notes on CPAN testing" section in README for instructions
on how to use the test-related integrations.

* New Shell Commands

 - 'c' checks testing results of modules from testers.cpan.org.

 - 'x' fetches and reloads indices.

 - 'o' searches for installed modules that have a newer version on CPAN.

 - 'u' uninstalls modules.

 - 'r' fetches and displays README files of modules.

 - 't' tests modules without installing them.

* New Features

 - The module/author tree is loaded on demand instead of at startup.

 - CHECKSUM files are fetched only when needed.

 - CHECKSUM file is now parsed instead of eval()'ed to improve security.

 - New 'cpantest' configuration variable. ('Report module build results?')

 - Bundles Kurt Starsinic's 'cpantest' script to report test results.

 - Added the 'cpansmoke' script to help batch-testing CPAN modules.

 - install() and make() now take a 'target' option to control the make target.

 - Failed host will not be retried within the same session.

 - Paged output for README and command listings exceeding screen rows.

 - Better formatting for version numbers (%3.4f instead of %7s).

 - _can_use() now takes a 'complain' option to control display warnings or not.

 - _make() uses IPC::Run and/or IPC::Open3 to capture external command buffers.

 - Dependency probing in Makefile.PL is now enabled by default.

 - Module operation commands in Shell now accepts number ranges (e.g. 1..10).

 - New installed(), reports() and validate() public methods in Backend.pm.

 - Module operation methods in Backend.pm now takes modobj, modname or distname.

 - New pathname() method of Backend returns the canonical distname of a module.

 - Most Backend methods that operates on modules are also Module object methods.

 - The Configuration setup process may be completed automatically now.

 - Properties of Module and Author objects are available as accessor methods.

 - Makefile.PL can automatically fetch and install nmake.exe on Windows.

* Bug fixes (and their first reporters):

 - Setup.pm used to break newer Term::ReadLine versions. (Matt Sergeant)

 - ^D in Default Shell should print "\n" on exit. (Jorrit Waalboer)

 - Archive::Tar was failing on Debian GNU/Linux. (Jorrit Waalboer)

 - _ask_prereq() message may exceed column 80. (Jorrit Waalboer)

 - 'make distclean' used to complain about Config.pm and .pm~. (Jochen Stenzel)

 - Shell should report errors encountered during failed commands. (Mark Fowler)

 - Defaults to cpanplus@example.com, not $Config{cf_email}. (Peter Sergeant)

 - Fixed endless dependency loop on modules not in modtree. (Barrie Slaymaker)

 - More accurate Win32 installation instructions.

 - Various tarball filename parsing failures fixed.

 - Modules belong to the core Perl distribution are never fetched or installed.


[Changes for 0.02 - March 27, 2002]

This is mainly a bugfix release, due to the rather serious issue of not able
to change configuration variables from the default shell.

* New Features

 - Separated Shell::Default's version number from Backend; both are displayed.

* Bug fixes (and their first reporters):

 - Don't let Archive::Tar set uid/gid to prevent local exploit. (Ton Hospel)

 - Scalar configuration variable setting was mistaken as hash in default shell.

 - Documentation fixes in various places.


[Changes for 0.01 - March 26, 2002]

Initial CPAN release.