Michael G Schwern said:

http://use.perl.org/~schwern/journal/35127

What I would like is a way to explicitly indicate bug and API stability, as well as compatibility, in META.yml. For example...

version:              2.01
api_version:          2.0
api_compatibility:    1.4

Which API? Are we only talking about the programming interface, or are we also considering protocol and storage file format versions/changes? How would you distinguish between these? What if there are several types in the same package?

Would it be sensible to introduce an API.yml file instead of shoehorning stuff like this into the existing files?


stability:            high

Are you talking about the author's intentions here, or the module history? And how is this an improvement against established conventions with version numbering? (0.x_99 vs. 1.0) Is the author promising something about the the entire set of APIs a package supplies (including any file formats or protocols), or just the programming interface?


release_type:           bugfix

This may be useful, but doesn't this kind of info better fit into the Changelog? (If you want it in a machine-parsable format, then I'd look at Chris Dolan's Changelog.yml thoughts[1]. I like what he's been doing.)


api_version defaults to version. Since most folks don't religiously track when they add new things I believe this will be the normal state of affairs.

So, the API would by default get it's version number bumped every release? Would that give a correct impression about the state of the package?


stability defaults to high

How optimistic :-P


release_type and api_compatibility default to unspecified.

This would allow automated installers to warn the user when they're about to upgrade to an unstable version or an incompatible release or a major upgrade. It allows authors to have explicit sliding windows of backwards compatibility.

I think the goal of this idea is a good one, and definitely worth our attention. But I'd rather look into placing this kind of metadata into the Changes file in some way - mostly because that's where one would look for info like that to begin with.

Just my €0.02 worth.


- Salve

[1] http://use.perl.org/~ChrisDolan/journal/34951

--
#!/usr/bin/perl
sub AUTOLOAD{$AUTOLOAD=~/.*::(\d+)/;seek(DATA,$1,0);print#  Salve Joshua Nilsen
getc DATA}$"="'};&{'";@_=unpack("C*",unpack("u*",':4@,$'.#     <[EMAIL 
PROTECTED]>
'2!--"5-(50P%$PL,!0X354UC-PP%/0\`'."\n"));eval "&{'@_'}";   __END__ is near! :)

Reply via email to