Skip to content

Commit 9cf2b42

Browse files
committed
redefine feature stages
1 parent 1a69338 commit 9cf2b42

File tree

1 file changed

+80
-55
lines changed

1 file changed

+80
-55
lines changed
Lines changed: 80 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,64 @@
11
# Feature stages
22

3-
Some Coder features are released in feature stages before they are generally
4-
available.
3+
We release some Coder features or components in feature stages before we consider them "generally available" (GA).
4+
5+
This gives Coder users the opportunity to use the latest Coder features and improve the open-source project.
56

67
If you encounter an issue with any Coder feature, please submit a
78
[GitHub issue](https://github.com/coder/coder/issues) or join the
89
[Coder Discord](https://discord.gg/coder).
910

1011
## Feature stages
1112

12-
| Feature stage | Stable | Production-ready | Support | Description |
13-
|----------------------------------------|--------|------------------|-----------------------|-------------------------------------------------------------------------------------------------------------------------------|
14-
| [Early Access](#early-access-features) | No | No | GitHub issues | For staging only. Not feature-complete or stable. Disabled by default. |
15-
| [Beta](#beta) | No | Not fully | Docs, Discord, GitHub | Publicly available. In active development with minor bugs. Suitable for staging; optional for production. Not covered by SLA. |
16-
| [GA](#general-availability-ga) | Yes | Yes | License-based | Stable and tested. Enabled by default. Fully documented. Support based on license. |
13+
| Feature stage | Stable | Production-ready | Support | Description |
14+
|-------------------------------------------|--------|------------------|-----------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
15+
| [Experiment](#experiment-hidden) | No | No | N/A | For staging and testing only. Not feature-complete or stable.</br>Hidden and disabled by default. |
16+
| [Early Access](#early-access-features) | No | No | Limited documentation</br>GitHub issues | For staging only. Functional, but not feature-complete or stable.</br>Disabled by default. |
17+
| [Beta](#beta) | No | Not fully | Documentation</br>Discord</br>GitHub | Publicly available on an opt-in basis. In active development with minor bugs. Suitable for staging; optional for production. Not covered by SLA. |
18+
| [GA](#general-availability-ga) | Yes | Yes | License-based / SLA | Stable and tested. Enabled by default. Fully documented. Support based on license. |
19+
| [Legacy (Deprecated)](#legacy-deprecated) | Yes* | Yes* | Best-effort security updates | Legacy features continue to function, but will not be updated outside of the limits defined in a customer's license or agreement.</br>They will be removed in future versions of Coder. |
20+
21+
## Experiment (Hidden)
22+
23+
- **Stable**: No
24+
- **Production-ready**: No
25+
- **Support**: N/A
26+
27+
Experimental features are in active development and hidden by default.
28+
They are not ready for ongoing use and aspects might be broken or can lead to data loss.
29+
30+
You can enable an experimental feature for testing, if you want to explore the latest Coder code, or if you'd like to contribute.
31+
32+
<details><summary>To enable an experimental feature:</summary>
33+
34+
Use the [Coder CLI](../../install/cli.md) `--experiments` flag to enable the feature:
35+
36+
```shell
37+
coder server --experiments=featureName
38+
```
39+
40+
</details>
1741

1842
## Early access features
1943

2044
- **Stable**: No
2145
- **Production-ready**: No
2246
- **Support**: GitHub issues
2347

24-
Early access features are neither feature-complete nor stable. We do not
25-
recommend using early access features in production deployments.
48+
Early access features are neither feature-complete nor stable.
49+
We do not recommend using early access features in production deployments.
2650

27-
Coder sometimes releases early access features that are available for use, but
28-
are disabled by default. You shouldn't use early access features in production
29-
because they might cause performance or stability issues. Early access features
30-
can be mostly feature-complete, but require further internal testing and remain
31-
in the early access stage for at least one month.
51+
Coder sometimes releases early access features that are available for use, but are disabled by default.
52+
You shouldn't use early access features in production because they might cause performance or stability issues.
53+
Early access features can be mostly feature-complete, but require further internal testing and remain in the early access stage for at least one month.
3254

33-
Coder may make significant changes or revert features to a feature flag at any
34-
time.
55+
Coder may make significant changes or revert features to a feature flag at any time.
3556

36-
If you plan to activate an early access feature, we suggest that you use a
37-
staging deployment.
57+
If you plan to activate an early access feature, we suggest that you use a staging deployment.
3858

3959
<details><summary>To enable early access features:</summary>
4060

41-
Use the [Coder CLI](../../install/cli.md) `--experiments` flag to enable early
42-
access features:
61+
Use the [Coder CLI](../../install/cli.md) `--experiments` flag to enable early access features:
4362

4463
- Enable all early access features:
4564

@@ -80,53 +99,59 @@ You can opt-out of a feature after you've enabled it.
8099

81100
Beta features are open to the public and are tagged with a `Beta` label.
82101

83-
They’re in active development and subject to minor changes. They might contain
84-
minor bugs, but are generally ready for use.
102+
They’re in active development and subject to minor changes.
103+
They might contain minor bugs, but are generally ready for use.
85104

86-
Beta features are often ready for general availability within two-three
87-
releases. You should test beta features in staging environments. You can use
88-
beta features in production, but should set expectations and inform users that
89-
some features may be incomplete.
105+
Beta features are often ready for general availability within two-three releases.
106+
You should test beta features in staging environments.
107+
You can use beta features in production, but should set expectations and inform users that some features may be incomplete.
90108

91-
We keep documentation about beta features up-to-date with the latest
92-
information, including planned features, limitations, and workarounds. If you
93-
encounter an issue, please contact your
94-
[Coder account team](https://coder.com/contact), reach out on
95-
[Discord](https://discord.gg/coder), or create a
96-
[GitHub issues](https://github.com/coder/coder/issues) if there isn't one
97-
already. While we will do our best to provide support with beta features, most
98-
issues will be escalated to the product team. Beta features are not covered
99-
within service-level agreements (SLA).
109+
We keep documentation about beta features up-to-date with the latest information, including planned features, limitations, and workarounds.
110+
If you encounter an issue, please contact your [Coder account team](https://coder.com/contact), reach out on
111+
[Discord](https://discord.gg/coder), or create a [GitHub issues](https://github.com/coder/coder/issues) if there isn't one already.
112+
While we will do our best to provide support with beta features, most issues will be escalated to the product team.
113+
Beta features are not covered within service-level agreements (SLA).
100114

101-
Most beta features are enabled by default. Beta features are announced through
102-
the [Coder Changelog](https://coder.com/changelog), and more information is
103-
available in the documentation.
115+
Most beta features are enabled by default.
116+
Beta features are announced through the [Coder Changelog](https://coder.com/changelog), and more information is available in the documentation.
104117

105118
## General Availability (GA)
106119

107120
- **Stable**: Yes
108121
- **Production-ready**: Yes
109122
- **Support**: Yes, [based on license](https://coder.com/pricing).
110123

111-
All features that are not explicitly tagged as `Early access` or `Beta` are
112-
considered generally available (GA). They have been tested, are stable, and are
113-
enabled by default.
124+
All features that are not explicitly tagged as `Early access` or `Beta` are considered generally available (GA).
125+
They have been tested, are stable, and are enabled by default.
114126

115-
If your Coder license includes an SLA, please consult it for an outline of
116-
specific expectations.
127+
If your Coder license includes an SLA, please consult it for an outline of specific expectations.
117128

118-
For support, consult our knowledgeable and growing community on
119-
[Discord](https://discord.gg/coder), or create a
120-
[GitHub issue](https://github.com/coder/coder/issues) if one doesn't exist
121-
already. Customers with a valid Coder license, can submit a support request or
122-
contact your [account team](https://coder.com/contact).
129+
For support, consult our knowledgeable and growing community on [Discord](https://discord.gg/coder), or create a
130+
[GitHub issue](https://github.com/coder/coder/issues) if one doesn't exist already.
131+
Customers with a valid Coder license, can submit a support request or contact your [account team](https://coder.com/contact).
123132

124-
We intend [Coder documentation](../../README.md) to be the
125-
[single source of truth](https://en.wikipedia.org/wiki/Single_source_of_truth)
126-
and all features should have some form of complete documentation that outlines
127-
how to use or implement a feature. If you discover an error or if you have a
128-
suggestion that could improve the documentation, please
133+
We intend [Coder documentation](../../README.md) to be the [single source of truth](https://en.wikipedia.org/wiki/Single_source_of_truth)
134+
and all features should have some form of complete documentation that outlines how to use or implement a feature.
135+
If you discover an error or if you have a suggestion that could improve the documentation, please
129136
[submit a GitHub issue](https://github.com/coder/internal/issues/new?title=request%28docs%29%3A+request+title+here&labels=["customer-feedback","docs"]&body=please+enter+your+request+here).
130137

131-
Some GA features can be disabled for air-gapped deployments. Consult the
132-
feature's documentation or submit a support ticket for assistance.
138+
Some GA features can be disabled for air-gapped deployments.
139+
Consult the feature's documentation or submit a support ticket for assistance.
140+
141+
## Legacy (Deprecated)
142+
143+
- **Stable**: Yes*
144+
- **Production-ready**: Yes*
145+
- **Support**: Best-effort security updates
146+
147+
On rare occasions, the Coder team may deprecate features that have been replaced by another functionality, or that tedious to maintain.
148+
149+
In order to maintain stability and predictability, we avoid deprecating features that might lead to breaking changes as much as we can.
150+
Before we deprecate a feature, we will communicate the upcoming changes and timeline to all customers and through various mediums,
151+
and we'll provide guidance and documentation on how to ease the transition.
152+
153+
After the feature is deprecated, we may continue to patch security vulnerabilities or include community patches as long as we can.
154+
155+
*Legacy features might be stable and production ready, but there's no guarantee that they will continue working without issue or with new features and requirements.
156+
157+
Support is available as defined in your license or agreement.

0 commit comments

Comments
 (0)