API freeze for 2.4 and trunk open for 2.5

Martin Pool mbp at canonical.com
Mon Jul 11 09:30:53 UTC 2011


On 11 July 2011 19:18, vila <v.ladeuil+lp at free.fr> wrote:
> Hi,
>
> 2.4.0 will be released soon (source freeze planned for 2011-08-04,
> formal announcement 2011-08-08) and got a dedicated branch: lp:bzr/2.4
>
> To leave plugin authors the opportunity to release official versions
> targeted at 2.4, the API is now frozen for lp:bzr/2.4.

Thanks for looking after this.

>
> To allow such API breaks (if required) the trunk (lp:bzr) is now the
> development focus for 2.5.
>
> There are ongoing discussions about getting rid of
> bzrlib.api_minimum_version in favor of letting people just check
> bzrlib.version_info.

Just to be clear, I'm not considering doing anything in that regard
that would affect the 2.4 release or branch.

Anyhow, my thought is this: bzr 2.4 has a different api to bzr 2.3,
and so on.  It won't be vastly different, but some things change, so
the api version has to increment on every major release.  Even in
cases where we don't intend to change the api, narrowly defined, there
can be other changes in behaviour that mean plugins have to be
retested against 2.4 and perhaps updated.

I think when this was put in Robert had the idea of defining separate
api versions per module or even per class, but I think in Python that
would be more trouble than it's worth, because we'd be highly likely
to miss dependencies that could only be found by testing.

In short I suggest just setting api_minimum_version = version_info[:2]
and be done.

Martin



More information about the bazaar mailing list