Perl-Toolchain-Gang / CPAN-Meta

Specifications for CPAN distribution META files
36 stars 40 forks source link

spec: flag to indicate distribution deprecation status #50

Open karenetheridge opened 10 years ago

karenetheridge commented 10 years ago

Right now, the convention is merely to add a ' (DEPRECATED)' string in the =head1 NAME section of module pod. If there were a field in metadata, clients such as metacpan could indicate the deprecation status more clearly, use it in search results, etc.

05:47 < clintongormley> heya all, to mark a module as deprecated, i should just add it into the name and add a big DEPRECATED warning in the DESCRIPTION?  Anything else?
09:31 < kentnl> ether: actually, might want to tack that on to your lyon talking point list, I don't know of a formal way to mark anything deprecated in META.*, there's only POD side conventions 
09:33 < ether> good point
09:33 < ether> there's release status = stable/testing right now; perhaps make that a trinary? or a separate flag
09:40 < kentnl> I'm feeling it should be independent atm, because stability is a function of the release ( ie: Arity = 1 ), but deprecatedness is a function of the dist ( ie: Arity = all N ) 
09:41 < kentnl> Though thats probably one reason why not to include it perhaps, because its extending beyond the scope of the meta it pertains to *shrug* 
09:41 < kentnl> I can see however  deprecated => { Module::Name } being of use though
09:42 < kentnl> ie: "In this distribution, at this release, the following modules are no longer recommended to be used" 
09:42 < kentnl> there's less temporal inference there.
09:46 < kentnl> just the "property of this release" vs "Property of all releases" is something that might confuse somebody really.
09:46 < kentnl> Would hate for people to go "well, I'll just not upgrade then, and then it wont be deprecated!" ;) 
kentfredric commented 10 years ago

And would be nice for tooling to go "Hey, you've just installed a bunch of deprecated shit!"

and in the case of deprecated => { Module::Name => somethinghere } it could go "You installed X, which dependend on Module::Name, which is deprecated, OH NOES!"

CPAN dep graphing tools could also show potential breakages in the dep chain based on that data also.

karenetheridge commented 10 years ago

@kentfredric++

haarg commented 9 years ago

This is x_deprecated, either as a top level field or inside provides.

karenetheridge commented 9 years ago

and implemented via https://metacpan.org/pod/Dist::Zilla::Plugin::Deprecated