Platform policy question: API compatability in minor releases
felipe.lessa at gmail.com
Sat May 9 15:21:14 EDT 2009
On Sat, May 09, 2009 at 07:50:01PM +0100, Duncan Coutts wrote:
> The question is this:
> Should we allow compatible API additions to a library in a minor
> release of the platform?
> The choice is between allowing only bug fixes in minor releases,
> or also allowing new features that add APIs but do not change
> any existing APIs.
IMHO, on most cases API additions are improvements, not bug
fixes. Maybe there was a developer that needed that new function
to be able to make better use of the library, but this kind of
improvement should go to the next major release, otherwise the
platform would be a moving target.
However, this shouldn't be a hard restriction. Should a new
addition be important enough for the package's usability, then it
should be included with a big fat warning on the docs saying that
you'll need to depend on a minor version of the platform.
Somewhat related, ADTs should not be extended in minor releases
unless they're not exported (of course). But contrary to new
functions, I can't think of an ADT change that would be worhty of
being added to a minor release. Another problem is that they may
create partial functions on the user's code, while new functions
shouldn't change the code's behaviour.
More information about the Libraries