reactor-core icon indicating copy to clipboard operation
reactor-core copied to clipboard

add `@Incubating` annotation

Open OlegDokuka opened this issue 2 years ago • 1 comments

Rationale

Reactor is exploring new horizons so we need to have safe harbour for some of the enhancements we add. Functionality marked with @Incubating annotation would let us make breaking changes in functionality between minor incrmenets

OlegDokuka avatar Nov 22 '23 14:11 OlegDokuka

FYI, Akka/Pekko is using @ApiMayChange

He-Pin avatar Jan 07 '24 18:01 He-Pin

@chemicL I think it's time to introduce this annotation. We have several options. Wdyt?

  • @Incubating
  • @ApiMayChange
  • @Experimental
  • @UnstableApi

violetagg avatar Apr 19 '24 07:04 violetagg

I personally prefer @Incubating. It's also used by Micrometer, Hibernate, Gradle.

@UnstableApi is also tempting as it's used by Android.

@ApiMayChange from Akka was introduced alongside with other annotations, feels like it's not as self explanatory as the above.

For @Experimental, I'd prefer not to convey such a strongly discouraging semantic that this word brings. To me, incubating is something most appropriate as long as our intention is to evolve the API but we're working on it because we believe something will make it into the API, while we are not sure yet how it will exactly be shaped. Experimental conveys the message that we might not be serious about a feature so collecting feedback might be more difficult.

WDYT @violetagg ?

chemicL avatar Apr 19 '24 07:04 chemicL

ok with @Incubating

violetagg avatar Apr 19 '24 08:04 violetagg