dapr / proposals

Proposals for new features in Dapr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Discussion] Should Beta be an API lifecycle stage?

mukundansundar opened this issue · comments

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?

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.

@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.