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