- Semantic Versioning (SemVer) is used in every repository (
vMAJOR.MINOR.PATCH). See our Versioning and Stability policy for more information. - CHANGELOGs keep an “Unreleased” section that is promoted to a versioned section during a release.
- Releases are tagged from the default branch or a dedicated release/x.y branch; tags are always prefixed with v.
- GitHub Actions prepare release PRs, bump versions, draft release notes, publish artifacts, and create Git tags.
- Each release produces a GitHub Release plus language‑specific artifacts (Maven Central, NuGet, PyPI, NPM, RubyGems, crates.io, Packagist, Docker Hub, etc.).
- A designated maintainer or release manager triggers/approves the workflows and verifies the release checklist.
| Aspect | Approach |
|---|---|
| Versioning after 1.0 | No breaking changes in the 1.x line; major bump required for breaking changes. |
| Unreleased versions | Suffixes like -SNAPSHOT, .dev, beta.n are kept on main and stripped for the release commit. |
| Artifact registries | crates.io (Rust), Docker Hub (Collector/Images), Maven Central (Java), npmjs.com (JS), NuGet (.NET), Packagist (PHP), PECL (PHP), PyPI (Python), RubyGems (Ruby) |
| Version‑bump tooling | Gradle scripts, MinVer, cargo release, npm version, Toys scripts, Makefiles, custom GH Actions. |
| Repository | Release Doc | Frequency | Automation | Release Maintainers |
|---|---|---|---|---|
| opentelemetry-java | RELEASING.md | Monthly | GitHub Actions (prepare + publish) | Release Maintainers |
| opentelemetry-java-contrib | RELEASING.md | Monthly | GitHub Actions (prepare + publish) | Release Maintainers |
| opentelemetry-java-instrumentation | RELEASING.md | Monthly | GitHub Actions (prepare + publish) | Release Maintainers |
| Repository | Release Doc | Frequency | Automation | Release Maintainers |
|---|---|---|---|---|
| opentelemetry-dotnet | RELEASING.md | ~Every 4-6 weeks | GitHub Actions + slash-commands | Release Maintainers |
| opentelemetry-dotnet-contrib | RELEASING.md | Monthly (aligned) | Partial automation | Release Maintainers |
| opentelemetry-dotnet-instrumentation | RELEASING.md | Quarterly / ad-hoc | Partial | Release Maintainers |
| Repository | Release Doc | Frequency | Automation | Release Maintainers |
|---|---|---|---|---|
| opentelemetry-go | RELEASING.md | ~Every 4-6 weeks | Make scripts (manual) | Release Maintainers |
| opentelemetry-go-contrib | RELEASING.md | Monthly (after core) | Partial | Release Maintainers |
| opentelemetry-go-instrumentation | RELEASING.md | ~Every 4-6 weeks | Make scripts (manual) | Release Maintainers |
| Repository | Release Doc | Frequency | Automation | Release Maintainers |
|---|---|---|---|---|
| opentelemetry-python | RELEASING.md | Monthly | GitHub Actions (high) | Release Maintainers |
| opentelemetry-python-contrib | RELEASING.md | Monthly (aligned) | GitHub Actions (high) | Release Maintainers |
| Repository | Release Doc | Frequency | Automation | Release Maintainers |
|---|---|---|---|---|
| opentelemetry-js | Releasing Guide | ~bi-weekly, on-demand (after SemConv release) | Release PR + Publish workflow | Release Maintainers |
| opentelemetry-js-contrib | n/a | ~bi-weekly (after core), on-demand | GitHub Actions | Release Maintainers |
| Repository | Release Doc | Frequency | Automation | Release Maintainers |
|---|---|---|---|---|
| opentelemetry-ruby | CONTRIBUTING → Releases | Weekly, on-demand | Toys scripts + GitHub Actions | Release Maintainers |
| opentelemetry-ruby-contrib | CONTRIBUTING → Releases | Weekly, on-demand | Toys scripts + GitHub Actions | Release Maintainers |
| Repository | Release Doc | Frequency | Automation | Release Maintainers |
|---|---|---|---|---|
| opentelemetry-php | n/a | Ad-hoc | GitHub Actions + scripting + Packagist auto-sync | Release Maintainers |
| opentelemetry-php-contrib | Follows core | Ad-hoc | Follows core | Release Maintainers |
| opentelemetry-php-instrumentation | Follows core | Ad-hoc | GitHub Actions + scripting + PECL manual upload | Release Maintainers |
| Repository | Release Doc | Frequency | Automation | Release Maintainers |
|---|---|---|---|---|
| opentelemetry-cpp | RELEASING.md | Quarterly | Scripts (manual) | Release Maintainers |
| Repository | Release Doc | Frequency | Automation | Release Maintainers |
|---|---|---|---|---|
| opentelemetry-rust | n/a | 4-8 weeks | cargo release (tool-assisted) |
Release Maintainers |
| Repository | Release Doc | Frequency | Automation | Release Maintainers |
|---|---|---|---|---|
| opentelemetry-swift | n/a | Bi-monthly | Tag → SPM/CocoaPods | Release Maintainers |
| Repository | Release Doc | Frequency | Automation | Release Maintainers |
|---|---|---|---|---|
| opentelemetry-collector | docs/release.md | Bi-weekly | Prepare PR + GitHub Actions | Release Maintainers |
| opentelemetry-collector-contrib | Same as core | Bi-weekly (after core) | Prepare PR + GitHub Actions | Release Maintainers |
| opentelemetry-collector-releases | Same as core | Bi-weekly (after contrib) | Prepare PR + GitHub Actions | Release Maintainers |
| Repository | Release Doc | Frequency | Automation | Release Maintainers |
|---|---|---|---|---|
| opentelemetry-operator | RELEASE.md | ~Monthly | GitHub Actions (Docker + Helm) | Release Maintainers |
| opentelemetry-lambda | RELEASE.md | Ad-hoc | Scripts + GitHub Actions | Release Maintainers |
| Repository | Release Doc | Frequency | Automation | Release Maintainers |
|---|---|---|---|---|
| opentelemetry-specification | CHANGELOG | Monthly | Manual (TC oversight) | Release Maintainers |
| semantic-conventions | RELEASING.md | On demand | GitHub Actions (prepare) | Release Maintainers |
| opentelemetry-proto | RELEASING.md | On demand | Manual | Release Maintainers |
| opentelemetry-proto-go | RELEASING.md | On demand after proto | Make scripts (manual) | Release Maintainers |
| weaver | CONTRIBUTING.md | ~ Every 4-6 weeks | Manual | Release Maintainers |
Tip: Most repositories expose their release automation under .github/workflows/. Reading those workflow files provides the authoritative sequence of release steps if the written docs fall behind.