Specificationv1.53.0
since v1.52.02 breaking7 notable13 editorial
From the upstream release notes
- Stabilize part of Enabled SDK for synchronous instruments.
- Add optional Ergonomic API.
- Declarative configuration: clarify default behavior and validation
- Declarative configuration: add optional programmatic customization to
- Declarative configuration: add links between SDK extension plugins and
- Declarative configuration: clarify Registry ComponentProvider type parameter
- Stabilize complex AnyValue attribute value types and related attribute limits.
Breaking2
Requirements added to, removed from, or restrengthened in a document marked Stable.
- rule droppedrequirementlogs/data-model.md#type-mapstring-anyMUST removed: The implementation MUST by default ensure that the exported maps contain only unique keys.
- rule droppedrequirementlogs/data-model.md#type-mapstring-anyMUST removed: If such option is provided, it MUST be documented that for many receivers, handling of maps with duplicate keys is unpredictable and it is the users' responsibility to ensure keys are not duplicate.
Notable7
- removedsectionlogs/data-model.md#definitions-used-in-this-documentSection "Definitions Used in this Document" removed.
- removedsectionlogs/data-model.md#type-anySection "Type
any" removed. - removedsectionlogs/data-model.md#type-mapstring-anySection "Type
map<string, any>" removed. - strengthrequirementconfiguration/sdk.md#createSHOULD strengthened to MUST: If a property is required, and not present, Create MUST return an error.
- new rulerequirementlogs/api.md#ergonomic-apiMAY added: Languages MAY additionally provide a more ergonomic and convenient logging API.
- new rulerequirementlogs/api.md#ergonomic-apiSHOULD added: The ergonomic API SHOULD make it more convenient to emit event records following the event semantics.
- new rulerequirementlogs/api.md#ergonomic-apiSHOULD added: The design of the ergonomic API SHOULD be idiomatic for its language.
Editorial13
- rule droppedrequirementlogs/data-model.md#type-mapstring-anyMAY removed: The implementation MAY have an option to allow exporting maps with duplicate keys (e.g. for better performance).
- new rulerequirementconfiguration/sdk.md#createSHOULD added: Create SHOULD return an error if it encounters a value which is invalid according to the property
description. - new rulerequirementconfiguration/sdk.md#createMAY added: SDK implementations MAY provide options to allow programmatic customization of the components initialized by
Create. - new rulerequirementconfiguration/sdk.md#register-componentproviderSHOULD added: SDKs SHOULD represent
typein a manner that is idiomatic for their language. - new rulerequirementconfiguration/supplementary-guidelines.md#configuration-interface-prioritization-and-createMAY added: According to the trace, metric, and log specs, SDKs MAY support updating the config, but there is no conflict with declarative config which doesn't already exist.
- rewordedrequirementcommon/README.md#attribute-limitsMUST reworded: if it is a byte array, if its length exceeds that limit (counting each byte as 1), SDKs MUST truncate that value, so that its length is at most equal to the limit,
- rewordedrequirementconfiguration/sdk.md#createMUST reworded: If a property is present and the value is null, Create MUST use the
nullBehavior, ordefaultBehaviorifnullBehavioris not set. - rewordedrequirementmetrics/sdk.md#instrument-enabledMUST reworded: The synchronous instrument
EnabledMUST returnfalsewhen either: - movedrequirementmetrics/sdk.md#meterconfigMUST moved here from "instrument-enabled": However, the changes MUST be eventually visible.
- addeddocumentconfiguration/supplementary-guidelines.mdNew document: Supplementary Guidelines (Unspecified).
- addedsectionlogs/api.md#ergonomic-apiNew section "Ergonomic API".
- rewrittensectionconfiguration/sdk.md#create"Create" substantially rewritten (2070 to 4176 characters).
- rewrittensectionlogs/README.md#new-first-party-application-logs"New First-Party Application Logs" substantially rewritten (1142 to 1735 characters).