Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re: Is maintaining multiple versions of a CPAN module a terrible idea?

by tobyink (Abbot)
on Jun 05, 2014 at 22:02 UTC ( #1088933=note: print w/ replies, xml ) Need Help??


in reply to Is maintaining multiple versions of a CPAN module a terrible idea?

I have been thinking about such things myself for post-1.000000 Type::Tiny. My planned approach is this:

  • Once 1.000000 is released, further 1.000xxx versions will be bugfixes with no new features.

  • While the 1.000xxx are being maintained as the main stable branch, I'll also be releasing 1.001_xxx versions with new features.

    Because of the underscore in the 1.001_xxx version numbers, PAUSE won't index them. They are developer releases only.

  • Once 1.001_xxx has become stable, it will be released as 1.002000.

    Once 1.002000 is released, further 1.002xxx versions will be bugfixes with no new features.

    The 1.000xxx versions will still be on CPAN if anybody needs them. If any major bugs (e.g. security issues) come to light should be possible to upload a new 1.000xxx release, but it won't be indexed because there's already a newer version on CPAN.

  • While the 1.002xxx are being maintained as the main stable branch, I'll also be releasing 1.003_xxx versions with new features.

  • ... etc...

A wiki page can exist, with links to download tarballs of the latest releases in the 1.000xxx, 1.002xxx, etc branches.

use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name


Comment on Re: Is maintaining multiple versions of a CPAN module a terrible idea?
Re^2: Is maintaining multiple versions of a CPAN module a terrible idea?
by Arunbear (Parson) on Jun 06, 2014 at 10:26 UTC
    What's the ETA of Type::Tiny 1.000000 ?

      Good question. "When it's ready." Hopefully this year.

      I don't envisage any major API changes before 1.000000. I mostly just want to improve the test suite coverage. I haven't had as much time to work on that as I might have liked, but generally speaking I've found that time spent doing this has been worthwhile in terms of finding obscure (but potentially important) bugs.

      use Moops; class Cow :rw { has name => (default => 'Ermintrude') }; say Cow->new->name

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (5)
As of 2014-09-16 00:57 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite cookbook is:










    Results (155 votes), past polls