[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

API compatibility promises in light of biannual releases (was: Re: Intentions for 1.11 release timing)

From: Daniel Shahaf <d.s_at_daniel.shahaf.name>
Date: Fri, 29 Jun 2018 17:34:23 +0000

Julian Foad wrote on Fri, Jun 22, 2018 at 14:26:53 +0100:
> Another angle on this: I interpret what we are doing as inserting extra
> mini-feature-releases into the existing cycle, rather than compressing the
> existing cycle to happen four times faster.

I wonder what our API compatibility promises would be in the new scheme.

In terms of the proposed scheme, we currently do only LTS releases, and once an
API appears in an LTS .0 release it will remain supported until the subsequent
major release, i.e., practically forever.

I assume our API current compatibility promises would apply unchanged to any
APIs that appear in LTS releases. However, I'm not sure we necessarily want to
offer the same promises to APIs that (first) appear in biannual releases,
because those APIs will have had less time to mature (in design / review /
deployment).

As an example, perhaps APIs new in a biannual release should only be supported
until the subsequent LTS release? Then, once an API makes its first appearance
in a biannual release, if it's a good API we include it in the subsequent LTS
and it's set in stone, but if needs some tweaks we aren't obliged to support
the original version forever.

Or perhaps we just need to be more disciplined about properly marking APIs as
"experimental" (doxygen "@experimental" annotations and SVN_EXPERIMENTAL
preprocessor annotations) when they are objectively not yet mature.

WDYT?

Cheers,

Daniel
Received on 2018-06-29 19:34:34 CEST

This is an archived mail posted to the Subversion Dev mailing list.