CPAN.pm release candidate

Reading time: 3 minutes

I recently uploaded CPAN version 1.94_65, which is the 15th development release since 1.9402 and represents almost 18 months of development work. Barring any show-stoppers, a stable release is expected in the next month. Meanwhile, 1.94_65 will be merged into the next Perl core development release and the stable version will be part of Perl 5.14 this spring.

Please give it a try! From the command line:

$ cpan DAGOLDEN/CPAN-1.94_65.tar.gz

Thank you to everyone contributing patches or commits (according to the git log): Andreas Koenig, David Golden, Frank Wiegand, Nick Patch, Robert Bohne, Tomas Doran, brian d foy and burak. Thank you as well to anyone else who contributed to RT tickets or sent in patches outside git.

Here is a summary of major changes and bug fixes since 1.9402.

New features

  • Major simplification of the FirstTime experience for new users, including auto-pick of CPAN mirrors
  • Added support for bootstrapping local::lib when the user does not have write access to perl’s site library directories
  • Added support for and prerequisite on HTTP::Tiny for pure-perl HTTP bootstrapping
  • Added support for META/MYMETA.json files if CPAN::Meta is installed
  • Quieter user interface: made lots of ‘$module missing’ type warnings only warn once; eliminated ‘no YAML’ warnings for distroprefs if there are no distroprefs.
  • Allows Foo/Bar.pm on the commandline to mean Foo::Bar
  • Allows calling make/test/install with regexp if unambiguous
  • bzip2 support should now be on par with gzip

New configuration options

  • added ‘atexit’ option for scan_cache
  • new config option prefer_external_tar (RT#64037)
  • new config variable version_timeout used in CPAN::Module::parse_version()

RT Tickets closed

  • RT #63357: use Dumpvalue when dumping potential crap
  • RT #62986: original config directories will be found even if File::HomeDir is later installed
  • RT #62064: build_requires_install_policy set to “no” did not work correctly
  • RT #61607: make the FTP download code more robust
  • RT #59216: make sure $builddir exists before calling tempdir
  • RT #57482 and RT #57788 revealed that configure_requires implicitly assumed build_requires instead of normal requires.
  • RT #55093: no_proxy doesn’t work with more then one entries
  • RT #55091: don’t ask the proxy credentials if proxy_user empty
  • RT #53305: amended lib/App/Cpan.pm because of a regression bugfix: Non-English locales got no diagnostics on a failed locking due to permissions
  • RT #51018: do not switch to default sites when we have a user-configured urllist
  • RT #48803: avoid ‘unreached’ if not following configure_requires bugfix: treat modules correctly that are deprecated in perl 5.12. improved support for Perl core module deprecation
  • RT #47774: allow duplicate mention of modules in Makefile prelude
  • Fixed rt.perl.org#72362: CPAN ignoring configure_requires. Also fixed (MY)META.yml processing to always prefer Parse::CPAN::Meta, if available.
  • Fixed rt.perl.org#72348: missing CPAN::HandleConfig::output;

Other bug fixes

  • Adds HOMEDRIVE/HOMEPATH or USERPROFILE as home directory options on Windows
  • Fixed several recent regressions related to external transport tools (ncftp, lynx, curl, etc)
  • Fixed quoting for downloading into directories containing whitespace
  • Solaris tar gets more handholding to avoid solaris tar errors
  • Portability fix: By-pass alarm() calls if we’re running under perl 5.6.x && $OS is Windows.
  • Work around win32 URI::file volume bug
  • Prerequisites declared with the string “==” now supported

•      •      •

If you enjoyed this or have feedback, please let me know by or