in reply to CPAN module versioning/backwards compatibility

How many users does this module have? If it's a small number, then you can start a mailing list and co-ordinate as a group how you're going to proceed. Fix it in stages. Announce that in the next release Foo and Bar are going to be fixed; share code samples with each other to cope with the changes.

If it's got a large, established user base, then I'd say keep the API stable. Fix any problems which result in crashes or security issues. Fix the documentation to match how the module really behaves. Use big, bold text where it involves misspellings or other oddities. And then create a new, sane module with a different name. Deprecate the old module in its favour.

perl -E'sub Monkey::do{say$_,for@_,do{($monkey=[caller(0)]->[3])=~s{::}{ }and$monkey}}"Monkey say"->Monkey::do'
  • Comment on Re: CPAN module versioning/backwards compatibility