Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Discussion] Should Beta be an API lifecycle stage? #13

Open
mukundansundar opened this issue Nov 29, 2022 · 2 comments
Open

[Discussion] Should Beta be an API lifecycle stage? #13

mukundansundar opened this issue Nov 29, 2022 · 2 comments

Comments

@mukundansundar
Copy link
Contributor

Should Beta be an API lifecycle stage?

Currently as per https://github.com/dapr/proposals/blob/main/guides/api-design.md#api-lifecycle-expectations, Beta is a lifecycle stage for Dapr APIs.
The main advantages that I see here are that there are multiple different requirements that are needed to be completed to move an API from Alpha to Stable.
Beta is a stage that is in between Alpha and Stable and gives a guarantee to the users that the API will not be removed and will be worked on to make it stable. If an API moves into Beta, the intention is that it will continue on to become stable and not be removed

But there are some open questions as well.

  • How will a Beta API be implemented and surfaced to the user? (v1.0-beta1 ? similar to v1.0-alpha1 in HTTP and in gRPC with a Beta suffix?)
  • Does moving from Beta to Stable require a breaking change or will Beta API still continue to exist for a couple of releases after Stable API is available?

cc @dapr/maintainers-dapr @dapr/maintainers-components-contrib thoughts?

@berndverst
Copy link
Member

I'd suggest:

  • No breaking changes between Beta and Stable
  • Beta API exists for 1 (one) release in parallel with Stable

Without those criteria there isn't enough of an incentive for anyone to use a Beta API. And it would also be too much maintenance work.

@shubham1172
Copy link
Member

@mukundansundar should we also add a minimum N release criteria from beta to stable? There does not seem to be any official recommendation on it, and it's good to have some 'baking' time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants