diff --git a/CHANGELOG.md b/CHANGELOG.md index fea887253e4..fc53daf8b2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ release. New: +- Enforce that the Baggage API must be fully functional, even without an installed SDK. + ([#1103](https://github.com/open-telemetry/opentelemetry-specification/pull/1103)) - Rename "Canonical status code" to "Status code" ([#1081](https://github.com/open-telemetry/opentelemetry-specification/pull/1081)) - Add Metadata for Baggage entries, and clarify W3C Baggage Propagator implementation diff --git a/specification/baggage/api.md b/specification/baggage/api.md index 3788b94d5ae..8bca031f6dd 100644 --- a/specification/baggage/api.md +++ b/specification/baggage/api.md @@ -33,6 +33,10 @@ into the context. The [Get all](#get-all) function could be implemented by retur object as a whole from the function call. If an idiom like this is implemented, the Baggage object/struct MUST be immutable, so that the containing Context also remains immutable. +The Baggage API MUST be fully functional in the absence of an installed SDK. This is required in +order to enable transparent cross-process Baggage propagation. If a Baggage propagator is installed +into the API, it will work with or without an installed SDK. + ### Baggage `Baggage` is used to annotate telemetry, adding context and information to metrics, traces, and logs.