Skip to content

Commit 3419c3c

Browse files
authored
Add release guidelines (opendistro-for-elasticsearch#38)
* Add release guidelines
1 parent c6f341f commit 3419c3c

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

docs/guide/release.md

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Release guidelines
2+
3+
4+
odfe-cli versions are expressed as **x.y.z**, where **x** is the major version, **y** is the minor version, and **z** is the patch version, following [Semantic Versioning](https://semver.org/) terminology.
5+
6+
**The major, minor & patch version is related to odfe-cli compatibility, instead of odfe’s compatibility.**
7+
8+
9+
**Q: What goes into new patch version release train?**
10+
11+
* Known bugs that prevent users from executing tasks.
12+
* eg: Failed to delete non-running detectors by delete command, failed to handle error.
13+
* Security vulnerabilities.
14+
* eg: leaking user credentials, insecure interaction with components.
15+
* cli’s dependency is updated with new patch version which fixes bugs and security issues that affect your feature. (Treat your dependent library as your library)
16+
* eg: cobra released a new version which fixes some security vulnerabilities like [#1259](https://github.com/spf13/cobra/pull/1259)
17+
18+
Any committer, who fixed issues, **related to above use case**, should notify admin to initiate new patch release. There is no SLA for patch releases, since this is triggered based on severity of the issue.
19+
20+
21+
22+
**Q: What goes into new minor version release train?**
23+
24+
* Any new commands ( could be a new plugin, a new sub command for any plugin ). A new command could be a new API that was released long ago but being included in new odfe-cli release or new API that will be released in next odfe release.
25+
* eg: on-board [k-nn](https://github.com/opendistro-for-elasticsearch/odfe-cli/pull/20/) plugin, add auto-complete feature for cli commands.
26+
* New parameter/flags for any command.
27+
* eg: odfe-cli 1.0.0 only displays detector configuration using get command for given name, if user would also like to see [detector job](https://opendistro.github.io/for-elasticsearch-docs/docs/ad/api/#get-detector), they can add new flag (job) to get command to enable this feature.
28+
* Any incompatible changes that were introduced with respect to API changes.
29+
* eg: if API is added in odfe 1.13.0 and updated in a backward incompatible way in later releases, this will be addressed in CLI as minor version
30+
31+
admin will trigger new minor release train whenever new plugin is on-boarded or every 45 days if any commits related to above use case is added. After every minor release, admin will create a new table where contributors can include candidates for next release.
32+
33+
34+
35+
**Q**: **What goes into new major version release train?**
36+
37+
* Any changes related to framework or addition of new component with respect to odfe-cli.
38+
* eg: Use new rest library (networking layer), framework re-design to ease new plugin on-boarding, user experience changes like update command formats, rename command names, etc.
39+
40+
admin will trigger new major release train every 120 days if any commits related to above use case is added. After every major release, admin will create a new table related to next release where contributors can include candidates for next release.
41+
42+

0 commit comments

Comments
 (0)