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