Beefy Boxes and Bandwidth Generously Provided by pair Networks
XP is just a number
 
PerlMonks  

Re: What basic things should I know about versioning modules?

by stevieb (Canon)
on Feb 23, 2017 at 15:23 UTC ( [id://1182655]=note: print w/replies, xml ) Need Help??


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.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1182655]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (5)
As of 2024-04-25 10:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found