On Mon, Feb 10, 2014 at 1:59 PM, vincent(a)massol.net <vincent(a)massol.net>wrote;wrote:
On 10 Feb 2014 at 13:55:09, Denis Gervalle (dgl(a)softec.lu(mailto:
dgl(a)softec.lu)) wrote:
On Sun, Feb 9, 2014 at 6:03 PM,
vincent(a)massol.net wrote:
>
>
>
>
> On 4 Feb 2014 at 16:14:41, vincent(a)massol.net (vincent(a)massol.net
(mailto:
> vincent(a)massol.net)) wrote:
>
> > Note: be careful that you might have added new APIs in a class
already
> having an @Unstable annotation at the class
level and thus when you
remove
> that class level annotation you might have
to add new @Unstable
annotations
> at the method level if those methods were
added/modified in 5.x or
later.
>
>
> Actually this is not correct!
>
> The @Unstable marks the first time an API is introduced. All API
changes
> that happen after are stabilization of the
first version of the API and
> this what counts is the first time the API was introduced and after 1
full
> cycle, we need to remove the @Unstable
annotation.
>
> For example:
> - Git module API was first introduced in 4.2M1 (@Unstable was thus
added
> at the time)
> - Then in 5.3M1 the package was modified
> - And in 5.3M2 3 new methods were added
>
> Consequence: in 6.0 we now consider the Git module API as stable since
> it’s been more than 1 full cycle since it was first introduced. This
means
> that from now on, if we wish to modify this
API we need to ensure we
don’t
> break the backward compatibility or we’ll
need to send a VOTE if we
want to
break it
and explain why we wish to break it and why there’s no other
solution, to try to convince the other committers.
While I agree with your point, I do not see why we could not add new
methods, or keep some recent methods with an @unstable flag. Adding new
method does not necessarily break an API IMO.
I agree of course. For interfaces this cannot happen but for classes it’s
possible to add a new method without breaking backward compatibility.
Well, for interface, it could be a matter of API vs SPI, but I know we
could have a endless discussion on that point.
Thanks
-Vincent
> Thanks
> -Vincent
>
> > Thanks
> > -Vincent
> >
> > On 4 Feb 2014 at 16:11:04, vincent(a)massol.net (vincent(a)massol.net
> (mailto:vincent@massol.net)) wrote:
> >
> > > ok I’ve done a full review and here’s the results of unstable
> annotations to remove:
> > >
> > > * commons-job module. Owner: Thomas
> > > * platform-git mpdule (GitScriptService). Owner: Vincent
> > > * platform-legacy-url. Owner: Vincent
> > > * platform-localization. Owner: Thomas
> > > * platform-solr (SolrConfiguration, SolrInstance,
> SolrIndexScriptService). Owner: Marius
> > > * platform-url. Owner: Vincent
> > >
> > > Could each “owner" please remove the @Unstable annotations found
> inside classes in the above-mentioned modules when the @since is before
> 5.0M1?
> > >
> > > Thanks
> > > -Vincent
> > >
> > > On 31 Jan 2014 at 08:51:58, Thomas Mortagne (
thomas.mortagne(a)xwiki.com
> (mailto:thomas.mortagne@xwiki.com)) wrote:
> > >
> > > > It's not a threat :)
> > > >
> > > > It's actually the opposite here: the point is to indicate that
an API
> > > > is not unstable anymore and
cannot be broken (this kind of
annotation
> > > > did not exist in 3.x).
> > > >
> > > > On Fri, Jan 31, 2014 at 8:48 AM, Paul Libbrecht wrote:
> > > > > Vincent,
> > > > > is there a clickable list?
> > > > > A way for a project that links to an older xwiki (e.g. we link
to
> xwiki 3.5) to know that things are
threatened?
> > > > >
> > > > > thanks
> > > > >
> > > > > paul
> > > > >
> > > > >
> > > > > Le 31 janv. 2014 à 08:44, "vincent(a)massol.net" a écrit
:
> > > > >> According to your rules since we're starting a new cycle
we
need
> to review all existing @Unstable annotations
and remove ones that have
been
> there for at least one cycle (i.e. prior to
the 5.x cycle).
> > > > >>
> > > > >> See
>
http://dev.xwiki.org/xwiki/bin/view/Community/DevelopmentPractices#H40Unsta…
> > > > >>
> > > > >> It's also the occasion to check @Unstable APIs that we
can
> consider stable now.
>
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
--
Denis Gervalle
SOFTEC sa - CEO