1CPAN::Meta::History(3)User Contributed Perl DocumentationCPAN::Meta::History(3)
2
3
4
6 CPAN::Meta::History - history of CPAN Meta Spec changes
7
9 version 2.150010
10
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
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
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.36.0 2022-07-22 CPAN::Meta::History(3)