Skip to content

Commit c5b1a22

Browse files
authored
Require telemetry stability in stable artifacts (#18789)
1 parent 7f3299b commit c5b1a22

1 file changed

Lines changed: 17 additions & 11 deletions

File tree

VERSIONING.md

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,28 @@
11
# OpenTelemetry Java Instrumentation Versioning
22

3-
## Compatibility requirements
3+
## Compatibility and telemetry stability requirements
44

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).
89

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:
1114

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`.
1417

1518
This means that:
1619

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.
2026

2127
## Stable vs alpha
2228

0 commit comments

Comments
 (0)