Revision history for CPAN-Meta

2.150013  2026-02-20 12:44:18-05:00 America/New_York

  [FIXED]

  - Fix an incompatibility with newer CPAN::Meta::Requirements

2.150012  2026-01-25 16:20:37-05:00 America/New_York

  [CHANGED]

  - Only distribution metadata

2.150011  2026-01-22 15:50:29-05:00 America/New_York

  [CHANGED]

  - Improved example of testing a minimum prerequisite version of a module.
  - Remove some code meant to handle running on pre-v5.8 perl, even though v5.8
    was already a requirement

2.150010  2016-08-18 12:10:08-04:00 America/New_York

  [FIXED]

  - the YAML and JSON backend variables are ignored when building/testing the
    perl core itself, where non-core backends are not yet installed.

  [CHANGED]

  - Added "use warnings" to Parse::CPAN::Meta

2.150009  2016-07-02 21:07:49-04:00 America/New_York (TRIAL RELEASE)

  [FIXED]

  - Fixed used of Encode in Parse::CPAN::Meta::load_json_string
    (Cherry picked from Parse::CPAN::Meta 1.4422)

2.150008  2016-06-28 17:01:03-04:00 America/New_York (TRIAL RELEASE)

  [ADDED]

  - Merged Parse::CPAN::Meta 1.4420 into this distribution

2.150007  2016-06-28 03:48:16-04:00 America/New_York (TRIAL RELEASE)

  [FIXED]

  - The cloning routine would raise an error on expected types when it
    previously would stringify.  The old behavior is restored.

2.150006  2016-06-23 20:05:46-04:00 America/New_York (TRIAL RELEASE)

  [FIXED]

  - CPAN::Meta::Prereqs now fully accepts phases and types starting with 'x_'.
    New 'phases' and 'types_in' interfaces have been added.

  - No longer relies on JSON backend for data structure cloning. This is
    much faster than using JSON::PP.

  [TESTS]

  - The 'extra_mappings' feature for meta merging is now tested and
    documented.

  - During tests, delete new environment variables added by
    Parse::CPAN::Meta 1.4418

  [SPEC]

  - Clarifies acceptable values for booleans

  - Cleaned up text and links of historical specs.

2.150005  2015-06-09 19:08:44-06:00 America/Denver

  [TESTING]

  - Changed some test data from UTF-8 to ASCII

2.150004  2015-05-19 11:25:53-04:00 America/New_York (TRIAL RELEASE)

  [DOCUMENTED]

  - Noted explicitly that historical META spec files are licensed under
    the same terms as Perl

  [TESTING]

  - Added test for 'x_deprecated' field in "provides"

  [META]

  - declared extra developer prereq

2.150003  2015-04-21 19:41:15-04:00 America/New_York (TRIAL RELEASE)

  [CHANGED]

  - Serialized CPAN::Meta objects now include a x_serialization_backend
    entry

2.150002  2015-04-19 01:00:10+02:00 Europe/Berlin (TRIAL RELEASE)

  [CHANGED]

  - Metadata merging now does deep hash merging as long as keys
    don't conflict

2.150001  2015-03-09 14:41:39-04:00 America/New_York

  [DOCUMENTED]

  - Include allowed values for license field in 1.x historic licenses rather
    than linking to Module::Build

  - Documented when fragment merging became available

2.143240  2014-11-20 10:26:30-05:00 America/New_York

  [FIXED]

  - Give correct path in nested merges such as resources

  - Removed strings test that should have been removed when
    CPAN::Meta::Requirements was removed to a separate dist

2.142690  2014-09-26 11:06:34-04:00 America/New_York

  [FIXED]

  - Fixed use of incorrect method in CPAN::Meta::Merge implementation

  [DOCUMENTED]

  - Clarified that no_index is a list of exclusions, and that indexers
    should generally exclude 'inc', 'xt' and 't' as well.
  - CPAN::Meta::History::Meta_1_0 through 1_4 are added as a permanent
    record of 1.x versions of the metaspec

2.142060  2014-07-25 13:30:06-04:00 America/New_York

  [ADDED]

  - CPAN::Meta::Merge is a new class for merging two possibly overlapping
    instances of metadata. It will accept both CPAN::Meta objects and
    (possibly incomplete) hashrefs of metadata.

2.141520  2014-05-31 23:41:13-04:00 America/New_York

  [DOCUMENTED]

  - Clarified use of 'file' for the 'provides' field in the Spec

2.141170  2014-04-27 13:03:37-04:00 America/New_York

  [ADDED]

  - Added ability for CPAN::Meta::Converter to convert metadata fragments
    (incomplete portions of a metadata structure)

  [CHANGED]

  - Optimized internal use of JSON for datastructure cloning

  [FIXED]

  - Removed dependency on List::Util 1.33

  [DOCUMENTED]

  - Clarified language around 'dynamic_config' in the Spec

