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