xref: /openbsd-src/gnu/usr.bin/perl/cpan/CPAN-Meta/lib/CPAN/Meta/History.pm (revision f2da64fbbbf1b03f09f390ab01267c93dfd77c4c)
1# vi:tw=72
2use 5.006;
3use strict;
4use warnings;
5package CPAN::Meta::History;
6our $VERSION = '2.140640'; # VERSION
7
81;
9
10# ABSTRACT: history of CPAN Meta Spec changes
11
12__END__
13
14=pod
15
16=encoding UTF-8
17
18=head1 NAME
19
20CPAN::Meta::History - history of CPAN Meta Spec changes
21
22=head1 VERSION
23
24version 2.140640
25
26=head1 DESCRIPTION
27
28The CPAN Meta Spec has gone through several iterations.  It was
29originally written in HTML and later revised into POD (though published
30in HTML generated from the POD).  Fields were added, removed or changed,
31sometimes by design and sometimes to reflect real-world usage after the
32fact.
33
34This document reconstructs the history of the CPAN Meta Spec based on
35change logs, repository commit messages and the published HTML files.
36In some cases, particularly prior to version 1.2, the exact version
37when certain fields were introduced or changed is inconsistent between
38sources.  When in doubt, the published HTML files for versions 1.0 to
391.4 as they existed when version 2 was developed are used as the
40definitive source.
41
42Starting with version 2, the specification document is part of the
43CPAN-Meta distribution and will be published on CPAN as
44L<CPAN::Meta::Spec>.
45
46Going forward, specification version numbers will be integers and
47decimal portions will correspond to a release date for the CPAN::Meta
48library.
49
50=head1 HISTORY
51
52=head2 Version 2
53
54April 2010
55
56=over
57
58=item *
59
60Revised spec examples as perl data structures rather than YAML
61
62=item *
63
64Switched to JSON serialization from YAML
65
66=item *
67
68Specified allowed version number formats
69
70=item *
71
72Replaced 'requires', 'build_requires', 'configure_requires',
73'recommends' and 'conflicts' with new 'prereqs' data structure divided
74by I<phase> (configure, build, test, runtime, etc.) and I<relationship>
75(requires, recommends, suggests, conflicts)
76
77=item *
78
79Added support for 'develop' phase for requirements for maintaining
80a list of authoring tools
81
82=item *
83
84Changed 'license' to a list and revised the set of valid licenses
85
86=item *
87
88Made 'dynamic_config' mandatory to reduce confusion
89
90=item *
91
92Changed 'resources' subkey 'repository' to a hash that clarifies
93repository type, url for browsing and url for checkout
94
95=item *
96
97Changed 'resources' subkey 'bugtracker' to a hash for either web
98or mailto resource
99
100=item *
101
102Changed specification of 'optional_features':
103
104=over
105
106=item *
107
108Added formal specification and usage guide instead of just example
109
110=item *
111
112Changed to use new prereqs data structure instead of individual keys
113
114=back
115
116=item *
117
118Clarified intended use of 'author' as generalized contact list
119
120=item *
121
122Added 'release_status' field to indicate stable, testing or unstable
123status to provide hints to indexers
124
125=item *
126
127Added 'description' field for a longer description of the distribution
128
129=item *
130
131Formalized use of "x_" or "X_" for all custom keys not listed in the
132official spec
133
134=back
135
136=head2 Version 1.4
137
138June 2008
139
140=over
141
142=item *
143
144Noted explicit support for 'perl' in prerequisites
145
146=item *
147
148Added 'configure_requires' prerequisite type
149
150=item *
151
152Changed 'optional_features'
153
154=over
155
156=item *
157
158Example corrected to show map of maps instead of list of maps
159(though descriptive text said 'map' even in v1.3)
160
161=item *
162
163Removed 'requires_packages', 'requires_os' and 'excluded_os'
164as valid subkeys
165
166=back
167
168=back
169
170=head2 Version 1.3
171
172November 2006
173
174=over
175
176=item *
177
178Added 'no_index' subkey 'directory' and removed 'dir' to match actual
179usage in the wild
180
181=item *
182
183Added a 'repository' subkey to 'resources'
184
185=back
186
187=head2 Version 1.2
188
189August 2005
190
191=over
192
193=item *
194
195Re-wrote and restructured spec in POD syntax
196
197=item *
198
199Changed 'name' to be mandatory
200
201=item *
202
203Changed 'generated_by' to be mandatory
204
205=item *
206
207Changed 'license' to be mandatory
208
209=item *
210
211Added version range specifications for prerequisites
212
213=item *
214
215Added required 'abstract' field
216
217=item *
218
219Added required 'author' field
220
221=item *
222
223Added required 'meta-spec' field to define 'version' (and 'url') of the
224CPAN Meta Spec used for metadata
225
226=item *
227
228Added 'provides' field
229
230=item *
231
232Added 'no_index' field and deprecated 'private' field.  'no_index'
233subkeys include 'file', 'dir', 'package' and 'namespace'
234
235=item *
236
237Added 'keywords' field
238
239=item *
240
241Added 'resources' field with subkeys 'homepage', 'license', and
242'bugtracker'
243
244=item *
245
246Added 'optional_features' field as an alternate under 'recommends'.
247Includes 'description', 'requires', 'build_requires', 'conflicts',
248'requires_packages', 'requires_os' and 'excluded_os' as valid subkeys
249
250=item *
251
252Removed 'license_uri' field
253
254=back
255
256=head2 Version 1.1
257
258May 2003
259
260=over
261
262=item *
263
264Changed 'version' to be mandatory
265
266=item *
267
268Added 'private' field
269
270=item *
271
272Added 'license_uri' field
273
274=back
275
276=head2 Version 1.0
277
278March 2003
279
280=over
281
282=item *
283
284Original release (in HTML format only)
285
286=item *
287
288Included 'name', 'version', 'license', 'distribution_type', 'requires',
289'recommends', 'build_requires', 'conflicts', 'dynamic_config',
290'generated_by'
291
292=back
293
294=head1 AUTHORS
295
296=over 4
297
298=item *
299
300David Golden <dagolden@cpan.org>
301
302=item *
303
304Ricardo Signes <rjbs@cpan.org>
305
306=back
307
308=head1 COPYRIGHT AND LICENSE
309
310This software is copyright (c) 2010 by David Golden and Ricardo Signes.
311
312This is free software; you can redistribute it and/or modify it under
313the same terms as the Perl 5 programming language system itself.
314
315=cut
316