diff --git a/specification/versioning-and-stability.md b/specification/versioning-and-stability.md index 07a545afb5c..e1c3ebcbb84 100644 --- a/specification/versioning-and-stability.md +++ b/specification/versioning-and-stability.md @@ -126,13 +126,10 @@ maintainers SHOULD choose the idiomatic way for their language. #### SDK Stability -Public portions of SDK packages MUST remain backwards compatible. There are two categories of public features: **plugin interfaces** and **constructors**. Examples of plugins include the SpanProcessor, Exporter, and Sampler interfaces. Examples of constructors include configuration objects, environment variables, and SDK builders. -Languages which ship binary artifacts SHOULD offer [ABI compatibility](glossary.md#abi-compatibility) for SDK packages. - #### Contrib Stability Plugins, instrumentation, and other contrib packages SHOULD be kept up to date @@ -144,10 +141,6 @@ in [Telemetry Stability](telemetry-stability.md).) The goal is to ensure users c update to the latest version of OpenTelemetry, and not be held back by the plugins that they depend on. -Public portions of contrib packages (constructors, configuration, interfaces) SHOULD remain backwards compatible. - -Languages which ship binary artifacts SHOULD offer [ABI compatibility](glossary.md#abi-compatibility) for contrib packages. - **Exception:** Contrib packages MAY break stability when a required downstream dependency breaks stability. For example, a database integration may break stability if the required database client breaks stability. However, it is strongly RECOMMENDED that older contrib packages remain stable. @@ -310,7 +303,7 @@ We invented a new tracing API, but continue to support the old one. ## Version numbers -OpenTelemetry clients follow [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html), with the following clarifications. +OpenTelemetry clients MUST follow [Semantic Versioning 2.0.0](https://semver.org/spec/v2.0.0.html), with the following clarifications. OpenTelemetry clients have four components: API, SDK, Semantic Conventions, and Contrib.