On Sun, Feb 9, 2014 at 6:03 PM, vincent(a)massol.net <vincent(a)massol.net>wrote;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.
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