semconv.com

What changed in OpenTelemetry since you last looked

OpenTelemetry is three separately-versioned repositories, and none of them will tell you what moved since you last looked. This reads all three at every release: which attributes were renamed, which requirements appeared in a stable document, and which fields changed on the wire.

Semantic conventions

v1.44.0

4 Aug 2026

940 attributes, 541 metrics. 97 have been renamed to something else.

Specification

v1.60.0

7 Aug 2026

90 documents carrying 1753 MUST, SHOULD and MAY requirements.

OTLP

v1.11.0

21 Jul 2026

72 wire definitions plus the protocol requirements every OTLP server is bound by.

GenAI conventions

2026-09-03

unreleased · tracked from main

82 attributes for LLM, agent and MCP instrumentation, split out of the conventions in v1.44.0.

Browse by domain

All 14 domains

The conventions ship as one flat registry. These pull a single topic together — its attributes, its metrics, the spans that carry them, and the specification rules that bind them. Or search all four repositories at once.

Release history

Specification v1.60.0

6 breaking8 notable
  • new rulerequirementlogs/sdk.md#emit-a-logrecordMUST added: Enabled: If the Logger is not enabled (i.e. LoggerConfig.enabled is false), the log record MUST be dropped.
  • new rulerequirementresource/sdk.md#createMUST added: When both Entities and Attributes are provided in the create method, the system MUST behave as if a Resource is created with just Attributes and then merges with another Resource created with just Entities.
  • new rulerequirementresource/sdk.md#mergeMUST added: If either resource contains Entities then merge behavior with Entiites MUST be used, otherwise merge behavior without Entities MUST be used.
  • new rulerequirementresource/sdk.md#merge-behavior-with-entitiesMUST added: When either Resource contains entities, the merge operation MUST follow the resource data model's merge algorithm.
  • new rulerequirementresource/sdk.md#merge-behavior-with-entitiesMUST added: The resulting SchemaURL MUST match the behavior defined in the merge algorithm.
  • new rulerequirementresource/sdk.md#retrieve-attributesMUST added: When entities are enabled and present for the Resource, this list MUST include all attributes, including those associated with entities.

All 14 notable changes + 17 editorialUpstream release notes

Semantic conventions v1.44.0

3 breaking21 notable
  • instrumentmetriccontainer.memory.usageInstrument changed from counter to updowncounter.
  • instrumentmetrick8s.node.memory.usageInstrument changed from gauge to updowncounter.
  • instrumentmetrick8s.pod.memory.usageInstrument changed from gauge to updowncounter.
  • removedsignalspan.faas.clientRemoved from the registry (was development).
  • removedsignalspan.faas.datasource.serverRemoved from the registry (was development).
  • removedsignalspan.faas.serverRemoved from the registry (was development).

All 24 notable changes + 92 editorialUpstream release notes

OTLP v1.11.0

14 notable
  • new rulerequirementdocs/specification.md#otlpgrpc-requestMUST added: The server MUST enforce a message size limit when receiving the request, including after decompression, to mitigate possible excessive memory usage caused by a misconfigured or malicious client sending an oversized requ...
  • new rulerequirementdocs/specification.md#otlpgrpc-requestMUST added: If the limit is exceeded, the gRPC server implementations MUST report a RESOURCE_EXHAUSTED code as a non-retryable error.
  • new rulerequirementdocs/specification.md#otlpgrpc-requestMUST NOT added: If the limit is exceeded, the client MUST NOT make the request and SHOULD record the fact that the request was discarded.
  • new rulerequirementdocs/specification.md#otlpgrpc-responseMUST added: The client MUST enforce a message size limit when receiving the response, including after decompression, to mitigate possible excessive memory usage caused by a misconfigured or malicious server. gRPC client implementat...
  • new rulerequirementdocs/specification.md#otlpgrpc-responseMUST added: If the limit is exceeded, the client MUST treat the response as a non-retryable error.
  • new rulerequirementdocs/specification.md#otlpgrpc-responseMUST added: The server MUST limit the size of the response message, including before compression, to avoid overwhelming the client.

All 14 notable changes + 29 editorialUpstream release notes

Specification v1.59.0

2 breaking4 notable
  • rule droppedrequirementcontext/env-carriers.md#process-spawningMUST NOT removed: The language implementations MUST NOT handle spawning processes.
  • new rulerequirementcontext/env-carriers.md#propagator-mechanismsMUST NOT added: Language implementations MUST NOT spawn child processes as part of environment variable context propagation.
  • stabilitydocumentcontext/env-carriers.mdStatus changed from Beta to Release Candidate.
  • stabilitydocumentprofiles/data-format.mdStatus changed from Development to Alpha.
  • new rulerequirementcontext/env-carriers.md#propagator-mechanismsSHOULD added: Language implementations SHOULD document operational guidance, including initialization-time extraction, child process environment handling, and security considerations.
  • new rulerequirementtrace/sdk.md#getsamplingintentSHOULD added: The calling CompositeSampler SHOULD update the threshold of the outgoing TraceState, as described above.

Full diff from v1.58.0 + 41 editorialUpstream release notes

Semantic conventions v1.43.0

1 breaking73 notable
  • unitmetriccicd.worker.countUnit changed from {count} to {worker}.
  • removedsignalentity.vcs.repoRemoved from the registry (was development).
  • stabilityattributecicd.pipeline.action.namePromoted to release_candidate.
  • stabilityattributecicd.pipeline.namePromoted to release_candidate.
  • stabilityattributecicd.pipeline.resultPromoted to release_candidate.
  • stabilitymetriccicd.pipeline.run.activePromoted to release_candidate.

All 74 notable changes + 22 editorialUpstream release notes

Specification v1.58.0

44 notable
  • rule droppedrequirementcompatibility/prometheus_and_openmetrics.md#histograms-1MUST removed: The final bucket metric MUST have an +Inf threshold.
  • stabilitydocumentcompatibility/opencensus.mdStatus changed from Stable to Deprecated.
  • stabilitydocumentprofiles/mappings.mdStatus changed from Development to Alpha.
  • stabilitydocumentprofiles/pprof.mdStatus changed from Development to Alpha.
  • stabilitydocumentprofiles/README.mdStatus changed from Unspecified to Alpha.
  • new rulerequirementcommon/README.md#arraysSHOULD added: Array elements SHOULD be represented as JSON values using the following rules:

All 44 notable changes + 60 editorialUpstream release notes

Semantic conventions v1.42.0

179 notable

All 179 notable changes + 151 editorialUpstream release notes

Specification v1.57.0

5 breaking22 notable
  • new rulerequirementmetrics/api.md#bindMUST added: This API MUST accept the following parameter:
  • new rulerequirementmetrics/api.md#bindMUST added: Therefore, this API MUST be structured to accept a variable number of attributes, including none.
  • new rulerequirementmetrics/api.md#bindMUST added: This API MUST return a language-idiomatic type representing the instrument bound to those attributes.
  • new rulerequirementmetrics/api.md#bindMUST added: The returned bound instrument MUST support the instrument's core recording operation.
  • new rulerequirementmetrics/api.md#bindMUST added: If the existing instrument interface is reused, the Bind API MUST be documented to communicate to users that invoking attribute-bearing recording operations on the returned bound instrument negates the performance ben...
  • rule droppedrequirementcompatibility/prometheus_and_openmetrics.md#gauges-1MUST removed: Otherwise, it MUST be converted to a Prometheus Gauge.

All 27 notable changes + 22 editorialUpstream release notes

Semantic conventions v1.41.0

1 breaking58 notable
  • typeattributedeployment.environment.nameType changed from string to enum.
  • renamedmetrick8s.container.cpu.limitRenamed to k8s.container.cpu.limit.desired.
  • renamedmetrick8s.container.cpu.limit_utilizationRenamed to k8s.container.cpu.limit.utilization.
  • renamedmetrick8s.container.cpu.requestRenamed to k8s.container.cpu.request.desired.
  • renamedmetrick8s.container.cpu.request_utilizationRenamed to k8s.container.cpu.request.utilization.
  • renamedmetrick8s.container.memory.limitRenamed to k8s.container.memory.limit.desired.

