On Thu, Nov 20, 2008 at 10:13 AM, Mark D Weitzel <[EMAIL PROTECTED]>wrote:

> +1, but a couple of related questions...
>
> Do we have any guidelines on what the version numbers mean, especially in
> terms of API compatibility, for example, is it OK for an API to change
> between 1.0 and 1.1?  I know Eclipse has published a set of guidelines
> (see links below), but was not sure if we've established or adopted
> anything similar.
> http://wiki.eclipse.org/API_Central
> http://wiki.eclipse.org/Version_Numbering


My general stance on API versioning, regardless of language or platform, is
that you need 3 point versions:

- architecture: When this number changes, the API has fundamentally changed
to the point where you should not upgrade without closely inspecting how the
new API works.
- major: Indicates a non-backwards compatible change to the API. May require
recompilation or some small changes to how you call certain methods, but the
basic architecture is unchanged
- minor: Just bug fixes, feature enhancements, and new code. Fully backwards
compatible with previous versions.

The major / minor distinction can take some time to get right, especially
when you haven't taken great care to make sure that only the parts of the
interface that you really want to expose are exposed. Java makes this
particularly difficult with the way that package boundaries are handled, and
as a result it's common that there are public interfaces that are really
only ever intended to be used by the internal code.

A fourth version, for revisions or nightly builds, can be useful, but isn't
really essential.


>
>
>
> _______________________________________________________________________________________________________________
> Mark Weitzel | STSM | IBM Software Group | (919) 543 0625 |
> [EMAIL PROTECTED]
>
>
>
> From:
> Ian Boston <[EMAIL PROTECTED]>
> To:
> [email protected]
> Date:
> 11/20/2008 09:28 AM
> Subject:
> Proposal To Branch for 1.0 Today
>
>
>
> I don't expect this to be controversial, but I should as just for
> process.
>
> Proposing
> Branch shindig to
> branches/1.0.x  with a version of 1-SNAPSHOT
> increment trunk version to 1.1-SNAPSHOT indicating 1.1 will be the
> next release.
>
> The version numbers are more for Java than for Php, but I guess there
> might be a version number in the php code ?
>
> I have done a dry run of the maven release plugin and there are no
> issues, so it should be a simple one command process. (it also
> branches the php code because we left a pom in the base directory)
>
> Any comments ?
> Happy with the version numbers ?
>
> Ian
>
>
>
>
>

Reply via email to