Skip to content

Commit 39191e1

Browse files
committed
Address review comments
Signed-off-by: Kemal Akkoyun <[email protected]>
1 parent abf357c commit 39191e1

File tree

1 file changed

+12
-15
lines changed

1 file changed

+12
-15
lines changed

Diff for: RELEASE.md

+12-15
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
11
# Release
22

3-
The Prometheus Go client library follows a release process similar to the [Prometheus server](https://github.com/prometheus/prometheus/blob/main/RELEASE.md).
3+
The Prometheus Go client library does not follow a strict release schedule. Releases are made based on necessity and the current state of the project.
44

55
## Branch Management
66

77
We use [Semantic Versioning](https://semver.org/).
88

99
- Maintain separate `release-<major>.<minor>` branches
1010
- Branch protection enabled automatically for `release-*` branches
11-
- Bug fixes go to latest release branch, then merge to main
11+
- Bug fixes go to the latest release branch, then merge to main
1212
- Features and changes go to main branch
13-
- Older release branches maintained on best-effort basis
13+
- Non-latest minor release branches are maintained (e.g. bug and security fixes) on the best-effort basis
1414

1515
## Pre-Release Preparations
1616

1717
1. Review main branch state:
1818
- Expedite critical bug fixes
19-
- Hold back risky changes
20-
- Update dependencies via Dependabot PRs
19+
- Don't rush on risky changes, consider them for the next release if not ready
20+
- Update dependencies via Dependabot PRs or manually if needed
2121
- Check for security alerts
2222

2323
## Cutting a Minor Release
@@ -29,7 +29,7 @@ We use [Semantic Versioning](https://semver.org/).
2929
git push origin release-<major>.<minor>
3030
```
3131

32-
2. Create feature branch:
32+
2. Create a new branch on top of `release-<major>.<minor>`:
3333

3434
```bash
3535
git checkout -b <yourname>/cut-<major>.<minor>.0 release-<major>.<minor>
@@ -61,7 +61,6 @@ We use [Semantic Versioning](https://semver.org/).
6161

6262
7. For Final Release:
6363
- Wait for CI completion
64-
- Verify artifacts published
6564
- Click "Publish release"
6665
- For RCs, ensure "pre-release" box is checked
6766

@@ -86,8 +85,8 @@ We use [Semantic Versioning](https://semver.org/).
8685
```
8786

8887
2. Apply fixes:
89-
- Cherry-pick from main: `git cherry-pick <commit>`
90-
- Or add new fix commits
88+
- Commit the required fixes; avoid refactoring or otherwise risky changes (preferred)
89+
- Cherry-pick from main if fix was already merged there: `git cherry-pick <commit>`
9190

9291
3. Follow steps 3-9 from minor release process
9392

@@ -102,19 +101,17 @@ If conflicts occur merging to main:
102101

103102
## Note on Versioning
104103

105-
Go modules require strict semver. Because we don't commit to avoid breaking changes between minor releases, we use major version zero releases for libraries.
106-
107104
## Compatibility Guarantees
108105

109106
### Supported Go Versions
110107

111108
- Support provided only for the three most recent major Go releases
112-
- While the library may work with older versions, no fixes or support provided
109+
- While the library may work with older Go versions, support and fixes are best-effort for those.
113110
- Each release documents the minimum required Go version
114111

115112
### API Stability
116113

117-
The Prometheus Go client library aims to maintain backward compatibility within minor versions, similar to [Go 1 compatibility promises](https://golang.org/doc/go1compat). However, as indicated by the major version zero (v0):
114+
The Prometheus Go client library aims to maintain backward compatibility within minor versions, similar to [Go 1 compatibility promises](https://golang.org/doc/go1compat):
118115

119116
- API signatures may change between minor versions
120117
- Types may be modified or relocated
@@ -131,8 +128,8 @@ Before each release:
131128
- Benchmark comparisons with previous version
132129

133130
2. **External Validation**:
134-
- Testing with prometheus/prometheus master branch
135-
- Testing with kubernetes/kubernetes master branch
131+
- Testing with prometheus/prometheus `main` branch
132+
- Testing with kubernetes/kubernetes `main` branch
136133
- Breaking changes must be documented in CHANGELOG.md
137134

138135
### Version Policy

0 commit comments

Comments
 (0)