All 59 notable changes + 95 editorialUpstream release notes

Specification v1.56.0

9 breaking46 notable
  • new rulerequirementlogs/sdk.md#event-to-span-event-bridgeMUST added: The processor MUST bridge a LogRecord to a span event if and only if all of the following conditions are met:
  • new rulerequirementlogs/sdk.md#event-to-span-event-bridgeMUST added: If any of these conditions is not met, the processor MUST do nothing.
  • new rulerequirementlogs/sdk.md#event-to-span-event-bridgeMUST added: When a LogRecord is bridged, the processor MUST add exactly one span event with the following mapping:
  • new rulerequirementlogs/sdk.md#event-to-span-event-bridgeMUST added: the span event name MUST be the LogRecord's Event Name.
  • new rulerequirementlogs/sdk.md#event-to-span-event-bridgeMUST added: if the LogRecord has a Timestamp set, it MUST be used as the span event timestamp.
  • new rulerequirementlogs/sdk.md#event-to-span-event-bridgeMUST added: Otherwise, if the LogRecord has an ObservedTimestamp set, it MUST be used as the span event timestamp.

All 55 notable changes + 128 editorialUpstream release notes

OTLP v1.10.0

3 notable
  • renumberedfieldopentelemetry.proto.profiles.v1development.Sample.attribute_indicesField number changed from 3 to 2. Every previously encoded message decodes wrongly.
  • renumberedfieldopentelemetry.proto.profiles.v1development.Sample.link_indexField number changed from 4 to 3. Every previously encoded message decodes wrongly.
  • renumberedfieldopentelemetry.proto.profiles.v1development.Sample.valuesField number changed from 2 to 4. Every previously encoded message decodes wrongly.

Full diff from v1.9.0 + 2 editorialUpstream release notes

Specification v1.55.0

9 breaking11 notable
  • new rulerequirementconfiguration/data-model.md#environment-variable-substitutionMUST added: When PREFIX is absent or env, GENERIC-SUBSTITUTION MUST conform to ENV-SUBSTITUTION:
  • new rulerequirementtrace/api.md#concurrency-requirementsMUST added: TracerProvider - all methods MUST be documented that implementations need to be safe for concurrent use by default.
  • new rulerequirementtrace/api.md#concurrency-requirementsMUST added: Tracer - all methods MUST be documented that implementations need to be safe for concurrent use by default.
  • new rulerequirementtrace/api.md#concurrency-requirementsMUST added: Span - all methods MUST be documented that implementations need to be safe for concurrent use by default.
  • new rulerequirementtrace/api.md#concurrency-requirementsMUST added: Event - Events are immutable and MUST be safe for concurrent use by default.
  • new rulerequirementtrace/sdk.md#concurrency-requirementsMUST added: Tracer Provider - Tracer creation, ForceFlush and Shutdown MUST be safe to be called concurrently.

All 20 notable changes + 13 editorialUpstream release notes

Semantic conventions v1.40.0

31 notable
  • renamedattributefeature_flag.evaluation.error.messageRenamed to feature_flag.error.message.
  • renamedmetricsystem.memory.sharedRenamed to system.memory.linux.shared.
  • deprecatedattributeerror.messageUse domain-specific error message attribute. For example, use feature_flag.error.message for feature flag errors.
  • deprecatedsignalevent.rpc.messageDeprecated, no replacement at this time.
  • deprecatedattributemessage.compressed_sizeDeprecated, no replacement at this time.
  • deprecatedattributemessage.idDeprecated, no replacement at this time.

All 31 notable changes + 115 editorialUpstream release notes

Specification v1.54.0