2.140640  2014-03-05 09:07:05-05:00 America/New_York

  [FIXED]

  - A change to the default meta-spec URL in 2.140630 from search.cpan.org
    to metacpan.org broke Module::Build and ExtUtils::MakeMaker.  This
    reverts that change.  Also added the missing change note to the prior
    version.

2.140630  2014-03-04 15:23:40-05:00 America/New_York

  [CHANGED]

  - Default meta-spec URL points to metacpan.org instead of search.cpan.org

  [ADDED]

  - Added a 'load_string' method that guesses whether the string
    is YAML or JSON

2.133380  2013-12-03 23:01:07 America/New_York

  [FIXED]

  - Improved bad version handling during META conversion

  - When downgrading multiple licenses to version 1.x META formats, if all
    the licenses are open source, the downgraded license will be
    "open_source", not "unknown"

2.132830  2013-10-10 16:04:30 America/New_York

  [ADDED]

  - CPAN::Meta::Prereqs now has a 'merged_requirements' method for
    combining requirements across multiple phases and types

  [FIXED]

  - Invalid 'meta-spec' is no longer a fatal error: instead, it will
    usually be treated as spec version "1.0" (prior to formalization of the
    meta-spec field).  Conversion has some heuristics for guessing a
    version depending on other fields if 'meta-spec' is missing or invalid.

2.132661  2013-09-23 13:27:46 America/New_York

  [FIXED]

  - updated Makefile.PL logic to support PERL_NO_HIGHLANDER

  [PREREQS]

  - Dropped ExtUtils::MakeMaker configure_requires dependency
    to 6.17

2.132660  2013-09-23 06:04:04 America/New_York

  [FIXED]

  - Installation on Perls < 5.12 will uninstall older versions installed
    due to being bundled with ExtUtils::MakeMaker

2.132620  2013-09-19 11:18:33 America/New_York

  [CHANGED]

  - META validation used to allow a scalar value when a list (i.e. array
    reference) was required for a field. This has been tightened and
    validation will now fail if a scalar value is given.  Conversion will
    continue to turn scalars into an array reference as it previously did.

2.132510  2013-09-08 10:17:29 America/New_York

  [FIXED]

  - Fixed incorrectly encoded META.yml

2.132140  2013-08-02 11:54:17 America/New_York

  [DOCUMENTATION]

  - Fixed some typos in CPAN::Meta::Spec

  [OTHER]

  - migrated repository to Perl-Toolchain-Gang organization on Github and
    updated metadata accordingly

2.131560  2013-06-05 15:26:36 America/New_York

  [DOCUMENTATION]

  - Replaced CPAN::Meta SYNOPSIS with code that actually works

2.131490  2013-05-29 14:15:16 America/New_York

  [BUGFIX]

  - Downconversion of custom resources was not dropping the leading "x_".
    Now "x_MailingList" will downconvert correctly to "MailingList".

  [SPEC]

  - Per the Lancaster Consensus, the 'file' subkey of a package listed in
    'provides' must refer to an actual file in the distribution, either the
    .pm file that provides the package or another file (*.PL) that
    generates it

2.130880  2013-03-29 09:51:00 America/New_York

  [BUGFIX]

  - Fix provides 'version' bug introduced in the 2.130870 fix

2.130870  2013-03-28 11:08:50 America/New_York

  [BUGFIX]

  - Don't add 'version' to 'provides' during conversion if one didn't
    exist in the original [Reported by Miyagawa; fixed by David Golden]

2.120921  2012-04-01 15:20:24 Europe/Paris

  [REMOVED]

  - CPAN::Meta::Requirements has been split out into its own distribution
    so it can be used by CPAN.pm without requiring all of CPAN::Meta

2.120920  2012-04-01 11:30:43 Europe/Paris

  [ADDED]

  - CPAN::Meta::Requirements now has a 'requirements_for_module' method
    to retrieve a version requirements string for a specific module
    [Leon Timmermans]

  [OTHER]

  - Parse::CPAN::Meta prerequisite bumped to 1.4403
  - JSON::PP prerequisites bumped to 2.27200
  - CPAN::Meta::YAML prerequisite bumped to 0.008

2.120900  2012-03-30 13:15:15 Europe/Paris

  [BUGFIX]

  - CPAN::Meta::Requirements now treats undef requirements given to
    from_string_hash() as '0' and warns about it; add_string_requirements()
    dies if it does not get a requirements string to parse

