-
Notifications
You must be signed in to change notification settings - Fork 825
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
70 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -18,6 +18,7 @@ Release Process: | |
- [Publish the GitHub Release](#publish-the-github-release) | ||
- [Update CHANGELOG](#update-changelog) | ||
- [Known Issues](#known-issues) | ||
- [Versioning](#versioning) | ||
|
||
## Update to latest locally | ||
|
||
|
@@ -119,3 +120,72 @@ Publish the GitHub release, ensuring that the tag points to the newly landed com | |
## Known Issues | ||
|
||
- The `examples/` and `getting-started/` folders are not part of lerna packages, we need to manually bump the version in `package.json`. | ||
|
||
# Versioning | ||
|
||
## Assumptions | ||
|
||
This project uses semver v2, as does the rest of OpenTelemetry. | ||
|
||
## Goals | ||
|
||
### API Stability | ||
|
||
Once the API for a given signal (spans, logs, metrics, baggage) has been officially released, that API module will function with any SDK that has the same major version, and equal or greater minor or patch version. | ||
|
||
For example, libraries that are instrumented with `@opentelemetry/[email protected]` will function with SDK library `@opentelemetry/[email protected]` or `@opentelemetry/[email protected]` | ||
|
||
### SDK Stability: | ||
|
||
Public portions of the SDK (constructors, configuration, end-user interfaces) must remain backwards compatible. | ||
Internal interfaces are allowed to break. | ||
|
||
## Methods | ||
|
||
### Mature Signals | ||
|
||
API modules for mature (i.e. released) signals will be included in the `@opentelemetry/api` module. | ||
|
||
### Immature or experimental signals | ||
|
||
API modules for experimental signals will not be included in the `@opentelemetry/api` module, and must be installed manually. API modules will be named with an `-experimental` suffix to make it abundantly clear that depending on them is at your own risk. For example, the `@opentelemetry/metrics-api-experimental` module will provide experimental access to the unfinished metrics API. NO STABILITY GUARANTEES ARE MADE. | ||
|
||
## Examples | ||
|
||
Purely for illustration purposes, not intended to represent actual releases: | ||
|
||
### V1.0.0 Release (tracing, baggage, propagators, context) | ||
|
||
- `@opentelemetry/api` v1.0.0 | ||
- Contains APIs for tracing, baggage, propagators, and context | ||
- `@opentelemetry/tracing` v1.0.0 | ||
- Contains tracing SDK | ||
- `@opentelemetry/core` v1.0.0 | ||
- Contains shared SDK components | ||
- `@opentelemetry/context-*` v1.0.0 | ||
- Context managers and context management API | ||
- This API cannot break because it is depended on by the API module | ||
- `@opentelemetry/node @opentelemetry/web @opentelemetry/sdk-node` v1.0.0 | ||
- Contains SDK components for tracing, baggage, propagators, and context | ||
- `@opentelemetry/api-metrics-experimental` v1.0.0 | ||
- Contains the EXPERIMENTAL API for metrics. This API is not guaranteed to be stable | ||
- `@opentelemetry/metrics-experimental` v1.0.0 | ||
- Contains the EXPERIMENTAL SDK for metrics. There are no stability guarantees. | ||
|
||
### V1.15.0 Release (metrics) | ||
|
||
- `@opentelemetry/api` v1.15.0 | ||
- Contains APIs for tracing, baggage, propagators, context, and metrics | ||
- `@opentelemetry/tracing` v1.15.0 | ||
- Contains tracing SDK | ||
- `@opentelemetry/metrics` v1.15.0 | ||
- Contains metrics SDK | ||
- `@opentelemetry/core` v1.15.0 | ||
- Contains shared SDK components | ||
- `@opentelemetry/context-*` v1.15.0 | ||
- Context managers and context management API | ||
- This API cannot break because it is depended on by the API module | ||
- `@opentelemetry/node @opentelemetry/web @opentelemetry/sdk-node` v1.0.0 | ||
- Contains SDK components for tracing, baggage, propagators, context, and metrics | ||
- `@opentelemetry/api-metrics-experimental` deprecated | ||
- `@opentelemetry/metrics-experimental` deprecated |