11 breaking34 notable
  • new rulerequirementlogs/api.md#concurrency-requirementsMUST added: LoggerProvider - all methods MUST be documented that implementations need to be safe for concurrent use by default.
  • new rulerequirementlogs/api.md#concurrency-requirementsMUST added: Logger - all methods MUST be documented that implementations need to be safe for concurrent use by default.
  • new rulerequirementlogs/sdk.md#concurrency-requirementsMUST added: LoggerProvider - Logger creation, ForceFlush and Shutdown MUST be safe to be called concurrently.
  • new rulerequirementlogs/sdk.md#concurrency-requirementsMUST added: Logger - all methods MUST be safe to be called concurrently.
  • new rulerequirementlogs/sdk.md#concurrency-requirementsMUST added: LogRecordExporter - ForceFlush and Shutdown MUST be safe to be called concurrently.
  • new rulerequirementlogs/sdk.md#emit-a-logrecordMUST added: Status: Development - If an Exception is provided, the SDK MUST by default set attributes from the exception on the LogRecord with the conventions outlined in the exception semantic conventions.

All 45 notable changes + 45 editorialUpstream release notes

Semantic conventions v1.39.0

31 notable
  • removedsignalspan.rpc.clientRemoved from the registry (was development).
  • removedsignalspan.rpc.connect_rpc.clientRemoved from the registry (was development).
  • removedsignalspan.rpc.connect_rpc.serverRemoved from the registry (was development).
  • removedsignalspan.rpc.grpc.clientRemoved from the registry (was development).
  • removedsignalspan.rpc.grpc.serverRemoved from the registry (was development).
  • removedsignalspan.rpc.jsonrpc.clientRemoved from the registry (was development).

All 31 notable changes + 134 editorialUpstream release notes

Specification v1.53.0

2 breaking7 notable
  • 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.
  • 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.

All 9 notable changes + 13 editorialUpstream release notes

Specification v1.52.0

12 breaking19 notable
  • rule droppedrequirementconfiguration/sdk-environment-variables.md#durationMUST removed: Any value that represents a duration MUST be an integer representing a number of milliseconds.
  • rule droppedrequirementconfiguration/sdk-environment-variables.md#durationMUST removed: The value is non-negative - if a negative value is provided, the implementation MUST generate a warning, gracefully ignore the setting and use the default value if it is defined.
  • rule droppedrequirementconfiguration/sdk-environment-variables.md#enumMUST removed: If a null object (empty, no-op) value is acceptable, then the enum value representing it MUST be "none".
  • rule droppedrequirementconfiguration/sdk-environment-variables.md#timeoutMUST removed: Any value that represents a timeout MUST be an integer representing a number of milliseconds.
  • rule droppedrequirementconfiguration/sdk-environment-variables.md#timeoutMUST removed: The value is non-negative - if a negative value is provided, the implementation MUST generate a warning, gracefully ignore the setting and use the default value if it is defined.
  • new rulerequirementconfiguration/common.md#durationMUST added: Any value that represents a duration MUST be an integer representing a number of milliseconds.

All 31 notable changes + 29 editorialUpstream release notes

Specification v1.51.0

10 breaking5 notable
  • rule droppedrequirementcommon/README.md#attribute-collectionsMUST NOT removed: The keys in each such collection are unique, i.e. there MUST NOT exist more than one key-value pair with the same key.
  • rule droppedrequirementlogs/data-model.md#field-attributesMUST removed: The log attribute model MUST support any type, a superset of standard Attribute, to preserve the semantics of structured attributes emitted by the applications.
  • new rulerequirementcommon/README.md#attributeMUST added: The attribute value MUST be one of types defined in AnyValue.
  • new rulerequirementcommon/README.md#attribute-collectionsMUST added: Implementation MUST by default enforce that the exported attribute collections contain only unique keys.
  • new rulerequirementcommon/README.md#attribute-collectionsMUST added: 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.
  • new rulerequirementcommon/README.md#attribute-limitsMUST added: Status: Development - 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,

All 15 notable changes + 30 editorialUpstream release notes

OTLP v1.9.0

10 notable
  • removedmessageopentelemetry.proto.profiles.v1development.AggregationTemporalityenum removed from opentelemetry/proto/profiles/v1development/profiles.proto.
  • field removedfieldopentelemetry.proto.profiles.v1development.Profile.comment_strindicesField 7 (int32) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.ValueType.aggregation_temporalityField 3 (AggregationTemporality) removed.
  • renumberedfieldopentelemetry.proto.profiles.v1development.Profile.attribute_indicesField number changed from 12 to 11. Every previously encoded message decodes wrongly.
  • renumberedfieldopentelemetry.proto.profiles.v1development.Profile.dropped_attributes_countField number changed from 9 to 8. Every previously encoded message decodes wrongly.
  • renumberedfieldopentelemetry.proto.profiles.v1development.Profile.original_payloadField number changed from 11 to 10. Every previously encoded message decodes wrongly.

All 10 notable changesUpstream release notes

Semantic conventions v1.38.0

48 notable
  • renamedmetrick8s.cronjob.active_jobsRenamed to k8s.cronjob.job.active.
  • renamedmetrick8s.daemonset.current_scheduled_nodesRenamed to k8s.daemonset.node.current_scheduled.
  • renamedmetrick8s.daemonset.desired_scheduled_nodesRenamed to k8s.daemonset.node.desired_scheduled.
  • renamedmetrick8s.daemonset.misscheduled_nodesRenamed to k8s.daemonset.node.misscheduled.
  • renamedmetrick8s.daemonset.ready_nodesRenamed to k8s.daemonset.node.ready.
  • renamedmetrick8s.deployment.available_podsRenamed to k8s.deployment.pod.available.

All 48 notable changes + 208 editorialUpstream release notes

Specification v1.50.0

15 breaking26 notable
  • rule droppedrequirementlogs/sdk.md#loggerconfigMUST removed: The value of disabled MUST be used to resolve whether a Logger is Enabled.
  • new rulerequirementlogs/sdk.md#emit-a-logrecordMUST added: Status: Development Before processing a log record, the implementation MUST apply the filtering rules defined by the LoggerConfig (in case Enabled was not called prior to emitting the record):
  • new rulerequirementlogs/sdk.md#emit-a-logrecordMUST added: Minimum severity: If the log record's SeverityNumber is specified (i.e. not 0) and is less than the configured minimum_severity, the log record MUST be dropped.
  • new rulerequirementlogs/sdk.md#emit-a-logrecordMUST added: Trace-based: If trace_based is true, and if the log record has a SpanId and the TraceFlags SAMPLED flag is unset, the log record MUST be dropped.
  • new rulerequirementlogs/sdk.md#loggerconfigMUST added: If not explicitly set, the minimum_severity parameter MUST default to 0.
  • new rulerequirementlogs/sdk.md#loggerconfigMUST added: If a log record's SeverityNumber is specified (i.e. not 0) and is less than the configured minimum_severity, the log record MUST be dropped by the Logger.

All 41 notable changes + 24 editorialUpstream release notes

Specification v1.49.0

9 notable
  • new rulerequiremententities/entity-propagation.md#character-encodingMUST added: All attribute values MUST be considered strings and characters outside the baggage-octet range MUST be percent-encoded following the W3C Baggage specification.
  • new rulerequiremententities/entity-propagation.md#character-encodingMUST added: The reserved characters {}[]@;,= MUST be percent-encoded when they appear literally in attribute values:
  • new rulerequiremententities/entity-propagation.md#specifying-entity-information-via-an-environment-variableMUST added: The SDK that has access to environment variables MUST provide an EnvEntityDetector which will use the OTEL_ENTITIES environment variable to discover and associate defined entities with the resource.
  • new rulerequiremententities/entity-propagation.md#validation-requirementsMUST NOT added: Entity type MUST NOT be empty and MUST match the pattern [a-zA-Z][a-zA-Z0-9.-]
  • new rulerequiremententities/entity-propagation.md#validation-requirementsMUST added: At least one identifying attribute MUST be present in the {...} block
  • new rulerequiremententities/entity-propagation.md#validation-requirementsMUST NOT added: Attribute keys MUST NOT be empty and SHOULD follow OpenTelemetry semantic conventions

All 9 notable changes + 14 editorialUpstream release notes

OTLP v1.8.0

33 notable
  • removedmessageopentelemetry.proto.profiles.v1development.AttributeUnitmessage removed from opentelemetry/proto/profiles/v1development/profiles.proto.
  • field removedfieldopentelemetry.proto.profiles.v1development.Location.is_foldedField 4 (bool) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.Mapping.has_filenamesField 7 (bool) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.Mapping.has_functionsField 6 (bool) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.Mapping.has_inline_framesField 9 (bool) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.Mapping.has_line_numbersField 8 (bool) removed.

All 33 notable changes + 2 editorialUpstream release notes

Semantic conventions v1.37.0

17 notable
  • removedsignalspan.gen_ai.azure.ai.inference.clientRemoved from the registry (was development).
  • removedsignalspan.gen_ai.openai.inference.clientRemoved from the registry (was development).
  • removedmetricsystem.network.droppedRemoved from the registry (was development).
  • removedmetricsystem.network.packetsRemoved from the registry (was development).
  • renamedattributeandroid.stateRenamed to android.app.state.
  • renamedattributecontainer.runtimeRenamed to container.runtime.name.

All 17 notable changes + 285 editorialUpstream release notes

Specification v1.48.0

21 notable
  • rule droppedrequirementsdk_exporters/prometheus.md#configurationMUST removed: The option MAY be named without_units, and MUST be false by default.
  • rule droppedrequirementsdk_exporters/prometheus.md#configurationMUST removed: The option MAY be named withouttypesuffix, and MUST be false by default.
  • strengthrequirementcompatibility/prometheus_and_openmetrics.md#metric-attributesMUST relaxed to SHOULD: Discouraged characters SHOULD be replace with the `` character.
  • strengthrequirementcompatibility/prometheus_and_openmetrics.md#metric-attributesMUST relaxed to SHOULD: Multiple consecutive ` characters SHOULD be replaced with a single ` character.
  • strengthrequirementcompatibility/prometheus_and_openmetrics.md#metric-metadata-1MUST relaxed to SHOULD: Discouraged characters in the metric name SHOULD be replaced with the `` character by default, aiming for compatibility with Prometheus conventions.
  • strengthrequirementcompatibility/prometheus_and_openmetrics.md#metric-metadata-1MUST relaxed to SHOULD: Multiple consecutive ` characters SHOULD be replaced with a single _` character.

All 21 notable changes + 14 editorialUpstream release notes

Specification v1.47.0

4 breaking16 notable
  • new rulerequirementtrace/sdk.md#enabledMUST added: Enabled MUST return false when either:
  • new rulerequirementtrace/sdk.md#getsamplingintentMUST NOT added: Note: ComposableSamplers MUST NOT modify the parameters passed to delegate GetSamplingIntent methods, as they are considered read-only state.
  • new rulerequirementtrace/sdk.md#getsamplingintentMUST NOT added: ComposableSamplers MUST NOT modify the OpenTelemetry TraceState (i.e., the ot sub-key of TraceState).
  • new rulerequirementtrace/sdk.md#getsamplingintentMUST added: The calling CompositeSampler SHOULD update the threshold of the outgoing TraceState (unless !threshold_reliable) and that the explicit randomness values MUST not be modified.
  • rule droppedrequirementtrace/tracestate-probability-sampling.md#consistent-sampling-decision-approachMUST removed: If the current sampling stage applies a greater threshold value than any stage before, it MUST update (increase) the threshold correspondingly by re-encoding the OpenTelemetry TraceState value.
  • rule droppedrequirementtrace/tracestate-probability-sampling.md#downstream-samplersMUST NOT removed: If the chosen sampling probability is 1, the sampler MUST NOT modify an existing th sub-key value, nor set a th sub-key value.

All 20 notable changes + 50 editorialUpstream release notes

Semantic conventions v1.35.0

23 notable
  • removedsignalspan.gen_ai.az.ai.inference.clientRemoved from the registry (was development).
  • renamedattributeaz.namespaceRenamed to azure.resource_provider.namespace.
  • renamedattributeaz.service_request_idRenamed to azure.service.request.id.
  • renamedmetriccpu.frequencyRenamed to system.cpu.frequency.
  • renamedmetriccpu.timeRenamed to system.cpu.time.
  • renamedmetriccpu.utilizationRenamed to system.cpu.utilization.

All 23 notable changes + 130 editorialUpstream release notes

Specification v1.46.0

12 notable
  • rule droppedrequirementcompatibility/prometheus_and_openmetrics.md#instrumentation-scopeMUST removed: Labels on otelscopeinfo metric points other than otelscopename and otelscopeversion, MUST be added as scope attributes to the scope with the matching name and version.
  • rule droppedrequirementcompatibility/prometheus_and_openmetrics.md#instrumentation-scope-1MUST removed: Scope attributes MUST also be added as labels following the rules described in the Metric Attributes section below.
  • rule droppedrequirementcompatibility/prometheus_and_openmetrics.md#instrumentation-scope-1MUST removed: Prometheus exporters MUST add the scope name as the otelscopename label and the scope version as the otelscopeversion label on all metric points by default, based on the scope the original data point was nested in.
  • strengthrequirementcompatibility/prometheus_and_openmetrics.md#instrumentation-scopeSHOULD strengthened to MUST: Labels with otelscope prefix MUST be dropped from all metric points and used as the Instrumentation Scope name (otelscopename), version (otelscopeversion), schema URL (otelscopeschemaurl), at...
  • new rulerequirementcommon/instrumentation-scope.md#instrumentation-scopeSHOULD added: This tuple SHOULD uniquely identify the logical unit of software that emits the telemetry.
  • new rulerequirementcommon/instrumentation-scope.md#instrumentation-scopeSHOULD added: The instrumentation scope's name SHOULD be specified to identify the InstrumentationScope name.

All 12 notable changes + 17 editorialUpstream release notes

OTLP v1.7.0

7 notable
  • field removedfieldopentelemetry.proto.profiles.v1development.ProfilesData.attribute_tableField 7 (opentelemetry.proto.common.v1.KeyValue) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.ProfilesData.attribute_unitsField 8 (AttributeUnit) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.ProfilesData.function_tableField 4 (Function) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.ProfilesData.link_tableField 5 (Link) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.ProfilesData.location_tableField 3 (Location) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.ProfilesData.string_tableField 6 (string) removed.

All 7 notable changes + 2 editorialUpstream release notes

Semantic conventions v1.34.0

1 breaking126 notable

All 127 notable changes + 90 editorialUpstream release notes

Specification v1.45.0

7 notable
  • new rulerequirementlogs/sdk.md#emit-a-logrecordSHOULD added: If Observed Timestamp is unspecified, the implementation SHOULD set it equal to the current time.
  • new rulerequirementresource/sdk.md#resource-detector-nameSHOULD added: Resource detectors SHOULD have a unique name for reference in configuration.
  • new rulerequirementresource/sdk.md#resource-detector-nameSHOULD added: Names SHOULD be snake case and consist of lowercase alphanumeric and _ characters, which ensures they conform to declarative configuration property name requirements.
  • new rulerequirementresource/sdk.md#resource-detector-nameSHOULD added: Resource detector names SHOULD reflect the root namespace of attributes they populate.
  • new rulerequirementresource/sdk.md#resource-detector-nameSHOULD added: Resource detectors which populate attributes from multiple root namespaces SHOULD choose a name which appropriately conveys their purpose.
  • new rulerequirementresource/sdk.md#resource-detector-nameSHOULD added: An SDK which identifies multiple resource detectors with the same name SHOULD report an error.

All 7 notable changes + 7 editorialUpstream release notes

Semantic conventions v1.33.0

2 breaking33 notable
  • stabilityattributedb.operation.parameterStability lowered to development.
  • stabilityattributedb.systemStability lowered to development.
  • removedsignalspan.db.mssql.clientRemoved from the registry (was development).
  • removedsignalspan.gen_ai.clientRemoved from the registry (was development).
  • removedsignalspan.gen_ai.openai.clientRemoved from the registry (was development).
  • deprecatedattributefeature_flag.evaluation.error.messageReplaced by error.message.

All 35 notable changes + 139 editorialUpstream release notes

OTLP v1.6.0

19 notable
  • field removedfieldopentelemetry.proto.profiles.v1development.Profile.attribute_tableField 7 (opentelemetry.proto.common.v1.KeyValue) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.Profile.attribute_unitsField 8 (AttributeUnit) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.Profile.default_sample_type_strindexField 16 (int32) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.Profile.function_tableField 6 (Function) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.Profile.location_tableField 4 (Location) removed.
  • field removedfieldopentelemetry.proto.profiles.v1development.Profile.mapping_tableField 3 (Mapping) removed.

All 19 notable changes + 15 editorialUpstream release notes

Specification v1.44.0

4 breaking31 notable
  • rule droppedrequirementtrace/sdk.md#requirements-for-traceidratiobased-sampler-algorithmMUST removed: The sampling algorithm MUST be deterministic.
  • rule droppedrequirementtrace/sdk.md#requirements-for-traceidratiobased-sampler-algorithmMUST removed: A trace identified by a given TraceId is sampled or not independent of language, time, etc. To achieve this, implementations MUST use a deterministic hash of the TraceId when computing the sampling decision.
  • rule droppedrequirementtrace/sdk.md#requirements-for-traceidratiobased-sampler-algorithmMUST removed: A TraceIdRatioBased sampler with a given sampling rate MUST also sample all traces that any TraceIdRatioBased sampler with a lower sampling rate would sample.
  • new rulerequirementlogs/sdk.md#enabled-1MUST NOT added: Any modifications to parameters inside Enabled MUST NOT be propagated to the caller.
  • removeddocumentspecification/project-management.mdDocument removed (was Unspecified).
  • removedsectiontrace/sdk.md#do-not-overwrite-explicit-trace-randomnessSection "Do not overwrite explicit trace randomness" removed.

All 35 notable changes + 75 editorialUpstream release notes

Specification v1.43.0

3 notable
  • new rulerequirementsdk_exporters/stdout.md#logs-exporter---standard-outputSHOULD added: Documentation SHOULD warn users about this.
  • new rulerequirementsdk_exporters/stdout.md#metrics-exporter---standard-outputSHOULD added: Documentation SHOULD warn users about this.
  • new rulerequirementsdk_exporters/stdout.md#span-exporter---standard-outputSHOULD added: Documentation SHOULD warn users about this.

Full diff from v1.42.0 + 9 editorialUpstream release notes

Semantic conventions v1.31.0

24 notable
  • removedsignalspan.aws.lambdaRemoved from the registry (was experimental).
  • removedsignalspan.faasRemoved from the registry (was experimental).
  • removedsignalspan.faas.datasourceRemoved from the registry (was experimental).
  • removedsignalspan.faas.timerRemoved from the registry (was experimental).
  • removedsignalspan.messagingRemoved from the registry (was experimental).
  • removedsignalspan.rpc.connect_rpcRemoved from the registry (was experimental).

All 24 notable changes + 860 editorialUpstream release notes

OTLP v1.5.0

2 notable
  • removedmessageopentelemetry.proto.profiles.v1development.Labelmessage removed from opentelemetry/proto/profiles/v1development/profiles.proto.
  • field removedfieldopentelemetry.proto.profiles.v1development.Profile.attributesField 18 (opentelemetry.proto.common.v1.KeyValue) removed.

Full diff from v1.4.0 + 2 editorialUpstream release notes

History starts at semantic conventions v1.30.0, specification v1.42.0, otlp v1.4.0. Going further back would mean diffing across schema and layout changes that would report churn the projects never made. The GenAI conventions have never cut a release, so they are tracked from their default branch and dated rather than versioned.