1CPAN::Meta::History(3)User Contributed Perl DocumentationCPAN::Meta::History(3)
2
3
4

NAME

6       CPAN::Meta::History - history of CPAN Meta Spec changes
7

VERSION

9       version 2.150010
10

DESCRIPTION

12       The CPAN Meta Spec has gone through several iterations.  It was
13       originally written in HTML and later revised into POD (though published
14       in HTML generated from the POD).  Fields were added, removed or
15       changed, sometimes by design and sometimes to reflect real-world usage
16       after the fact.
17
18       This document reconstructs the history of the CPAN Meta Spec based on
19       change logs, repository commit messages and the published HTML files.
20       In some cases, particularly prior to version 1.2, the exact version
21       when certain fields were introduced or changed is inconsistent between
22       sources.  When in doubt, the published HTML files for versions 1.0 to
23       1.4 as they existed when version 2 was developed are used as the
24       definitive source.
25
26       Starting with version 2, the specification document is part of the
27       CPAN-Meta distribution and will be published on CPAN as
28       CPAN::Meta::Spec.
29
30       Going forward, specification version numbers will be integers and
31       decimal portions will correspond to a release date for the CPAN::Meta
32       library.
33

HISTORY

35   Version 2
36       April 2010
37
38       •   Revised spec examples as perl data structures rather than YAML
39
40       •   Switched to JSON serialization from YAML
41
42       •   Specified allowed version number formats
43
44       •   Replaced 'requires', 'build_requires', 'configure_requires',
45           'recommends' and 'conflicts' with new 'prereqs' data structure
46           divided by phase (configure, build, test, runtime, etc.) and
47           relationship (requires, recommends, suggests, conflicts)
48
49       •   Added support for 'develop' phase for requirements for maintaining
50           a list of authoring tools
51
52       •   Changed 'license' to a list and revised the set of valid licenses
53
54       •   Made 'dynamic_config' mandatory to reduce confusion
55
56       •   Changed 'resources' subkey 'repository' to a hash that clarifies
57           repository type, url for browsing and url for checkout
58
59       •   Changed 'resources' subkey 'bugtracker' to a hash for either web or
60           mailto resource
61
62       •   Changed specification of 'optional_features':
63
64           •   Added formal specification and usage guide instead of just
65               example
66
67           •   Changed to use new prereqs data structure instead of individual
68               keys
69
70       •   Clarified intended use of 'author' as generalized contact list
71
72       •   Added 'release_status' field to indicate stable, testing or
73           unstable status to provide hints to indexers
74
75       •   Added 'description' field for a longer description of the
76           distribution
77
78       •   Formalized use of "x_" or "X_" for all custom keys not listed in
79           the official spec
80
81   Version 1.4
82       June 2008
83
84       •   Noted explicit support for 'perl' in prerequisites
85
86       •   Added 'configure_requires' prerequisite type
87
88       •   Changed 'optional_features'
89
90           •   Example corrected to show map of maps instead of list of maps
91               (though descriptive text said 'map' even in v1.3)
92
93           •   Removed 'requires_packages', 'requires_os' and 'excluded_os' as
94               valid subkeys
95
96   Version 1.3
97       November 2006
98
99       •   Added 'no_index' subkey 'directory' and removed 'dir' to match
100           actual usage in the wild
101
102       •   Added a 'repository' subkey to 'resources'
103
104   Version 1.2
105       August 2005
106
107       •   Re-wrote and restructured spec in POD syntax
108
109       •   Changed 'name' to be mandatory
110
111       •   Changed 'generated_by' to be mandatory
112
113       •   Changed 'license' to be mandatory
114
115       •   Added version range specifications for prerequisites
116
117       •   Added required 'abstract' field
118
119       •   Added required 'author' field
120
121       •   Added required 'meta-spec' field to define 'version' (and 'url') of
122           the CPAN Meta Spec used for metadata
123
124       •   Added 'provides' field
125
126       •   Added 'no_index' field and deprecated 'private' field.  'no_index'
127           subkeys include 'file', 'dir', 'package' and 'namespace'
128
129       •   Added 'keywords' field
130
131       •   Added 'resources' field with subkeys 'homepage', 'license', and
132           'bugtracker'
133
134       •   Added 'optional_features' field as an alternate under 'recommends'.
135           Includes 'description', 'requires', 'build_requires', 'conflicts',
136           'requires_packages', 'requires_os' and 'excluded_os' as valid
137           subkeys
138
139       •   Removed 'license_uri' field
140
141   Version 1.1
142       May 2003
143
144       •   Changed 'version' to be mandatory
145
146       •   Added 'private' field
147
148       •   Added 'license_uri' field
149
150   Version 1.0
151       March 2003
152
153       •   Original release (in HTML format only)
154
155       •   Included 'name', 'version', 'license', 'distribution_type',
156           'requires', 'recommends', 'build_requires', 'conflicts',
157           'dynamic_config', 'generated_by'
158

AUTHORS

160       •   David Golden <dagolden@cpan.org>
161
162       •   Ricardo Signes <rjbs@cpan.org>
163
164       •   Adam Kennedy <adamk@cpan.org>
165
167       This software is copyright (c) 2010 by David Golden, Ricardo Signes,
168       Adam Kennedy and Contributors.
169
170       This is free software; you can redistribute it and/or modify it under
171       the same terms as the Perl 5 programming language system itself.
172
173
174
175perl v5.34.0                      2021-07-22            CPAN::Meta::History(3)
Impressum