Skip to content

Support for Experimental Ideas in Major Version Lifecycle #1824

Closed
@benjchristensen

Description

@benjchristensen

In a major version lifecycle (such as 1.x) there will still be a desire to add things over time and often this requires experimentation and feedback. I'd like to explore the idea of having experimental or beta features shipped in the released code.

Guava does this with an @Beta annotation. Perhaps we should also adopt @Beta or @Experimental to mark signatures that have not stabilized and may change?

It would be the opposite of @Deprecated which will be used for things we determine to be mistakes, which I'm sure we will still have made despite the long road to 1.0 and effort to stabilize the API.

Large experimental ideas should be done in separate projects such as https://github.com/ReactiveX/RxJavaParallel, but others are either too small for that or it is too difficult to do without being in core, such as exploring an rx.Future type that integrates with Observable.

I'd appreciate feedback on how to handle experiemental/beta work in a production released library.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions