Added
opentelemetry-sdk: addadd_metric_reader/remove_metric_readerpublic APIs to register / unregister metric readers at runtime. (#4863)opentelemetry-exporter-prometheus: add support for configuring metric scope labels (#5123)opentelemetry-exporter-otlp-proto-grpc: Add grpc error details to the log message that's written when the grpc call fails. (#5143)opentelemetry-exporter-http-transport: add 'opentelemetry-exporter-http-transport' package for HTTP exporters (#5194)opentelemetry-sdk: Addcomposite/developmentsamplers support to declarative file configuration (#5201)opentelemetry-exporter-otlp-json-file: Add OTLP JSON File exporter implementation (#5207)opentelemetry-sdk: add_resolve_componentshared utility for declarative config plugin loading, reducing boilerplate in exporter factory functions (#5215)opentelemetry-sdk: add pull metric reader support to declarative file configuration, including Prometheus metric reader via theprometheus_developmentconfig field (#5216)opentelemetry-proto-json: update to use opentelemetry-proto v1.10.0 (#5224)opentelemetry-proto: bump maximum supported protobuf version to 7.x.x (#5251)opentelemetry-sdk: addServiceInstanceIdResourceDetectorfor populatingservice.instance.id(#5259)opentelemetry-sdk: declarative config loader now recursively converts parsed dicts into typed dataclass instances, including nested dataclasses, lists of dataclasses, and enum values. End-to-end YAML/JSON → SDK configuration now works via the factory functions. (#5269)opentelemetry-sdk: addconfigure_sdk(config)to the declarative configuration API. Single entry point that takes a parsedOpenTelemetryConfiguration, builds the resource, and applies the tracer/meter/logger providers and propagator globally. Honors the top-leveldisabledflag. (#5270)opentelemetry-sdk: the SDK configurator now honors theOTEL_CONFIG_FILEenvironment variable. When set, the SDK loads and applies the referenced declarative configuration file (YAML or JSON) in place of the env-var-based init path. (#5271)opentelemetry-sdk: update declarative config to useServiceInstanceIdResourceDetector(#5299)opentelemetry-exporter-otlp-proto-common,opentelemetry-exporter-otlp-json-common: encoders now always accept null, and encode it as an emptyAnyValuein accordance with the spec. (#5305)opentelemetry-sdk: validate the declarative configfile_formatversion — reject an unsupported major version and warn on a newer minor version, per the configuration spec versioning rules (#5315)opentelemetry-exporter-http-transport: enable entry-point loading of transport implementations (#5320)
Changed
opentelemetry-sdk: introduce experimental entry points for OpAMP agent integration (#4646)opentelemetry-api: conditionally import entrypoints foropentelemetry_contextonly if theOTEL_PYTHON_CONTEXTenv variable is defined, returnContextVarsRuntimeContextotherwise (#5144)opentelemetry-sdk: rename "known/unknown" to "built-in/user-defined" terminology in declarative config component loading code (#5214)opentelemetry-proto: regenerate protobuf code from opentelemetry-proto v1.10.0 (#5223)opentelemetry-sdk: remove unnecessarycopyin Span creation (#5272)- opentelemetry-sdk: remove unnecessary dict in set_attribute method (#5274)
opentelemetry-sdk: inline the method_clean_attribute_value(#5275)- Remove typing aliases deprecated in python 3.9 and replace all usages of
typing.Unionandtyping.Optionalwith|. (#5277) - opentelemetry-sdk: remove generator in the accessor for links/events (#5287)
- opentelemetry-api: remove unnecessary copy in iterator (#5288)
opentelemetry-api: updateEnvironmentGetterto ignore non-normalized environment variable names (#5289)- opentelemetry-sdk: update iterator for BoundedList (#5297)
- opentelemetry-sdk: reduce lock contention in attributes (#5298)
- opentelemetry-sdk: merge doesn't need a copy, dict already does this (#5326)
opentelemetry-api: normalize empty environment propagation names to_inEnvironmentSetterandEnvironmentGetter(#5328)
Fixed
- Add missing
.rstfiles to Sphinx documentation build for SDK logs, propagators, and exporter submodules. (#5017) - Preserve the random trace ID flag when creating child spans instead of always setting the random trace id bit depending on the available trace id generator. (#5241)
opentelemetry-api: fix SelectableGroups deprecation warning (#5250)opentelemetry-sdk: makeSynchronousMeasurementConsumer.consume_measurementlock free to avoid deadlocks (#5321)