You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ Please take a look at this list first, your contributions may belong in one of t
25
25
26
26
# Find the right branch
27
27
28
-
The default branch for this repo is `main`. Changes that pertain to components marked as `stable` in the [specifications](https://github.com/open-telemetry/opentelemetry-specification)go into this branch, which currently does not include `metrics`. Changes that pertain to `metrics`go into the `metrics` branch.
28
+
The default branch for this repo is `main`. Changes that pertain to `metrics` go into the `metrics` branch. Any changes that pertain to components marked as `stable` in the [specifications](https://github.com/open-telemetry/opentelemetry-specification)or anything that is not `metrics` related go into this branch.
When creating a library, often times designs and decisions are made that get lost over time. This
4
-
document tries to collect information on design decisions to answer common questions that may come
5
-
up when you explore the SDK.
3
+
When creating a library, often times designs and decisions are made that get lost over time. This document tries to collect information on design decisions to answer common questions that may come up when you explore the SDK.
6
4
7
5
## Versioning and Releasing
8
6
9
-
The OpenTelemetry Applications and OpenTelemetry Spec itself use semver v2.
7
+
This document describes the versioning and stability policy of components shipped from this repository, as per the [OpenTelemetry versioning and stability
unless a major version bump occurs. This applies to the API, SDK, as well as Exporters, Instrumentation etc. shipped from this repo.
14
+
15
+
For example, users can take a dependency on 1.0.0 version of any package, with the assurance that all future releases until 2.0.0 will be backward compatible.
10
16
11
17
## Goals
12
18
@@ -18,16 +24,23 @@ For example, libraries that are instrumented with `opentelemetry-api 1.0.1` will
18
24
19
25
### SDK Stability:
20
26
21
-
Public portions of the SDK (constructors, configuration, end-user interfaces) must remain backwards compatible.
22
-
Internal interfaces are allowed to break.
27
+
Public portions of the SDK (constructors, configuration, end-user interfaces) must remain backwards compatible. Internal interfaces are allowed to break.
28
+
29
+
## Core components
30
+
31
+
Core components refer to the set of components which are required as per the spec. This includes API, SDK, propagators (B3 and Jaeger) and exporters which are required by the specification. These exporters are OTLP, Jaeger and Zipkin.
32
+
33
+
## Mature or stable Signals
23
34
24
-
## Methods
35
+
Modules for mature (i.e. released) signals will be found in the latest versions of the corresponding packages of the core components. The version numbers of these will have no suffix appended, indicating they are stable. For example, the package `opentelemetry-api` v1.x.y will be considered stable.
25
36
26
-
### Mature Signals
27
-
API modules for mature (i.e. released) signals will be included in the `opentelemetry-api` module.
37
+
## Pre-releases
38
+
39
+
Pre-release packages are denoted by appending identifiers such as -Alpha, -Beta, -RC etc. There are no API guarantees in pre-releases. Each release can contain breaking changes and functionality could be removed as well. In general, an RC pre-release is more stable than a Beta release, which is more stable than an Alpha release.
28
40
29
41
### Immature or experimental signals
30
-
API modules for experimental signals will not be included in the `opentelemetry-api` module, and must be installed manually. API modules will remain at version v0.x.y to make it abundantly clear that depending on them is at your own risk. For example, the `opentelemetry-metrics-api` v0.x.y module will provide experimental access to the unfinished metrics API. NO STABILITY GUARANTEES ARE MADE.
42
+
43
+
Modules for experimental signals will be released in a separate versions that will be marked as pre-releases, and must be installed manually. Modules will remain at version v0.x.y to make it abundantly clear that depending on them is at your own risk. For example, the `opentelemetry-api` v0.x.y-b0 module will provide experimental access to the latest features in development, which will include the experimental metrics signals. Notice the `b0` suffix which indicates that the release is still in beta, and therefore deemed to be in pre-release. NO STABILITY GUARANTEES ARE MADE.
31
44
32
45
## Examples
33
46
@@ -37,25 +50,26 @@ Purely for illustration purposes, not intended to represent actual releases:
37
50
38
51
-`opentelemetry-api` 1.0.0
39
52
- Contains APIs for tracing, baggage, propagators, context
40
-
-`opentelemetry-tracing` 1.0.0
41
-
- Contains the tracing SDK
42
53
-`opentelemetry-sdk` 1.0.0
43
54
- Contains SDK components for tracing, baggage, propagators, and context
44
55
45
56
##### Contains the following experimental packages
46
57
47
-
-`opentelemetry-api-metrics` 0.x.y
48
-
- Contains the EXPERIMENTAL API for metrics. There are no stability guarantees.
49
-
-`opentelemetry-metrics` 0.x.y
50
-
- Contains the EXPERIMENTAL SDK for metrics. There are no stability guarantees.
58
+
-`opentelemetry-api` 1.x.y-b0
59
+
- Contains the EXPERIMENTAL API for metrics plus other unstable features. There are no stability guarantees.
60
+
-`opentelemetry-sdk` 1.x.y-b0
61
+
- Contains the EXPERIMENTAL SDK for metrics plus other unstable features. There are no stability guarantees.
51
62
52
63
#### V1.15.0 Release (with metrics)
53
64
54
65
-`opentelemetry-api` 1.15.0
55
66
- Contains APIs for tracing, baggage, propagators, context, and metrics
56
-
-`opentelemetry-tracing` 1.15.0
57
-
- Contains tracing SDK
58
-
-`opentelemetry-metrics` 1.15.0
59
-
- Contains metrics SDK
60
67
-`opentelemetry-sdk` 1.15.0
61
68
- Contains SDK components for tracing, baggage, propagators, context and metrics
69
+
70
+
##### Contains the following experimental packages
71
+
72
+
-`opentelemetry-api` 1.x.y-b0
73
+
- Contains the EXPERIMENTAL API for logging plus other unstable features. There are no stability guarantees.
74
+
-`opentelemetry-sdk` 1.x.y-b0
75
+
- Contains the EXPERIMENTAL SDK for logging plus other unstable features. There are no stability guarantees.
0 commit comments