-
Notifications
You must be signed in to change notification settings - Fork 1.1k
docs: clarify feature stages criteria and support expectations #21196
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
base: main
Are you sure you want to change the base?
Conversation
Updates the feature stages documentation to reflect internal agreements: Early Access (EA): - Clarify EA features are referred to internally as MVP, Phase 1, or Alpha - Detail customer expectations: rough edges, missing features, bugs expected - Update support: no support/SLA, escalated directly to product team - Confirm opt-in only via CODER_EXPERIMENTS - Add experimental naming convention requirement for API/CLI Beta: - Remove statement that beta features are enabled by default - Clarify beta features are opt-in but discoverable without experiment flags - Emphasize stable API goal between Beta and GA - State beta features are generally feature-complete (focus on stability) - Update support: best effort (no SLA), ~60% escalated to product team GA: - Add transition criteria: stability, scale, compatibility, 80% use cases - Clarify most GA features enabled by default, but config-heavy features (like Prebuilds) may remain opt-in by design - Emphasize documentation as single source of truth with air-gapped deployment instructions
| A feature should fit at least 80% of planned use cases before reaching GA. Any | ||
| changes after GA are incremental improvements or made by customer request. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe I was the one who said this, but seeing in writing, I'm not a fan of this verbiage... I'd rather reword it to something like:
- "A feature should be GA when it is generally useful to a wide audience, even if there are additional capabilities/use cases planned. GA does not signify feature-complete, it represents a feature being stable and useful for enterprises."
| | [GA](#general-availability-ga) | Yes | Yes | License-based | Stable and tested. Enabled by default. Fully documented. Support based on license. | | ||
| | Feature stage | Stable | Production-ready | Support | Description | | ||
| |----------------------------------------|--------|------------------|----------------------------|-----------------------------------------------------------------------------------------------------------------------| | ||
| | [Early Access](#early-access-features) | No | No | No support (GitHub issues) | For staging only. Not feature-complete or stable. Disabled by default. | |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Offering no support is the opposite of what EA is about. Early feedback is an absolute gift, and it has an outsized influence over future product direction.
david-fraley
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Generally I'm good so approving as not to block. Did leave some thoughts however
| ### Available early access features | ||
|
|
||
| <!-- Code generated by scripts/release/docs_update_experiments.sh. DO NOT EDIT. --> | ||
| <!-- BEGIN: available-experimental-features --> | ||
|
|
||
| Currently no experimental features are available in the latest mainline or | ||
| stable release. | ||
|
|
||
| <!-- END: available-experimental-features --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we remove this? I'm not gonna remember/have time to run this, I don't think we can count on AI to, etc.
| Beta features are publicly available and tagged with a `Beta` label. They are | ||
| generally stable with a mostly complete feature set, though minor bugs may | ||
| exist. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider a callout to the "### Transition from Beta to GA" here as my mind immediately was like ok well what about that
| - **Compatibility**: Testing across a wider set of Coder versions and | ||
| environments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| - **Compatibility**: Testing across a wider set of Coder versions and | |
| environments. | |
| - **Compatibility**: Testing across a wider set of Coder versions and | |
| environments, as well as integration into the broader Coder product suite. |
Trying to call out that compatibility means with our diff released versions but also with the other product lines we have, ex. DevContainers and Tasks as the most recent missing-example.
I could also see this as new bullet if you prefer like:
- **Integration**: Having integrated the feature into the broader Coder product suite
- ```
| - **Enabled by default**: Most GA features are enabled by default. However, | ||
| features that require extra configuration (such as Prebuilds or external | ||
| integrations) may remain opt-in by design, even in GA. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps rephrase to
| - **Enabled by default**: Most GA features are enabled by default. However, | |
| features that require extra configuration (such as Prebuilds or external | |
| integrations) may remain opt-in by design, even in GA. | |
| - **Available by default**: All GA features are available to customers based on their licensing. However, some features that require extra configuration or additional setup (such as Prebuilds or external integrations) will not be enabled by default and will remain opt-in by design, even in GA. |
Trying to distinguish "enabled's" usage from enable for release vs enabled for usage. Open to thoughts here
Summary
Updates the feature stages documentation to reflect internal agreements on feature stage definitions, support expectations, and enablement criteria.
Changes
Early Access (EA)
CODER_EXPERIMENTSBeta
GA