I’m pleased to announce the release of Module::Build 0.3800, available on a CPAN Mirror near you.

The major enhancement since the 0.36XX series is support for CPAN Meta Spec version 2 files (MYMETA.json and META.json). Also, if you haven’t kept up with Module::Build, the 0.3607 release was nearly a year ago and there have been over 20 development releases, mostly fixing various bugs. Here is an excerpt from the last year of Changes:

0.3800 - Sat Mar 5 15:11:41 EST 2011 Summary of major changes since 0.3624: [ENHANCEMENTS] - Generates META.json and MYMETA.json consistent with version 2 of the CPAN Meta Spec. [David Golden] Also in this release: [BUG FIXES] - Autogenerated documentation no longer includes private actions from Module::Build's own release subclass. [Report by Timothy Appnel, fix by David Golden] 0.37_06 - Mon Feb 28 21:43:31 EST 2011 [BUG FIXES] - prerequisites with the empty string instead of a version are normalized to "0". (RT#65909) [OTHER] - More Pod typo/link fixes [Hongwen Qiu] 0.37_05 - Sat Feb 19 20:43:23 EST 2011 [BUG FIXES] - fixes failing ppm.t in perl core [OTHER] - Pod typo fixes [Hongwen Qiu] 0.37_04 - Wed Feb 16 15:27:21 EST 2011 [OTHER] - moved scripts/ to bin/ for less confusing porting to bleadperl 0.37_03 - Wed Feb 16 09:54:05 EST 2011 [BUG FIXES] - removed an irrelevant test in t/actions/installdeps.t that was causing failures on some Cygwin platforms [OTHER] - dropped configure_requires as some CPAN clients apparently get confused by having things in both configure_requires and requires - bumped Parse::CPAN::Meta build prereq to 1.4401 - bumped CPAN::Meta prereq to 2.110420 - Pod typo fixes [Hongwen Qiu] 0.37_02 - Mon Feb 7 21:05:30 EST 2011 [BUG FIXES] - bumped CPAN::Meta prereq to 2.110390 to avoid a regression in 2.110360 0.37_01 - Thu Feb 3 03:44:38 EST 2011 [ENHANCEMENTS] - Generates META.json and MYMETA.json consistent with version 2 of the CPAN Meta Spec. [David Golden] [BUG FIXES] - t/signature.t now uses a mocked Module::Signature; this should be more robust across platforms as it only needs to confirm that Module::Build is calling Module::Signature when expected [OTHER] - Added CPAN::Meta and Parse::CPAN::Meta to prerequisites and dropped CPAN::Meta::YAML 0.3624 - Thu Jan 27 11:38:39 EST 2011 - Fixed pod2html directory bugs and fixed creation of spurious blib directory in core perl directory when running install.t (RT#63003) [Chris Williams] 0.3623 - Wed Jan 26 17:45:30 EST 2011 - Fixed bugs involving bootstrapping configure_requires prerequisites on older CPANPLUS clients or for either CPAN/CPANPLUS when using the compatibility Makefile.PL - Added diagnostic output when configure_requires are missing for the benefit of users doing manual installation 0.3622 - Mon Jan 24 21:06:50 EST 2011 - No changes from 0.36_21 0.36_21 - Fri Jan 21 11:01:28 EST 2011 - Changed YAML::Tiny references to the new CPAN::Meta::YAML module instead, which is the YAML-variant that is going into the Perl core 0.36_20 - Fri Dec 10 15:36:03 EST 2010 *** DEPRECATIONS *** - Module::Build::Version has been deprecated. Module::Build now depends directly upon version.pm. A pure-perl version has been bundled in inc/ solely for bootstrapping in case configure_requires is not supported. M::B::Version remains as a wrapper around version.pm. - Module::Build::ModuleInfo has been deprecated. Module::Build now depends directly upon Module::Metadata (which is an extraction of M::B::ModuleInfo intended for general reuse). A pure-perl version has been bundled in inc/ solely for bootstrapping in case configure_requires is not supported. M::B::ModuleInfo remains as a wrapper around Module::Metadata. - Module::Build::YAML has been deprecated. Module::Build now depends directly upon YAML::Tiny. M::B::YAML remains as a subclass wrapper. The YAML_support feature has been removed, as YAML is now an ordinary dependency. 0.36_19 - Tue Dec 7 13:43:42 EST 2010 Bug fixes: - Perl::OSType is declared as a 'configure_requires' dependency, but is also bundled in inc (and loaded if needed) [David Golden] 0.36_18 - Mon Dec 6 16:46:49 EST 2010 Changes: - Added dependency on Perl::OSType to refactor and centralize management of OS type mapping [David Golden] - When parsing a version number out of a file, any trailing alphabetical characters will be dropped to avoid fatal errors when comparing version numbers. These would have been dropped (with a warning) anyway during an ordinary numeric comparison. (RT#56071) [David Golden] Bug fixes: - A Perl interpreter mismatch between running Build.PL and running Build is now a fatal error, not a warning (RT#55183) [David Golden] - Bundled Module::Build::Version updated to bring into sync with CPAN version.pm 0.86 [David Golden] - No longer uses fake user 'foo' in t/tilde (RT#61793) [David Golden] - Won't fail tests if an ancient Tie::IxHash is installed [Christopher J. Madsen] - Correctly report missing metafile field names [David Golden] - Suppress uninitialized value errors during Pod creation on ActiveState Perl [David Golden] - Return to starting directory after install action; this is an attempt to fix an install.t heisenbug (RT#63003) [David Golden] - A broken version.pm load won't cause Module::Build::Version to die trying to install itself as a mock version (RT#59499) [Eric Wilhelm and David Golden] - PERL_DL_NONLAZY is now always set when tests are run (RT#56055) [Dmitry Karasik] - 'fakeinstall' will use .modulebuildrc actions for 'install' if no specific 'fakeinstall' options are provided (RT#57279) [David Golden] - Add install*script to search path for installdeps client and search site, then vendor, then core paths - Skip noexec tmpdir check on Windows (RT#55667) [Jan Dubois] - Arguments with key value pairs may now have keys with "-" in them (RT#53050) [David Golden] - Add quotemeta to t/tilde.t test to fix Cygwin fails [Chris Williams and David Golden] - Build script now checks that M::B is at least the same version of M::B as provided in 'configure_requires' in META (RT#54954) [David Golden] 0.36_17 - Wed Oct 27 18:08:36 EDT 2010 Enhancements: - Added 'distinstall' action to run 'Build install' inside the generated distribution directory [Jeff Thalhammer] 0.36_16 - Thu Aug 26 12:44:07 EDT 2010 Bug fixes: - Better error message in case package declaration is not found when searching for version. [Alexandr Ciornii] - Skips 'release_status' tests on perl < 5.8.1 due to buggy treatment of dotted-decimal version numbers [David Golden] 0.36_15 - Wed Aug 25 10:41:28 EDT 2010 Bug fixes: - Added a mock Software::License to prevent t/properties/license.t from failing. 0.36_14 - Sun Aug 22 22:56:50 EDT 2010 Enhancements: - Adds 'release_status' and 'dist_suffix' properties in preparation for adding CPAN Meta Spec 2 support. 'dist_suffix' will be set to 'TRIAL' automatically when necessary. [David Golden] - Makes 'license' more liberal. You can now specify either a license key from the approved list (c.f. Module::Build::API) or just a Software::License subclass name (e.g. 'Perl_5'). This should provide better support for custom or proprietary licenses. [David Golden] 0.36_13 - Wed Jul 28 22:40:25 EDT 2010 Bug-fixes: - Bundled Module::Build::Version updated to bring into sync with CPAN version.pm 0.82 [David Golden] 0.36_12 - Tue Jul 27 00:08:51 EDT 2010 Enhancements: - Module::Build::Compat will now convert dotted-decimal prereqs into decimal rather than dying (and will warn about this). [Apocalypse] Bug fixes: - Caches case-sensitivity checks to boost performance, fixes RT#55162 and RT#56513 [Reini Urban] - Won't try to use ActivePerl doc generation tools without confirming that they are indeed installed. [David Golden] - Sets temporary $ENV{HOME} in testing to an absolute path, which fixes some issues when tested as part of the Perl core [Nicholas Clark] - Module::Build::ModuleInfo now warns instead of dying when a module has an invalid version. ->version now just returns undef (RT#59593) [David Golden] Changes: - When authors do not specify Module::Build in configure_requires and Module::Build is automatically added, a warning will be issued showing the added prerequisite [David Golden] - Moved automatic configure_requires generation into get_metadata() and added an 'auto' argument to toggle it (on for META and off for MYMETA) [David Golden] 0.36_11 - Thu May 27 09:41:23 EDT 2010 Bug fixes: - Handle META/MYMETA reading and writing within Module::Build to ensure utf8 mode on filehandles. Now passes/gets only strings to YAML::Tiny or Module::Build::YAML 0.36_10 - Wed May 19 18:36:06 EDT 2010 Bug fixes: - Fix failing t/manifypods.t on Windows from 0.36_09 changes [Klaus Eichner] 0.36_09 - Tue May 11 09:19:12 EDT 2010 Bug fixes: - Improve HTML documentation generation on ActivePerl (RT#53478) [Scott Renner and Klaus Eichner] 0.36_08 - Mon Apr 26 08:00:15 EDT 2010 Enhancements: - Give a list of valid licenses when given one we don't recognize (RT#55951) [Yanick Champoux] - Added 'Build manifest_skip' action to generate a default MANIFEST.SKIP [David Golden] Changes: - When temporarily generating a MANIFEST.SKIP when none exists, it will be removed on exit instead of hanging around until 'Build clean'. This is less surprising/confusing and the 'Build manifest_skip' action is now available instead to bootstrap the file [David Golden] Bug fixes: - Fixed runtime error on cygwin when searching for an executable command during installdeps testing [David Golden]