"Fossies" - the Fresh Open Source Software Archive

Member "Module-Build-0.4234/Changes" (28 Apr 2023, 155703 Bytes) of package /linux/privat/Module-Build-0.4234.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "Changes": 0.4232_vs_0.4234.

    1 Revision history for Perl extension Module::Build.
    2 
    3 0.4234 - Fri 28 Apr 2023 10:46:26 CEST
    4   - PodParser now respects =encoding directives
    5 
    6   - Don't use libraries in t/bundled for Build.PL
    7 
    8   - make_tarball: workaround for broken tar on Darwin
    9 
   10   - Respect $Config{man1ext}/$Config{man3ext}
   11 
   12   - Do not require a compiler if c_source is an empty list
   13 
   14 0.42_33 - Wed Mar 29 10:38:56 PM CEST 2023
   15 
   16   - PodParser now respects =encoding directives
   17 
   18   - Don't use libraries in t/bundled for Build.PL
   19 
   20   - make_tarball: workaround for broken tar on Darwin
   21 
   22   - Respect $Config{man1ext}/$Config{man3ext}
   23 
   24   - Do not require a compiler if c_source is an empty list
   25 
   26 0.4232 - Thu Dec  8 10:27:44 PM CET 2022
   27 
   28   - Drop Pod::Man dependency for 5.8 compatibility
   29 
   30 0.4231 - Wed Jan 29 08:47:56 CET 2020
   31 
   32   - Released 0.42_30 without code changes
   33 
   34 0.42_30 - Wed Jul 31 13:15:39 CEST 2019
   35 
   36   - Add dependency on ExtUtils::PL2Bat
   37 
   38 0.4229 - Tue Apr 16 00:49:45 CEST 2019
   39   - Released 0.42_28 without changes
   40 
   41 0.42_28 - Thu Apr 19 16:34:32 CEST 2018
   42 
   43   - Replace "MOTIVATIONS" section with "COMPARISON" [Dan Brook]
   44 
   45   - Update configure, build, test prereqs [Karen Etheridge]
   46 
   47 0.4227 - Wed Dec 13 11:17:51 CET 2017
   48 
   49   - Released 0.42_26 without changes
   50 
   51 0.42_26 - Wed Dec 13 10:52:39 CET 2017
   52 
   53   - Improve pureperl-only support (#119914) [Shoichi Kaji]
   54 
   55   - Improve the documentation of Module::Build::Compat and dynamic_config [Dan Brook]
   56 
   57 0.4224 - Tue May 30 19:50:07 CEST 2017
   58 
   59   - Released 0.42_23 without changes
   60 
   61 0.42_23 - Sun May 14 13:17:45 CEST 2017
   62 
   63    - Add code to special case dot-in-inc in Build
   64 
   65 0.4222 - Thu Mar 30 15:40:10 CEST 2017
   66 
   67    - Released 0.42_21 as 0.4222
   68 
   69 0.42_21 - Wed Mar 22 19:04:02 CET 2017
   70 
   71    - Include relative path for do in Build/Makefile.PL will function without . in @INC [Todd Rinaldo]
   72 
   73    - Remove use deprecate [Graham Knop]
   74 
   75 0.4220 - Tue Aug 16 22:11:14 CEST 2016
   76 
   77   - Released 0.42_19 as 0.4220
   78 
   79 0.42_19 - Sun Aug  7 17:07:38 CEST 2016
   80 
   81   - Initialize MM Compat environmental variables to empty strings [Leon Timmermans]
   82 
   83   - Skip PPM test when link_executable fails [Leon Timmermans]
   84 
   85   - Make more actions deterministic [Zefram]
   86 
   87   - Preprocess file lists generated by rscan_dir() to sort them [Niko Tyni]
   88 
   89 0.4218 - Sun Apr 24 16:39:47 BST 2016
   90 
   91   - Skip XS test when link_executable fails
   92 
   93 0.42_17 - Mon Mar 21 14:02:06 CET 2016
   94 
   95   - Read extra_linker_flags using its accessor [Salvador Fandino]
   96 
   97   - Convert win shell splitting to m//gc parser, fixing handling of 0
   98     and handling of backslashes preceeding a double quote [Graham Knop]
   99 
  100   - Win32 installation of MB with gmake require SHELL env var to be set
  101     [bulk88]
  102 
  103 0.4216 - Wed Jan 20 10:39:27 CET 2016
  104 
  105   - Delete test that fails with new version.pm [Leon Timmermans]
  106 
  107 0.42_15 - Sat Nov 28 15:17:40 CET 2015
  108 
  109   - Honor environmental variables when using TAP::Harness directly [Leon Timmermans]
  110 
  111   - Reintroduce some level of perl 5.6 support [Leon Timmermans]
  112     Note that this comes with no guarantees or commitment
  113 
  114   - Allow Devel::Cover usage with TAP::Harness [Philipp Gortan]
  115 
  116   - Remove "running under some shell" [Shoichi Kaji]
  117 
  118   - Fix cookbook - code was missing trailing ` [Matthew Horsfall]
  119 
  120 0.4214 - Fri Jun 12 00:25:00 CEST 2015
  121 
  122   - Released 0.42_13 as 0.4214
  123 
  124 0.42_13 - Sat Jun  6 21:18:24 CEST 2015
  125 
  126   [BUG FIXES]
  127 
  128   - Handle failure to guess license from key better
  129 
  130   [ENHANCEMENTS]
  131 
  132   - Output data in a stable order [Jérémy Bobbio]
  133 
  134 0.4212 - Sun May 17 00:33:34 CEST 2015
  135 
  136   [BUG FIXES]
  137 
  138   - Revert "Stop using version->normal(); prefer stringify()"
  139 
  140 0.4211 - Tue Jan 20 01:33:42 CET 2015
  141 
  142   [BUG FIXES]
  143 
  144   - Fix t/actions/installdeps.t to work on "perl in space" [Ed J]
  145 
  146   - Stop using version->normal(); prefer stringify() [John Peacock]
  147 
  148   [DEPRECATIONS]
  149 
  150   - inc::latest has been split out to a separate distribution on CPAN.
  151     It is an optional prerequisite, only needed for the experimental
  152     bundling feature.
  153 
  154 0.4210 - Mon Sep  1 13:30:29 CEST 2014
  155 
  156   [BUG FIXES]
  157 
  158   - Fixup CPAN::Meta dependency
  159 
  160   - Handle old releases of CPAN::Meta more gracefully.
  161 
  162 0.4209 - Mon Sep  1 12:24:40 CEST 2014
  163 
  164   [BUG FIXES]
  165 
  166   - Stop calling UNIVERSAL::isa as a function
  167 
  168   [ENHANCEMENTS]
  169 
  170   - Use CPAN::Meta::Merge for meta_merge
  171 
  172   - Convert with CPAN::Meta::Convert in meta_add
  173 
  174   - Add configure requirements
  175 
  176 0.4208 - Mon Aug 18 21:44:38 CEST 2014
  177 
  178   [BUG FIXES]
  179 
  180   - Removed missed references to Module::Build::Version
  181 
  182 0.4207 - Sat Aug 16 12:56:59 CEST 2014
  183 
  184   [BUG FIXES]
  185 
  186   - Fix type installdir -> installdirs [Leon Timmermans, Vitaliy Tokarev]
  187 
  188   [DEPRECATIONS]
  189 
  190   - Module::Build::YAML has been removed
  191 
  192   - Module::Build::ModuleInfo has been removed
  193 
  194   - Module::Build::Version has been removed
  195 
  196   - Get rid of "use vars"
  197 
  198   - Added use warnings to all modules
  199 
  200 0.4206 - Sat Jul 12 14:03:01 CEST 2014
  201 
  202   [BUG FIXES]
  203 
  204   - Formally declare 5.8 dependency [Karen Etheridge]
  205 
  206   - Fix MBTest to work with new and old versions of Test::Builder [Chad Granum]
  207 
  208   [ENHANCEMENTS]
  209 
  210   - Enable release and author tests during disttest [Leon Timmermans, Alberto Simões]
  211 
  212 0.4205 - Sun Feb  9 17:51:22 CET 2014
  213 
  214   [BUG FIXES]
  215 
  216   - FIX license code regression for artistic license [Roy Ivy III, Leon Timmermans]
  217 
  218   - Don't swallow ExtUtils::CBuilder loading errors [Matthew Horsfall, Leon Timmermans]
  219   
  220   - Handle testing on cross-compile builds [Brian Fraser]
  221 
  222   - Protect against platforms without getpw{nam,uid} [Brian Fraser]
  223 
  224 0.4204 - Fri Jan 10 00:29:31 CET 2014
  225 
  226   [BUG FIXES]
  227 
  228   - Map conflicts back to runtime [Leon Timmermans]
  229 
  230   - Use mod2fname whenever it's available [Leon Timmermans, Brian Fraser]
  231 
  232   - Accept custom entries in meta_merge 1.4
  233 
  234 0.4203 - Wed Nov 27 19:09:05 CET 2013
  235 
  236   [BUG FIXES]
  237 
  238   - Map recommends back to runtime recommends [Leon Timmermans]
  239 
  240   - Map restrictive license to restricted in meta 2.0 [Leon Timmermans]
  241 
  242 0.4202 - Tue Nov 19 12:48:19 CET 2013
  243 
  244   [BUG FIXES]
  245 
  246   - Don't merge prereqs from meta to mymeta [Leon Timmermans]
  247 
  248 0.4201 - Mon Nov 18 23:23:25 CET 2013
  249 
  250   [BUG FIXES]
  251 
  252   - Prefer META.json over META.yml [Leon Timmermans]
  253 
  254 0.4200 - Tue Nov 12 12:39:25 CET 2013
  255 
  256   - Released 0.40_11 as 0.4200
  257 
  258 0.40_11 - Wed Nov  6 12:46:59 CET 2013
  259 
  260   [BUG FIXES]
  261 
  262   - Do not set provides in metadata if no_index is set [Leon Timmermans]
  263 
  264 0.40_10 - Tue Nov  5 12:11:37 CET 2013
  265 
  266   [BUG FIXES]
  267 
  268   - Lowercase license in fallback logic [Leon Timmermans]
  269 
  270 0.40_09 - Tue Nov  5 00:13:11 CET 2013
  271 
  272   [ENHANCEMENTS]
  273 
  274   - Converted to using Meta 2.0
  275 
  276 0.4008 - Mon Nov  4 23:10:54 CET 2013
  277 
  278   [BUG FIXES]
  279 
  280   - Fix test failing on ancient perls <= 5.8.1 [Peter Rabbitson]
  281 
  282   - Do not set default switches in Test::Harness; not even -w [Leon Timmermans]
  283 
  284   [DOCUMENTATION]
  285 
  286   - Fix a couple more broken links to CPAN::META::Spec that should
  287     have been CPAN::Meta::Spec. [Reported by Mike Doherty]
  288 
  289 0.4007 - Fri Jul 19 13:44:39 CEST 2013
  290 
  291   [BUG FIXES]
  292 
  293   - Removed undeclared test dependency on parent.pm [Leon Timmermans]
  294 
  295   - Declared dependency on Pod::Man 2.17 for utf8 support [Leon Timmermans]
  296 
  297   - Force generation of man pages in manify_with_utf8.t [Leon Timmermans]
  298 
  299 0.4006 - Thu Jul 18 14:19:49 CEST 2013
  300 
  301   - Announcement: The Perl5-Porters have decided to remove
  302     Module::Build from the perl core distribution.  It will still be
  303     available on CPAN, and development is planned to continue
  304     regardless.
  305 
  306     For more information, see:
  307 
  308     * http://www.nntp.perl.org/group/perl.perl5.porters/2013/05/msg202041.html
  309     * http://blogs.perl.org/users/joel_berger/2013/05/on-the-removal-of-some-core-modules.html
  310     * http://www.dagolden.com/index.php/2140/paying-respect-to-modulebuild/
  311     * http://perlhacks.com/2013/06/removing-modules-from-core/
  312 
  313   [BUG FIXES]
  314 
  315   - In the 'installdeps' action, w don't need to check for an
  316     executable bit on the CPAN client, just try executing it.
  317     Otherwise we needlessly fail on e.g. VMS.
  318 
  319   - Actually handle utf8 correctly in utf8-man tests. [Leon Timmermans]
  320 
  321   - Don't clobber standard array/hash attributes in subclasses that
  322     have their own array/hash attributes. [Graham Ollis]
  323 
  324   - We now allow underscores in package names, when extracting the
  325     name & abstract from POD. [Ricardo Signes, Shlomi Fish]
  326 
  327   - When building HTML docs, fix a problem with setting the --htmlroot
  328     argument. [Ken Williams]
  329 
  330   - Lower Test::More dependency in the test metadata, so distgen
  331     output won't mess up console with older Test::More installed.
  332     [Tatsuhiko Miyagawa]
  333 
  334   - Revised detildification on VMS [Craig Berry]
  335 
  336   - Fix run_test_harness for case when $Switches is an empty string
  337     [Victor Efimov, Ken Williams]
  338 
  339   [ENHANCEMENTS]
  340 
  341   - Significantly sped up some tests by not forcing HTML docs to be
  342     built when the user's config doesn't ask for them anyway.
  343     [Ken Williams]
  344 
  345   - The Module::Metadata package was split out from this distro back
  346     in 2010.  Removed its regression tests. [Ken Williams]
  347 
  348   - Removed dependence on IO::File, replacing it with safe invocations
  349     of open(). [Sven Dowideit]
  350 
  351   - Added an 'extra_manify_args' parameter to facilitate man pages
  352     containing Unicode. [Joenio Costa]
  353 
  354   - Added an '--html_links 0' argument for the 'html' action, which
  355     can hugely speed things up.  The main effect is speeding up the
  356     M::B tests themselves. [Ken Williams]
  357 
  358   - Added continuous integration support for the Module::Build code
  359     itself, through the Travis-CI project
  360     (https://travis-ci.org/). [Tatsuhiko Miyagawa, Olivier Mengué]
  361 
  362   [DOCUMENTATION]
  363 
  364   - Removed suggestion in the INSTALL document to use the Makefile.PL
  365     for installation.  Making the Makefile.PL lower-profile in
  366     general. [Ken Williams]
  367 
  368   - Fix link from UpperCase CPAN::META::Spec to CPAN::Meta::Spec in
  369     API.pod. [Sven Dowideit]
  370 
  371   [OTHER]
  372 
  373   - Removed unused platform specific modules that never contained
  374     anything. [Leon Timmermans]
  375 
  376   - Lots of typo fixes in comments & documentation. [David Steinbrunner]
  377 
  378 
  379 0.4005 - Thu Apr 25 15:10:14 CEST 2013
  380 
  381   [ENHANCEMENTS]
  382 
  383   - Added --pureperl-only support
  384 
  385   [BUG FIXES]
  386 
  387   - #72176: pod2html will fail with an empty podpath in some cases. [Phillip Moore]
  388 
  389   - Fix links between modules in HTML docs output [Michael Wild, Leon Timmermans]
  390 
  391 0.4004 - Fri Mar 29 15:05:00 CET 2013
  392 
  393   [BUG FIXES]
  394 
  395   - Minor VMS fix for @INC [Craig Berry]
  396 
  397   [ENHANCEMENTS]
  398 
  399   - test_requires support has been added [Matsuno Tokuhiro]
  400 
  401 0.4003 - Sat Aug 18 11:17:49 CEST 2012
  402 
  403   [BUG FIXES]
  404 
  405   - Get rid of outdated metadata tests [Steve Hay]
  406 
  407 0.4002 - Fri Jul 27 20:04:09 EEST 2012
  408 
  409   [BUG FIXES]
  410 
  411   - Test for TAP::Harness version properly [Leon Timmermans]
  412 
  413   - Install to 'site' on 5.12+ [Leon Timmermans]
  414 
  415   [DOCUMENTATION]
  416 
  417   - Document extra_{compiler|linker}_flags accessors [Nick Wellnhofer]
  418 
  419 0.4001 - Tue Jun 26 20:54:15 CEST 2012
  420   [BUG FIXES]
  421 
  422   - Parse Pod name a litte more leniently [Paul Evans]
  423 
  424   [DOCUMENTATION]
  425 
  426   - Various spelling fixes [Leon Timmermans, Jonathan Yu]
  427 
  428   - Fixes configuration keys used for script location [Leon Timmermans, reported by Samuel Ferencik]
  429 
  430   [OTHER]
  431 
  432   - use warnings
  433 
  434 0.40 - Fri Feb 24 18:47:48 CET 2012
  435 
  436   - Released 0.39_02 as 0.40 without any code changes
  437 
  438 0.39_02 - Thu Feb 17 00:33:18 MET 2012
  439 
  440   [BUG FIXES]
  441 
  442   - Fixed bug where modules without $VERSION might have a version of '0'
  443     listed in 'provides' metadata, which will be rejected by PAUSE
  444     [David Golden, reported by Christopher Fields]
  445 
  446   - Fixed bug in PodParser to allow numerals in module names
  447     [Tokuhirom]
  448 
  449   - Fixed bug where giving arguments twice led to them becoming arrays,
  450     resulting in install paths like "ARRAY(0xdeadbeef)/lib/Foo.pm"
  451     [Leon Timmermans]
  452 
  453   [DOCUMENTATION]
  454 
  455   - Fixed deviance from alphabetical order in documentation of
  456     constructor parameters. [Eric Brine]
  457 
  458   - Add documentation for configure_requires constructor parameter.
  459     [Eric Brine]
  460 
  461   - Change some of the docs' language describing relationship to
  462     MakeMaker. [Ken Williams]
  463 
  464   [OTHER]
  465 
  466   - List Perl-Toolchain-Gang repo as official repo
  467 
  468 0.39_01 - Thu Jul 21 16:48:48 EDT 2011
  469 
  470   [BUG FIXES]
  471 
  472   - Fixed bug with a nested directory named 'share' inside a ShareDir
  473     (RT#68585) [David Golden]
  474 
  475   - Fixed failing tilde.t when run under UID without passwd entry
  476     (RT#67893) [Dominic Hargreaves]
  477 
  478   [DOCUMENTATION]
  479 
  480   - Fixed typo in Module::Build (RT#67008) [David Golden]
  481 
  482   [OTHER]
  483 
  484   - Pod to HTML internals changed to support new Pod::Html work
  485     in the Perl core
  486 
  487 0.3800 - Sat Mar  5 15:11:41 EST 2011
  488 
  489   Summary of major changes since 0.3624:
  490 
  491     [ENHANCEMENTS]
  492 
  493     - Generates META.json and MYMETA.json consistent with version 2 of the
  494       CPAN Meta Spec. [David Golden]
  495 
  496   Also in this release:
  497 
  498   [BUG FIXES]
  499 
  500   - Autogenerated documentation no longer includes private actions from
  501     Module::Build's own release subclass. [Report by Timothy Appnel,
  502     fix by David Golden]
  503 
  504 0.37_06 - Mon Feb 28 21:43:31 EST 2011
  505 
  506   [BUG FIXES]
  507 
  508   - prerequisites with the empty string instead of a version are
  509     normalized to "0".  (RT#65909)
  510 
  511   [OTHER]
  512 
  513   - More Pod typo/link fixes [Hongwen Qiu]
  514 
  515 0.37_05 - Sat Feb 19 20:43:23 EST 2011
  516 
  517   [BUG FIXES]
  518 
  519   - fixes failing ppm.t in perl core
  520 
  521   [OTHER]
  522 
  523   - Pod typo fixes [Hongwen Qiu]
  524 
  525 0.37_04 - Wed Feb 16 15:27:21 EST 2011
  526 
  527   [OTHER]
  528 
  529   - moved scripts/ to bin/ for less confusing porting to bleadperl
  530 
  531 0.37_03 - Wed Feb 16 09:54:05 EST 2011
  532 
  533   [BUG FIXES]
  534 
  535   - removed an irrelevant test in t/actions/installdeps.t that was causing
  536     failures on some Cygwin platforms
  537 
  538   [OTHER]
  539 
  540   - dropped configure_requires as some CPAN clients apparently get
  541     confused by having things in both configure_requires and requires
  542 
  543   - bumped Parse::CPAN::Meta build prereq to 1.4401
  544 
  545   - bumped CPAN::Meta prereq to 2.110420
  546 
  547   - Pod typo fixes [Hongwen Qiu]
  548 
  549 0.37_02 - Mon Feb  7 21:05:30 EST 2011
  550 
  551   [BUG FIXES]
  552 
  553   - bumped CPAN::Meta prereq to 2.110390 to avoid a regression in 2.110360
  554 
  555 0.37_01 - Thu Feb  3 03:44:38 EST 2011
  556 
  557   [ENHANCEMENTS]
  558 
  559   - Generates META.json and MYMETA.json consistent with version 2 of the
  560     CPAN Meta Spec. [David Golden]
  561 
  562   [BUG FIXES]
  563 
  564   - t/signature.t now uses a mocked Module::Signature; this should be
  565     more robust across platforms as it only needs to confirm that
  566     Module::Build is calling Module::Signature when expected
  567 
  568   [OTHER]
  569 
  570   - Added CPAN::Meta and Parse::CPAN::Meta to prerequisites and dropped
  571     CPAN::Meta::YAML
  572 
  573 0.3624 - Thu Jan 27 11:38:39 EST 2011
  574 
  575   - Fixed pod2html directory bugs and fixed creation of spurious blib
  576     directory in core perl directory when running install.t (RT#63003)
  577     [Chris Williams]
  578 
  579 0.3623 - Wed Jan 26 17:45:30 EST 2011
  580 
  581   - Fixed bugs involving bootstrapping configure_requires prerequisites
  582     on older CPANPLUS clients or for either CPAN/CPANPLUS when using
  583     the compatibility Makefile.PL
  584 
  585   - Added diagnostic output when configure_requires are missing for
  586     the benefit of users doing manual installation
  587 
  588 0.3622 - Mon Jan 24 21:06:50 EST 2011
  589 
  590   - No changes from 0.36_21
  591 
  592 0.36_21 - Fri Jan 21 11:01:28 EST 2011
  593 
  594   - Changed YAML::Tiny references to the new CPAN::Meta::YAML module
  595     instead, which is the YAML-variant that is going into the Perl core
  596 
  597 0.36_20 - Fri Dec 10 15:36:03 EST 2010
  598 
  599   *** DEPRECATIONS ***
  600 
  601   - Module::Build::Version has been deprecated.  Module::Build now depends
  602     directly upon version.pm.  A pure-perl version has been bundled in inc/
  603     solely for bootstrapping in case configure_requires is not supported.
  604     M::B::Version remains as a wrapper around version.pm.
  605 
  606   - Module::Build::ModuleInfo has been deprecated.  Module::Build now
  607     depends directly upon Module::Metadata (which is an extraction of
  608     M::B::ModuleInfo intended for general reuse).  A pure-perl version has
  609     been bundled in inc/ solely for bootstrapping in case
  610     configure_requires is not supported. M::B::ModuleInfo remains as a
  611     wrapper around Module::Metadata.
  612 
  613   - Module::Build::YAML has been deprecated.  Module::Build now depends
  614     directly upon YAML::Tiny.  M::B::YAML remains as a subclass wrapper.
  615     The YAML_support feature has been removed, as YAML is now an ordinary
  616     dependency.
  617 
  618 0.36_19 - Tue Dec  7 13:43:42 EST 2010
  619 
  620   Bug fixes:
  621 
  622   - Perl::OSType is declared as a 'configure_requires' dependency, but is
  623     also bundled in inc (and loaded if needed) [David Golden]
  624 
  625 0.36_18 - Mon Dec  6 16:46:49 EST 2010
  626 
  627   Changes:
  628 
  629   - Added dependency on Perl::OSType to refactor and centralize
  630     management of OS type mapping [David Golden]
  631 
  632   - When parsing a version number out of a file, any trailing alphabetical
  633     characters will be dropped to avoid fatal errors when comparing version
  634     numbers.  These would have been dropped (with a warning) anyway during
  635     an ordinary numeric comparison. (RT#56071) [David Golden]
  636 
  637   Bug fixes:
  638 
  639   - A Perl interpreter mismatch between running Build.PL and running Build
  640     is now a fatal error, not a warning (RT#55183) [David Golden]
  641 
  642   - Bundled Module::Build::Version updated to bring into sync with CPAN
  643     version.pm 0.86 [David Golden]
  644 
  645   - No longer uses fake user 'foo' in t/tilde (RT#61793) [David Golden]
  646 
  647   - Won't fail tests if an ancient Tie::IxHash is installed
  648     [Christopher J. Madsen]
  649 
  650   - Correctly report missing metafile field names [David Golden]
  651 
  652   - Suppress uninitialized value errors during Pod creation
  653     on ActiveState Perl [David Golden]
  654 
  655   - Return to starting directory after install action; this is
  656     an attempt to fix an install.t heisenbug (RT#63003) [David Golden]
  657 
  658   - A broken version.pm load won't cause Module::Build::Version to
  659     die trying to install itself as a mock version (RT#59499)
  660     [Eric Wilhelm and David Golden]
  661 
  662   - PERL_DL_NONLAZY is now always set when tests are run
  663     (RT#56055) [Dmitry Karasik]
  664 
  665   - 'fakeinstall' will use .modulebuildrc actions for 'install' if
  666     no specific 'fakeinstall' options are provided (RT#57279)
  667     [David Golden]
  668 
  669   - Add install*script to search path for installdeps client
  670     and search site, then vendor, then core paths
  671 
  672   - Skip noexec tmpdir check on Windows (RT#55667) [Jan Dubois]
  673 
  674   - Arguments with key value pairs may now have keys with "-" in them
  675     (RT#53050) [David Golden]
  676 
  677   - Add quotemeta to t/tilde.t test to fix Cygwin fails
  678     [Chris Williams and David Golden]
  679 
  680   - Build script now checks that M::B is at least the same version
  681     of M::B as provided in 'configure_requires' in META
  682     (RT#54954) [David Golden]
  683 
  684 0.36_17 - Wed Oct 27 18:08:36 EDT 2010
  685 
  686   Enhancements:
  687 
  688   - Added 'distinstall' action to run 'Build install' inside the
  689     generated distribution directory [Jeff Thalhammer]
  690 
  691 0.36_16 - Thu Aug 26 12:44:07 EDT 2010
  692 
  693   Bug fixes:
  694 
  695   - Better error message in case package declaration is not found
  696     when searching for version. [Alexandr Ciornii]
  697 
  698   - Skips 'release_status' tests on perl < 5.8.1 due to buggy
  699     treatment of dotted-decimal version numbers [David Golden]
  700 
  701 0.36_15 - Wed Aug 25 10:41:28 EDT 2010
  702 
  703   Bug fixes:
  704 
  705   - Added a mock Software::License to prevent t/properties/license.t
  706     from failing.
  707 
  708 0.36_14 - Sun Aug 22 22:56:50 EDT 2010
  709 
  710   Enhancements:
  711 
  712   - Adds 'release_status' and 'dist_suffix' properties in preparation
  713     for adding CPAN Meta Spec 2 support.  'dist_suffix' will be set
  714     to 'TRIAL' automatically when necessary. [David Golden]
  715 
  716   - Makes 'license' more liberal.  You can now specify either a license
  717     key from the approved list (c.f. Module::Build::API) or just a
  718     Software::License subclass name (e.g. 'Perl_5').  This should
  719     provide better support for custom or proprietary licenses.
  720     [David Golden]
  721 
  722 0.36_13 - Wed Jul 28 22:40:25 EDT 2010
  723 
  724  Bug-fixes:
  725 
  726  - Bundled Module::Build::Version updated to bring into sync with CPAN
  727    version.pm 0.82 [David Golden]
  728 
  729 0.36_12 - Tue Jul 27 00:08:51 EDT 2010
  730 
  731   Enhancements:
  732 
  733   - Module::Build::Compat will now convert dotted-decimal prereqs into
  734     decimal rather than dying (and will warn about this). [Apocalypse]
  735 
  736   Bug fixes:
  737 
  738   - Caches case-sensitivity checks to boost performance, fixes 
  739     RT#55162 and RT#56513 [Reini Urban]
  740 
  741   - Won't try to use ActivePerl doc generation tools without confirming
  742     that they are indeed installed. [David Golden]
  743 
  744   - Sets temporary $ENV{HOME} in testing to an absolute path, which fixes
  745     some issues when tested as part of the Perl core [Nicholas Clark]
  746 
  747   - Module::Build::ModuleInfo now warns instead of dying when a module
  748     has an invalid version.  ->version now just returns undef
  749     (RT#59593) [David Golden]
  750 
  751   Changes:
  752 
  753   - When authors do not specify Module::Build in configure_requires and
  754     Module::Build is automatically added, a warning will be issued
  755     showing the added prerequisite [David Golden]
  756 
  757   - Moved automatic configure_requires generation into get_metadata()
  758     and added an 'auto' argument to toggle it (on for META and off
  759     for MYMETA) [David Golden]
  760 
  761 0.36_11 - Thu May 27 09:41:23 EDT 2010
  762 
  763   Bug fixes:
  764 
  765   - Handle META/MYMETA reading and writing within Module::Build to ensure
  766     utf8 mode on filehandles.  Now passes/gets only strings to YAML::Tiny
  767     or Module::Build::YAML
  768 
  769 0.36_10 - Wed May 19 18:36:06 EDT 2010
  770 
  771   Bug fixes:
  772 
  773   - Fix failing t/manifypods.t on Windows from 0.36_09 changes [Klaus
  774     Eichner]
  775 
  776 0.36_09 - Tue May 11 09:19:12 EDT 2010
  777 
  778   Bug fixes:
  779 
  780   - Improve HTML documentation generation on ActivePerl (RT#53478)
  781     [Scott Renner and Klaus Eichner]
  782 
  783 0.36_08 - Mon Apr 26 08:00:15 EDT 2010
  784 
  785  Enhancements:
  786 
  787  - Give a list of valid licenses when given one we don't recognize
  788    (RT#55951) [Yanick Champoux]
  789 
  790  - Added 'Build manifest_skip' action to generate a default MANIFEST.SKIP
  791    [David Golden]
  792 
  793  Changes:
  794 
  795  - When temporarily generating a MANIFEST.SKIP when none exists, it will
  796    be removed on exit instead of hanging around until 'Build clean'.  This
  797    is less surprising/confusing and the 'Build manifest_skip' action
  798    is now available instead to bootstrap the file [David Golden]
  799 
  800  Bug fixes:
  801 
  802  - Fixed runtime error on cygwin when searching for an executable command
  803    during installdeps testing [David Golden]
  804 
  805 0.3607 - Thu Apr  1 11:27:16 EDT 2010
  806 
  807  Bug fixes:
  808 
  809  - The 'dist' action now always ensures a clean dist directory before
  810    creating the tarball [David Golden]
  811 
  812 0.36_06 - Thu Apr  1 01:23:58 EDT 2010
  813 
  814  Other:
  815 
  816  - Migrated repository to git and updated META.yml to match
  817 
  818  - Removed bugtracker URL (let search.cpan.org use default)
  819 
  820  - Disabled SIGNATURE generation
  821 
  822 0.3605 - Wed Mar 31 12:05:11 EDT 2010
  823 
  824  - No changes from 0.36_04
  825 
  826 0.36_04 - Tue Mar 16 21:41:41 EDT 2010
  827 
  828  Bug fixes:
  829 
  830  - Added missing newline to "Changing sharpbang" messages under verbose
  831    output (RT#54474) [David Golden]
  832 
  833  - Added 'beos' to list of Unix-like os types (RT#53876) [Nigel Horne]
  834 
  835  - Sets $ENV{HOME} to a temporary directory during testing [David Golden]
  836 
  837  - For VMS: fixed prefix handling plus other test fixes [Craig Berry]
  838 
  839  - Support anonymous array of directories for c_source [Alberto Simões]
  840 
  841  - Small POD formatting fix [James Keenan]
  842 
  843 0.3603 - Mon Jan 18 22:28:59 EST 2010
  844 
  845 (Oops, I released the last one before I realized this should have been
  846 fixed along with it.)
  847 
  848  Bug fixes:
  849 
  850  - Module::Build::Compat would croak on distibutions that set requires
  851    'perl' to a dotted decimal like '5.6.2'.  We now skip that key
  852    since it doesn't go into PREREQ_PM and we numify it properly for
  853    'use 5.006002' in the generated Makefile.PL (RT#53409)
  854    [David Golden, adapted from patch by G. Allen Morris III]
  855 
  856 0.3602 - Mon Jan 18 22:09:54 EST 2010
  857 
  858  Bug fixes:
  859 
  860  - Fix failures in t/properties/needs_compiler.t when $ENV{CC} is set
  861    (RT#53296) [David Golden, adapted from patch by Jens Rehsack]
  862 
  863 0.3601 - Mon Dec 21 14:39:33 EST 2009
  864 
  865  Bug fixes:
  866 
  867  - When the currently running Module::Build is not the same as the one
  868    that created the Build file, there is now a warning rather than a fatal
  869    error.  This helps installation of dependency chains where a dependency
  870    might configure_requires a new Module::Build after Build.PL was already
  871    run for an earlier distribution. [David Golden, on advice of Matt Trout]
  872 
  873  Other:
  874 
  875  - t/bundle_inc.t fails in odd ways.  This test of an experimental feature
  876    should not prevent users from installing Module::Build, so this test
  877    now skips unless $ENV{MB_TEST_EXPERIMENTAL} is true
  878 
  879 0.36 - Sun Dec 20 15:02:38 EST 2009
  880 
  881 No changes from 0.35_15 other than the version number.
  882 
  883 Summary of major changes since 0.35:
  884 
  885  Enhancements:
  886 
  887  - Added 'Build installdeps' action to install needed dependencies via
  888    a user-configurable command line program.  (Defaults to 'cpan'.)
  889 
  890  - Command line options may be set via the PERL_MB_OPT environment
  891    variable (similar to PERL_MM_OPT in ExtUtils::MakeMaker)
  892 
  893  - Generates MYMETA.yml during Build.PL (new standard protocol for
  894    communicating configuration results between toolchain components)
  895 
  896  - Reduced amount of console output under normal operation (use --verbose
  897    to see all output)
  898 
  899  - Added experimental inc/ bundling; see Module::Build::Bundling for
  900    details.
  901 
  902  New or changed properties:
  903 
  904  - Added 'share_dir' property to provide File::ShareDir support;
  905    File::ShareDir automatically added to 'requires' if 'share_dir' is set
  906 
  907  - Added 'needs_compiler' property.  Defaults to true if XS or c_source
  908    exist.  If true, ExtUtils::CBuilder is also added to build_requires.
  909 
  910  - 'C_support' is no longer an optional feature.  Modern ExtUtils::CBuilder
  911    and ExtUtils::ParseXS added to the 'requires' list.  This ensures that
  912    upgrading Module::Build will upgrade these critical modules.
  913 
  914  - Clarified that 'apache' in the license attribute indicates the Apache
  915    License 2.0 and added 'apache_1_1' for the older version of the license
  916    (RT#50614)
  917 
  918  Deprecations:
  919 
  920  - Module::Build::Compat 'passthrough' style has been deprecated.  Using
  921    'passthrough' will issue warnings on Makefile.PL generation.  See
  922    Module::Build::Compat documentation for rationale.
  923 
  924  Internals:
  925 
  926  - Replaced use of YAML.pm with YAML::Tiny; Module::Build::YAML is now
  927    based on YAML::Tiny as well
  928 
  929  - A new get_metadata() method has been added as a simpler wrapper around
  930    the old, kludgy prepare_metadata() API.
  931 
  932  - Replaced guts of new_from_context().  Build.PL is now executed in a
  933    separate process before resume() is called.  (This is generally only of
  934    interest to Module::Build or toolchain developers) (RT#49350)
  935 
  936  - Add support for 'package NAME VERSION' syntax added in Perl 5.11.1
  937 
  938  Notable bug fixes:
  939 
  940  - The "test" action now dies when using the 'use_tap_harness'
  941    option and tests fail, matching the behavior under Test::Harness.
  942    (RT#49080) [initial patch from David Wheeler; revised by David Golden]
  943 
  944  - Updated PPM generation to PPM v4 (RT#49600) [Olivier Mengue]
  945 
  946  - When module_name is not supplied, no packlist was being written; fixed
  947    by guessing module_name from dist_version_from or the directory name
  948    (just like ExtUtils::Manifest does without NAME) [David Golden]
  949 
  950  - Failure to detect a compiler will now warn during Build.PL and be a
  951    fatal error when trying to compile during Build. (RT#48918) [David
  952    Golden]
  953 
  954  - Auto-detection of abstract and author fixed for mixed-case POD headers
  955    (RT#51117) [David Wheeler]
  956 
  957  - resume() was not restoring additions to @INC added in Build.PL
  958    (RT#50145) [David Golden]
  959 
  960  - When tarball paths are less than 100 characters, disables 'prefix'
  961    mode of Archive::Tar for maximum compatibility (RT#50571) [David Golden]
  962 
  963  - Merging 'requires' and 'build_requires' in Module::Build::Compat could
  964    lead to duplicate PREREQ_PM entries; now the highest version is used
  965    for PREREQ_PM. (RT#50948) [David Golden]
  966 
  967  - Module::Build::Compat will now die with an error if advanced,
  968    non-numeric prerequisites are given, as these are not supported by
  969    ExtUtils::MakeMaker in PREREQ_PM [David Golden]
  970 
  971 
  972 0.35_15 - Thu Dec 17 17:51:22 EST 2009
  973 
  974  Bug fixes:
  975 
  976  - Make sure PPM tests are skipped if IO::File is too old [David Golden]
  977 
  978 0.35_14 - Thu Dec 17 16:02:14 EST 2009
  979 
  980  Bug fixes:
  981 
  982  - If not set, the 'module_name' is detected from 'dist_version_from'
  983    or from 'dist_name'.  The directory is no longer used. [David Golden]
  984 
  985  - The 'share_dir' property no longer defaults to 'share' and must be
  986    explicitly set instead; this fixes problems for CPAN distributions that
  987    already have a 'share' directory for whatever reason [David Golden]
  988 
  989  - Change t/00-compile.t test for more portability [David Golden]
  990 
  991  - Skip ppm.t if Pod::Html is not available [David Goldenj]
  992 
  993  - Changed guts of inc::latest to work properly on older versions of Perl
  994    [David Golden]
  995 
  996  - Ensure bundle_inc.t doesn't accidentally uninstall the installed M::B
  997    during testing if the user had 'uninst=1' set during Build.PL
  998    [David Golden]
  999 
 1000 0.35_13 - Sat Dec  5 11:26:36 EST 2009
 1001 
 1002  Bug fixes:
 1003 
 1004  - Protect against tempfile errors when checking ExtUtils::Installed
 1005    [David Golden]
 1006 
 1007 0.35_12 - Fri Dec  4 23:06:49 EST 2009
 1008 
 1009  Bug fixes:
 1010 
 1011  - Protect inc/ bundling tests against broken ExtUtils::Installed
 1012    [David Golden]
 1013 
 1014 0.35_11 - Thu Dec  3 11:07:44 EST 2009
 1015 
 1016  *** API CHANGE ***
 1017 
 1018  - The old API for prepare_metadata() has been restored to avoid breaking
 1019    distributions that were overriding it (e.g. BioPerl), but the method
 1020    has been marked deprecated and may be made private or may disappear in
 1021    some future version of Module::Build. [David Golden]
 1022 
 1023  - A new get_metadata() method has been added as a simpler wrapper around
 1024    the old, kludgy prepare_metadata() API. [David Golden]
 1025 
 1026 0.35_10 - Tue Nov 24 22:49:19 EST 2009
 1027 
 1028  Bug fixes:
 1029 
 1030  - bundle_inc.t is more careful about permissions and open filehandles
 1031    to avoid failures/skips on Win32 [David Golden]
 1032 
 1033  - Fix compilation error in Module::Build::Platform::VMS (RT#51766)
 1034    [David Golden]
 1035 
 1036  - Don't generate a MANIFEST.SKIP during distclean and add any generated
 1037    MANIFEST.SKIP to cleanup list [reported by Zefram, fixed by David Golden]
 1038 
 1039  - Module::Build::ModuleInfo version parsing would fail if a module sets
 1040    its $VERSION from another module, but the other module is not installed.
 1041    We now try to detect such failures, prepend 'lib' to @INC and try again.
 1042    [David Golden]
 1043 
 1044  - MYMETA.yml used to be generated from scratch, overriding any
 1045    customizations used to create META.yml.  Now, if META.yml exists, that
 1046    will be used as the base for MYMETA and only prereq fields will be
 1047    updated (to reflect any dynamic configuration); also, 'dynamic_config'
 1048    will be set to false and 'generated_by' will be updated [David Golden]
 1049 
 1050 0.35_09 - Thu Nov 19 01:30:42 EST 2009
 1051 
 1052  Bug fixes:
 1053 
 1054  - The DB package should not be included in 'provides' in META files
 1055    [David Golden]
 1056 
 1057  - Fixed t/xs.t build failures in bleadperl for noexec temp directories
 1058    [Nicholas Clark]
 1059 
 1060  - Adjusted order of @INC in resume() (fixes par.t, ppm.t, xs.t fails):
 1061    @INC = @new_additions_to_inc, @saved_additions_to_inc, @default_inc
 1062    [David Golden]
 1063 
 1064  - Skip bundle_inc.t tests if bundled Module::Build for test can't be
 1065    tweaked (Works around test crashes on Win2) [David Golden]
 1066 
 1067  Other:
 1068 
 1069  - 'C_support' is no longer an optional feature.  Modern ExtUtils::CBuilder
 1070    and ExtUtils::ParseXS added to the 'requires' list.  This ensures that
 1071    upgrading Module::Build will upgrade this critical modules.
 1072    ExtUtils::CBuilder no longer requires a compiler, so it is "safe" to
 1073    require.
 1074 
 1075 0.35_08 - Mon Nov 16 22:38:28 EST 2009
 1076 
 1077  Bug fixes:
 1078 
 1079  - Multiple tests were failing due to dependency problems.  Author
 1080    dependencies have been largely removed from core 'requires' into
 1081    optional features.  Feature prereq detection and messaging have been
 1082    expanded and bugs on older Perls have been removed.
 1083 
 1084 0.35_07 - Sat Nov 14 17:14:39 EST 2009
 1085 
 1086  Bug fixes:
 1087 
 1088  - Auto-detection of abstract and author fixed for mixed-case POD headers
 1089    (RT#51117) [David Wheeler]
 1090 
 1091  - resume() was not restoring additions to @INC added in Build.PL
 1092    (RT#50145) [David Golden]
 1093 
 1094  - When tarball paths are less than 100 characters, disables 'prefix'
 1095    mode of Archive::Tar for maximum compatibility (RT#50571) [David Golden]
 1096 
 1097 0.35_06 - Fri Nov 13 14:51:28 EST 2009
 1098 
 1099  Enhancements:
 1100 
 1101  - Added experimental inc/ bundling; see Module::Build::Bundling for
 1102    details.  [David Golden and Eric Wilhelm]
 1103 
 1104  - Clarified that 'apache' in the license attribute indicates the Apache
 1105    License 2.0 and added 'apache_1_1' for the older version of the license
 1106    (RT#50614) [David Golden]
 1107 
 1108  Bug fixes:
 1109 
 1110  - Merging 'requires' and 'build_requires' in Module::Build::Compat could
 1111    lead to duplicate PREREQ_PM entries; now the highest version is used
 1112    for PREREQ_PM. (RT#50948) [David Golden]
 1113 
 1114  - Module::Build::Compat will now die with an error if advanced,
 1115    non-numeric prerequisites are given, as these are not supported by
 1116    ExtUtils::MakeMaker in PREREQ_PM [David Golden]
 1117 
 1118  - Made MYMETA generation non-fatal if fields required for META.yml
 1119    are missing [David Golden]
 1120 
 1121  - Added Pod::Simple to requirements for manpage support; avoids
 1122    problems if a user has a broken Pod::Man/Pod::Simple.  (RT#50081)
 1123    [David Golden]
 1124 
 1125  - Won't die if installed Pod::Readme is broken [David Golden]
 1126 
 1127  Other:
 1128 
 1129  - Fixed Module::Build::Notes POD [David Golden]
 1130 
 1131  - Some commands had become silent by default, so added a few short status
 1132    messages so users know something actually happened [David Golden]
 1133 
 1134  - Cleaned up Changes file formatting [David Golden]
 1135 
 1136  - Removed most PERL_CORE customizations from test files due to
 1137    reorganization of dual-life modules in core (RT#49522) [David Golden]
 1138 
 1139 0.35_05 - Wed Oct 28 17:20:59 EDT 2009
 1140 
 1141  Bug fixes:
 1142 
 1143  - Fix test failure in t/actions/installdeps.t when $^X is not the default
 1144    perl [David Golden]
 1145 
 1146  - Work around $VERSION numbers in ActiveState with multiple underscores
 1147    that prevent Module::Build from installing on Win32 [David Golden]
 1148 
 1149  - Fix bug cleaning compatibility Makefile when older ExtUtils::Manifest is
 1150    installed [David Golden with help from David Cantrell]
 1151 
 1152  Other:
 1153 
 1154  - Suppressed more warnings from tests [David Golden]
 1155 
 1156  - Add provisional support for 'package NAME VERSION' syntax added in
 1157    Perl 5.11.1 [David Golden]
 1158 
 1159 0.35_04 - Fri Oct 23 11:20:41 EDT 2009
 1160 
 1161  Bug fixes:
 1162 
 1163  - Fix test failure if IPC::Cmd isn't installed [David Golden]
 1164 
 1165  Other:
 1166 
 1167  - Suppressed warning messages from various tests [David Golden]
 1168 
 1169 0.35_03 - Wed Oct 21 21:20:59 EDT 2009
 1170 
 1171  *** API CHANGE ***
 1172 
 1173  - The prepare_metadata() method used to take a YAML::Node object as an
 1174    argument for modification.  The method now takes no arguments and just
 1175    returns a hash reference of metadata. [David Golden]
 1176 
 1177  Enhancements
 1178 
 1179  - Command line options may be set via the PERL_MB_OPT environment
 1180    variable (similar to PERL_MM_OPT in ExtUtils::MakeMaker)
 1181 
 1182  Bug fixes:
 1183 
 1184  - Updated PPM generation to PPM v4 (RT#49600) [Olivier Mengue]
 1185 
 1186  - When c_source is specified, the directory scan will include additional,
 1187    less-common C++ extensions (RT49298) [David Golden]
 1188 
 1189  - When module_name is not supplied, no packlist was being written; fixed
 1190    by guessing module_name from dist_version_from or the directory name
 1191    (just like ExtUtils::Manifest does without NAME) [David Golden]
 1192 
 1193  - Bumped IO::File prereq to fix binmode failures in PPMMaker on Perl
 1194    prior to 5.8.8 [David Golden]
 1195 
 1196  Other:
 1197 
 1198  - Replaced use of YAML.pm with YAML::Tiny; Module::Build::YAML is now
 1199    based on YAML::Tiny as well [David Golden]
 1200 
 1201  - Reduced amount of console output under normal operation (use --verbose
 1202    to see all output) [David Golden]
 1203 
 1204 0.35_02 - Mon Sep  7 22:37:42 EDT 2009
 1205 
 1206  Enhancements:
 1207 
 1208  - Added 'needs_compiler' property.  Defaults to true if XS or c_source
 1209    exist.  If true, ExtUtils::CBuilder is also added to build_requires.
 1210    [David Golden]
 1211 
 1212  - File::ShareDir automatically added to 'requires' if 'share_dir' is set
 1213    [David Golden]
 1214 
 1215  - Added 'Build installdeps' action to install needed dependencies via
 1216    a user-configurable command line program.  (Defaults to 'cpan'.)
 1217    [Eric Wilhelm]
 1218 
 1219  Bug fixes:
 1220 
 1221  - Failure to detect a compiler will now warn during Build.PL and be a
 1222    fatal error when trying to compile during Build. (RT#48918) [David
 1223    Golden]
 1224 
 1225  - Fixed directory sorting failure in share_dir.t [David Golden]
 1226 
 1227  - Property defaults that are data structures were being assigned as
 1228    references to new objects. Changed so that defaults are cloned instead.
 1229    (This mostly affects testing, which often creates multiple objects in the
 1230    same process) [David Golden]
 1231 
 1232  - Simplified error message on exit under use_tap_harness [suggested by
 1233    David Wheeler]
 1234 
 1235  - Fixed typemap search to use a dist-level typemap if a typemap is not
 1236    found in the directory with the *.xs file; (was manifesting as warnings
 1237    in Perl 5.6 tests) [David Golden]
 1238 
 1239  Other:
 1240 
 1241  - Replaced guts of new_from_context().  Build.PL is now executed in a
 1242    separate process before resume() is called.  (This is generally only of
 1243    interest to Module::Build or toolchain developers) (RT#49350) [David
 1244    Golden, Eric Wilhelm, Ken Williams]
 1245 
 1246  - Revised test helper classes to fix potential bugs and add new features
 1247    to make writing tests simpler and easier.  Changes incorporated into
 1248    t/README.pod and t/sample.t as examples for new testing. [David Golden]
 1249 
 1250 0.35_01 - Mon Aug 31 12:11:10 EDT 2009
 1251 
 1252  Enhancements:
 1253 
 1254  - Generates MYMETA.yml during Build.PL (new standard protocol for
 1255    communicating configuration results between toolchain components)
 1256    [David Golden]
 1257 
 1258  - Added 'share_dir' property to provide File::ShareDir support;
 1259    set automatically if a directory called 'share' exists
 1260    [David Golden]
 1261 
 1262  Bug fixes:
 1263 
 1264  - Fix the t/destinations.t fix. [David Golden, with thanks to Eric Wilhelm]
 1265 
 1266  - Fix recursive test files in generated Makefile.PL (RT#49254) [Sawyer X]
 1267 
 1268  - Guard against trying :utf8 when :utf8 isn't available
 1269 
 1270  - The "test" action now dies when using the 'use_tap_harness'
 1271    option and tests fail, matching the behavior under Test::Harness.
 1272    (RT#49080) [initial patch from David Wheeler; revised by David Golden]
 1273 
 1274  Other:
 1275 
 1276  - Added t/README.pod and t/sample.t to guide developers writing new tests
 1277    [David Golden, with some code from Eric Wilhelm]
 1278 
 1279  - Module::Build::Compat 'passthrough' style has been deprecated.  Using
 1280    'passthrough' will issue warnings on Makefile.PL generation.  See
 1281    Module::Build::Compat documentation for rationale.
 1282 
 1283 0.35 - Thu Aug 27 09:12:02 EDT 2009
 1284 
 1285  Bug fixes:
 1286 
 1287   - Fix t/destinations.t segfault on 5.6.2 [David Golden]
 1288 
 1289 0.34_06 - Sat Aug 22 21:58:26 EDT 2009
 1290 
 1291  Bug fixes:
 1292 
 1293  - Multiple test fixes for OS2 [Ilya Zakharevich]
 1294 
 1295  - Generated.ppd files use :utf8 if possible (RT#48827) [Olivier Mengue]
 1296 
 1297  - Fixed preservation of custom install_paths on resume (RT#41166)
 1298    [David Golden]
 1299 
 1300  - Warn instead of crashing when Pod::Man tries to create files with
 1301    colons on vfat partitions on unix (RT#45544) [David Golden]
 1302 
 1303 0.34_05 - Sun Aug  9 22:31:37 EDT 2009
 1304 
 1305  Bug fixes:
 1306 
 1307  - When auto_configure_requires is true (the default), Module::Build will
 1308    only add last 'major' version of Module:Build (e.g. 0.XX) to
 1309    configure_requires to avoid specifying a minor development release not
 1310    available on CPAN [David Golden]
 1311 
 1312 0.34_04 - Sat Aug  8 11:02:24 EDT 2009
 1313 
 1314  Other:
 1315 
 1316  - Added documentation warning that 'get_options' should be capitalized
 1317    to avoid conflicting with future Module::Build options and changed
 1318    the examples accordingly.
 1319 
 1320 0.34_03 - Sat Aug  8 07:39:16 EDT 2009
 1321 
 1322  Bug fixes:
 1323 
 1324  - Fixed failing xs.t if /tmp is mounted noexec (RT#47331) [David Golden]
 1325 
 1326  - Fixed failing debug.t on VMS (RT#48362) [Craig Berry]
 1327 
 1328  - Prevent par.t from dying on error in .zip extraction [David Golden]
 1329 
 1330  - Fixed potential runthrough.t failure on 5.6.2 [David Golden]
 1331 
 1332  Other:
 1333 
 1334  - Archive::Tar changed from 'requires' to 'recommends' so non-authors
 1335    without IO::Zlib can still use Module::Build to install modules
 1336    [reported by Matt Trout, fix by David Golden]
 1337 
 1338 0.340201 - Sun Aug  9 22:11:04 EDT 2009
 1339 
 1340  Other:
 1341 
 1342  - Version bump for Perl core for 5.10.1 release; no other changes
 1343 
 1344 0.34_02 - Sun Jul 26 22:50:40 EDT 2009
 1345 
 1346  Bug-fixes:
 1347 
 1348  - Bundled Module::Build::Version updated to bring into sync with CPAN
 1349    version.pm 0.77 [John Peacock]
 1350 
 1351 0.34_01 - Sat Jul 18 16:32:09 EDT 2009
 1352 
 1353  Enhancements:
 1354 
 1355  - Added --debug flag to trace Build action execution (RT#47933)
 1356    [David Golden]
 1357 
 1358  Bug-fixes:
 1359 
 1360  - Bundled Module::Build::Version version code updated to fix unsafe use
 1361    of $@ (RT#47980) [John Peacock]
 1362 
 1363 0.34 - Tue Jul  7 16:56:47 EDT 2009
 1364 
 1365  No changes from 0.33_06
 1366 
 1367 0.33_06 - Sun Jul  5 10:11:40 EDT 2009
 1368 
 1369  Bug-fixes:
 1370 
 1371  - Bundled version code will use pure Perl on 5.10.0 to work around
 1372    a corner case involving eval and locale [John Peacock]
 1373 
 1374  - Reversed VMS patch from 0.33_03 [Craig Berry]
 1375 
 1376  - PL_files in Build.PL that are in the bin/scripts directory should not be
 1377    installed as if they are scripts (fixed for case-tolerant systems).
 1378    [David Golden, reported by Craig Berry]
 1379 
 1380 0.33_05 - Sun Jun 28 22:06:49 EDT 2009
 1381 
 1382  Enhancements:
 1383 
 1384  - New 'auto_configure_requires' parameter (default 1) controls
 1385    whether Module::Build should add itself to configure_requires
 1386    in META.yml if not specified in Build.PL [David Golden]
 1387 
 1388  Bug-fixes:
 1389 
 1390  - The default MANIFEST.SKIP created by the "manifest" action
 1391    was out of date.  It will now use the installed MANIFEST.SKIP
 1392    and add some Module::Build and distribution specific items
 1393    to it. [Michael Schwern]
 1394 
 1395  Other:
 1396 
 1397  - configure_requires do not necessarily need to be in requires
 1398    or build_requires; warning to that effect has been removed
 1399    [David Golden]
 1400 
 1401 0.33_04 - Fri Jun 26 07:09:06 EDT 2009
 1402 
 1403  Bug-fixes:
 1404 
 1405  - Don't try utf8 YAML I/O on Perl 5.6 [David Golden]
 1406 
 1407  Other:
 1408 
 1409  - configure_requires added to prereq report (RT#47254) [Curtis Jewell]
 1410 
 1411  - updated Module::Build::Version to match forthcoming version.pm 0.77
 1412    (RT#47256) [John Peacock]
 1413 
 1414  - skips xs.t and ppm.t when perl was not compiled with dynamic loading
 1415    since Module::Buld does not support static linking (RT#46178)
 1416    [David Golden]
 1417 
 1418  - skip failing test in par.t if Archive::Zip is broken [David Golden]
 1419 
 1420  - Added YAML utf8 patch in 0.33_03 changes list
 1421 
 1422  - Added attribution for patches in 0.33_03 changes list
 1423 
 1424 0.33_03 - Mon Jun 22 17:22:56 EDT 2009
 1425 
 1426  Bug-fixes:
 1427 
 1428  - Removes Module::Build from its own configure/build_requires
 1429    [David Golden]
 1430 
 1431  - ConfigData->feature() confirms that modules actually load successfully,
 1432    not just that they are present. (RT#43557) [David Golden]
 1433 
 1434  - Module::Build::Compat handling of INSTALL*LIB (RT#43827)
 1435    [Tony Payne, David Golden]
 1436 
 1437  - Module::Build::Compat and recursive test files (RT#39171) [Dave Rolsky]
 1438 
 1439  - Fixed bug linking non-standard XS names on Windows (RT#38065) ["snaury"]
 1440 
 1441  - Run PL files that don't generate any file (RT#39365)
 1442    [Matisse Enzer, David Golden]
 1443 
 1444  - HTML generation failure no longer fatal (RT#36660) [David Golden]
 1445 
 1446  - realclean might not delete Build.bat on Windows (RT#43863)
 1447    [Roy Ivy, David Golden]
 1448 
 1449  - include_dirs parameter now works correctly when given a single
 1450    string argument (RT#40177) [David Wheeler]
 1451 
 1452  - Lots of spelling fixes in the POD (RT#45528r) [Lars Dieckow]
 1453 
 1454  - On Unix-like systems, tilde expansion is more liberal in username
 1455    characters accepted (RT#33492) [Jon Jensen]
 1456 
 1457  Other
 1458 
 1459  - On MSWin32, bumped File::Spec prereq to 3.30 for a variety of fixes
 1460 
 1461  - Add support for VMS in Unix compatibility mode (RT#42157)
 1462    [John E. Malmberg
 1463 
 1464  - Added a can_action($name) method (RT#45172) [brian d foy]
 1465 
 1466  - Documented that subclass methods should not permanently change
 1467    current directory (RT#46919) [David Wheeler]
 1468 
 1469  - META.yml encoded in UTF-8 (RT#43765) [Olivier Mengue]
 1470 
 1471 0.33_02 - Mon Jun 15 12:23:55 EDT 2009
 1472 
 1473  Bug-fixes:
 1474 
 1475  - Fixed tests for bleadperl
 1476 
 1477 0.33_01 - Sat Jun 13 20:24:42 EDT 2009
 1478 
 1479  Bug-fixes:
 1480 
 1481  - Fixed RT#42724: consolidated VMS fixes [patch by Craig Berry]
 1482 
 1483  - Fixed RT#46338: passthrough Makefile.PL cleans Makefile during distclean
 1484 
 1485  - Fixed RT#45700: t/compat.t for HP/UX make
 1486 
 1487  Other:
 1488 
 1489  - Adds current Module::Build to configure_requires (and build_requires)
 1490    if no configure_requires is specified
 1491 
 1492  - Always normalizes version number tuples in META.yml (e.g. 'v1.2.0')
 1493    (Partially addresses RT#46150)
 1494 
 1495  - Normalizes a generated dist_version (e.g. from a .pm file) --
 1496    dist_version set manually in Build.PL is not normalized
 1497 
 1498  - Documentation update for create_license
 1499 
 1500  - Minor POD cleanup
 1501 
 1502 0.33 - Sun May  3 20:16:34 PDT 2009
 1503 
 1504  Bug-fixes:
 1505 
 1506  - Fixed RT#45462: Compat.pm needs to reference 'Build.com' on VMS
 1507    [patch from John Malmberg]
 1508 
 1509  - Fixed RT#45461: ext.t on VMS [patch from John Malmberg]
 1510 
 1511  - Fixed RT#43861: Module::Build::PPMMaker has broken PPD name
 1512    versioning for v5.10+
 1513 
 1514 0.32_01 - Tue Apr 14 17:14:22 PDT 2009
 1515 
 1516  Bug-fixes:
 1517 
 1518  - Module::Build::Compat had stopped adding "PL_FILES => {}" when no
 1519    PL_files property was set in Build.PL; restored old behavior and fixed
 1520    tests and documentation related to this issue [David Golden]
 1521 
 1522  - Caches ExtUtils::CBuilder object in a temporary stash instead of properties
 1523 
 1524  - Fixed undef resources->license in META.yml (RT #44453).
 1525 
 1526  - Use $^X instead of 'perl' in t/ext.t [David Golden] (RT #43485)
 1527 
 1528  Other:
 1529 
 1530  - Generated META.yml will indicate version 1.4 of the specification
 1531    (RT #37478) [patch from Alexandr Ciornii]
 1532 
 1533  - Archive::Tar now the default for generating tarballs on all platforms
 1534    (avoids problems with incompatible tar binaries)
 1535 
 1536  - dist_dir() now uses dist_name() and dist_version() accessors rather
 1537    than using its properties directly. [brian d foy] (RT #45038)
 1538 
 1539 0.32 - Wed Feb 25 17:40:02 PST 2009
 1540 
 1541  No changes since 0.31_04.
 1542 
 1543 0.31_04 - Fri Feb 20 11:04:59 PST 2009
 1544 
 1545  Other
 1546 
 1547 - Bumped Test::Harness prereq to 3.16 for latest PERL5LIB fixes (solves
 1548    test failures when installing Module::Build using CPANPLUS::Dist::Build)
 1549    [David Golden]
 1550 
 1551 0.31_03 - Sun Feb  8 14:54:01 PST 2009
 1552 
 1553  Enhancements
 1554 
 1555  - added a "prereq_data" action that prints a Perl data structure of
 1556    all prerequisites; can be loaded by external tools using eval()
 1557    [David Golden]
 1558 
 1559  Bug-fixes
 1560 
 1561  - 'fakeinstall' action warns and skips without ExtUtils::Install 1.32+
 1562    [David Golden, reported by Zefram]
 1563 
 1564  - allows Module::Build version mismatch when installing self; works around
 1565    limitations in CPANPLUS::Dist::Build [David Golden]
 1566 
 1567 0.31_02 - Tue Jan 27 09:16:43 PST 2009
 1568 
 1569  Other
 1570 
 1571  - tests now use File::Temp (added to build_requires); appears to fix
 1572    Win32 testing heisenbug on directory removal during high system loads
 1573 
 1574  - use_tap_harness.t will skip unless a release version of TAP::Harness
 1575    is installed
 1576 
 1577  - improved diagnostics to ensure_blib() tests in t/lib/MBTest.pm
 1578 
 1579  Compat
 1580 
 1581  - passthrough Makefile.PL will now play nice with cpantesters' on
 1582    exit(0) (RT#32018) [Eric Wilhelm]
 1583 
 1584  Bug Fixes
 1585 
 1586  - fix for doubling-up of --prefix (RT#19951)
 1587 
 1588 0.31012 - Wed Jan 14 01:36:19 PST 2009
 1589 
 1590  Bug Fixes
 1591 
 1592  - t/tilde.t maybe actually fixed on MSWin32 now.
 1593 
 1594 0.31011 - Mon Jan 12 21:57:04 PST 2009
 1595 
 1596  Bug Fixes
 1597 
 1598  - t/tilde.t had been failing on MSWin32 (RT#42349)
 1599 
 1600 0.3101 - Mon Jan 12 13:52:36 PST 2009
 1601 
 1602  Other
 1603 
 1604  - added 'mirbsd' as a Unix-type OS [BinGOs]
 1605 
 1606  - added 'haiku' as a Unix-type OS (backported from bleadperl)
 1607 
 1608  - skips certain tests on VMS (backported from bleadperl)
 1609 
 1610  - sets $^X to absolute path in tests (backported from bleadperl)
 1611 
 1612 0.31 - Sat Dec 20 15:03:33 2008
 1613 
 1614  Deprecations
 1615 
 1616  - Use of attributes as class methods is deprecated (this was never a
 1617    documented feature and appears to only have worked accidentally.)
 1618 
 1619 0.30_02 - Mon Dec 15 12:23:55 PST 2008
 1620 
 1621  Bug Fixes
 1622 
 1623  - make Software::License dependency "softer".
 1624 
 1625 0.30_01 - Thu Dec 11 18:25:53 PST 2008
 1626 
 1627  New Docs
 1628 
 1629  - Added a recipe for writing a new action to the Cookbook
 1630 
 1631  - Added a recipe for bundling Module::Build to the Cookbook.
 1632 
 1633  Doc Fixes
 1634 
 1635  - Clarified dist_abstract search procedure in API.pod (RT#41056) [Mario
 1636    Domgoergen]
 1637 
 1638  Bug Fixes
 1639 
 1640  - Workaround HARNESS_TIMER env issue in t/compat.t (RT#39635)
 1641 
 1642  - Fix ~ expansion when $HOME is different from /etc/passwd as
 1643    when running sudo.  [rt.cpan.org 39662]
 1644 
 1645  - Fixed a small POD error in the Cookbook. [Damyan Ivanov]
 1646 
 1647  - Unset group/other write permission bits when using Archive::Tar to
 1648    build the dist tarball. (RT#39804) [David Golden]
 1649 
 1650  Enhancements
 1651 
 1652  - We now support a 'create_license' parameter to new() that will
 1653    create a LICENSE file during the 'dist' phase with the full text of
 1654    the license.  This requires Software::License on the author's
 1655    machine.
 1656 
 1657  - Added lgpl2/lgpl3 entries to the supported licenses (RT#40532).
 1658 
 1659  - Support for validating properties with a check subref. [David
 1660    Wheeler]
 1661 
 1662  Test Fixes
 1663 
 1664  - Defend against more stray environment variables interfering
 1665    with the tests.
 1666 
 1667  Other
 1668 
 1669  - Updated our embedded version.pm to 0.76, enhanced documentation on
 1670    dist_version_from.  [John Peacock]
 1671 
 1672 0.30 - Thu Sep 25 20:57:36 2008
 1673 
 1674  - First non-beta release since April 2007.  In the meantime, Sarkozy
 1675    became president of France, the 35W bridge fell in Minneapolis,
 1676    Phelps won a lot of gold, a new tribe of indigenous people was
 1677    discovered in the Amazon, and Bob Barker stopped doing The Price Is
 1678    Right.  As of this moment though, the U.S. economy still hasn't
 1679    collapsed completely.
 1680 
 1681 0.2808_05 - Thu Sep 18 23:30:39 PDT 2008
 1682 
 1683  - Skip test in t/ext.t which tickles shellwords() in Text::ParseWords
 1684    below 3.23 [David Wheeler, Ken]
 1685 
 1686  - Fixed some shell-quoting issues in do_system() on Windows [Ken,
 1687    Schwern, reported by Curtis Jewell]
 1688 
 1689  - Fixed t/xs.t failure for missing 'const char *' typemap in 5.6
 1690    [Schwern]
 1691 
 1692  - Added build_requires for Test::More 0.49 and Test::Harness 2.03.
 1693    Removed bundled Test::More (was not working for 5.005x anyway).
 1694    [Schwern]
 1695 
 1696  - Minimum required perl version is now 5.6.1. [Schwern]
 1697 
 1698 0.2808_04 - Thu Sep 11 22:51:27 PDT 2008
 1699 
 1700  - Backed-out incompatible Module::Build::ModuleInfo change (first in
 1701    0.2808_02.)
 1702 
 1703 0.2808_03 - Mon Sep  1 14:43:27 PDT 2008
 1704 
 1705  - Made adjustments for the format changes of recent Test::Harness
 1706    output. [Nicholas Clark]
 1707 
 1708  - Fixed the documentation for script_files to indicate that we search
 1709    bin/ for scripts by default.  It has been this way for several
 1710    years. [Spotted by Ron Savage]
 1711 
 1712 0.2808_02 - Wed Jul  9 16:45:08 PDT 2008
 1713 
 1714  - Experimental support for TAP::Harness with --use-tap-harness option
 1715    and the tap_harness_args property. [David Wheeler & Eric Wilhelm]
 1716 
 1717  - Added test_file_exts property for main-run tests other than '*.t'.
 1718    [David Wheeler]
 1719 
 1720  - Fixed getcwd()/rmtree() failure case on 5.10+mac where something is
 1721    unhappy about all of the tests deleting their distgen directory
 1722    before leaving it. [Eric Wilhelm & David Wheeler]
 1723 
 1724  - Improved support for parsing qv() in modules' $VERSION
 1725    declarations, and made $VERSION-parsing errors more verbose. [Jos
 1726    Boumans]
 1727 
 1728  - Integrated an omnibus patch for various VMS fixes. [Craig Berry &
 1729    John E. Malmberg]
 1730 
 1731  - Some versions of Test::Harness (or something) seem to not be
 1732    stripping the ".t" suffix when outputting test reports, which was
 1733    causing one of our tests in t/compat.t to fail.  Fixed. [Spotted by
 1734    a smoke tester]
 1735 
 1736  - Most Unix platforms seem to allow hyphens in usernames, so we honor
 1737    this in our de-tilde-fying methods now. [Spotted by s-murata]
 1738 
 1739  - If there are multiple assignments to the $VERSION variable in
 1740    someone's module and this generates warnings, tell the user what
 1741    line number the problem is at.
 1742 
 1743  - Added 'gnu' and 'gnukfreebsd' as Unix variants. [Niko Tyni]
 1744 
 1745  - Fixed a couple bugs in how we quote arguments to external processes
 1746    when they have to pass through the shell.  Also much more
 1747    thoroughly tested our quoting now.
 1748 
 1749  - Edited the Module::Build::API docs prose about the 'license' field
 1750    in response to some comments on the module-authors mailing list.
 1751 
 1752  - Fixed a typo in some example code in the Cookbook. [Jeremy Leader]
 1753 
 1754  - Custom typemaps were being looked for in places that don't quite
 1755    exist; fixed. [Michael G Schwern]
 1756 
 1757  - QNX/Neutrino is now considered to be Unix. [rt.cpan.org 32214]
 1758 
 1759  - Added 'gpl2' and 'gpl3' to the list of valid licenses. [Allen
 1760    Engelhardt]
 1761 
 1762  - Fixed our Data::Dumper wrapper's sensitivity to users who might set
 1763    $Data::Dumper::Terse. [Spotted by Dominique Dumont]
 1764 
 1765  - Documented the fix_shebang_line() method. [Elliot Shank]
 1766 
 1767  - Applied the 'const' modifier to version() and xs_version() XS
 1768    functions we use during testing. [Robin Barker]
 1769 
 1770  - Fixed processing of INC=, POLLUTE=, INSTALLDIRS=, and LIB= for
 1771    passthrough/small Makefile.PLs.
 1772 
 1773  - perl Build.PL --sign=1 now signs. [Michael G Schwern]
 1774 
 1775  - Fixed processing of INSTALLDIRS=whatever for compatibility
 1776    Makefiles. [Spotted by John Peacock]
 1777 
 1778  - Zillions of special-cases have been added in Compat.pm for dealing
 1779    with the special Makefile system on VMS. [John E. Malmberg]
 1780 
 1781  - Fixed some stuff in how VMS command-args get quoted. [John E. Malmberg]
 1782 
 1783  - VMS now overrides localize_file_path() and localize_dir_path() so
 1784    we don't need to do special stuff in the general case. [John
 1785    E. Malmberg]
 1786 
 1787  - Added a few more VMS-specific entries to the default MANIFEST.SKIP
 1788    file that (sometimes) gets created during the 'manifest'
 1789    action. [John E. Malmberg]
 1790 
 1791  - Fixed a catdir() that should have been a catfile() when creating a
 1792    ppmdist. [John E. Malmberg]
 1793 
 1794  - Removed some assumptions about what makefiles are called (not
 1795    necessarily "Makefile") and how they take their arguments, to get
 1796    VMS tests working better. [John E. Malmberg]
 1797 
 1798  - Fixed our check for Archive::Tar in the t/runthrough.t test, which
 1799    fixes a common failure on Win32. [Spotted by Chris Williams]
 1800 
 1801  - Fixed a File::Spec mal-ism in t/destinations.t [Craig A. Berry]
 1802 
 1803  - Exposed the internal ExtUtils::CBuilder object as part of our API,
 1804    via the cbuilder() method. [Zefram]
 1805 
 1806  - Upgraded to version.pm 0.74 (fixes bug #30004.)
 1807 
 1808  - Overwrite core (post-5.9.4) Module::Build installs (bug #20528.)
 1809 
 1810  - Pass quiet() option to ExtUtils::CBuilder object.
 1811 
 1812 0.2808_01 - Wed Oct 24 11:51:25 2007
 1813 
 1814  - All .pm files in the Module-Build distribution (except for
 1815    M::B::Version.pm, which is kind of tied to version.pm) now have the
 1816    same $VERSION number explicitly specified.
 1817 
 1818  - When checking prerequisites, the required version of perl is now
 1819    checked before we start finding the $VERSION declaration of the
 1820    distribution, which results in much more intuitive error messages
 1821    e.g. if the author is using 5.6-isms in their declaration but the
 1822    user doesn't have 5.6. [Slaven Rezic]
 1823 
 1824  - Added 'artistic_2' license, corrected 'lgpl' license url (bug #29783)
 1825    [David Thomas]
 1826 
 1827  - VMS find_perl_interpreter() is just $^X (bug #29810) [Craig A. Berry]
 1828 
 1829  - Some large VMS fixes, mostly having to do with the non-case-
 1830    preserving nature of most VMS filesystems, but also correcting for
 1831    illegal characters in VMS file specs. [John E. Malmberg and Craig
 1832    A. Berry]
 1833 
 1834  - Fixed the _detildefy() method on VMS. [John E. Malmberg and Craig
 1835    A. Berry]
 1836 
 1837  - We now use a much more reliable method when Data::Dumper-ing saved
 1838    state data. [Yves]
 1839 
 1840  - When a module had 0.000 as its version, a few places in the code
 1841    thought the module had no version at all.  This is now
 1842    fixed. [Andrew "Zefram" Main]
 1843 
 1844  - When finding the default set of script_files, we now compute them
 1845    as relative paths, not absolute. [Spotted by Curtis "Ovid" Poe]
 1846 
 1847  - Got rid of a call to eliminate_macros, which isn't needed in
 1848    Module::Build since there is no external make utility involved.
 1849    Override expand_test_dir to make up for the fact that the
 1850    home-grown glob() returns absolute, not relative, paths. [Craig
 1851    A. Berry]
 1852 
 1853  - Fixed a catdir() that needed to be catfile() in the .packlist
 1854    creation code. [John E. Malmberg]
 1855 
 1856  - If a *.PL file ended abnormally during the build, processing should
 1857    have stopped, but it didn't.  Fixed. [Matthew Cast and David
 1858    Golden]
 1859 
 1860  - Module::Build::Compat adds "require 5.XXXXX" to Makefile.PL when
 1861    'perl' is specified as a 'requires' prerequisite [David Golden]
 1862 
 1863  - Refactored t/compat.t for modularity and transparency; added
 1864    labels for all tests; supressed subprocess output to
 1865    STDOUT and STDERR [David Golden]
 1866 
 1867  - Fixed bug in perl_version_to_float when version is already a float
 1868    [David Golden]
 1869 
 1870  - Removed a mention of $build->{config} from the documentation, the
 1871    official interface to Config.pm settings is now via the
 1872    $build->config() and has been for some time. [Suggested by Michael
 1873    Schwern]
 1874 
 1875  - Tweaked some text in the Cookbook to bring it into the modern age,
 1876    and added a recipe for accessing Config.pm settings. [Ibid]
 1877 
 1878  - Lots of POD link/readability improvements to the Module::Build::API
 1879    documentation [Salve J. Nilsen]
 1880 
 1881  - Added configure_requires as a new type of prereq.  [Suggested by Adam
 1882    Kennedy]
 1883 
 1884  - Patch 31156 from bleadperl: some filename dot and extension help
 1885    for Module::Build on VMS. [Craig Berry]
 1886 
 1887  - Reworked the _detildefy() method so it doesn't depend on glob()
 1888    anymore.  This gets rid of a problem with spaces or other special
 1889    shell characters in things like 'prefix' or 'install_path'
 1890    entries. [Prodding by Eric Wilhelm]
 1891 
 1892  - Added midnightbsd to the list of Unix-like OSes we know about
 1893    [Rafael Garcia-Suarez]
 1894 
 1895 0.2808 - Sat Apr 28 12:59:43 2007
 1896 
 1897  - Added is_vmsish(), is_windowsish(), and is_unixish() boolean
 1898    convenience functions.  Fixes some test failures on platforms where
 1899    $^O is set to a value we don't know about (like 'gnu').
 1900 
 1901  - Upgraded to version.pm 0.7203. [John Peacock]
 1902 
 1903  - Support get_action_docs() =head2 style. [ewilhelm]
 1904 
 1905  - Workaround Test::Pod::Coverage @INC bug. [Eric Wilhelm]
 1906 
 1907  - Fixed the command-line args --extra_compiler_flags and
 1908    --extra_linker_flags so they properly shell-split their arguments.
 1909 
 1910 0.2807 - Sat Mar 24 22:19:02 2007
 1911 
 1912  - Upgraded to version.pm 0.71. [John Peacock]
 1913 
 1914  - Removed a couple small constructs in the tests ("use warnings;" and
 1915    "qw$foo bar$[1]") that caused test failures under perl 5.005.
 1916 
 1917  - Added support for an explicit default value of undef in prompt().
 1918    [Eric Wilhelm]
 1919 
 1920  - Improved our prompt() method, which could sometimes hang before the
 1921    user got a chance to see a prompt. [Andreas Koenig]
 1922 
 1923  - Added a note about --allow_mb_mismatch to the error message that
 1924    happens right before someone might want to use that parameter.
 1925 
 1926  - Added DragonflyBSD to the list of known Unix OSes.
 1927 
 1928  - get_action_docs() dies on error rather than twiddling $@
 1929 
 1930  - Made ModuleInfo's _evaluate_version_line() compatible with 'use
 1931    version ...$VERSION' lines.  [Eric Wilhelm]
 1932 
 1933  - Added some verbiage in Module::Build::API that officially blesses
 1934    the _build/prereqs file for external consumption. [Suggested by Andreas Koenig]
 1935 
 1936  - Added test profiles support via the test_types property and "testall"
 1937    target. [Eric Wilhelm, Jeff Lavallee]
 1938 
 1939  - Use syscopy() on OS/2 in copy_if_modified() so we make sure to
 1940    overwrite any existing target file. [Ilya Zakharevich]
 1941 
 1942  - Removed seemingly silly '~~' test in t/tilde.t.
 1943 
 1944  - In our test-time utility library t/lib/MBTest.pm, we need to know
 1945    about a few .exe-like extensions on OS/2. [Ilya Zakharevich]
 1946 
 1947  - In t/ppm.t, use DynaLoader::mod2fname() (if available) to determine
 1948    the correct translation of our test module's name into a DLL
 1949    name. [Ilya Zakharevich]
 1950 
 1951  - Avoid an unlink() error on OS/2 when fixing shebang lines. [Ilya
 1952    Zakharevich]
 1953 
 1954  - When we're protecting the world from the evils of long RedHat
 1955    $ENV{PERL5LIB} variables, don't assume $ENV{PERL5LIB} is already
 1956    defined.  This gets rid of a huge number of warnings for some
 1957    people. [Dave Rolsky]
 1958 
 1959 0.2806 - Fri Dec 15 22:20:14 2006
 1960 
 1961  - On some systems (haven't identified the actual problem yet)
 1962    $ENV{PERL5LIB} can grow to enormous enough sizes that we can't
 1963    launch any more subprocesses because the environment table is full.
 1964    This is the now-infamous "Couldn't run Build.PL: Argument list too
 1965    long" error.  Now we detect such situations and trim the directory
 1966    list to only include directories that actually exist, listed only
 1967    once each.  Not the ideal solution, but it should work.
 1968 
 1969  - Silence a warning in M::B::ModuleInfo that happens when the author
 1970    is using the "$VERSION = eval $VERSION" idiom.
 1971 
 1972  - When running the 'testcover' action, do "cover --delete" if any of
 1973    the test files have changed (we already did so if any of the code
 1974    under test has changed). [Suggested by Chris Dolan, RT #23584]
 1975 
 1976  - Fixed a broken link in the documentation about PREFIX. [Spotted by
 1977    David Steinbrunner]
 1978 
 1979  - Changes to do_system() & friends on VMS to get system calls working
 1980    much better there. [Craig Berry]
 1981 
 1982  - Added the "pardist" target which creates a PAR binary distribution
 1983    akin to a PPM distribution. [Steffen Mueller]
 1984 
 1985  - Added the Interix platform as a Unix variant. [Stephen Hartland]
 1986 
 1987  - Improved the error message we emit when a distribution contains XS
 1988    files but the user has no C compiler. [Suggested by Andreas Koenig]
 1989 
 1990 0.2805_01  Thu Sep  7 21:57:29 CDT 2006
 1991 
 1992  - Because of a weird behavior of YAML::Node, any distribution that
 1993    used version.pm objects to define their versions was generating the
 1994    wrong syntax for the versions in their META.yml file.  They will
 1995    now appear as strings like v3.42.1 or similar, including the
 1996    leading v.
 1997 
 1998  - Upgraded to version 0.67 of version.pm. [John Peacock]
 1999 
 2000  - Added a contrib/ directory with a bash completion function for M::B
 2001    actions and switches. [Julian Mehnle]
 2002 
 2003  - When we eval() the embedded version.pm code we will now die() if
 2004    the eval() was unsuccessful, rather than continuing blindly on and
 2005    dying mysteriously later.
 2006 
 2007  - Added a 'retest' action that lets users run the current regression
 2008    tests on a previously-installed version of a distribution.
 2009 
 2010  * Instead of storing an entire dump of the Config.pm hash in the
 2011    _build/ directory upon startup, we now just store any overrides the
 2012    user or author has specified.  Note that if you were doing anything
 2013    you weren't supposed to be doing, like poking around in the
 2014    internals of $buld->{config}, your code might break, so I've put
 2015    the asterisk of incompatibility on this one just to cover my
 2016    tuchus.  [Idea originally by Randy Sims]
 2017 
 2018  - Made copying files via copy_if_modified() a little less chatty.
 2019 
 2020 0.2805  Sat Jul 29 22:01:24 CDT 2006
 2021 
 2022  - We now embed a copy of version.pm right in the
 2023    Module::Build::Version source code, with John Peacock's blessing,
 2024    in case the user has a rough time installing version.pm.  This
 2025    helps alleviate troubles people were still having with working out
 2026    a seemingly circular dependency (even though version.pm now ships
 2027    with a standard Makefile.PL too).  A version.pm >= 0.661 installed
 2028    on the system will take precedence over our bundled one. [John
 2029    Peacock]
 2030 
 2031  - Fix some test warnings (or failures?) related to version.pm
 2032    numification. [John Peacock]
 2033 
 2034  - The top-level 'version' entry in META.yml files we'd generated was
 2035    in the wrong format (it was being treated as a version.pm object
 2036    rather than a serialized copy) due to a weird YAML::Node issue.
 2037    Fixed.
 2038 
 2039  - Don't 'use base qw(version)' anymore in our M::B::Version wrapper,
 2040    just set @ISA directly, because some people have reported that the
 2041    'use base' line is croaking.
 2042 
 2043  - Added an 'allow_mb_mismatch' parameter to suppress the startup
 2044    check that ensures the version of M::B currently running is the
 2045    same as the one initially used to run the Build.PL.  Use with
 2046    caution.
 2047 
 2048  - Module::Build::ModuleInfo will no longer detect things that look
 2049    like $VERSION assignments after an __END__ or __DATA__ token.
 2050 
 2051  - Updated documentation to mention the new mailing list on perl.org
 2052    rather than the old one on sourceforge.
 2053 
 2054 0.2804  Sun Jul 16 16:41:25 CDT 2006
 2055 
 2056  - Added 'use version;' in Module::Build::Version, because some
 2057    versions of base.pm won't automatically load version.pm when we do
 2058    'use base qw/version/;'. [Spotted by Erik Tank]
 2059 
 2060 0.2803  Sat Jul 15 08:26:34 CDT 2006
 2061 
 2062  - The META.yml file in the last release was all screwed up, so the
 2063    distribution wasn't indexed properly.  Fixed in this release.
 2064 
 2065 0.2802  Fri Jul 14 22:40:34 CDT 2006
 2066 
 2067  - Added reliance on version.pm, which means we should deal much
 2068    better with the wide range of version specifications one finds on
 2069    CPAN.  This is made possible by recent releases of version.pm that
 2070    give the user a pure-perl option, so installing version.pm
 2071    shouldn't be too onerous for most users.  [John Peacock]
 2072 
 2073  - We should be accepting the default when we're in unattended mode,
 2074    not acting dumb and ignoring both the default and the [empty]
 2075    answer from the user.  Fixed.  [Spotted by Nik Clayton]
 2076 
 2077 0.2801  Sun May 21 00:07:40 CDT 2006
 2078 
 2079  - Module::Build::Compat's emulation of INC is incorrectly prepending
 2080    a -I to the value of INC. This is incorrect because there should
 2081    already be a -I on the value. I.E. it's "perl Makefile.PL INC=-Ifoo"
 2082    not "perl Makefile.PL INC=foo" so Compat should not prefix a -I.
 2083    [Michael Schwern]
 2084 
 2085  - Native batch scripts under Windows should not be converted by
 2086    pl2bat. [Spotted by Ron Savage]
 2087 
 2088  - Tweaked the way we determine whether a file is executable on Unix.
 2089    We use this determination to decide whether to make it executable
 2090    during installation. [Julian Mehnle]
 2091 
 2092  - Replaced a vestigial 'next' with 'return' now that the code is in a
 2093    subroutine (htmlify_pods()), not a loop. [Ron Savage]
 2094 
 2095  - Fixed a guaranteed failure in t/signature.t when TEST_SIGNATURE was
 2096    set. [Eric R. Meyers]
 2097 
 2098  - Fixed a test failure that occurred when testing or installing in
 2099    unattended mode - the code to test whether unattended mode and
 2100    attended mode are working properly was assuming that we started out
 2101    in attended mode. [Steve Peters]
 2102 
 2103  - Improved our stand-in YAML generator that we use to generate
 2104    META.yaml when authors don't have a copy of YAML.pm installed on
 2105    their machine.  It was unable to handle things like embedded
 2106    newlines in the data, now it has a much more extensive escaping
 2107    mechanism. [Stephen Adkins]
 2108 
 2109  - Revised the docs for --prefix and PREFIX. [Michael Schwern]
 2110 
 2111 0.28  Thu Apr 27 22:25:00 CDT 2006
 2112 
 2113  - When y_n() or prompt() are called without a default value and the
 2114    build seems to be unattended (e.g. in automatic CPAN testing), we
 2115    now die() with an error message rather than silently returning
 2116    undef for prompt(), or looping indefinitely for y_n().
 2117 
 2118  - When searching for '.modulebuildrc', return the first HOME-like
 2119    directory that actually contains the file instead of the first
 2120    existing directory. Document the search locations and the order
 2121    searched. [Spotted by David Golden]
 2122 
 2123  - Split the API documentation out of Module::Build::Authoring into
 2124    its own document: Module::Build::API.
 2125 
 2126  - We should not emit a warning if a Module::Build subclass is
 2127    required in a Makefile.PL that is not bundled in the current
 2128    distribution; it may be installed on the user's system. [Spotted by
 2129    Tyler MacDonald]
 2130 
 2131  - copy_if_modified() now preserves the executable bit of the source
 2132    file. [Spotted by Julian Mehnle]
 2133 
 2134  - Fixed compatibility of our screen-scraping the Test::Harness output
 2135    so we can recognize the most recent Test::Harness version. [Steve
 2136    Hay]
 2137 
 2138  - Backing out a requirement added in 0.27_06 on the method y_n()
 2139    to always include a default. This behavior would cause existing
 2140    build scripts to start failing. We now fail with a missing default
 2141    only when $ENV{PERL_MM_USE_DEFAULT} is set because there is no
 2142    reasonable default.
 2143 
 2144  - Make install_types() method smarter with respect to custom install
 2145    types.
 2146 
 2147  - Add documentation for the install_base_relpaths() and
 2148    prefix_relpaths() methods. Improved their usage for a public API,
 2149    and added tests.
 2150 
 2151 0.27_10  Tue Mar 28 22:50:50 CST 2006
 2152 
 2153  - Added the create_packlist property, default true, which controls
 2154    whether packlist files will be written during installation.  This
 2155    was already part of Module::Build 0.2609, but for some reason we've
 2156    forgotten it in the 0.27_xx series.  [Spotted by Steve Kirkup]
 2157 
 2158  - Document the versions of Module::Build where each feature, action,
 2159    constructor argument, and method was first publicly documented.
 2160 
 2161  - More fixes for find_perl_interpreter() to work with BSD flavored
 2162    UNIX: Ensure we always return absolute paths; throw an exception
 2163    upon failure to find correct interperter; document everything.
 2164 
 2165  - We now include our own YAML.pm work-alike that we can use when the
 2166    real YAML isn't installed.  We might soon even start using it when
 2167    YAML is installed, because the YAML API and dependency chain have
 2168    been changing in unfavorable ways lately. [Stephen Adkins]
 2169 
 2170  - Fixed some shell-argument-quoting issues on VMS.  In the process,
 2171    we have added some support for avoiding tripping over
 2172    shell-argument-quoting issues on other platforms too. [Initial
 2173    patch by Craig A. Berry]
 2174 
 2175 0.27_09  Sat Mar 11 22:48:54 EST 2006
 2176 
 2177  - Fixed find_perl_interpreter() so we can find the perl executable
 2178    when running from uninstalled perl even when $^X contains a
 2179    relative path. [Yitzchak Scott-Thoennes]
 2180 
 2181  - Fixed warning message where we were printing the wrong field names.
 2182    [Chris Dolan]
 2183 
 2184  - Added a 'testpodcoverage' action that runs a POD coverage check for
 2185    all modules in the distribution. [Yanick Champoux]
 2186 
 2187  - Added a Cookbook example of subclassing to modify an action. [Dylan
 2188    Martin and David Golden]
 2189 
 2190  - When building HTML documentation, we were opening the POD file and
 2191    not checking whether the open succeeded, which of course caused
 2192    problems down the line if it failed.  Now we do "or die(...)" like
 2193    everywhere else. [Spotted by Joerg Braun]
 2194 
 2195 0.27_08  Fri Mar  3 21:22:41 CST 2006
 2196 
 2197  - Due to shell quoting issues and differences in syntax between
 2198    various flavors of Windows, the code for the 'pl2bat' utility
 2199    distributed with Perl has been incorporated into M::B::P::Windows.
 2200    [Thanks to Dr Bean and Ron Savage for help testing and isolating
 2201    the problem.]
 2202 
 2203  - Modify add_build_element() so that it only adds elements if they
 2204    don't already exist. [David Wheeler]
 2205 
 2206  - Fixed a bug in the 'pass-through' Makefile.PL in which we would die
 2207    if CPAN::Shell->install returned false, but apparently this return
 2208    value is unreliable.  Now we only die if the module is actually
 2209    unavailable after installation.
 2210 
 2211  - Fixed testing problems on VMS related to non-case-preserving
 2212    filesystems.  We now bundle Tie::CPHash in the distribution (just
 2213    for testing purposes, it doesn't get installed) to help with
 2214    this. [Craig Berry and Yitzchak Scott-Thoennes]
 2215 
 2216  - We incorrectly documented the 'dynamic_config' flag in the META.yml
 2217    file as having a default value of false, but according to the
 2218    META.yml spec (which, for heaven's sake, we wrote) its default
 2219    value is true.  Fixed. [Spotted by Adam Kennedy]
 2220 
 2221  - The have_c_compiler() method was dying if the ExtUtils::CBuilder
 2222    module wasn't around, which is obviously an unhelpful thing to do.
 2223    Now it just returns false. [Spotted by John Peacock]
 2224 
 2225  - Fix detection of $VERSION expressions that are not
 2226    assignments. [Spotted by Chris Dolan]
 2227 
 2228  - Obfuscate one of our constructs that uses a $VERSION variable,
 2229    because it was getting picked up by ExtUtils::MakeMaker's
 2230    version-finder. [Spotted by Randal Schwartz]
 2231 
 2232  - The config_data script for querying and/or setting a module's
 2233    config data was forgetting to call write() after setting config
 2234    values (though setting feature values was working fine).
 2235    Fixed. [Brian Duggan]
 2236 
 2237  - On Windows, remove the pl2bat generated 'Build.bat' script without
 2238    the annoying "The batch file cannot be found." error.  [Solution
 2239    provided by RazTK and foxidrive on newsgroup alt.msdos.batch]
 2240 
 2241  - Our version comparisons should now work correctly with modules that
 2242    use version.pm to delcare their versions (e.g. "our $VERSION =
 2243    version->new('1.0.0')"). [John Peacock and Ron Savage]
 2244 
 2245  - We now create a Build.bat script on versions of Windows where it
 2246    makes sense. [Yves]
 2247 
 2248  - Fixed the verbiage around choosing the correct make-alike on
 2249    different platforms to suggest using 'perl -V:make'. [Suggested by
 2250    anonymous user]
 2251 
 2252 0.27_07  Wed Feb  1 20:07:45 CST 2006
 2253 
 2254  - The notes() method now returns the new value when called with two
 2255    arguments, just like when it's called with one argument. [Tyler
 2256    MacDonald]
 2257 
 2258  - The notes() method now distinguishes among the values undef, 0, and
 2259    the empty string, where previously it didn't. [Tyler MacDonald]
 2260 
 2261  - We now unshift(@INC) rather than push(@INC) for the directory where
 2262    a build subclass lives, so that we're sure to pick up the right
 2263    version and not some already-installed version. [perlmonkey]
 2264 
 2265  - The SIGNATURE file for version 0.27_06 (and I'm sure for lots of
 2266    versions before that too!) was messed up, since we were modifying
 2267    some files after signing.  This has been band-aided for the time
 2268    being by signing twice. [Reported by Chris Dolan]
 2269 
 2270 0.27_06  Mon Jan 23 21:44:54 CST 2006
 2271 
 2272  - Fixed an undefined-variable warning when building the META.yml file
 2273    and the author hasn't used the 'module_name' mechanism. [Chris Dolan]
 2274 
 2275  - We should now work with recent (> 0.49) versions of YAML.pm when
 2276    creating the META.yml file. [Yitzchak Scott-Thoennes]
 2277 
 2278  - The y_n() method now requires the default parameter, and the
 2279    prompt() and y_n() methods have been improved with respect to
 2280    how they behave/detect when there is no user to ask.  We're now
 2281    more consistent with MakeMaker, including respecting the
 2282    PERL_MM_USE_DEFAULT environment variable. [Tyler MacDonald and
 2283    Yitzchak Scott-Thoennes]
 2284 
 2285  - When building a README file using Pod::Text, work around a bug in
 2286    Pod::Text 3.01, which expects Pod::Simple::parse_file to take input
 2287    and output filehandles when it actually only takes an input
 2288    filehandle. [Yitzchak Scott-Thoennes]
 2289 
 2290 0.27_05  Thu Jan 12 17:39:21 CST 2006
 2291 
 2292  - In t/common.pl, we were attempting to let the user's installed
 2293    Test::More take precedence over ours, but getting thwarted by all
 2294    the test scripts' loading Test::More beforehand.  Fixed. [Spotted
 2295    by Yitzchak Scott-Thoennes]
 2296 
 2297  - In various test scripts, we were outputting some strings that
 2298    weren't strictly conformant with Test::Harness's expected input,
 2299    though it didn't actually cause problems.  Now we're more
 2300    conformant, though not yet strict. [Spotted by Yitzchak
 2301    Scott-Thoennes]
 2302 
 2303 0.27_04  Fri Dec 23 10:43:34 CST 2005
 2304 
 2305  - Removed experimental feature that extended the prerequisite system
 2306    to apply ('requires', 'recommends', and 'conflicts') prereqs to all
 2307    actions. Most of the internal extensiblity has been retained so
 2308    that prereq types can easily be added, more selectively.
 2309 
 2310  - Added a 'prereq_report' action that shows the user a well-formatted
 2311    list of all prerequisites, the versions required, and the versions
 2312    actually installed. [David Wheeler]
 2313 
 2314  - Clarified the directory name that's created during the 'distdir'
 2315    action. [Suggested by Tyler MacDonald]
 2316 
 2317  - Fixed a bug when creating the META.yml file without the help of
 2318    YAML.pm - some common strings weren't quoted & escaped properly.
 2319    Now only some uncommon ones are. [Spotted by Joshua ben Jore]
 2320 
 2321  - Fixed a bug in which an "UNINST=1" argument specified to a
 2322    passthrough Makefile's "make install" wasn't actually seen by
 2323    Module::Build.
 2324 
 2325  - Rather than dying when the Build script is run from the wrong
 2326    directory, it now simply chdir()s into the right directory and
 2327    keeps going. [Suggested by Dominique Quatravaux]
 2328 
 2329  - Added an "Examples on CPAN" section to the cookbook, with an
 2330    initial entry pointing to John Peacock's SVN-Notify-Mirror
 2331    distribution.
 2332 
 2333  - Add an invoked_action() method to return the name of the original
 2334    action invoked by the user.
 2335 
 2336  - Add 'meta-spec' field to the generated META.yml file, including the
 2337    version of the specification followed by the current Module::Build
 2338    and the url where the specification can be found.
 2339 
 2340  - Introduced two actions, 'html' & 'manpages', that generate
 2341    documentation for POD when the respective feature is enabled.  The
 2342    actions will generate the documents even if there is no set place
 2343    to install to.  However, if the actions are invoked as a dependency
 2344    of another action (e.g. build), the documentation will only be
 2345    built when there is a default or user-specified place to install to.
 2346 
 2347  - Added support for environment variable, 'MODULEBUILDRC', which can
 2348    be used to specify the full path to an option file to use instead
 2349    of the default location of ~/.modulebuildrc. A special undocumented
 2350    setting of 'NONE' tells Module::Build not to load any user settings,
 2351    so tests can be run without tainting from user options.
 2352 
 2353  - Documented and improved preliminary support for more Getopt::Long
 2354    style options are supported, including boolean options (--verbose,
 2355    --no-verbose), and use of hyphens in option names in addition to
 2356    underscores.
 2357 
 2358  - The option to disable/enable reading of the ~/.modulebuildrc file
 2359    is changed from 'skip_rcfile' to 'use_rcfile'
 2360 
 2361  - Allow the 'distmeta' action to continue when 'MANIFEST' is missing,
 2362    omitting the generation of the 'provieds' field. [Steven Schubiger]
 2363 
 2364  - Fixed some failing regex from generated MANIFEST.SKIP file.
 2365 
 2366  - Fixed an edge case in $VERSION parsing where we thought a package()
 2367    declaration was happening but it wasn't. [David Golden]
 2368 
 2369  - Added docs for the install_destination() and install_types() methods.
 2370 
 2371 0.27_03 (Beta for 0.28)  Mon Oct 10 11:19:23 EDT 2005
 2372 
 2373  - We now use ExtUtils::CBuilder to do all compiling of C code (for
 2374    example, when compiling XS modules).  (This change actually
 2375    occurred in 0.27_01, but it was mistakenly omitted from the Changes
 2376    file.)
 2377 
 2378  - Fixed an issue on Win32 (and other case-tolerant
 2379    non-case-preserving systems, possibly like VMS?) in which the
 2380    current working directory would sometimes be reported with
 2381    different case, fooling us into thinking that we were in the wrong
 2382    directory. [David Golden]
 2383 
 2384  - The extra_compiler_flags setting was not actually being passed
 2385    along to ExtUtils::CBuilder so it could pass it along to the
 2386    compiler.  Now it is.
 2387 
 2388  - The synonyms 'scripts' and 'prereq' for 'script_files' and
 2389    'requires' were broken in a previous version (0.27_01, probably),
 2390    but now they're fixed. [David Golden]
 2391 
 2392  - Previously, we assumed that any custom subclass of Module::Build
 2393    was located in _build/lib/.  This is only true if the author used
 2394    the subclass() method, though.  We now use %INC to find where the
 2395    custom subclass really is, so that we can "use lib" it.  We also
 2396    issue a warning if it seems to be outside the build directory.
 2397    [Spotted by Peter Tandler]
 2398 
 2399  - Added a URL for each license type that we know about, which will
 2400    appear as resources=>license: in the generated META.yml file.
 2401 
 2402  - If the user passes a no_index parameter to our constructor, we now
 2403    pass that through when building the META.yml file. [Richard
 2404    Soderberg, RT #9603]
 2405 
 2406  - A few more status messages can now be suppressed by using 'quiet'
 2407    mode.  [Dave Rolsky]
 2408 
 2409  - Added some more entries to the default MANIFEST.SKIP file. [Chris
 2410    Dolan]
 2411 
 2412  - Our POD parser will now accept "AUTHORS" as well as "AUTHOR" when
 2413    looking for the author list in a module. [David Wheeler]
 2414 
 2415  - When looking for the POD to auto-generate a README file, or for the
 2416    AUTHOR or ABSTRACT for the distribution, we now also look for a
 2417    *.pod with the same name as the *.pm file specified by
 2418    'version_from'. [David Golden]
 2419 
 2420  - The recommended dependency on ExtUtils::ParseXS has been moved into
 2421    the "C_support" auto_feature.
 2422 
 2423  - When building XS files, we now pass the -DVERSION and -DXS_VERSION
 2424    flags to the compiler. [Spotted by Jerry Hedden]
 2425 
 2426  - If a distribution has XS files and Module::Build has not been
 2427    configured with the "C_support" feature, we now issue a
 2428    warning. [Suggested by Jerry Hedden]
 2429 
 2430  - Added a dir_contains() method.
 2431 
 2432  - Some versions of MakeMaker, CPANPLUS, and/or PAUSE thought that a
 2433    certain line of our code was declaring a $VERSION when we didn't
 2434    intend to.  The line has been obscurified so they won't think that
 2435    anymore. [Jos Boumans, RT #14226]
 2436 
 2437  - Added the Apache, MIT, and Mozilla licenses to the list of licenses
 2438    that this module knows about. [Bob Ippolito]
 2439 
 2440  - Fixed a pretty significant typo in the documentation for
 2441    auto_features. [Spotted by Jonas B. Nielsen]
 2442 
 2443  - In order to aid people who want to do customization of the META.yml
 2444    file, we've added a "metafile" property that can then be easily
 2445    overridden in subclasses, changed do_create_meta_yml() to
 2446    do_create_metafile(), and split out the code that actually
 2447    generates the YAML into a new method, write_metafile(). [David
 2448    Wheeler]
 2449 
 2450  - Fixed a couple of non-helpful behaviors with extra_compiler_flags
 2451    and extra_linker_flags.  These will automatically be run through
 2452    split_like_shell() when given to new() as strings.
 2453 
 2454  - When the user doesn't have ExtUtils::ParseXS installed and we use
 2455    the old 'xsubpp', the displayed command line for creating the .c
 2456    file from the .xs file was missing its newline.  Now it's got it.
 2457 
 2458 0.27_02 (Beta for 0.28)  Fri Jul 15 07:34:58 CDT 2005
 2459 
 2460  - Provided initial support for the --prefix installation parameter,
 2461    which acts like MakeMaker's PREFIX.  It is still highly recommended
 2462    NOT to use it when you could reasonably use --install_base or
 2463    --install_path or --install_dest, but that's just because the way
 2464    --prefix is designed is weird and unpredictable.  Ultimately the
 2465    choice rests with the installing user. [Patches by Michael Schwern
 2466    and Rob Kinyon]
 2467 
 2468  - Fixed a bug in subclass() which prevented people from using it to
 2469    subclass subclasses of Module::Build. [Chris Dolan]
 2470 
 2471  - Added a 'pure_install' action, which for the time being is
 2472    identical to the 'install' action. [Jos Boumans]
 2473 
 2474  - Fixed a POD error in an L<http://...> tag. [Offer Kaye]
 2475 
 2476  - Note several options for automatically creating a new module dev
 2477    tree. [Suggested by Eric Wilhelm]
 2478 
 2479  - Removed some hard-coded references to File::Spec::Unix in the
 2480    creation of HTML docs, which should help that code work in more
 2481    places, and help people not to panic when they look at it. [Spotted
 2482    by Yves]
 2483 
 2484  - We now use Pod::Readme by default (instead of Pod::Text) to
 2485    generate the README file when the 'create_readme' option is used.
 2486    If Pod::Readme is not installed, we will still fall back to using
 2487    Pod::Text.  [Robert Rothenberg]
 2488 
 2489  - The values of the "prefix", "install_base", "install_path", and
 2490    "install_dest" parameters can now begin with "~" or "~user", and
 2491    we'll de-tilde-ify them by using glob().
 2492 
 2493  - The (optional) auto-creation of the README and Makefile.PL files
 2494    have been moved from the 'distdir' action to the 'distmeta'
 2495    action. [David Golden]
 2496 
 2497  - When looking for a .modulebuildrc file, we now use a fancier method
 2498    of trying to find the home directory, because $ENV{HOME} isn't a
 2499    very cross-platform variable. [Robert Rothenberg]
 2500 
 2501  - We now memoize the output of the internal _default_INC() method,
 2502    since it uses backticks and might be kind of slow.
 2503 
 2504  - When processing XS files, we now look for a typemap in lib/ as well
 2505    as using the system's default typemap. [John Peacock]
 2506 
 2507  - The DESTDIR, PREFIX, and INSTALL_BASE arguments to "make install"
 2508    are now supported for pass-through Makefiles (they've been
 2509    supported for quite a while as arguments to "perl
 2510    Makefile.PL"). [Requested by Guillaume Rousse]
 2511 
 2512  - Test::Harness has changed its output format in recent versions,
 2513    which threw off one of our tests.  We now allow for this different
 2514    format. [Reported by Scott Godin]
 2515 
 2516  - Fixed an issue that prevented Module::Build from upgrading itself
 2517    using its own API (which is how CPANPLUS uses it).  There are still
 2518    some issues with this solution, however.  See ticket #13169 in
 2519    rt.cpan.org. [Reported by Jos Boumans]
 2520 
 2521  - Fixed a fatal error that occurred when a distribution's author
 2522    could not be determined from its POD nor from the call to
 2523    Module::Build->new() in its Build.PL.  See ticket #12318 in
 2524    rt.cpan.org. [Reported by Jos Boumans]
 2525 
 2526  - Apparently on Windows and cygwin it's not possible to use the "-pi"
 2527    switch to perl without a backup extension, so now we use ".bak" and
 2528    remove the backup file when we're done.  Thus the "dist" action for
 2529    Module::Build itself can now be run on those platforms. [Yitzchak
 2530    Scott-Thoennes]
 2531 
 2532  - Improved the handling of auto_features in the config_data access
 2533    script. [Yitzchak Scott-Thoennes]
 2534 
 2535 0.27_01 (Beta for 0.28)  Fri Apr 15 21:12:57 CDT 2005
 2536 
 2537  Backward-incompatible (but better) changes:
 2538 
 2539  * When using the 'install_base' option to choose a directory for
 2540    installing everything, perl modules now go into lib/perl5/ instead
 2541    of just lib/.  It seems this is more consistent with people's
 2542    expectations, and the way I had it before was a bit peculiar to the
 2543    way I like things in my own home directory. [Michael Schwern]
 2544 
 2545  * When the user is using the 'install_base' option, scripts will now
 2546    be installed by default in $install_base/bin/ rather than
 2547    $install_base/script/ . [Jan Hudec and Michael Schwern]
 2548 
 2549  Major changes:
 2550 
 2551  - The auto_features mechanism will now re-evaluate dependencies every
 2552    time feature() is called for an auto-feature, rather than freezing
 2553    the success/failure value during 'perl Build.PL' and using that
 2554    value for all eternity (or module update, whichever comes first).
 2555    This applies to both $build->feature() and
 2556    FooModule::ConfigData->feature() calls. [Requested by many]
 2557 
 2558  - Added the meta_add and meta_merge mechanisms, which let the module
 2559    author add/merge arbitrary entries into the META.yml file.
 2560 
 2561  - Now reads per-action default options from '$ENV{HOME}/.modulebuildrc'
 2562    if it exists. Command line options override anything set in the rc file.
 2563 
 2564  - We now use ExtUtils::CBuilder to do all compiling of C code (for
 2565    example, when compiling XS modules).
 2566 
 2567  - The creation of Unix man pages is no longer a strict necessity - it
 2568    has now been turned into an 'auto-feature' contingent on the
 2569    presence of Pod::Man and a location specified for man pages to go.
 2570 
 2571  - A user-specified 'install_path' setting will now take precedence
 2572    over an 'install_base' setting.  This allows the user to use
 2573    'install_base' to set the base for all elements in one go, and then
 2574    use 'install_path' to override specific paths or add paths for
 2575    additional kinds of targets.
 2576 
 2577  - Split the main documentation from 'Module/Build.pm' into two
 2578    sections. The user level documentation and overview remains in
 2579    'Module/Build.pm', while a new document,
 2580    'Module/Build/Authoring.pod', has been created for module authors.
 2581 
 2582  Minor changes:
 2583 
 2584  - new_from_context() was losing its arguments in some cases (and not
 2585    because of inadequate training in forensic debate) - we now pass its
 2586    arguments directly to the Build.PL script rather than merging them
 2587    in afterwards.
 2588 
 2589  - Let resume() return an object blessed into the appropriate class
 2590    if the user has provided a subclass, as specified by the
 2591    'build_class' property. This allows current() and new_from_context()
 2592    to behave more like factory methods returning objects of the correct
 2593    class based on context. [Ray Zimmerman]
 2594 
 2595  - Refactored methods relating to parsing perl module files for
 2596    package, version, and pod data into a new class:
 2597    Module::Build::ModuleInfo.  It should not be considered part of
 2598    Module::Build's API, because we may split it out entirely as a
 2599    separate CPAN module that we depend on.
 2600 
 2601  - Added new method Module::Build::prepare_metadata() for authors to
 2602    override in order to add custom fields to META.yml.
 2603 
 2604  - We now use Test::More for our regression tests.  If the user
 2605    doesn't have it installed, we include a copy in t/lib/ that we can
 2606    use during testing.
 2607 
 2608  - When copying files in the 'distdir' action, set permissions to match
 2609    the original files. [Julian Mehnle]
 2610 
 2611  - When adding files like META.yml to the MANIFEST, we now tell the
 2612    user we're doing so by printing one of the "Added to MANIFEST: ..."
 2613    lines.  [Ron Savage]
 2614 
 2615  - Added a runtime_params() method, which lets a module author see
 2616    which parameters were overridden by the user on the command line
 2617    (or in whatever paradigm the user originally invoked Module::Build
 2618    from). [David Wheeler]
 2619 
 2620  - Added the current_action() method, which, surprisingly, returns the
 2621    name of the currently running action. [David Wheeler]
 2622 
 2623  - Added docs for run_perl_script().
 2624 
 2625  - Added some stuff to the docs about why PREFIX is unsupported, and
 2626    what to use instead. [Steve Purkis]
 2627 
 2628  - The simple get/set accessor methods for all the 'parameters' like
 2629    verbose(), license(), etc. now have auto-generated documentation in
 2630    Module/Build.pm.
 2631 
 2632  - Created a Cookbook entry for 'Adding new elements to the install
 2633    process'
 2634 
 2635  - We now add META.yml to the MANIFEST when META.yml is created, not
 2636    when MANIFEST is created. [Spotted by Ron Savage]
 2637 
 2638  - Added some additional patterns to the suggested MANIFEST.SKIP
 2639    contents, and changed the docs so that we encourage the user to use
 2640    the MANIFEST.SKIP.  [Ron Savage]
 2641 
 2642  - Eliminated a redundant recipe from the Cookbook, now that there are
 2643    some more extensive recipes on how to add stuff to the
 2644    build/install sequences.
 2645 
 2646  - Eliminated an undefined-variable warning when testing under perl 5.005
 2647 
 2648  - When building HTML documentation, 'html_backlink' and 'html_css'
 2649    properties are now first-class properties, so they can be set from
 2650    the command line. [Suggested by Sagar R. Shah]
 2651 
 2652  - Have script_files default to everything in bin.  I believe this is
 2653    the least surprising behavior. [Suggested by Michael Schwern]
 2654 
 2655  - If script_files is given a directory, consider each file in that
 2656    directory tree as a script to be installed.  This avoids having to
 2657    remember to add to the script_files list every time you add a
 2658    program. [Suggested by Michael Schwern]
 2659 
 2660  - We now only load Pod::Man when we actually need to build man pages.
 2661 
 2662  - We now make Test::Harness use our carefully-selected path to a perl
 2663    executable regardless of Test::Harness's version.  Previously we
 2664    let it figure stuff out for itself if it was a reasonably modern
 2665    version, but it's safer to make sure we're using the same perl
 2666    everywhere.
 2667 
 2668 0.2610  Fri Apr 15 08:25:01 CDT 2005
 2669 
 2670  - new_from_context() was losing its arguments in some cases (and not
 2671    because of inadequate training in debate) - we now pass its
 2672    arguments directly to the Build.PL script rather than merging them
 2673    in afterwards. [Ray Zimmerman]
 2674 
 2675  - Fixed a bug in which config_data and feature data were being
 2676    forgotten and no ConfigData.pm module would get written. [Ray
 2677    Zimmerman]
 2678 
 2679  - Added a recipe to the cookbook showing how to run a single test
 2680    file from the command line. [William McKee]
 2681 
 2682  - For command-line arguments, we now accept the syntax "--foo=bar" in
 2683    addition to "--foo bar" and "foo=bar".  This seems to fit well with
 2684    what GNU getopt and Getopt::Long do, and with people's
 2685    expectations. [Adam Spiers]
 2686 
 2687 0.2609  Wed Mar 16 22:18:35 CST 2005
 2688 
 2689  - The html docs that were created during the first invokation of
 2690    './Build' were being found and treated as pod that needed to be
 2691    converted to html during subsequent invokations. We now are more
 2692    specific about the directories we scan for pod that needs to be
 2693    converted, effectively avoiding blib/html. [Ray Zimmerman]
 2694 
 2695  - If Pod::Man is not available, we now skip building man pages
 2696    (rather than dying) and tell the user why.
 2697 
 2698  - We now write a .packlist file upon installation, in the same place
 2699    that ExtUtils::MakeMaker does. [Johnny Lam]
 2700 
 2701  - On some Unix platforms (BSD derivatives, mostly) perl's $^X
 2702    variable isn't set to the full path of the perl executable, just
 2703    'perl', when the 'Build' script is run as './Build' and not 'perl
 2704    ./Build'.  This can lead to some other modules (maybe
 2705    Test::Harness, maybe IO::File, I dunno...) getting very confused
 2706    about where they are, and they try to load stuff from the wrong
 2707    perl lib, and big trouble ensues.  To fix this, we now set $^X to
 2708    the value of Module::Build->find_perl_interpreter().
 2709 
 2710  - The 'distcheck' action will now die() if it finds an error in the
 2711    MANIFEST, rather than just printing on STDOUT. [David Golden]
 2712 
 2713  - When the README and/or Makefile.PL are autogenerated using
 2714    create_readme or create_makefile_pl, we now automatically make sure
 2715    they're also listed in the MANIFEST file. [Suggested by Michael
 2716    Schwern]
 2717 
 2718  - Got rid of the t/MANIFEST file - it's superfluous, and it had
 2719    zero-length, which some versions of Tar don't like. [William
 2720    Underwood]
 2721 
 2722  - Added a mention in the documentation that each property that new()
 2723    accepts also has a corresponding get/set accessor.  (In the version
 2724    0.27_0x series each accessor method is mentioned explicitly in the
 2725    docs.) [Omission spotted by Ian Langworth]
 2726 
 2727 0.2608  Wed Jan 26 19:46:09 CST 2005
 2728 
 2729  - Add workaround for test files because Devel::Cover causes
 2730    require to fail when the argument to require is an expression
 2731    involving File::Spec. We now assign the result of the File::Spec
 2732    call to a variable and then call require with that variable.
 2733 
 2734  - Tilde-expansion is now performed on arguments passed to a
 2735    compatibility-Makefile.PL [Spotted by Sam Vilain]
 2736 
 2737  - We now run the 'gzip' and 'tar' values through split_like_shell()
 2738    when running the 'dist' action, so that e.g. the 'gzip' value can
 2739    be set to something like "gzip -f --best" and it'll work
 2740    correctly. [Spotted by Chris Dolan]
 2741 
 2742  - Work around some bad mojo between Fedora Core [with its very long
 2743    @INC] and old versions of Test::Harness [with its propensity to
 2744    compound the number of @INC entries] that produced an "argument
 2745    list too long" error during testing.  [assisted by Ville Skytta,
 2746    David Golden, & Randy Sims]
 2747 
 2748  - Killed an infinite loop that would happen in y_n() in interactive
 2749    mode if the author provided no default value. [Max Maischein]
 2750 
 2751 0.2607 (Bug fix release in 0.26 series)  Sat Dec 18 14:14:09 CST 2004
 2752 
 2753  - Instead of freezing @INC in the 'Build' script to the value it had
 2754    when Build.PL was run, we now just add those additional values that
 2755    aren't part of the default compiled-in @INC. [Michael Schwern]
 2756 
 2757  - The run_perl_script() method will now propagate any extra entries
 2758    in @INC (such as those added by "use lib" or the -I command-line
 2759    switch) to the subprocess.  This helps situations in which you want
 2760    to tell the subprocess where to find a certain module, for
 2761    instance.  [Michael Schwern]
 2762 
 2763 0.2606 (Bug fix release in 0.26 series)   Tue Dec  7 22:33:11 CST 2004
 2764 
 2765  - Fixed a linking bug on Win32, in which compiled C code object files
 2766    never got linked in with the modules being built. [Dominic
 2767    Mitchell]
 2768 
 2769  - Fixed a bug in the new_from_context() method in which any arguments
 2770    passed made us die. [Spotted by Jos Boumans]
 2771 
 2772 0.2605 (Bug fix release in 0.26 series)   Tue Nov 30 07:16:13 CST 2004
 2773 
 2774  - Fixed a bug in which zero-length arguments for hash-valued
 2775    parameters (e.g. " --config foo= ") weren't being allowed.
 2776 
 2777  - The tests now play better with environments in which version.pm is
 2778    pre-loaded, like in bleadperl. [John Peacock & Michael Schwern]
 2779 
 2780  - Fixed a syntax error in one of the tests under perl 5.005.
 2781 
 2782 0.2604 (Bug fix release in 0.26 series)   Wed Nov 17 14:32:42 CST 2004
 2783 
 2784  - Fixed a split_like_shell() bug introduced in 0.2603 for Windows, in
 2785    which an array reference passed as an argument was returned as an
 2786    array reference, rather than as a list. [Spotted by Steve Hay]
 2787 
 2788  - module_name() will now return '' instead of undef when module_name
 2789    is not set.  This eliminates a couple uninitialized-value
 2790    warnings. [Suggested by Michael Schwern]
 2791 
 2792  - The expand_test_dir() method will now skip dotfiles (like ._foo.t,
 2793    which sometimes gets automatically created on Mac systems) when
 2794    'recursive_test_files' is in effect. [Tom Insam]
 2795 
 2796 0.2603 (Bug fix release in 0.26 series)   Mon Nov 15 10:28:00 CST 2004
 2797 
 2798  - Added documentation for the new_from_context() method.
 2799 
 2800  - Completely rewrote the split_like_shell() method for the Windows
 2801    platform so it works like the command.com shell. [Randy Sims]
 2802 
 2803 0.2602 (Bug fix release in 0.26 series)   Thu Nov  4 11:19:29 CST 2004
 2804 
 2805  - The two bug fixes in 0.2601 gnashed against each other incorrectly,
 2806    resulting in a Win32 bug in split_like_shell().  Fixed.  [Spotted
 2807    by Steve Hay & Randy Sims]
 2808 
 2809  - Removed a couple of 'use warnings' statements from the code - they
 2810    were causing compile failures on 5.005_04, where warnings.pm isn't
 2811    available. [Blair Zajac]
 2812 
 2813 0.2601 (Bug fix release in 0.26 series)   Wed Nov  3 20:09:27 CST 2004
 2814 
 2815  - Fixed some backslash problems with split_like_shell() on
 2816    Win32. [Steve Hay]
 2817 
 2818  - Fixed a bug in split_like_shell() in which leading whitespace was
 2819    creating an empty word, manifesting as something like "gcc - no
 2820    such file or directory" during tests. [Spotted by Warren L. Dodge]
 2821 
 2822 0.26  Sat Oct  9 17:51:01 CDT 2004
 2823 
 2824  - Removed some language from the Module::Build::Compat documentation
 2825    that encouraged people to include a Build.PL without a Makefile.PL.
 2826    Also changed "a replacement for MakeMaker" to "an alternative to
 2827    MakeMaker" in the main documentation, which is basically what I
 2828    meant all along (i.e. a replacement for MakeMaker in your
 2829    particular build process - MakeMaker is never going to be fully
 2830    replaced in the perl world at large, of course), but some people
 2831    got the impression I was a little more truculent toward MakeMaker
 2832    than I really am.
 2833 
 2834  - Added the formal concepts of "features" and "config data" for
 2835    distributions.  This allows the module author to define a certain
 2836    set of features that the user can switch on and off (usually
 2837    according to whether they have the proper prerequisites for them),
 2838    and to save build-time configuration information in a standardized
 2839    format.  See the main documentation of Module::Build for more
 2840    details.  (Note that the name of this system was called
 2841    "BuildConfig" for a while in beta, but now it's called
 2842    "ConfigData".)
 2843 
 2844  - Added an 'auto_features' capability, which simplifies the process
 2845    of defining features that depend on a set of prerequisites.
 2846 
 2847  - Added the 'get_options' parameter, which lets module authors
 2848    declare certain command-line arguments their Build.PL can accept
 2849    [David Wheeler]
 2850 
 2851  - Changed the split_like_shell() method to use the shellwords()
 2852    function from Text::ParseWords (a core module since 5.0), which
 2853    does a much better job than the split() we were using.
 2854 
 2855  - Added a 'testpod' action, which checks the syntactic validity of
 2856    all POD files in the distribution using Test::Pod.  This eliminates
 2857    the need for doing so in a regression test. [Initial patch by Mark
 2858    Stosberg]
 2859 
 2860  - Added a process_files_by_extension() method, which generalizes the
 2861    kind of processing (essentially just copying) that happens for .pm
 2862    and .pod files, and makes it available to other user-defined types
 2863    of files.  See the new cookbook entry.
 2864 
 2865  - Improved compatibility with version.pm when authors are using
 2866    version objects as their $VERSION variables.  Now
 2867    version_from_file() can deal with these objects.  Currently we
 2868    stringify them right away, but perhaps in the future we will
 2869    preserve them as objects for a while.
 2870 
 2871  - During 'distdir' and 'distmeta' actions, die a bit more gracefully
 2872    if there's no MANIFEST (i.e. explicitly say that a MANIFEST is
 2873    required). [Spotted by Adrian Howard]
 2874 
 2875  - Eliminated a recursive dependency between creating the MANIFEST
 2876    file and creating the META.yml file.  [Spotted by Dave Rolsky]
 2877 
 2878  - On Win32, where a single directory might be known variously as
 2879    "Module-Build-0.25_03" or "MODULE~1.25_", we now use
 2880    Win32::GetShortPathName($cwd) to verify that the 'Build' script is
 2881    being run from the correct directory, rather than just a string
 2882    comparison.
 2883 
 2884  - The add_to_cleanup() method will now accept glob()-style patterns
 2885    in addition to explicit filenames.  Also documented the fact that
 2886    they can be specified in either Unix-style or native-style
 2887    notation.
 2888 
 2889  - Passing a PREFIX value to a pass-through Makefile 'make install'
 2890    now has the same effect as passing it to 'perl Makefile.PL' (it
 2891    dies with a helpful message).
 2892 
 2893  - Added the 'testcover' action, which runs a test suite using
 2894    Devel::Cover.  [Dave Rolsky]
 2895 
 2896  - Added the 'lib' and 'arch' installation directories to the search
 2897    path for the 'diff' action, since they won't necessarily (though
 2898    they usually will) be in @INC at installation time. [Suggested by
 2899    Kevin Baker]
 2900 
 2901  - The "=head3" POD directive isn't supported in older podlators
 2902    (particularly Pod::Man), so we don't use it anymore.
 2903 
 2904  - Fixed a typo & improved the docs in the SUBCLASSING section. [Ron
 2905    Savage]
 2906 
 2907  - Added the '.tmp' suffix to the default MANIFEST.SKIP file, which
 2908    should avoid adding things like pod2htmi.tmp to the MANIFEST [Ron
 2909    Savage]
 2910 
 2911  - Backup files from Emacs, containing the string '.#' in their names,
 2912    should no longer find their way into the blib/ directory (and from
 2913    there into installation directories).
 2914 
 2915  - Worked around an unpleasant interaction between version.pm and the
 2916    version-checking code that makes sure Module::Build's version
 2917    hasn't changed during the lifetime of the 'Build' script. [Reported
 2918    by Trevor Schellhorn]
 2919 
 2920  - Fixed a problem in htmlify_pods() that would produce test failures
 2921    on Cygwin (and probably elsewhere).  [Yitzchak Scott-Thoennes]
 2922 
 2923  - Fixed a test failure on Cygwin (and probably elsewhere) in
 2924    t/compat.t, resulting from empty environment variables being set to
 2925    the empty string (as opposed to simply being unset) by their mere
 2926    presence in the "EXPORT:" list.
 2927 
 2928  - Fixed a fatal error that occurred when the author specified
 2929    'dist_author' manually in their Build.PL script. [Spotted by Ron
 2930    Savage]
 2931 
 2932  - The 'provides' section of the META.yml file wasn't being built
 2933    properly on Win32, because of a mismatch between URL-format and
 2934    native-format pathnames.  Fixed.  [Reported by Robert Rothenberg]
 2935 
 2936  - The progress message "lib/Foo.xs -> lib/Foo.c" was previously being
 2937    output even when the Foo.c file wasn't being rebuilt.  It's now
 2938    fixed.
 2939 
 2940  - Fixed a couple of places in Compat.pm where it could have forgotten
 2941    which perl interpreter it had been run with ($^X isn't very
 2942    trustworthy).
 2943 
 2944  - On some systems, the way we updated the timestamp on the
 2945    "lib/Foo.bs" file (one of the output files for XS-based modules)
 2946    was failing.  It's been replaced by a simple call to utime().
 2947 
 2948  - Fixed a problem in t/compat.t that prevented it from being run
 2949    individually using 'make test TEST_FILES=t/compat.t'.  The problem
 2950    was that a couple environment variables (TEST_FILES, MAKEFLAGS)
 2951    were being passed through to subprocesses, and confused them.
 2952 
 2953  - Fixed an important typo in the documentation for the 'install_base'
 2954    parameter ('libdoc' and 'bindoc' were switched). [Ray Zimmerman]
 2955 
 2956  - The pass-through Makefiles (type 'small' or 'passthrough') now
 2957    support the TEST_FILES parameter to 'make test'.
 2958 
 2959  - Fixed a fatal error that would occur on perl 5.005 when building
 2960    HTML documentation, because its version of Pod::Html was old and
 2961    didn't like some of the parameters we fed it. [Spotted by Blair
 2962    Zajac]
 2963 
 2964  - The final line of the generated pass-through Makefile was missing
 2965    its trailing newline, which is now fixed. [Chip Salzenberg]
 2966 
 2967  - We now depend on YAML version at least 0.35 and at most version
 2968    0.49, so that we don't pick up a new (and backward-incompatible) beta
 2969    version from CPAN.
 2970 
 2971  - Squashed a warning in t/basic.t about '"Foo::Module::VERSION" used
 2972    only once', and one in PPMMaker about $^V being undefined. [Blair
 2973    Zajac]
 2974 
 2975  - Added a couple temporary output files from HTML documentation
 2976    generation to the cleanup list.  [Toby Ovod-Everett]
 2977 
 2978  - The PodParser module will now only extract paragraphs in the
 2979    'AUTHOR' section of the pod if they contain an '@' character.  This
 2980    tends to do a better job, heuristically speaking, of returning
 2981    relevant stuff.
 2982 
 2983  - Added regression tests and a helper method ( add_build_elements() )
 2984    for adding new elements to the build process.  Also some
 2985    documentation.
 2986 
 2987  - Wrote a recipe in the Cookbook for adding new elements to the build
 2988    process, and a recipe for changing the order in which the steps in
 2989    the build process will occur.
 2990 
 2991 0.25  Sun Apr 25 11:12:36 CDT 2004
 2992 
 2993  - During the 'distdir' action, if no MANIFEST.SKIP file exists, we
 2994    will now create a reasonable default one. [Randy Sims]
 2995 
 2996  - In Makefile compatibility mode, some arguments (like UNINST,
 2997    TEST_VERBOSE, etc.) given to 'make' are now recognized and passed
 2998    through to Module::Build. [Randy Sims]
 2999 
 3000  - The regression tests now make sure that several pass-through
 3001    Makefile.PL parameters are dealt with correctly.
 3002 
 3003  - Added support for the 'LIB' parameter to passthrough
 3004    Makefile.PLs. [Spotted by Jesse Erlbaum]
 3005 
 3006  - Passing a 'PREFIX' parameter to a passthrough Makefile.PL was
 3007    supposed to make it die with a helpful error message, but instead
 3008    it just ignored it and blindly tried to install to the wrong place.
 3009    This is now fixed.  [Spotted by Jesse Erlbaum]
 3010 
 3011  - Added an extra_compiler_flags() accessor method.
 3012 
 3013  - If the 'recursive_test_files' option was turned on, the test files
 3014    weren't sorted, but returned in an apparently random order.  Now
 3015    they're sorted.  [Martyn Peck]
 3016 
 3017  - Documented the 'tar' and 'gzip' parameters to the 'dist' and
 3018    'ppmdist' actions.
 3019 
 3020  - The generation of HTML documentation now works (it was accidentally
 3021    partially implemented with an itchy patch-application finger in
 3022    0.24).  [Randy Kobes]
 3023 
 3024  - Fixed a fatal bug when building META.yml with YAML.pm and
 3025    'dynamic_config' is set. [Reported by Jaap Karssenberg]
 3026 
 3027  - Fixed some incorrect error messages that occurred when
 3028    compiling/linking C sources went awry.
 3029 
 3030  - If the author uses a custom builder subclass, that subclass will
 3031    now be loaded correctly in the passthrough Makefile.PL if the
 3032    author uses the 'small' or 'passthrough' Makefile.PL options in
 3033    Module::Build::Compat. [Martyn Peck and Jaap Karssenberg]
 3034 
 3035  - If the author uses a custom builder subclass created dynamically
 3036    through the subclass() method, passthrough Makefile.PLs (of type
 3037    'passthrough' or 'small') didn't work properly, because the custom
 3038    builder module wouldn't be loaded at the right time.  This has been
 3039    fixed.  [Reported by Toby Ovod-Everett]
 3040 
 3041  - In M::B-generated 'traditional' Makefile.PLs, the entries in
 3042    'PREREQ_PM' are now sorted ASCIIbetically rather than randomly.
 3043 
 3044  - The install_types() method will now return any additional types
 3045    given as 'install_path' arguments, as well as all elements of the
 3046    current 'install_sets' entry.  This makes it easier to add new
 3047    types of installable objects to the mix.
 3048 
 3049  - As a consequence of the previous change, there is no longer any
 3050    need to have an explicit 'install_types' data member, so it has
 3051    been removed.
 3052 
 3053  - In the second example code for the Module::Build->subclass()
 3054    method, the Module::Build module needed to be loaded before calling
 3055    its methods. [John Peacock]
 3056 
 3057  - Fixed minor error in the POD structure of Module::Build and
 3058    Module::Build::Platform::VMS docs.
 3059 
 3060 
 3061 0.24  Wed Feb 25 15:57:00 CST 2004
 3062 
 3063  - Fixed a problem with incude_dirs not being propagated to the 'ccs'
 3064    file when compiling XS files on Win32. [Randy Sims and Steve Hay]
 3065 
 3066  - In 0.23, Module::Build::Compat->fake_makefile() started choking
 3067    when no 'build_class' parameter was supplied in the Makefile.PL.
 3068    Since these Makefile.PLs still exist on CPAN, we now default
 3069    'build_class' to 'Module::Build', which was the old 0.22 behavior
 3070    anyway.  [Reported by Martin Titz and Jeremy Seitz]
 3071 
 3072  - Added documentation for the 'include_dirs' parameter to
 3073    new(). [Steve Hay]
 3074 
 3075  - Changed the no-op command on Win32 from 'rem' to 'rem>nul' inside
 3076    pass-through Makefiles. [Randy Sims]
 3077 
 3078  - The 'autosplit' parameter now accepts an array reference if
 3079    multiple files should be split. [Jaap Karssenberg]
 3080 
 3081  - find_perl_interpreter() will now use $^X (if absolute), $ENV{PATH}
 3082    (if $^X isn't absolute), and $Config{perlpath}, in that order.
 3083    Also, we now make darn sure the result is the same version of perl,
 3084    by checking Config::myconfig() for a match against the current
 3085    perl.  [Reported by Edward Sabol]
 3086 
 3087  - Fixed a fatal error on Win32 (and any other platform that doesn't
 3088    define an installation location for Unix-style man pages) during
 3089    installation.
 3090 
 3091 0.23  Sun Feb  8 22:01:18 CST 2004
 3092 
 3093  - Fixed a compatibility problem in pass-through Makefiles (created by
 3094    Module::Build::Compat).  Some 'make' utilities (for example, BSD
 3095    make) didn't like a '@' by itself on a line, so we stole some
 3096    'NOOP' code from MakeMaker to fix it. [Reported by Mathieu Arnold]
 3097 
 3098  - Added a 'ppm_dist' action, which just makes the PPD file and then
 3099    makes a tarball out of the blib/ directory. [Randy Sims]
 3100 
 3101  - The @INC of the parent process is now propagated to child processes
 3102    when processing *.PL files. [Reported by Jaap Karssenberg]
 3103 
 3104  - We now only attempt to fix the shebang line on a script if the
 3105    shebang line matches the regex /perl/i .  This fixes some instances
 3106    where people put shell scripts in their distributions. [Jaap
 3107    Karssenberg]
 3108 
 3109  - We no longer generate a 'requires', 'recommends', 'conflicts',
 3110    etc. entry in the META.yml file if there's no data to go in it.
 3111 
 3112  - Added a documentation reference to Michael Schwern's wiki for tips
 3113    on conversion from MakeMaker to M::B. [Randy Sims]
 3114 
 3115  - If there are script_files, we now add EXE_FILES to the
 3116    'traditional' Makefile.PL generated by M::B::Compat. [Suggested by
 3117    Yuval Kogman]
 3118 
 3119  - Documented the 'test_files' parameter to new(). [Reported by Tony
 3120    Bowden]
 3121 
 3122  - Fixed a problem in "Build help <action>", which didn't find the
 3123    correct help chunk if <action> was the final element in a POD
 3124    list. [Jaap Karssenberg]
 3125 
 3126  - Fixed a problem in the get_action_docs() method which gave
 3127    incorrect results if the method was called more than once in the
 3128    same program.
 3129 
 3130  - Fixed a problem in which actions defined by user subclasses
 3131    wouldn't be available via the pass-through Makefiles created by
 3132    Module::Build::Compat. [Reported by Jaap Karssenberg]
 3133 
 3134  - We now use Data::Dumper instead of our own ad-hoc serialization
 3135    routines to create the 'traditional' Makefile.PL
 3136    arguments. [Suggested by Yuval Kojman]
 3137 
 3138 0.22  Sat Jan 10 22:05:39 CST 2004
 3139 
 3140  - On Unixish platforms, the syntax "FOO=BAR /bin/baz arg arg" now
 3141    works when present in $Config{ld}.  This solves a problem on Mac OS
 3142    X 10.3. [Reported by Adam Foxson]
 3143 
 3144  - The have_c_compiler() now also tests whether the linker seems to
 3145    work too.
 3146 
 3147  - Fixed a problem with creating the distribution tarball in which
 3148    permissions would usually be all read-only.  We now use our own
 3149    file-copying routines rather than those in ExtUtils::Manifest,
 3150    because those do some annoying extra permissions-setting stuff for
 3151    no apparent reason.  It makes me happy that this was a very very
 3152    easy patch to make.  [Reported by Thomas Klausner]
 3153 
 3154  - The compile_c() method now includes $Config{cccdlflags} in its
 3155    command invocation.  It's usually empty, but not always, so we
 3156    didn't notice for a while. [Richard Clamp]
 3157 
 3158  - On some platforms it's common to have a $Config{make} defined, but
 3159    no 'make' utility actually available.  We now detect this and skip
 3160    some 'make' compatibility tests. [Randy Sims]
 3161 
 3162  - Fixed a spurious testing failure on non-Unix platforms that
 3163    happened because we accidentally call localize_file_path() on empty
 3164    strings in the test suite. [Spotted by Randy Sims on Windows]
 3165 
 3166  - Made the 'name', 'abstract', 'author', and 'version' properties
 3167    required when building a PPD file. [Spotted by Randy Sims, Dave
 3168    Rolsky, & Glenn Linderman]
 3169 
 3170  - When building a 'traditional' Makefile.PL with
 3171    Module::Build::Compat, we now use 'VERSION_FROM' when possible,
 3172    rather than always using 'VERSION'.  This way the Makefile.PL
 3173    doesn't have to get modified every release.
 3174 
 3175  - Made some fixups to the 'PPM' info-file, improving compatibility
 3176    with ActiveState's PPM tools. [Randy Sims, Glenn Linderman]
 3177 
 3178  - The 'dist_author' property can now accept multiple authors, see the
 3179    docs for more info. [Randy Sims]
 3180 
 3181  - If the user doesn't have YAML.pm installed during ACTION_dist, we
 3182    now create a minimal YAML.pm anyway, without any dependency
 3183    information.
 3184 
 3185  - The 'distribution_type' field is no longer created in META.yml
 3186    files, in accordance with the finding made at the London CLPAN
 3187    meeting that it's essentially meaningless and ill-defined.
 3188 
 3189  - The 'dist' action now accepts an optional 'tar' parameter to use a
 3190    system utility for building the tarball, and a 'gzip' parameter for
 3191    compressing it.  If these are used, Archive::Tar won't be invoked.
 3192    This was added because Archive::Tar is producing some very
 3193    non-cross-platform tarballs that many tar utilities can't handle.
 3194 
 3195  - During testing, if YAML.pm isn't installed, then we won't try
 3196    making a tarball either, since this would invoke YAML to create the
 3197    META.yml file.
 3198 
 3199  - Fixed a problem with chmod() being called incorrectly on MacOS
 3200    (i.e. MacPerl, not Mac OS X).  [Spotted by Paul Sanford Toney]
 3201 
 3202  - Fixed a problem with the --config flag not being treated properly
 3203    (essentially ignored) on the command line for 'perl Build.PL' or
 3204    'Build <action>'. [Spotted by Jakub Bogusz]
 3205 
 3206  - Added a new config() method to get at the Build object's notion of
 3207    the %Config hash.
 3208 
 3209  - Test::Harness is starting to contend for the Most Crotchety Module
 3210    Award.  Work around a few of its nits when setting harness
 3211    switches. [Spotted by Diab Jerius]
 3212 
 3213  - Now the Build script will die() if we're run from the wrong
 3214    directory, rather than trying to chdir() to what it thinks is the
 3215    right directory and do its work there.  See
 3216    https://rt.cpan.org/Ticket/Display.html?id=4039 . [Chris Dolan]
 3217 
 3218  - Changed the manpage separator on OS/2 to '.'. [Ilya Zakharevich]
 3219 
 3220  - On OS/2, disable C compilation, since apparently it isn't working
 3221    there. [Reported by Ilya Zakharevich]
 3222 
 3223  - Inserted a comment into auto-generated Makefile.PLs saying it was
 3224    auto-generated. [Randy Sims]
 3225 
 3226  - Fixed some annoying behavior in generated passthrough Makefile.PLs
 3227    when the user chose not to install Module::Build, or if
 3228    installation failed. [Reported by Ilya Zakharevich and Richard
 3229    Clamp]
 3230 
 3231  - Moved the documentation for 'codebase' to the section where it's
 3232    relevant. [Randy Sims, Glenn Linderman]
 3233 
 3234  - Fixed a have_c_compiler() failure on some platforms, we now define
 3235    a boot_compilet() function (since we're compiling a library, not an
 3236    executable). [Randy Sims]
 3237 
 3238  - Added a recipe to the Module::Build::Cookbook describing how to
 3239    maintain compatibility with older versions of CPAN.pm [Jim Cromie]
 3240 
 3241  - Removed caveat about "looking for alternatives" in how hashes are
 3242    specified on the command line, since an alternative has been found.
 3243 
 3244  - Previously most warnings about optional prerequisites looked like
 3245    they were actually error messages about required prerequisites.
 3246    This has been corrected. [Reported again by Sagar Shah]
 3247 
 3248  - Added support for building XS (and C in general) stuff on AIX.
 3249    This was done by a small reorganization of prelink_c() method from
 3250    Windows.pm to Build.pm, and it is only invoked for the platforms
 3251    that need it invoked.  AIX also massages some very naughty bits
 3252    (MakeMaker macro variables) in $Config{lddlflags} that should never
 3253    have been put there, but alas, they're there, so we find & resolve
 3254    them.
 3255 
 3256  - Added OS/2 ($^O = 'os2') to the list of Unix-like platforms.  This
 3257    basically means that most platform-specific operations will be done
 3258    in a Unix-like manner.
 3259 
 3260  - Pass-through Makefiles will now die() when they're given a PREFIX
 3261    parameter, and suggest using 'destdir' or 'install_base' instead.
 3262    Previously they just ignored the parameter and tried to install to
 3263    the default location, which is clearly not what the user wanted.
 3264 
 3265  - Updated my email address in the documentation to a more recent
 3266    variant.
 3267 
 3268  - Add NetBSD to the list of Unix-like systems. [Adrian Bunk]
 3269 
 3270  - Add SVR5 to the list of Unix-like systems. [Rafael Garcia-Suarez]
 3271 
 3272  - We now use Pod::Parser to find the ABSTRACT and AUTHOR when it's
 3273    available on the system. [initial patch by Randy Sims]
 3274 
 3275  - Fixed a little scalar/list buglet in a documentation example.
 3276 
 3277 0.21  Wed Oct 15 20:47:05 CDT 2003
 3278 
 3279  - Added a have_c_compiler() method.
 3280 
 3281  - Added documentation for the requires(), recommends(),
 3282    build_requires(), and conflicts() methods.
 3283 
 3284  - On Unix platforms, we now create the "Build" script with a #! line
 3285    matching the perl interpreter that was used to invoke the Build.PL
 3286    script, rather than whatever is in $Config{startperl}.  This avoids
 3287    a potential warning about the interpreters not matching. [Spotted
 3288    by Ken Y. Clark]
 3289 
 3290  - The Unix version now uses the safer multi-argument form of system()
 3291    when building distribution tarballs.
 3292 
 3293  - Added a regression test for the 'dist' action to the t/runthrough.t
 3294    test.
 3295 
 3296  - Fixed a problem with File::Spec usage when creating the names of
 3297    'libdoc' manual pages - the code wasn't dealing with the volume or
 3298    file portions correctly on certain platforms.
 3299 
 3300  - When creating the names of the 'libdoc' manual pages, we no longer
 3301    assume that pods are under the hard-coded paths 'blib/lib' or
 3302    'blib/arch'.
 3303 
 3304  - Fixed a crashing bug that could sometimes occur when the
 3305    distribution contained no 'lib' directory. [Chris Dolan]
 3306 
 3307  - Fixed a crashing bug that happened when the user had .PL files in
 3308    the lib/ directory and didn't explicitly name them in a hash
 3309    reference to the new() constructor. [Chris Reinhardt, bug #4036]
 3310 
 3311  - .PL files are now passed the names of their target file(s) on the
 3312    command line when they run.
 3313 
 3314  - When YAML.pm wasn't installed, t/runthrough.t wasn't properly
 3315    skipping some tests that required YAML.  This is now fixed.
 3316    [Stephen J. Smith]
 3317 
 3318  - Added documentation for the dist_version() and dist_name()
 3319    methods. [Spotted by Johan Vromans]
 3320 
 3321  - Existing values in $ENV{HARNESS_PERL_SWITCHES} are now respected
 3322    and not squashed when we run the 'test' action. [Paul Johnson]
 3323 
 3324  - On cygwin, the separator string for manual page names has been set
 3325    to '.'.  Previously it was '::', inherited from Unix. [Yitzchak
 3326    Scott-Thoennes]
 3327 
 3328  - Avoid a warning when Build.PL is run (i.e. when the new() method is
 3329    called) and no MANIFEST file exists. [Michael Schwern and Kevin
 3330    Ruscoe]
 3331 
 3332  - Added documentation for the 'code' and 'docs' actions. [Steve
 3333    Purkis and Mark Stosberg]
 3334 
 3335  - The internal method compile_support_files() has been renamed to
 3336    process_support_files() in order to make it consistent with other
 3337    processing methods.  Note that it was never documented using the
 3338    old name.  It's still not documented, actually.  Maybe later.
 3339 
 3340  - Skip the 'write' pseudo-entry in the 'diff' action's installation
 3341    map. [Chris Dolan]
 3342 
 3343  - Fixed a bug in which notes() set in the Build.PL before
 3344    create_build_script() was called would get lost unless more notes()
 3345    were also set afterwards. [Spotted by Dave Rolsky]
 3346 
 3347  - The process of building elements of the distribution is now driven
 3348    by a list of build elements, paving the way for letting people add
 3349    their own types of build elements in future versions of
 3350    Module::Build (or in the current version with some difficulty).
 3351 
 3352  - Fixed some linking errors on Cygwin. [Randy Sims, Terrence Brannon]
 3353 
 3354  - Fixed a line-ending problem with detecting the dist_abstract
 3355    properly on Cygwin. [Randy Sims]
 3356 
 3357  - Fixed a problem with signatures that occurred if 'distsign' was
 3358    called before 'distdir' - the signature would be generated twice.
 3359 
 3360  - Added a 'create_readme' parameter to new(), which will use
 3361    Pod::Text to generate a README from the main (dist_version_from)
 3362    module file during the 'distdir' action.
 3363 
 3364  - We now refuse to run the 'Build' script if it was created using a
 3365    different version of Module::Build.  This has caused a couple of
 3366    nasty bugs in the past, I don't want to know what it would cause in
 3367    the future.
 3368 
 3369  - Documentation for do_system() has been added. [Dave Rolsky]
 3370 
 3371  - run_perl_script() is now available as a class method, though it
 3372    will need to (re-)find the perl interpreter in this case.
 3373 
 3374  - Added a new_from_context() method that authors of automated tools
 3375    like CPANPLUS and CPAN can use instead of running all tasks as
 3376    sub-processes.  We also use it in the regression tests for
 3377    Module::Build itself.  ** Note that this method is currently
 3378    undocumented because its name may change in the future. **
 3379 
 3380  - When signing distributions with Module::Signature, we now
 3381    automatically add the SIGNATURE file to the MANIFEST, avoiding an
 3382    unpleasant chicken/egg problem for the module author.
 3383    [unpleasantness spotted by sungo]
 3384 
 3385  - In Module::Build::Compat, added support for the 'verbose' parameter
 3386    to Makefile.PL [spotted by Soren Andersen, fixed by Michael
 3387    Schwern]
 3388 
 3389  - The Module::Build distribution now has a cryptographic 'SIGNATURE'
 3390    file created by Module::Signature.
 3391 
 3392  - Added proper documentation for the subclass() method. [spotted by
 3393    Jonathan Steinert]
 3394 
 3395  - Worked around a Config.pm bug in Red Hat 9 which prevented man
 3396    pages from being installed in the correct places. [spotted by Ville
 3397    Skytta]
 3398 
 3399  - Fixed a Module::Build::Compat bug in which setting INSTALLDIRS
 3400    caused a crash. [spotted by Ilya Martynov]
 3401 
 3402 0.20  Tue Aug 26 14:34:07 CDT 2003
 3403 
 3404  - Separated the 'build' action into two separate actions, 'code' and
 3405    'docs'.  This is similar to MakeMaker's separation of the 'all'
 3406    target into 'pure_all' and 'manifypods'.  This fixes a permissions
 3407    hassle in which doing 'sudo Build install' would often create local
 3408    doc files that needed superuser permissions to delete.
 3409 
 3410  - Enhanced the 'help' action - 'Build help foo' will now show the POD
 3411    documentation for the 'foo' action.
 3412 
 3413  - Added a notes() feature, which helps share data transparently
 3414    between the Build.PL and t/*.t scripts.
 3415 
 3416  - The installation process will now create man(1) and man(3) pages
 3417    from POD in modules & scripts, and install them.  We don't build
 3418    man pages when there's nowhere to install them, such as on some
 3419    Win32 or most Mac systems.  [large patch by Steve Purkis, 5.005 fix
 3420    by Mathieu Arnold]
 3421 
 3422  - The 'distdir' action now copies files to the distribution
 3423    directory, rather than making them hard links to the original
 3424    files.  This allows authors to do last-minute alterations of the
 3425    files without affecting the originals. [Dave Rolsky]
 3426 
 3427  - If the author uses XS files in nonstandard locations, the copied
 3428    versions of those files will now be cleaned up properly.
 3429 
 3430  - In invoking the 'test' action or invoking 'xsubpp', we now use the
 3431    same perl executable as we use everywhere else, rather than blindly
 3432    using $^X or $Config{perlpath} (neither of which are very
 3433    reliable).
 3434 
 3435  - Fixed a problem with the 'install_path' parameter given to
 3436    'Build.PL' being lost in subsequent actions. [Reported by Mathieu
 3437    Arnold]
 3438 
 3439  - Fixed yet another bug with installation directories, in which the
 3440    'install_base' parameter wasn't being respected on the command
 3441    line.  [Spotted by Jonathan Swartz]
 3442 
 3443  - Changed the way the depends_on() method works inside action
 3444    subroutines - now each action will only run once per dispatch()
 3445    invocation (similar to how perl's require() function works).  This
 3446    helps avoid some difficult problems with dependency loops.
 3447 
 3448  - Changed the documentation for the 'autosplit' parameter to give
 3449    reasons why it may not be a good idea to use, but no longer
 3450    threaten to remove it.  [Suggested by Martyn J. Pearce]
 3451 
 3452  - Improved the formatting of the 'traditional' Makefile.PL generated
 3453    by Module::Build::Compat->create_makefile_pl. [Michael Schwern]
 3454 
 3455  - The 'traditional' Makefile.PL will now use the 'module_name'
 3456    parameter (as NAME) if it's available, otherwise it will continue
 3457    to use the 'dist_name' (as DISTNAME). [Michael Schwern]
 3458 
 3459  - Created read/write accessor methods for all our 'properties'.
 3460    [Michael Schwern]
 3461 
 3462  - The 'test_files' parameter can now be specified using glob() syntax
 3463    (i.e. 't/*.t'), and the corresponding test_files() method is now a
 3464    read/write accessor.
 3465 
 3466  - The location of the 'blib' directory is now a property of the Build
 3467    object - nobody is likely to notice this change, with any luck, but
 3468    it makes the design and code cleaner.
 3469 
 3470  - The 'disttest' and 'distsign' methods now chdir() back to the
 3471    directory where they started, rather than to the base_dir of the
 3472    build.
 3473 
 3474  - Improved comparisons of version strings containing underscore
 3475    characters (indicating "beta" status). [Steve Purkis]
 3476 
 3477  - Added documentation for the 'dist_author', 'dist_abstract', and
 3478    'codebase' parameters to new(), and for the 'ppd' action. [Dave
 3479    Rolsky]
 3480 
 3481  - Added documentation for the up_to_date() and contains_pod()
 3482    methods. [Dave Rolsky]
 3483 
 3484  - 'traditional' pass-through Makefile.PLs will now contain an
 3485    INSTALLDIRS parameter matching the Build.PL's 'installdirs'
 3486    setting.
 3487 
 3488  - version_from_file() now ignores $VERSION variables that are defined
 3489    in POD or comments.  It can still be tricked by $VERSIONs in string
 3490    literals, though.  [Steve Purkis]
 3491 
 3492  - The code to find packages in module files now uses Steve's scanning
 3493    method (above) to skip package-declaration-lookalikes in POD or
 3494    comments.
 3495 
 3496  - The 'disttest' action will now propagate its @INC settings to its
 3497    subprocesses.
 3498 
 3499 0.19  Wed Jul  9 22:34:02 CDT 2003
 3500 
 3501  - Added support for the 'install_path' parameter, which allows custom
 3502    specification of where things should be installed.  This is a major
 3503    improvement to Module::Build's functionality.
 3504 
 3505  - Added the 'install_base' parameter.  Provides an easy way to
 3506    install to local or alternative directory trees.
 3507 
 3508  - We now install scripts by default to $Config{installsitebin}
 3509    instead of $Config{installscript}.  Neither is a great choice, but
 3510    the former is likely to be [analogous to] /usr/local/bin, and the
 3511    latter is likely to be [something like] /usr/bin .  If/when there's
 3512    a $Config{installsitescript}, we'll start using that automatically.
 3513 
 3514  - Fixed a problem on Win32 in which C and XS files wouldn't be
 3515    compiled properly, and the user would see an error about 'Can't
 3516    locate object method "format_compiler_cmd"'.
 3517    (http://rt.cpan.org/Ticket/Display.html?id=2391)
 3518 
 3519  - We now use the correct perl interpreter (via
 3520    Module::Build->find_perl_interpreter) in pass-through makefiles.
 3521 
 3522  - The t/compat.t test now uses $Config{make} instead of just 'make'
 3523    to test makefile compatibility.  This fixes some failures on Win32.
 3524    We also skip this test entirely if no make utility is available.
 3525 
 3526  - Alternative distribution layouts are now supported via the
 3527    'pm_files', 'pod_files', 'xs_files', 'PL_files', and 'script_files'
 3528    parameters to new().  This should help people transition from
 3529    MakeMaker, and might even help us write an automatic transition
 3530    tool.
 3531 
 3532  - Added tests to t/runthrough.t that check to see installation is
 3533    happening correctly.
 3534 
 3535  - Added experimental code to build a .ppd file, in support of
 3536    ActiveState's "Perl Package Manager". [original patch by Dave
 3537    Rolsky]
 3538 
 3539  - For authors who use Module::Signature to sign their distributions,
 3540    we now create the SIGNATURE file right in the distribution
 3541    directory, rather than creating it in the top-level directory and
 3542    copying it into place.  This solves problems related to having
 3543    files get out of date with respect to their signatures.
 3544 
 3545  - We now don't depend on Module::Info to scan for packages during the
 3546    'dist' action anymore, because it's way too aggressive about
 3547    loading other modules that you may not want loaded.  We now just
 3548    (ick, yuck) scan the .pm files with a regular expression to find
 3549    "package Foo::Bar;" statements.
 3550 
 3551  - Silenced some annoying copyright/logo output from Microsoft 'nmake'
 3552    during Makefile compatibility testing. [Randy W. Sims]
 3553 
 3554  - Command-line arguments may now either be specified using the syntax
 3555    '--foo foovalue' as well as the traditional syntax 'foo=foovalue'.
 3556    The former is often more convenient for shell tab-completion when
 3557    the value is a filename (as in 'Build test --test_files t/basic.t').
 3558 
 3559  - Command-line arguments may now include non-named parameters, which
 3560    make some actions more natural.  For instance, the 'diff' action
 3561    may now be invoked as 'Build diff -u' rather than as
 3562    'Build diff flags=-u'.
 3563 
 3564  - Pass-through Makefile.PLs now convert unknown Makefile.PL
 3565    parameters to lower-case and hand them to Build.PL, rather than
 3566    ignoring them.  This means we only have to account for the
 3567    differences in the interface, not the entire interface, in
 3568    translating parameters.
 3569 
 3570  - We now issue a warning & don't proceed if asked to make a distdir
 3571    and there's no MANIFEST or it's empty.
 3572 
 3573  - Moved INSTALL to INSTALL.txt to increase compatibility with various
 3574    odd versions of 'make' during 'make install' on case-insensitive
 3575    filesystems (like nmake on Win32, often).  Only affects the
 3576    Makefile compatibility layer.  [reported by Andrew Savige]
 3577 
 3578  - Module::Build->known_actions() now works as a class method.
 3579 
 3580  - Pass-through makefiles now list each action individually rather
 3581    than using a ".DEFAULT" catch-all.  This improves compatibility
 3582    with 'nmake' on Win32, and probably some other less common 'make'
 3583    dialects.  [Andrew Savige]
 3584 
 3585  - We're now more aggressive about testing the pass-through makefiles,
 3586    e.g. making sure they can run 'all' and 'test' targets, and making
 3587    sure the Makefile itself actually exists.
 3588 
 3589  - Fixed a problem with check_installed_status() when installed
 3590    version contains non-numeric characters like underscores.
 3591 
 3592  - Fixed a problem with a bareword 'File::Spec' in one of the test
 3593    scripts that caused it not to compile under 5.8.0 (but is fine
 3594    under 5.6).
 3595 
 3596  - Fixed a problem with the 'destdir' installation parameter on
 3597    platforms that have volume identifiers in path names (like "C:" on
 3598    Win32).  The identifier is now stripped from installation
 3599    directories before prepending the destdir path.  The destdir path
 3600    may still have a volume identifier on it.
 3601 
 3602  - Added an 'add_to_cleanup' parameter to new() that calls
 3603    add_to_cleanup() immediately for the given files.
 3604 
 3605  - The distribution directory (e.g. Sample-Module-0.13/ ) will now be
 3606    deleted during the 'clean' or 'realclean' actions.
 3607 
 3608  - During testing of modules, blib/lib and blib/arch are now added as
 3609    absolute paths, not relative.  This helps tests that load the
 3610    modules at runtime and may change the current working directory
 3611    (like Module::Build itself does during testing).
 3612 
 3613  - The $Config{cc} entry on some people's systems is something like
 3614    'ccache gcc', so we now split that string using split_like_shell().
 3615    [Richard Clamp]
 3616 
 3617  - Added documentation for 'extra_linker_flags' parameter, and added a
 3618    corresponding 'extra_compiler_flags' parameter. [original patch by
 3619    Richard Clamp]
 3620 
 3621  - The pass-through Makefile created by Module::Build::Compat now
 3622    supports MakeMaker options like POLLUTE=1 and INC.  We also just
 3623    warn & skip when we see any unknown MM parameters, rather than
 3624    dying.  [Dave Rolsky]
 3625 
 3626  - Fixed an error about how @INC and $ENV{PERL5LIB} interact during
 3627    the testing of M::B itself. [jk <billy2000@fastmail.fm>]
 3628 
 3629  - The pass-through Makefile doesn't include 'recommended' M::B
 3630    dependencies in the Makefile anymore, since they're not strictly
 3631    necessary.  In particular, this makes installing M::B itself
 3632    easier.
 3633 
 3634  - A new 'create_makefile_pl' parameter lets you use
 3635    Module::Build::Compat during the 'distdir' (or 'dist') action to
 3636    automatically create a Makefile.PL for compatibility with
 3637    ExtUtils::MakeMaker.  The parameter's value should be one of the
 3638    styles named in the Module::Build::Compat documentation.
 3639 
 3640  - When compiling C code, we now respect 'pollute' and 'inc'
 3641    parameters. (XXX - needs docs) [Dave Rolsky]
 3642 
 3643  - Made the creation of the "install map" more generic.  (XXX - needs
 3644    documentation)
 3645 
 3646  - Fixed a problem in which add_to_cleanup() didn't note cleanup files
 3647    unless create_build_script() had been called already. [Dave Rolsky]
 3648 
 3649  - During 'Build dist', we no longer have to load each .pm file (via
 3650    Module::Info) to determine the $VERSION numbers inside.  Instead,
 3651    we call our internal version_from_file() method, which is the same
 3652    thing MakeMaker and PAUSE and search.cpan.org do.  Also fixes a
 3653    failure when Module::Info is installed in a nonstandard directory.
 3654    [reported by Teun Burgers]
 3655 
 3656  - Fixed some failing test code on Windows - open files can't be
 3657    deleted. [Andrew Savige]
 3658 
 3659  - The Cygwin platform is now treated as a flavor of Unix rather than
 3660    a flavor of Windows. [chocolateboy]
 3661 
 3662  - We're now more aggressive about adding temporary C compilation
 3663    files (*.c, *.bs) to the cleanup list. [Dave Rolsky]
 3664 
 3665  - When constructing the list in META.yml of packages provided by this
 3666    distribution, we now use the same rules as the PAUSE scanner does
 3667    when a single .pm file contains multiple VERSIONs.  [Andreas Koenig]
 3668 
 3669  - check_installed_status() now works as both a class method and an
 3670    object method (and is documented so).  [Spotted by Dave Rolsky]
 3671 
 3672 0.18  Tue Apr  8 13:24:23 CDT 2003
 3673 
 3674  - We now rewrite the shebang lines of scripts ourselves, rather than
 3675    relying on MakeMaker routines to do it.  MakeMaker changed the way
 3676    this happened (not the result, but where the code lived) a few
 3677    times.  [Suggested by Richard Clamp]
 3678 
 3679  - The scripts() method has changed to script_files(), and likewise
 3680    the 'scripts' parameter has changed to 'script_files'.  The old
 3681    names can still be used for backward compatibility.
 3682 
 3683  - Support for the 'scripts' parameter (which is now 'script_files')
 3684    was broken in 0.17, now it's fixed.  [Richard Clamp]
 3685 
 3686  - We now recommend ExtUtils::ParseXS 2.02, which will fail to load
 3687    with perl 5.005 or earlier (which is proper, because it doesn't
 3688    work with those versions).  When it fails to load, we still fall
 3689    back to using the xsubpp script for XS parsing. [spotted by Dave
 3690    Rolsky, fix suggested by Richard Clamp]
 3691 
 3692  - Now works on VMS - the Build script's shebang-line-equivalent
 3693    wasn't being formed correctly there - though just about everything
 3694    else worked fine.  [Tested & patched by Michael Schwern]
 3695 
 3696  - Eliminated a warning that occurred if 'perl Build.PL' or the
 3697    check_installed_status() method was run with -w.  [Spotted by
 3698    Michael Schwern]
 3699 
 3700 0.17  Sat Mar 29 18:06:01 CST 2003
 3701 
 3702  - Now works under perl 5.005_03.  [Richard Clamp]
 3703 
 3704  - When building blib/ , .PL files are now processed before doing
 3705    anything else.  This means .PL files can be used in any of the
 3706    other contexts.
 3707 
 3708  - The locating and processing of .pm, .pod, .xs, .PL files and script
 3709    files are now isolated into their own methods.  This is aimed
 3710    toward providing a stable interface for this stuff, so they can be
 3711    overridden, parameterized, etc.  They're not quite stable yet,
 3712    though.
 3713 
 3714  - The internal lib_to_blib() method has gone away, because processing
 3715    is now done by smaller specialized methods.  This method had some
 3716    duplicate assumptions about filenames that it's nice to get rid of.
 3717 
 3718  - .PL files are no longer automatically processed in the c_source
 3719    directory, they must be specified manually in a 'PL_files'
 3720    parameter.
 3721 
 3722  - Mention in the docs that it's useful to do "PL_FILES => {}" in a
 3723    Makefile.PL if you're using both a Makefile.PL and a
 3724    Build.PL. [Dom]
 3725 
 3726  - Add several options to the 'license' field, so that we're in better
 3727    sync with PAUSE and CPAN options. [Andreas Koenig]
 3728 
 3729  - Created a find_perl_interpreter() method that tries to locate the
 3730    currently executing perl interpreter.  Following a suggestion from
 3731    Nicholas Clark <nick@ccl4.org> for Inline, we prefer an absolute
 3732    path in $^X, then an existent path in $Config{perlpath}, then
 3733    whatever's in $^X.
 3734 
 3735  - Use the aforementioned perl to run scripts in run_perl_script().
 3736    This fixes the spurious warning "WARNING: Configuration was
 3737    initially created with 'foo', but we are now using 'bar'" that
 3738    appeared a lot in version 0.16.
 3739 
 3740 
 3741 0.16  Mon Feb 24 13:06:47 CST 2003
 3742 
 3743  - All three C compilers that perl supports on Windows environments
 3744    (MSVC, BCC, and GCC) are now supported by Module::Build.  We now
 3745    reportedly pass all tests on Windows.  [Randy W. Sims]
 3746 
 3747  - The test t/xs.t, which tests building of XS modules, will be
 3748    skipped if no C compiler is found. [suggested by Randy W. Sims]
 3749 
 3750  - The "install" action accepts new "destdir" [motivated by Michael
 3751    Schwern and Chip Salzenberg] and "uninst" parameters [by Dave
 3752    Rolsky].  The former prepends an arbitrary directory to all
 3753    installation paths (useful for package management), and the latter
 3754    will tell ExtUtils::Install to remove any differing files that are
 3755    "shadowing" the stuff you're installing from a different location,
 3756    just like MakeMaker's "make install UNINST=1" command will do.
 3757 
 3758  - Made changes to the generated Makefile in Module::Build::Compat
 3759    that much better support Windows platforms [after suggestions by
 3760    James Freeman]
 3761 
 3762  - Added experimental support for creating distribution SIGNATURE
 3763    files via Module::Signature. [Dave Rolsky]
 3764 
 3765  - Added experimental support for installing via the "only.pm" module,
 3766    which allows loading specific versions of modules.  Since this
 3767    module is so new, the interface may still be changing. [Brian
 3768    Ingerson]
 3769 
 3770  - Added support for installing executable scripts, via the 'scripts'
 3771    parameter to new(), and the scripts() accessor method.
 3772 
 3773  - Fix an infinite loop that occurred when doing 'perl Build.PL
 3774    config="foo=bar"'
 3775 
 3776  - Fix up the formatting of the error message the user gets when
 3777    prereqs aren't satisfied.
 3778 
 3779 0.15  Fri Jan 17 15:00:24 CST 2003
 3780 
 3781  - In link_c(), extra object files were mistakenly being treated as
 3782    output files, not input files, in the up-to-date check.  Fixed.
 3783 
 3784  - In up_to_date(), don't make an unnecessary copy of the file lists
 3785    when they're specified as array references.
 3786 
 3787  - Split off the C compilation phase into its own method,
 3788    compile_support_files(), for easier subclassing.
 3789 
 3790  - Start a stub of a 'manifypods' action.
 3791 
 3792  - Compiler optimizations weren't being included in C compilation
 3793    statements.  Fixed.
 3794 
 3795  - The 'extra_linker_flags' parameter wasn't being honored.  Fixed.
 3796 
 3797  - The 'ccflags' Config.pm entry wasn't being properly split into
 3798    separate arguments.  Fixed.
 3799 
 3800 
 3801 0.14  Fri Dec 13 14:06:29 AEST 2002
 3802 
 3803   - Added support for MacPerl (Mac OS version 9 and below), which (as
 3804     far as I know) was never natively supported by MakeMaker.  Still
 3805     lacks support for the 'test' action (because Test::Harness
 3806     requires forking, which MacPerl won't do) and compiling XS/C files
 3807     (because I don't know how to invoke a compiler on MacOS, and one
 3808     may not even be available).  This change is brought to you by
 3809     Michael Schwern and the letter '('.
 3810 
 3811   - Improved processing of .xs files.  Now we use the new
 3812     ExtUtils::ParseXS module if it's available, otherwise we use
 3813     backticks and write the result to a .c file ourselves.  This
 3814     avoids the need to do cross-platform shell redirection.
 3815 
 3816   - Make sure all parts of 'Build test' use the not-yet-installed
 3817     version of Module::Build.  This only affects the tests for this
 3818     module, not any of the module code itself.  [Spotted by Schwern]
 3819 
 3820   - Oopsie - use $Config{ld} instead of $Config{cc} for linking.
 3821 
 3822   - Added a 'diff' action, which is useful for comparing the details
 3823     of what you're about to install with what is already installed on
 3824     your system.  This uses File::Compare, which is in the core.
 3825 
 3826   - Fixed a problem on Windows in which the _build/ directory wasn't
 3827     getting deleted during the 'realclean' action, because we had a
 3828     file open in that directory. [Spotted by Michael Schwern]
 3829 
 3830   - delete_filetree() now always uses File::Path::rmtree(), regardless
 3831     of whether the thing being deleted is a file or a directory.  This
 3832     helps remove things on obscure platforms with strange locking
 3833     rules (or even not so obscure ones like MacOS).  It also now
 3834     reports the number of files or directories deleted (without
 3835     recursing directory contents).
 3836 
 3837   - rm_previous_build_script() is gone, replaced by calls to
 3838     delete_filetree().
 3839 
 3840   - 'Build' now chdir()s in a BEGIN block, so the 'use Module::Build'
 3841     statement will work correctly.  Solves a problem on MacOS, where
 3842     the 'Build' script may often be invoked from the wrong working
 3843     directory.  [Fix by Michael Schwern]
 3844 
 3845   - Internally we now use the multi-argument form of system() to run
 3846     external commands (such as 'diff' or 'cc') whenever possible (and
 3847     whenever we can't avoid system() altogether).  Note that this
 3848     means we have to handle splitting some strings (such as
 3849     $Config{ccflags}) into argument lists like the shell would, which
 3850     is a drag.  However, the alternative would be to handle shell
 3851     quoting of all arguments to commands ourselves, which is an even
 3852     bigger drag across platforms and involves arbitrary filenames and
 3853     so on.
 3854 
 3855   - To handle the argument splitting mentioned above, a method
 3856     split_like_shell() has been created.  So far it's just doing naive
 3857     processing.  In practice, I've yet to actually see a %Config entry
 3858     that uses quotes & spaces, so the splitting task is usually not
 3859     very error-prone.
 3860 
 3861   - The 'test' action now takes a 'test_files' parameter, similar to
 3862     the (undocumented) ExtUtils::MakeMaker TEST_FILES argument.  Handy
 3863     during development when fixing bugs.
 3864 
 3865   - Internally, the rscan_dir() method can now accept a predicate
 3866     function that decides whether a file/directory should be matched.
 3867 
 3868   - We now issue a warning message when the author hasn't specified a
 3869     license type.
 3870 
 3871 0.13  Wed Nov 20 20:07:53 AEST 2002
 3872 
 3873   - 'cleanup' file lists are now written immediately, rather than at
 3874     program termination.  This helps avoid "phantom files" that don't
 3875     get handled by the 'realclean' action.  The internal
 3876     write_cleanup() method (which was never documented) is now gone.
 3877 
 3878   - The 'blib/' directory is now properly cleaned up in more (all?)
 3879     circumstances.  Previously it could become a phantom if
 3880     create_build_script() was never called.
 3881 
 3882   - Now scan the 'c_source' directory for .cpp (C++) files as well as
 3883     .c files, and compiles them.
 3884 
 3885   - Use a 'phony' target for 'make manifest' in the pass-through
 3886     Makefile, for the same reason as 'make install' (see version 0.12
 3887     notes below).
 3888 
 3889   - Module::Build::Compat now accepts any known Config.pm key and
 3890     passes it through to the Build.PL.  Fixes a problem with CPANPLUS,
 3891     which was passing INSTALLMAN1DIR.
 3892 
 3893   - The file 'META.yaml' has been re-named to 'META.yml' in order to
 3894     cooperate better with systems that can only handle 3 characters
 3895     after the dot.
 3896 
 3897   - The t/xs.t test should give more informative error messages upon
 3898     failure.
 3899 
 3900 0.12  Thu Nov 14 18:31:47 AEST 2002
 3901 
 3902   - The META.yaml file was erroneously looking for 'build_depends'
 3903     instead of 'build_requires'. [spotted by Iain Truskett]
 3904 
 3905   - Add prompt() and y_n() methods for use in Build.PLs
 3906 
 3907   - Do more to work with all versions of Test::Harness when setting
 3908     the TEST_VERBOSE flag and running under the debugger [patch by
 3909     Dave Rolsky]
 3910 
 3911   - Include a test for verbosity handling
 3912 
 3913   - Make sure the blib/ directory is always cleaned up with the
 3914     'clean' or 'realclean' action.
 3915 
 3916   - In a pass-through Makefile.PL, inform 'make' that 'install' is a
 3917     "fake target", so that it works properly on case-insensitive
 3918     filesystems like HFS+ with distributions that contain an INSTALL
 3919     file. [patch by Brian Ingerson]
 3920 
 3921   - In Module::Build::Compat, show an example Makefile.PL that can
 3922     install Module::Build and re-invoke itself in one fell swoop [Dave
 3923     Rolsky and Autrijus Tang]
 3924 
 3925   - Improve the formatting of the Module::Build and
 3926     Module::Build::Compat documentation.
 3927 
 3928 0.11  Fri Aug 23 18:50:46 AEST 2002
 3929 
 3930   - 'module_version' and 'module_version_from' have been replaced by
 3931     'dist_version' and 'dist_version_from', which is what they really
 3932     meant in the first place.  'dist_name' has been added.
 3933 
 3934   - 'module_name' is now just a way to set 'dist_name' and
 3935     'dist_version_from' in a convenient way.
 3936 
 3937   - The 'name' in META.yaml is now the distribution name, not the
 3938     (incorrect) module name. [spotted by Graham Barr]
 3939 
 3940   - Added the check_installed_status() and prereq_failures() methods
 3941     for checking prerequisite information with the programmatic
 3942     interface
 3943 
 3944   - check_installed_version() now uses check_installed_status()
 3945     internally
 3946 
 3947   - Documented the create_build_script() method, which had escaped
 3948     documentation.
 3949 
 3950   - create_build_script() now writes prerequisite information to the
 3951     _build/ directory, for use by Module::Build::Compat.
 3952 
 3953   - Module::Build::Compat has documentation for a safer way to write a
 3954     dummy Makefile.PL. [patch by Autrijus Tang]
 3955 
 3956 0.10  Wed Aug  7 19:36 2002
 3957   - Recommend YAML 0.35 instead of 0.30.
 3958 
 3959   - Don't die during 'Build disttest' if YAML isn't installed.  This
 3960     fixes tests 5-10 in runthrough.t if YAML isn't installed.
 3961 
 3962   - Die if an unknown license type is used, but still default to
 3963     'unknown' if no license is specified.
 3964 
 3965   - Use YAML::DumpFile() if we're using a recent YAML,
 3966     YAML::StoreFile() otherwise.
 3967 
 3968   - Show specific error messages in runthrough.t.
 3969 
 3970   - Add a generated_by entry to the META.yaml file.
 3971 
 3972   - Skip a few tests if YAML isn't installed.
 3973 
 3974 0.09  Fri Jun 28 11:07:08 EST 2002
 3975 
 3976   - The 'distdir' action wasn't deleting the distribution directory
 3977     before building it again.  This meant that, say, if you did 'Build
 3978     disttest' then 'Build dist', you'd end up with a blib/ directory
 3979     in your distribution.  I actually had this happen for version
 3980     0.08, and it's not nice to distribute a blib/ on CPAN.
 3981 
 3982   - We now keep track of the 'base_dir', i.e. the top-level build
 3983     directory, so we can change back into it if we change out of it.
 3984     This necessitated a cwd() method, which uses the Cwd.pm module.
 3985     I'm aware of Cwd's limitations, particularly under taint-mode, but
 3986     I don't know a way around using it here.
 3987 
 3988   - The 'dist_dir' action now changes back into 'base_dir' directory.
 3989 
 3990   - We now do write_config() inside the create_build_script() method,
 3991     not inside the new() method.
 3992 
 3993   - Simplified the find_version() method, and improved its error
 3994     messages.
 3995 
 3996   - Renamed module_name_to_file() to find_module_by_name(), and added
 3997     a parameter specifying the directories to search in.  Previously
 3998     we searched in 'lib' and @INC, which wasn't correct in all
 3999     situations.
 4000 
 4001   - Patched the docs to change "Build test" to "./Build test"
 4002     [Elizabeth Mattijsen]
 4003 
 4004 0.08  Wed Jun 26 20:30:56 EST 2002
 4005 
 4006   - Fixed the 'prereq' alias for the 'requires' parameter
 4007 
 4008   - Added some tests in t/basic.t to test the dependency checking
 4009 
 4010   - Added 'artistic' as a licensing option [Arthur Bergman]
 4011 
 4012   - Fixed some bugs in requires/prereq/recommends/conflicts/build_depends
 4013 
 4014   - Fixed a typo in the 'distclean' action that prevented its
 4015     execution [Arthur Bergman]
 4016 
 4017   - Separated the linking phase of building XS items into its own
 4018     link_c() method.  Its interface is still unstable, so it's not
 4019     documented yet. [suggested by Arthur Bergman]
 4020 
 4021 0.07  Jun  9 2002 15:46
 4022 
 4023   - We now generate a 'META.yaml' metadata file during 'Build dist'.
 4024     This can be very useful for lots of things, none of which are
 4025     implemented yet.
 4026 
 4027   - Added a 'dynamic_config' parameter, defaulting to false.  This
 4028     lets distribution systems (CPAN.pm, etc.) build, test, and install
 4029     "easy" modules without having to execute the Build.PL at runtime.
 4030     It's also a guarantee that the list of dependencies is exactly
 4031     what is present in the metadata file, and won't be changed during
 4032     the build process.
 4033 
 4034   - Added support for "recommended" and "build-time requirement"
 4035     modules, besides those that are absolutely required.  Also added a
 4036     "conflicts" field.
 4037 
 4038   - Changed the 'prereq' field to 'requires' (the old name will
 4039     continue to work).
 4040 
 4041   - Added support for checking the installed version of perl as an
 4042     explicit dependency.
 4043 
 4044   - Added a 'license' parameter to specify one of a fixed number of
 4045     licenses for the distribution.
 4046 
 4047   - Fixed a bug in Module::Build::Compat that was preventing arguments
 4048     from being processed properly. [patch by Ilya Martynov]
 4049 
 4050   - Make sure we're in the right directory when we write the cleanup
 4051     file, since various ExtUtils::Install errors might leave us in an
 4052     unknown directory. [patch by Ilya Martynov]
 4053 
 4054   - Specified the 'license', 'recommends', and 'dynamic_config'
 4055     values in Build.PL, and changed 'prereq' to 'requires'.
 4056 
 4057 0.06  Apr 2 2002 17:44
 4058 
 4059   - Added the Module::Build::Compat module for assisting and
 4060     explaining compatibility with ExtUtils::Makemaker and cohorts.
 4061 
 4062   - State is now saved using Data::Dumper instead of my ad-hoc
 4063     mechanism, guaranteeing data integrity.  Whitespace values broke
 4064     in the former scheme.
 4065 
 4066   - Added the 'recommended' option, which works like 'prereq' but
 4067     isn't insistent.
 4068 
 4069   - Separated the various parameters into three groups: parameters
 4070     that tell Module::Build what to do, Config.pm parameters, and
 4071     user-defined parameters for each build (the module author is the
 4072     'user' here).  This helps avoid conflicts between names, and it
 4073     was silly to have them all together.  The three groups of
 4074     parameters are subject to the same rules for overriding: values
 4075     specified during a Build action take precedence over values
 4076     specified at 'perl Build.PL' time, which in turn take precedence
 4077     over values specified in the call to new().
 4078 
 4079   - Improved support for .PL files.  Any .PL file in the lib/
 4080     directory or the directory specified by 'c_source' will now get
 4081     properly executed.  I also added a 'PL_files' parameter that you
 4082     can use in case the .PL doesn't create an obviously-named output
 4083     file.
 4084 
 4085   - If a prerequisite condition is malformed, we now report a prereq
 4086     failure and say why.  Previously we issued a warning and kept
 4087     going.
 4088 
 4089 
 4090 0.05   10-Jan-2002 20:26
 4091   - Added the Module::Build->subclass() method, which makes it easier to
 4092     make quick-and-dirty subclasses of Module::Build.
 4093 
 4094   - Reorganized the docs a bit.
 4095 
 4096   - Added the 'testdb' action, and the 'debugger=1' argument to the
 4097     'test' action, both of which run tests under the perl
 4098     debugger. (idea: Dave Rolsky)
 4099 
 4100   - Added prerequisite checking (Dave Rolsky)
 4101 
 4102   - Fixed an unlikely-to-occur bug with misquoted strings in the
 4103     'Build' script (spot: Dave Rolsky)
 4104 
 4105   - We're more careful about shush-ing warnings that
 4106     ExtUtils::Manifest might emit (Dave Rolsky)
 4107 
 4108   - The 'help' action now auto-generates the list of actions (Dave Rolsky)
 4109 
 4110   - Added the 'distcheck', 'skipcheck', 'distclean', 'distdir', and
 4111     'disttest' actions (Dave Rolsky)
 4112 
 4113   - We're a little more aggressive about cleaning up temporary files -
 4114     we'll try to clean them up even when we don't have write permission
 4115     on them.  This isn't as dastardly as it sounds; if we /really/
 4116     don't have permission, we won't be able to remove them no matter
 4117     how hard we try.
 4118 
 4119 0.04   Fri Nov 16 16:55 2001
 4120   - Added a 'manifest' action.  It's just like MakeMaker's 'make manifest', it
 4121     brings your MANIFEST file up to date with your distribution directory.
 4122 
 4123   - Reorganized some of the responsibilities of various methods, which
 4124     allows modules to be built and tested programmatically.
 4125 
 4126   - The 'clean' action will now clean up files that were created more
 4127     recently than the on-disk cleanup registry was written.
 4128 
 4129   - Undefined values from Config.pm are handled correctly now.
 4130 
 4131   - The dispatch() method will now accept explicit dispatch
 4132     parameters, for use in a programmatic setting.
 4133 
 4134   - $ENV{TEST_VERBOSE} will be set in test scripts if the 'verbose=1'
 4135     parameter is set.
 4136 
 4137   - Moved the test.pl script to t/basic.t
 4138 
 4139   - Created the t/xs.t script, which tests building a module with a
 4140     .xs component.
 4141 
 4142   - Fixed the loading of $^O-specific modules (there were no such
 4143     modules before).
 4144 
 4145   - Added a 'darwin' platform module, which removes -flat_namespace
 4146     from $Config{ccflags} while building .xs modules (it's a linker
 4147     flag, not a compiler flag).
 4148 
 4149   - Now uses $^W instead of the 'warnings' pragma, which apparently
 4150     provides compatibility with perl 5.005 (I've only tested it with
 4151     5.6.x myself).
 4152 
 4153   - If a file called C<visual.pl> exists in the top-level directory,
 4154     this file will be executed as a Perl script during 'Build test' and
 4155     its output will be shown to the user.  This is a good place to put
 4156     speed tests or other tests that don't use the C<Test::Harness> format
 4157     for output.
 4158 
 4159   - The 'Build install' step will now put .xs-related things in the
 4160     correct architecture-dependent libraries.
 4161 
 4162   - Added the 'autosplit' option, even though I think autosplitting is
 4163     a load of hooie.
 4164 
 4165 0.03  Sun Nov 11 14:58 CDT 2001
 4166   - The 'perl Build.PL' step will now detect whether the current
 4167     environment is "unixish", "windowsish", etc., and load the correct
 4168     module (i.e. Module::Build::Platform::Unix).  More specific
 4169     modules may also be written for particular values of $^O.
 4170 
 4171   - Module::Build will now process any .xs files in the lib/
 4172     directory.  Please let me know whether this works or not with your
 4173     distribution & platform.  I'll be trying out various distributions
 4174     on my platform.
 4175 
 4176   - Corrected some embarassing errors in the POD documentation.  Also
 4177     added a long documentation section on the various build actions
 4178     (test, install, build, etc.) and added some neato ASCII art.
 4179 
 4180   - Added a 'cleanup' mechanism - any method may call the
 4181     $self->add_to_cleanup(@files) method to register files which need
 4182     to be cleaned up during 'Build clean'.
 4183 
 4184   - Added a 'Build help' action that gives a little syntax help, and
 4185     lists all the actions available.
 4186 
 4187   - Fixed a bug in which 'blib/' wasn't properly being added to @INC
 4188     when running 'Build test'.
 4189 
 4190   - For the 'Build dist' action, we'll use the 'tar' and 'gzip'
 4191     programs (as specified by Config.pm) on Unix platforms, otherwise
 4192     we'll use Archive::Tar and Compress::Zlib.
 4193 
 4194 0.02  Wed Sep  5 00:53:04 CDT 2001
 4195   - Added POD documentation.
 4196 
 4197   - Added the 'install', 'fakeinstall', and 'dist' actions.
 4198 
 4199   - new() will now determine version string based on 'module_version', or
 4200     'module_version_from', or 'module_name', in that order.
 4201 
 4202   - Module::Build::Base handles its file paths in a platform-independent
 4203     way, using the File:: modules
 4204 
 4205 
 4206 0.01  Sun Aug  5 01:23:10 2001
 4207   - original version; created by h2xs 1.1.1.4 with options -XA -n Module::Build
 4208