Chapter 6
Stable and Development Releases
Despite all that good advice I just laid out, some of you aren't going to feel com
fortable releasing a new version of your module with every new bug fix and
feature. The reason usually is that you feel that your software should live up to a
certain level of stability that requires long periods of testing to establish. This is
laudable goal, and it doesn't have to be in conflict with the release early, release
often credo.
In order to satisfy your need for stability while still reaping the benefits of fre
quent releases, you can divide your releases into frequent development releases
and infrequent stable releases. CPAN even has support for this built in. If your
version number ends with an underscore followed by numbers, CPAN won't index
it for automatic download by the CPAN module. For example, say I make a stable
release of Data::Counter version 1.2 and then I want to release a development
version if I give it the version number 1.2_01 , CPAN won't index it for download.
Then when users run the following command:
$ perl MCPAN e install "Data::Counter"
they'll get the stable version. To get the development version, they'll have to down
load it directly from CPAN the CPAN shell cannot be used to download devel
opment versions of modules.
CAUTION The only way to create a development version that CPAN will
recognize as such is to append an underscore and a number to the ver
sion. It won't work to add words to the end; for example, 1.01_alpha
will get indexed as a normal release.
Be careful not to use making development releases as an excuse to put off
stable releases indefinitely. This may sound obvious, but many open source
projects have been caught by this trap even Perl itself, by some accounts. All your
users deserve the fun of a new release, not just the thrill seekers!
Making Announcements
When you do issue a new release, you should make sure people hear about it. Write
to mailing lists where potential users hang out. (As long as such partially off topic
posts are allowed perl5 porters is a good example of a mailing list where you
should not send your announcements.)
162
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved