|
1 | 1 | # OpenTelemetry Java Instrumentation Versioning |
2 | 2 |
|
3 | | -## Compatibility requirements |
| 3 | +## Compatibility and telemetry stability requirements |
4 | 4 |
|
5 | | -Artifacts in this repository follow the same compatibility requirements described in |
6 | | -<https://github.com/open-telemetry/opentelemetry-java/blob/main/VERSIONING.md#compatibility-requirements> |
7 | | -. |
| 5 | +Artifacts in this repository follow the compatibility requirements described in the |
| 6 | +[OpenTelemetry Java versioning document](https://github.com/open-telemetry/opentelemetry-java/blob/main/VERSIONING.md#compatibility-requirements) |
| 7 | +and the OpenTelemetry specification |
| 8 | +[versioning and stability document](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/versioning-and-stability.md). |
8 | 9 |
|
9 | | -EXCEPT for the following incompatible changes which are allowed in stable artifacts in this |
10 | | -repository: |
| 10 | +For any stable artifact in this repository, public portions of the artifact must remain backward |
| 11 | +compatible, including public Java APIs and user-facing configuration. Backward-incompatible changes |
| 12 | +to stable artifacts are only allowed when incrementing the `MAJOR` version number, except for the |
| 13 | +following configuration changes: |
11 | 14 |
|
12 | | -- Changes to configuration properties that contain the word `experimental` |
13 | | -- Changes to configuration properties under the namespace `otel.javaagent.testing` |
| 15 | +- Changes to configuration properties that contain the word `experimental`. |
| 16 | +- Changes to configuration properties under the namespace `otel.javaagent.testing`. |
14 | 17 |
|
15 | 18 | This means that: |
16 | 19 |
|
17 | | -- Changes to configuration properties (other than those that contain the word `experimental` |
18 | | - or are under the namespace `otel.javaagent.testing`) will be considered breaking changes |
19 | | - (unless they only affect telemetry produced by instrumentation) |
| 20 | +- Changes to all other configuration properties are considered breaking changes. |
| 21 | +- Changes to telemetry produced by stable instrumentation artifacts in this repository are |
| 22 | + considered breaking unless they are allowed by the OpenTelemetry specification |
| 23 | + [Semantic Conventions Stability](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/versioning-and-stability.md#semantic-conventions-stability) |
| 24 | + requirements. This repository uses those requirements to define breaking and non-breaking |
| 25 | + telemetry changes for stable instrumentation artifacts. |
20 | 26 |
|
21 | 27 | ## Stable vs alpha |
22 | 28 |
|
|
0 commit comments