in reply to What basic things should I know about versioning modules?
Another great question with great responses. Again, I've nothing of substance to add, other than throwing my opinion out there.
I have always, only, ever used the our $VERSION = '1.23'; way of including version numbers. In my distributions that have multiple module, each module file gets the same treatment, and all share the same version number. This means after I do a release to the CPAN, I immediately tag the release, then increment the version number in all the files.
Mostly, I just use '0.01' to begin with, then increment on each release. Once the distribution is in a known sane state where I won't (hopefully) be making any further API changes and I've got a good test suite, I bump the version up to '1.00', and start the process over.
Some of my distributions wrap C libraries, so recently, I've taken to use version numbers that match the C lib, which identifies that "this distribution requires x.xx version of C lib or greater", then I add an extra decimal point after it that identifies the version number of the dist itself, like this:
our $VERSION = '2.36.8';
So that module requires ABC C library version 2.36+, and the software release is 8 for this track.
|
---|