2.120630  2012-03-03 14:48:35 EST5EDT

  [BUGFIX]

  - CPAN::Meta::Requirements now ensures that dotted-decimal versions are
    represented in normalized form when stringified.  This fixes a
    regression in META conversion in 2.120620.
    [Reported by Kent Fredric; fixed by David Golden]

2.120620  2012-03-02 12:28:59 EST5EDT

  [ADDED]

  - CPAN::Meta::Requirements::add_string_requirements allows building
    a requirements specification piecemeal [Cory G. Watson]

  [BUGFIX]

  - Version range handling fixed [rt.cpan.org #75424]

  - CPAN::Meta::Converter handles bad version strings more gracefully,
    truncating alphanumerics and otherwise falling back to "0".  This
    is likely better than dropping a prerequisite or dying.
    [rt.cpan.org #75427]

2.120530  2012-02-22 16:15:31 EST5EDT

  [OTHER]

  - Dialed back perl prereq to 5.006

2.120351  2012-02-03 23:01:45 America/New_York

  [OTHER]

  - Fixed CPAN packaging errors

2.120350  2012-02-03 22:46:59 America/New_York

  [BUGFIX]

  - Work around a memory leak bug involving version objects
    in boolean context.

2.113640  2011-12-30 15:19:46 America/New_York

  [OTHER]

  - Version::Requirements has now been merged as CPAN::Meta::Requirements,
    rendering Version::Requirements itself redundant

2.112621  2011-09-19 12:15:16 America/New_York

  [BUGFIX]

  - Spell BACKEND environment variables correctly this time
    [noticed by Stevan Little]

2.112620  2011-09-18 20:56:06 America/New_York

  [BUGFIX]

  - Protect tests against PERL_(YAML|JSON)_BACKEND settings that could
    cause tests to fail. (RT #69979)

2.112600  2011-09-17 12:21:09 America/New_York

  [DOCUMENTATION]

  - Fixed spelling error in CPAN::Meta::Spec (RT #71036) [Gregor Hermann]

2.112580  2011-09-15 10:53:59 America/New_York

  [BUGFIX]

  - Use UTF-8 mode for internal structure cloning to avoid bugs
    in Perl <= 5.8.6 (RT #70936) [Dagfinn Ilmari Mannsåker]

2.112150  2011-08-02 22:25:41 America/New_York

  [BUGFIX]

  - Stringify any objects encountered during conversion. (RT #67295)

  - Fixed some broken URLs in documentation and for LGPL in legacy
    conversion (RT #68738)

  - Fixed invalid private Pod in CPAN::Meta::Validator (RT #65925)

  [SPEC]

  - Clarified that file paths in the 'provides' section must be in
    Unix-style (i.e. forward slashes) (RT #69045)

  - Replaced examples using Module::Build::ModuleInfo with Module::Metadata
    (RT #66135)

2.110930  2011-04-02 23:31:24 America/New_York

  [BUGFIX]

  - Fixed a bug in the 'as_string' method that checked the module version
    instead of the meta-spec version when conversion was requested
    (RT #67188)

2.110910  2011-04-01 08:55:30 America/New_York

  [ENHANCEMENTS]

  - The 1.x spec "gpl" and "lgpl" and "mozilla" license values now up-convert
    to "open_source" because they indicate too non-specific a license.

2.110580  2011-02-27 07:58:06 EST5EDT

  [OTHER]

  - Add explicit dependencies on JSON::PP and CPAN::Meta::YAML instead
    of relying on Parse::CPAN::Meta to provide them (as some CPAN Testers
    have had P::C::M installed without them somehow)

  - Removed dependency on Storable as it was not a core module
    until Perl 5.8

2.110550  2011-02-24 07:17:57 EST5EDT

  [OTHER]

  - Added required field 'release_status' to the synopsis of
    CPAN::Meta::Spec (RT#66118) [Oliver Mengué]

2.110540  2011-02-23 15:21:16 EST5EDT

  [BUGFIX]

  - Had two different Parse::CPAN::Meta requirements, one in 'requires' and
    the other in 'build_requires'. This confused some installers, so we
    only inlude the 'requires' now.

2.110440  2011-02-12 22:55:28 EST5EDT

  [BUGFIX]

  - Bump Parse::CPAN::Meta prereq to 1.44, as 1.43 was never released

2.110420  2011-02-11 15:40:36 EST5EDT

  [BUG FIXES]

  - The as_string() method now always returns a character string;
    previously, JSON strings were UTF-8 encoded.

  - The save() method now always saves with UTF-8 encoding for
    Perl 5.8.1 or greater; previously, YAML was not encoded

2.110390  2011-02-07 21:00:47 EST5EDT

  [BUG FIXES]

  - Release 2.110360 had a regression where the save() method would no
    longer return true on success.  That has been fixed.

2.110360  2011-02-04 19:46:21 America/New_York

  [OTHER]

  - Remove autodie dependency so CPAN::Meta can be used on older Perls

  - Remove unused Data::Dumper dependency

2.110350  2011-02-03 19:57:32 America/New_York

  [ENHANCEMENTS]

  - Added "as_string" method similar to "as_struct"

  [OTHER]

  - Bumped Parse::CPAN::Meta prereq to 1.43 and uses that to
    determine proper YAML/JSON backends

  - Removed unused prereqs

2.110330  2011-02-02 09:42:57 EST5EDT

  [ENHANCEMENTS]

  - Saved META.json files are now sorted by key

  - as_struct() method takes an optional "version" argument to return
    a down-converted metadata hashref

2.110320  2011-01-31 23:14:30 EST5EDT

  [ENHANCEMENTS]

  - The 'save' method now allows an optional hashref argument, which can be
    used to set the desired meta spec version.  Metadata is automatically
    converted to the specified output.

2.110240  2011-01-24 16:28:25 EST5EDT

  - Reading JSON/YAML is delegated entirely to Parse::CPAN::Meta (1.4200)

  - JSON.pm is dropped as a prerequisite and JSON::PP is added to prepare
    for CPAN::Meta to be added to the Perl core

  - JSON writing uses the same JSON backend selection as Parse::CPAN::Meta
    to allow "upgrading" to a non-core JSON backend module if desired

2.102400  2010-08-28 14:06:34 America/New_York

  - 'as_struct' method now returns unblessed data (reported by Chris Prather)

2.102160  2010-08-04 12:27:10 EST5EDT

  - Fix bugtracker conversion bug (RT#60017)

2.101670  2010-06-15 21:02:42 EST5EDT

  - converting 1.x 'repository' field now puts converted url into the
    'url' sub-field of 'repository' instead of the 'web' sub-field

2.101610  2010-06-10 18:51:30 EST5EDT

  - fixed converter bug that output 'artistic2' instead of 'artistic_2'
    for license in 1.X specs

  - 'artistic2' is now converted to 'artistic_2' if it occurs

  - corrected validation for 'artistic_2' and disallowed 'artistic-2.0'

2.101600  2010-06-09 10:07:31 EST5EDT

  - improve conversion of restricted/restrictive license keys between
    spec versions 1.4 and 2 [reported by Alexander Hartmaier]

2.101591  2010-06-08 09:56:17 EST5EDT

  - added 'as_struct' method to CPAN::Meta to get a deep copy of
    the metadata hash_ref

  - won't add an optional_features 'description' field if missing

  - improved documentation of CPAN::Meta::Converter and how it deals
    with bad/missing data

2.101590  2010-06-07 21:49:36 EST5EDT

  - won't automatically add 'unknown' as repository type when converting;
    instead, will only add a repository type if a repository 'url' is
    present and it is of the 'svn:' or 'git:' scheme.

  - squelched some uninitialized value warnings [Graham Barr]

2.101580  2010-06-07 16:44:13 EST5EDT

  - add "lazy_validation" option to constructors

  - add ability to "convert" to same version and clean-up any fixable
    errors

  - fix validation bugs (adhere closer to the spec)

  - improve lots of heuristics during conversion

2.101461  2010-05-26 16:57:02 America/New_York

  - accessors deep clone list and map keys before returning them

  - add custom_keys() and custom() methods

2.101460  2010-05-25 23:12:27 America/New_York

  - loosen URL validation -- only a scheme and authority are required
    without restrictions on either

2.101450  2010-05-25 17:59:32 America/New_York

  - when downconverting from 2, leave custom keys unchanged
    (except in resources, where x_ is changed to X_)

  - when converting to 2, don't prepend x_ to custom keys that already
    matched qr{\Ax_}i

2.101410  2010-05-21 10:39:18 EST5EDT

  - when downconverting from 2, merge test requirements into build requirements

2.101390  2010-05-19 10:49:50 EST5EDT

  - do not clobber generated_by when converting

2.101380  2010-05-17 23:39:23 EST5EDT

  - added support for down-converting to older versions of the spec

  - improved test coverage for conversion and validation

2.101110  2010-04-21 11:06:52 EST5EDT

  - clarified that .XXXXXX versions of the CPAN-Meta distribution will not
    change the meaning of the CPAN::Meta::Spec, but may fix typos or
    clarify prose

  - fixed a typo regarding dotted-integer versions: keeping components
    in the range 0-999 was corrected to a "should" instead of a "must"

  - fixed validation bugs for certain types of nested data structures
    (based on a patch provided by Barbie)

2.101091  2010-04-19 06:32:13 EST5EDT

  - keep the old specs from getting indexed so as not to confuse people

# vim: ts=2 sts=2 sw=2 et:
