Opentelemetry-semantic-conventions

Latest version: v0.52b1

Safety actively analyzes 722460 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 6

1.31.0

🛑 Breaking changes 🛑

- `code`: `code.function.name` value should contain the fully qualified function name, `code.namespace` is now deprecated ([1677](https://github.com/open-telemetry/semantic-conventions/issues/1677))
- `gen-ai`: Introduce `gen_ai.output.type`and deprecate `gen_ai.openai.request.response_format` ([1757](https://github.com/open-telemetry/semantic-conventions/issues/1757))
- `mobile`: Rework `device.app.lifecycle` mobile event. ([1880](https://github.com/open-telemetry/semantic-conventions/issues/1880))
The `device.app.lifecycle` event has been reworked to use attributes instead
of event body fields. The `ios.app.state` and `android.app.state` attributes
have been reintroduced to the attribute registry.

- `system`: Move CPU-related system.cpu.* metrics to CPU namespace ([1873](https://github.com/open-telemetry/semantic-conventions/issues/1873))
- `k8s`: Change k8s.replication_controller metrics to k8s.replicationcontroller ([1848](https://github.com/open-telemetry/semantic-conventions/issues/1848))
- `db`: Rename `db.system` to `db.system.name` in database metrics, and update the values to be consistent with database spans. ([1581](https://github.com/open-telemetry/semantic-conventions/issues/1581))
- `session`: Move `session.id` and `session.previous_id` from body fields to event attributes, and yamlize `session.start` and `session.end` events. ([1845](https://github.com/open-telemetry/semantic-conventions/issues/1845))
As part of the ongoing migration of event fields from LogRecord body to extended/complex attributes, the `session.start` and `session.end` events have been redefined.

💡 Enhancements 💡

- `code`: Mark `code.*` semantic conventions as release candidate ([1377](https://github.com/open-telemetry/semantic-conventions/issues/1377))
- `gen-ai`: Added AI Agent Semantic Convention ([1732](https://github.com/open-telemetry/semantic-conventions/issues/1732), [#1739](https://github.com/open-telemetry/semantic-conventions/issues/1739))
- `db`: Add database-specific notes on db.operation.name and db.collection.name for Cassandra, Cosmos DB, HBase, MongoDB, and Redis, covering their batch/bulk terms and lack of cross-table queries. ([1863](https://github.com/open-telemetry/semantic-conventions/issues/1863), [#1573](https://github.com/open-telemetry/semantic-conventions/issues/1573))
- `gen-ai`: Adds `gen_ai.request.choice.count` span attribute ([1888](https://github.com/open-telemetry/semantic-conventions/issues/1888))
Enables recording target number of completions to generate
- `enduser`: Undeprecate 'enduser.id' and introduce new attribute `enduser.pseudo.id` ([1104](https://github.com/open-telemetry/semantic-conventions/issues/1104))
The new attribute `enduser.pseudo.id` is intended to provide a unique identifier of a pseudonymous enduser.

- `k8s`: Add `k8s.hpa`, `k8s.resourcequota` and `k8s.replicationcontroller` attributes and resources ([1656](https://github.com/open-telemetry/semantic-conventions/issues/1656))
- `k8s`: How to populate resource attributes based on attributes, labels and transformation ([236](https://github.com/open-telemetry/semantic-conventions/issues/236))
- `process`: Adjust the semantic expectations for `process.executable.name` ([1736](https://github.com/open-telemetry/semantic-conventions/issues/1736))
- `otel`: Adds SDK self-monitoring metrics for span processing ([1631](https://github.com/open-telemetry/semantic-conventions/issues/1631))
- `cicd`: Adds a new attribute `cicd.pipeline.run.url.full` and corrects the attribute description of `cicd.pipeline.task.run.url.full` ([1796](https://github.com/open-telemetry/semantic-conventions/issues/1796))
- `user-agent`: Add `user_agent.os.name` and `user_agent.os.version` attributes ([1433](https://github.com/open-telemetry/semantic-conventions/issues/1433))

🧰 Bug fixes 🧰

- `process`: Fix units of process.open_file_descriptor.count and process.context_switches ([1662](https://github.com/open-telemetry/semantic-conventions/issues/1662))

1.30.0

🛑 Breaking changes 🛑

- `event`: Deprecate `event.name` attribute in favor of the top level event name property on the log record ([1646](https://github.com/open-telemetry/semantic-conventions/issues/1646))
- `gen_ai`: Rename `gen_ai.openai.request.seed` to `gen_ai.request.seed` and use it on general GenAI conventions. ([1715](https://github.com/open-telemetry/semantic-conventions/issues/1715))
- `db`: Rename `db.system` to `db.system.name` and clean up its values.
Rename `db.elasticsearch.*`, `db.cassandra.*`, `db.cosmosdb.*` attributes to `elasticsearch.*`, `cassandra.*`, and `azure.cosmosdb.*` respectively.
Rename `db.client.cosmosdb.*` metrics to `azure.cosmosdb.client.*`.
([1581](https://github.com/open-telemetry/semantic-conventions/issues/1581), [#608](https://github.com/open-telemetry/semantic-conventions/issues/608))
- `code`: rename `code.function`, `code.lineno`, `code.column` and `code.filepath` ([1377](https://github.com/open-telemetry/semantic-conventions/issues/1377), [#1599](https://github.com/open-telemetry/semantic-conventions/issues/1599))
`code.function` renamed to `code.function.name`
`code.lineno` renamed to `code.line.number`
`code.column` renamed to `code.column.number`
`code.filepath` renamed to `code.file.path`

- `system`: Replace `system.network.state` with `network.connection.state` ([308](https://github.com/open-telemetry/semantic-conventions/issues/308))
- `messaging`: RabbitMQ: Specify how to populate `messaging.destination.name` ([1529](https://github.com/open-telemetry/semantic-conventions/issues/1529))

🚀 New components 🚀

- `security-rule`: Introducing a new security rule namespace ([903](https://github.com/open-telemetry/semantic-conventions/issues/903))

💡 Enhancements 💡

- `cloud`: Add Oracle Cloud Infrastructure to Semantic Conventions ([1658](https://github.com/open-telemetry/semantic-conventions/issues/1658))
- `gen_ai`: Yamlify gen_ai events and clean up examples. ([1469](https://github.com/open-telemetry/semantic-conventions/issues/1469))
- `cicd`: Add CICD metrics ([1600](https://github.com/open-telemetry/semantic-conventions/issues/1600))
Makes the following changes:

- Add metrics `cicd.pipeline.run.duration`, `cicd.pipeline.run.active`, `cicd.worker.count`,
`cicd.pipeline.run.errors` and `cicd.system.errors`.
- The CICD attributes `cicd.pipeline.run.state`, `cicd.pipeline.result`, `cicd.system.component`, `cicd.worker.state` have been added to the registry.

- `gen-ai`: Adds OpenAI API compatible `gen_ai.system` attribute values: `az.ai.openai`, `deepseek`, `gemini`, `groq`,
`perplexity` and `xai`. Elaborates that `openai` can be ambiguous due to API emulation.
([1655](https://github.com/open-telemetry/semantic-conventions/issues/1655))
- `docs`: Update attribute, events, and metrics naming guidance to include new best practices. ([1694](https://github.com/open-telemetry/semantic-conventions/issues/1694))
- Use namespaces (with `.` delimiter) whenever possible.
- Use precise, descriptive, unambiguous names that leave room for expansion.

- `docs, db`: Add common guidance for recording errors on spans and metrics, clarify DB conventions. ([1516](https://github.com/open-telemetry/semantic-conventions/issues/1516), [#1536](https://github.com/open-telemetry/semantic-conventions/issues/1536), [#1716](https://github.com/open-telemetry/semantic-conventions/issues/1716))
- `gen-ai`: Adds `mistral_ai` as a `gen_ai.system` attribute value. ([1719](https://github.com/open-telemetry/semantic-conventions/issues/1719))
- `process`: Update `process.runtime` example for the Python language. ([1772](https://github.com/open-telemetry/semantic-conventions/issues/1772))
- `db`: Add metrics section to each of the database system-specific conventions. ([1447](https://github.com/open-telemetry/semantic-conventions/issues/1447), [#1779](https://github.com/open-telemetry/semantic-conventions/issues/1779))
- `k8s`: Add metrics for k8s deployment, replicaset, replication_controller, statefulset and hpa. ([1636](https://github.com/open-telemetry/semantic-conventions/issues/1636), [#1637](https://github.com/open-telemetry/semantic-conventions/issues/1637), [#1644](https://github.com/open-telemetry/semantic-conventions/issues/1644))
This addition focused on providing consistency between these metrics, while
also ensuring alignment with recommendations from Kubernetes.
More details in [1637](https://github.com/open-telemetry/semantic-conventions/issues/1637)

- `k8s`: Add k8s deamonset related metrics ([1649](https://github.com/open-telemetry/semantic-conventions/issues/1649))
- `k8s`: Add k8s metrics for job and cronjob ([1660](https://github.com/open-telemetry/semantic-conventions/issues/1660))
- `k8s`: Add k8s.namespace.phase metric along with the respective attribute ([1668](https://github.com/open-telemetry/semantic-conventions/issues/1668))
- `aws`: Add extended request ID to general AWS attributes as `aws.extended_request_id` ([1670](https://github.com/open-telemetry/semantic-conventions/issues/1670))
- `messaging`: Further clarify `{destination}` value on span names ([1635](https://github.com/open-telemetry/semantic-conventions/issues/1635))
- `gen_ai`: Introduce gen_ai.request.seed and deprecated gen_ai.openai.request.seed ([1710](https://github.com/open-telemetry/semantic-conventions/issues/1710))
- `system`: Adds note about how `system.cpu.physical.count` and `system.cpu.logical.count` are calculated ([1780](https://github.com/open-telemetry/semantic-conventions/issues/1780))
- `k8s`: Add migration guide for K8s semantic conventions ([1597](https://github.com/open-telemetry/semantic-conventions/issues/1597))
- `profile`: Extend the list of known frame types with a value for Erlang ([1735](https://github.com/open-telemetry/semantic-conventions/issues/1735))
- `dotnet`: Mark .NET runtime metrics as stable ([1602](https://github.com/open-telemetry/semantic-conventions/issues/1602))
- `vcs`: Adds `vcs.repository.name` attribute to registry and update
`vcs.repository.url.full` description for consistent representation. Updates
the VCS metrics to include `vcs.repository.name` as a recommended attribute.
([1254](https://github.com/open-telemetry/semantic-conventions/issues/1254), [#1453](https://github.com/open-telemetry/semantic-conventions/issues/1453))
- `vcs`: Add `vcs.change.time_to_merge` metric. ([1685](https://github.com/open-telemetry/semantic-conventions/issues/1685))

1.29.0

🛑 Breaking changes 🛑

- `vcs`: Add the VCS metrics inspired by the GitHub Receiver (1372)
Makes the following changes:

- Add metrics `vcs.change.count`, `vcs.change.duration`, `vcs.change.time_to_approval`, `vcs.repository.count`, `vcs.ref.count`,
`vcs.ref.lines_delta`, `vcs.ref.revisions_delta`, `vcs.ref.time`, `vcs.contributor.count`
- The VCS attributes `vcs.change.state`, `vcs.revision_delta.direction` and `vcs.line_change.type` have been added to the registry.
- The VCS ref attributes have been duplicated to `vcs.ref.base.*` to allow for ref comparisons.
- The VCS attribute `vcs.ref.type` has been added for simplicity when neither a full head or base ref is necessary.
- `vcs.repository.change.*` attributes have been deprecated and moved to `vcs.change.*`.
- `vcs.repository.ref.*` attributes have been deprecated and moved to `vcs.ref.head.*`.

- `feature_flag`: Rename `feature_flag` event to `feature_flag.evaluation` event, define new feature flag attributes and provide body definition. Remove `feature_flag` span event definition in favor of log-based event.
(1440)
- `db`: Generalize `db.query.parameter.<key>` to `db.operation.parameter.<key>` (1559)
- `db`: Remove redis database index from the redis span name. (1449)
- `db`: Don't capture `db.operation.name` and `db.collection.name` from query formats that support multiples. (1566)
- `system`: Introduce `network.interface.name` and use that instead of `system.device` for system and container network metrics (1492)
- `system`: Add system.device attribute to system paging metrics (1408)
- `process`: Change process.uptime instrument to a gauge. (1518)
- `process.executable.build_id`: Rename process.executable.build_id.profiling to process.executable.build_id.htlhash. (1520)
With [4197](https://github.com/open-telemetry/opentelemetry-specification/pull/4197) it was decided to rename the attribute profiling in process.executable.build_id to htlhash.
- `graphql`: Update the GraphQL Span name convention (1361)

🚀 New components 🚀

- `cli`: Define span describing CLI application execution (1577)
- `geo`: Add geo fields to attribute registry. (1033)

💡 Enhancements 💡

- `gen_ai`: Add system-specific conventions for Azure AI Inference. (1393)
- `http`: Define how to handle experimental attributes in stable groups, add policies and move experimental HTTP attributes into stable HTTP groups (as opt_in). (906, 1472)
- `db, gen-ai, faas`: Relax wording for span kind - use SHOULD instead of MUST for logical operations. (1315, 1506)
- `kestrel`: Add .NET 9 error reasons to Kestrel connection metric. (1582)
- `db`: Specify how to set span status for database operations. (1536, 1560)
- `gen-ai`: Add 2 well-known gen-ai systems as reference values of the gen-ai system attribute including AWS Bedrock and IBM Watsonx AI (1574)
- `http`: Relax `server.port` requirement level on HTTP server spans (1387)
- `gen-ai`: Add conventions for GenAI Embeddings operations (1174, 1603)
- `feature_flag`: Rename `feature_flag.system` back to `feature_flag.provider_name` (1614)
- `user_agent`: Add the `user_agent.synthetic.type` attribute to specify the category of synthetic traffic, such as tests or bots. (1127)
- `system`: Add system uptime metric (648)
- `gen-ai`: Add `gen_ai.openai.response.system_fingerprint` attribute (1355)
- `k8s`: Add k8s.{node,pod}.network.{io,errors} metrics (1427)
- `k8s`: Add uptime metrics for container, K8s Pod and K8s Node (1486)
- `linux`: Add linux.process.cgroup attribute (1357)
- `docs`: Improve separation between attribute table footnotes and enum values (1569)
- `messaging`: Specify which span kind to use for messaging settle operations (1478)
- `db`: Added `db.cosmosdb.regions_contacted` attribute to Cosmos DB metrics and traces. (1525)
- `db`: Added new common `db.client.response.returned_rows` database metric and several operation level metrics for Azure Cosmos DB. (1438)

🧰 Bug fixes 🧰

- `service`: Merge `resource` experimental and stable groups for service and telemetry.sdk (1423)
Discovered when fixing [weaver306](https://github.com/open-telemetry/weaver/issues/306#issue-2458430277)

- `db`: Fix telemetry for complex queries:

- introduce the `db.query.summary` attribute to provide a concise, low-cardinality
representation of the query text.
- use `db.query.summary` as the span name and as a recommended attribute on metrics.
- avoid capturing `db.operation.name` and `db.collection.name` when the query
involves multiple operations or collections, to prevent ambiguity.
(521, 805, 1159)
- `url`: Specific URL query string values should now be redacted by default due to concerns around leaking credentials. (971)
- `messaging`: Fix typo in schemas for messaging attribute changes (1595)

1.28.0

🛑 Breaking changes 🛑

- `database`: Add new `db.response.status_code` attribute, deprecate `db.cosmos.status_code`. (1424)
- `gen_ai`: Deprecate `gen_ai.prompt` and `gen_ai.completion` attributes, introduce log-based events for GenAI inputs and outputs. (834, 980)
- `system`: Make `system.cpu.utilization` and `process.cpu.utilization` opt-in (1130)
- `messaging`: Mark `*.size` messaging attributes as opt-in (474)

🚩 Deprecations 🚩

- `event`: Remove support for the event `fields` supporting referencing / inheriting fields from global attributes. (1341)

🚀 New components 🚀

- `cloudfoundry`: Adds a resource convention for Cloud Foundry applications and system components. (622, 624)
Introduces a description for CloudFoundry resources. These can either be
applications deployed on the runtime or system components of Cloud Foundry
itself. It also extends to the runtime logs and metrics, e.g. Gorouter access
logs and container metrics.

- `dotnet`: Adds experimental metrics for the .NET Common Language Runtime (CLR). (956)
- `profile`: Introduce semantic convention for OTel Profiles. (1188)

💡 Enhancements 💡

- `db`: Mark database semantic conventions as release candidate (1101)
- `messaging`: Define span kind for unspecified cases of messaging `publish` and `process` spans. (1112)
- `db`: Change description of `db.client.connection.pending_requests` from cumulative to current value (1290)
- `docs`: Add note on tooling limitations for attribute names and enforce name format. (1124)
- `az, db`: Define `db.operation.name` values for Cosmos DB, declare `az.namespace` attribute and add proper reference to it. (1330)
- `db`: Recommend to capture `db.namespace` from initial connection over not capturing any, also specify `db.namespace` value for PostgreSQL, MySQL and MariaDB (1437)
- `messaging`: Add recommendation to report "Create" spans for batch send calls only and to allow to disable "Create" spans.
(1273)
- `other`: Update resource to include stability in the YAML file (1399)
Makes the following changes:

- Require `name` on resource groups.
- Enforce backwards compatibility stability requirements on resource groups.
- Rename `telemetry` to `telemetry.sdk`, attributes are unchanged.
- Mark `telemetry.sdk` and `resource` as stable in YAML model.
- Markdown templates for resource groups NOW includes header describing
the resource `type`, `stability` and `description`.

- `process`: Add additional process fields from ECS (993)
- `container`: Add `container.cpu.usage` metric (1128)
- `container`: Add CSI (Container Storage Interface) attributes: `container.csi.plugin.name` and `container.csi.volume.id`. (1119)
- `system`: Add the `system.filesystem.limit` metric (127)
- `k8s`: Add `k8s.pod.cpu.time`, `k8s.pod.cpu.usage`, `k8s.node.cpu.time`, `k8s.node.cpu.usage` metrics (1320)
- `k8s`: Add k8s.pod.memory usage and k8s.node.memory.usage metrics (1406)
- `k8s`: Adds `k8s.volume.name` and `k8s.volume.type` attributes to the registry (1164)
- `os`: add lookup for `os.build_id` (1318)
- `gen_ai`: Add system specific conventions for OpenAI. (1370)
- `system`: Add the `system.disk.limit` metric (127)
- `file`: Add additional attributes from ECS to the `file` namespace. (914)
- `messaging`: Clarify the possibility to have a parent-child trace structure in messaging conventions (1282)
- `nodejs`: Adding `nodejs.eventloop.time` metric to Node.js runtime metrics. (1259)
- `process`: Extend process.executable with build_id attributes. (1329)
For correct symbolization it is important to uniquely identify executables.
- `messaging`: Change messaging.operation.type = publish to messaging.operation.type = send (1285)
- `host`: update lookup for os.build_id (1396)

🧰 Bug fixes 🧰

- `messaging`: Fix deprecated note for service bus attributes (1418)
- `container`: Fixes broken link (1332)

1.27.0

🛑 Breaking changes 🛑

- `messaging`: Support generic operations in messaging and rename metrics:

- Make `messaging.operation.name` required and `messaging.operation.type` conditionally required when type is applicable.
- Rename `messaging.publish.messages` metric to `messaging.client.published.messages`
- Unify `messaging.publish.duration` and `messaging.receive.duration` metrics into `messaging.client.operation.duration`
- Unify `messaging.receive.messages` and `messaging.process.messages` metrics into `messaging.client.consumed.messages`
(1006, 947, 937)

- `db`: Clean up `db.system` enum members:

- remove `firstsql`, `mssqlcompact`, and `cloudscape` as the corresponding databases are discontinued.
- rename `cache` to `intersystems_cache`
- remove `coldfusion` as it is not a database.
(1110)

- `db`: Rename `db.client.connections.*` attributes to `db.client.connection.*` (1125)
- `messaging`: Rename `messaging.kafka.message.offset` to `messaging.kafka.offset` (1156)
- `db`: Sampling relevant attributes defined for database client spans (1019)
- `tls`: Deprecate `tls.client.server_name attribute` in favor of common `server.address`.
(1211, 1216)
- `messaging`: Deprecate `messaging.destination_publish.*`` namespace and remove all usages. (1178, 1241)
- `messaging`: Introduce common attributes for consumer group and subscription name instead of per-system ones: - `messaging.consumer.group.name` instead of `messaging.kafka.consumer.group`, `messaging.rocketmq.client_group`, and `messaging.eventhubs.consumer.group`. - `messaging.destination.subscription.name` instead of `messaging.servicebus.destination.subscription_name`. Use it in the Google Pub/Sub conventions.
(815)
- `db`: Align Elasticsearch span name to the general database span name guidelines. Deprecates `db.elasticsearch.cluster.name` in favor of `db.namespace`.
(1002)
- `cicd, deployment, artifact, test, vcs`: Adds CICD common attributes to the registry. (915, 832, 833)
- CICD common attributes have been added to the registry.
- `deployment.environment` has been deprecated and moved to `deployment.environment.name`.

- `jvm`: Rename JVM metric `jvm.buffer.memory.usage` to `jvm.buffer.memory.used` (288)
- `system`: Rename `process.cpu.state`, `container.cpu.state`, and `system.cpu.state` attributes into a common `cpu.mode` attribute (840)

🚀 New components 🚀

- `azure`: Add Azure SDK attributes & Logs event semantic conventions (1027)
- `go`: Add new go namespace for Go runtime metrics (535)
- `nodejs`: Introducing semantic conventions for Node.js runtime metrics. (990)
- `user`: BREAKING - deprecate `enduser` in favor of a new `user` namespace. Add more `user` attributes. (731)
- `v8js`: Introducing semantic conventions for V8 JS Engine runtime metrics. (990)

💡 Enhancements 💡

- `db`: List SQL database systems on the SQL semantic conventions. (1024)
- `db`: Update database span name: clarify that target depends on the operation and should not be set when corresponding data is not available. (1045)
- `db`: Mention how to capture collection and operation names from query text in the registry (1070)
- `docs`: Don't render deprecated enum members in semconv tables. (1110)
- `gen-ai`: Use GenAI instead of LLM on GenAI trace semantic conventions and minor cleanups. (1087)
- `gen-ai`: Add GenAI model server metrics for measuring LLM serving latency (1102)
- `db`: Clarify that `db.query.parameter.<key>` is string representation of the parameter value (1165)
- `messaging`: Clarify how per-message attributes should be recorded for batch operations. (1168)
- `messaging`: Define sampling relevant attributes for messaging client spans (432, 1169)
- `gen_ai`: Rename `gen_ai.usage.prompt_tokens` to `gen_ai.usage.input_tokens` and `gen_ai.usage.completion_tokens` to `gen_ai.usage.output_tokens` to align terminology between spans and metrics.
(1200)
- `gen_ai`: Convert `gen_ai.operation.name` to enum and use it on spans (1202)
- `network`: Add QUIC to the list of well known network transports (1237, 1239)
- `db`: `db.query.text` IN-clauses MAY be collapsed during the sanitization process (1053)
- `db`, `messaging`: Clarify that DB and messaging system-specific conventions override common ones (1235, 1244)
- `db`: Add better example of how to make the pool name unique (1289)
- `docs`: Update semantic conventions code generation documentation to use weaver instead of build-tools. (1296)
- `gen_ai`: Add `server.address`, `server.port`, and `error.type` to GenAI spans. (1297)
- `gen-ai`: Adding metrics for GenAI clients. (811)
- `gen-ai`: Adding `gen_ai.request.top_k`, `gen_ai.request.presence_penalty`, `gen_ai.request.frequency_penalty` and `gen_ai.request.stop_sequences` attributes. (839)
- `messaging`: Document `messaging.operation.name` for Azure messaging systems. (942)
- `all`: Define name abbreviations guidelines in attribute and metric names. (1121)
- `messaging`: Add pulsar message system (1099)
- `linux`: Add the `system.linux.memory.slab.usage` metric and the `linux.memory.slab.state` attributes. (531)
- `cloudevents`: CloudEvents conventions to follow HTTP/Messaging Span conventions (654)
- `db`: Add support for database batch operations (712)
- `db`: Specify sanitization for `db.query.text`. (717)
- `gen-ai`: Add 3 well-known gen-ai systems as reference values of the gen-ai system attribute (1020)
- `gcp`: Introduces `gcp.client.service` scope attribute. (1047)
- `db`: Add semantic convention of InfluxDB (949)
- `log`: Add 'log.record.original' attribute. (1137)
- `session`: Add new experimental `session.start` and `session.end` events (1091)

🧰 Bug fixes 🧰

- `messaging`: Update Kafka Spring example to align with the messaging spec (1155)
- `http`: Relax requirement on when to set HTTP span status to Error from `MUST` to `SHOULD`. (1167, 1003)

1.26.0

🛑 Breaking changes 🛑

- `db`: Rename `db.statement` to `db.query.text` and introduce `db.query.parameter.<key>` (716)
- `db`: Renames `db.sql.table`, `db.cassandra.table`, `db.mongodb.collection`, and `db.cosmosdb.container` attributes to `db.collection.name` (870)
- `db`: Rename `db.operation` to `db.operation.name`. (884)
- `messaging`: Rename `messaging.operation` to `messaging.operation.type`, add `messaging.operation.name`. (890)
- `db`: Deprecate the `db.user` attribute. (885)
- `db`: Rename `db.name` and `db.redis.database_index` to `db.namespace`, deprecate `db.mssql.instance_name`. (885)
- `db`: Remove `db.instance.id`. For Elasticsearch, replace with `db.elasticsearch.node.name`. (972)
- `db`: Clarify database span name format and fallback values. (974, 704)
- `db`: Rename `db.client.connections.*` metric namespace to `db.client.connection.*` and rename `db.client.connection.usage` to `db.client.connection.count`.
(201, 967)
- `db`: Rename `pool.name` to `db.client.connections.pool.name` and `state` to `db.client.connections.state`. (909)
- `system`: Deprecate `shared` from `system.memory.state` values and make it a standalone metric (522)
- `device.app.lifecycle`: Reformat and update the `device.app.lifecycle` event description adds constraints for the possible values of the `android.state` and `ios.state`.
(794)
Removes the `ios.lifecycle.events` and `android.lifecycle.events` attributes from the global registry and adds constraints for the possible values of the `android.state` and `ios.state` attributes.

- `messaging`: Rename `messaging.client_id` to `messaging.client.id` (935)
- `rpc`: Rename`message.*` attributes under `rpc` to `rpc.message.*`. Deprecate old `message.*` attributes. (854)

🚀 New components 🚀

- `gen-ai`: Introducing semantic conventions for GenAI clients. (327)

💡 Enhancements 💡

- `all`: Markdown snippets are now generated by jinja templates in the `templates` directory. (1000)
- `db, messaging, gen_ai`: Clarify that `db.system`, `messaging.system`, `gen_ai.system` attributes capture the client perception and may differ from the actual product name. (813, 1016)
- `messaging`: Show all applicable attributes in individual messaging semantic conventions. (869, 1018)
- `process`: Add additional attributes to process attribute registry (564)
- `messaging`: Add a GCP Pub/Sub unary pull example and the new GCP messaging attributes: - `messaging.gcp_pubsub.message.ack_deadline`, - `messaging.gcp_pubsub.message.ack_id`, - `messaging.gcp_pubsub.message.delivery_attempt` (527)
- `db`: Add `db.client.operation.duration` metric (512)
- `messaging`: Adds `messaging.destination.partition.id`` to the messaging attributes (814)
- `exception`: Replace constraints with requirement levels on exceptions. (862)
- `process`: Replace constraints with requirement_level in process attributes. (863)
- `db`: Reorganize DB conventions to be shared across span and metric conventions. (910)
- `all`: Migrate Attribute Registry to be completely autogenerated. (197)
Migrate to using weaver for markdown generation (snippet + registry).
The entirety of the registry now is generated using weaver with templates
under the `templates/` directory. Snippets still require a hardcoded
command.

- `http`: List all HTTP client and server attributes in the corresponding table, remove common attributes from yaml and markdown. (928)
- `other`: Document patterns and suggestions for semconv code generation. (551, 953)
- `db`: Show applicable common attributes in individual database semantic conventions. (973)
- `db`: Add `error.type` attribute to the database span and operation duration metric. (975)
- `db`: Parameterized query text does not need to be sanitized by default (976)
- `http`: List experimental HTTP attributes applicable to HTTP client and server spans. (989)
- `db`: Finalizes the migration requirement for instrumentations to follow when updating to stable database semconv. (719)
- `http`: New `url.template` attribute added to URL, HTTP client attributes are extended with optional low-cardinality `url.template` (675)
- `db`: Add note to `db.collection.name`, `db.namespace`, and `db.operation.name` about capturing those without attempting to do any case normalization.
(886)
- `events`: Provides additional definitions of log events and their structure. (755)
- `k8s`: add container.status.last_terminated_reason resource attribute (922)

🧰 Bug fixes 🧰

- `http`: Add previously deprecated http attributes to registry (1025)
These attributes were deprecated in 1.13
- `net`: Add previously deprecated net attributes to registry (1029)
These attributes were deprecated in 1.13

Page 1 of 6

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.