Releases: open-telemetry/opentelemetry-python
Releases · open-telemetry/opentelemetry-python
Version 1.31.1/0.52b1
This is a patch release on the previous 1.31.0/0.52b0 release, fixing the issue(s) below.
- api: Revert record
BaseException
change intrace_api.use_span()
(#4494)
Version 1.31.0/0.52b0
- semantic-conventions: Bump to 1.31.0 (#4471)
- Add type annotations to context's attach & detach (#4346)
- Fix OTLP encoders missing instrumentation scope schema url and attributes (#4359)
- prometheus-exporter: fix labels out of place for data points with different attribute sets (#4413)
- Type indent parameter in to_json (#4402)
- Tolerates exceptions when loading resource detectors via
OTEL_EXPERIMENTAL_RESOURCE_DETECTORS
(#4373) - Disconnect gRPC client stub when shutting down
OTLPSpanExporter
(#4370) - opentelemetry-sdk: fix OTLP exporting of Histograms with explicit buckets advisory (#4434)
- opentelemetry-exporter-otlp-proto-grpc: better dependency version range for Python 3.13 (#4444)
- opentelemetry-exporter-opencensus: better dependency version range for Python 3.13 (#4444)
- Updated
tracecontext-integration-test
gitref tod782773b2cf2fa4afd6a80a93b289d8a74ca894d
(#4448) - Make
trace_api.use_span()
recordBaseException
as well asException
(#4406) - Fix env var error message for TraceLimits/SpanLimits (#4458)
- pylint-ci updated python version to 3.13 (#4450)
Version 1.30.0/0.51b0
- Always setup logs sdk, OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED only controls python
logging
module handler setup (#4340) - Add
attributes
field inmetrics.get_meter
wrapper function (#4364) - Add Python 3.13 support (#4353)
- sdk: don't log or print warnings when the SDK has been disabled (#4371)
- Fix span context manager typing by using ParamSpec from typing_extensions (#4389)
- Fix serialization of None values in logs body to match 1.31.0+ data model (#4400)
- [BREAKING] semantic-conventions: Remove
opentelemetry.semconv.attributes.network_attributes.NETWORK_INTERFACE_NAME
introduced by mistake in the wrong module. (#4391) - Add support for explicit bucket boundaries advisory for Histograms (#4361)
- semantic-conventions: Bump to 1.30.0 (#4337)
Version 1.29.0/0.50b0
- Fix crash exporting a log record with None body (#4276)
- Fix metrics export with exemplar and no context and filtering observable instruments (#4251)
- Fix recursion error with sdk disabled and handler added to root logger (#4259)
- sdk: setup EventLogger when OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED is set (#4270)
- api: fix logging of duplicate EventLogger setup warning (#4299)
- sdk: fix setting of process owner in ProcessResourceDetector (#4311)
- sdk: fix serialization of logs severity_number field to int (#4324)
- Remove
TestBase.assertEqualSpanInstrumentationInfo
method, useassertEqualSpanInstrumentationScope
instead (#4310) - sdk: instantiate lazily
ExemplarBucket
s inExemplarReservoir
s (#4260) - semantic-conventions: Bump to 1.29.0 (#4337)
Version 1.28.2/0.49b2
Version 1.28.1/0.49b1
Version 1.28.0/0.49b0
- Removed superfluous py.typed markers and added them where they were missing (#4172)
- Include metric info in encoding exceptions (#4154)
- sdk: Add support for log formatting (#4137)
- sdk: Add Host resource detector (#4182)
- sdk: Implementation of exemplars (#4094)
- Implement events sdk (#4176)
- Update semantic conventions to version 1.28.0 (#4218)
- Add support to protobuf 5+ and drop support to protobuf 3 and 4 (#4206)
- Update environment variable descriptions to match signal (#4222)
- Record logger name as the instrumentation scope name (#4208)
- Fix memory leak in exporter and reader (#4224)
- Drop
OTEL_PYTHON_EXPERIMENTAL_DISABLE_PROMETHEUS_UNIT_NORMALIZATION
environment variable (#4217)
Version 1.27.0/0.48b0
- Implementation of Events API (#4054)
- Make log sdk add
exception.message
to logRecord for exceptions whose argument is an exception not a string message (#4122) - Fix use of
link.attributes.dropped
, which may not exist (#4119) - Running mypy on SDK resources (#4053)
- Added py.typed file to top-level module (#4084)
- Drop Final annotation from Enum in semantic conventions (#4085)
- Update log export example to not use root logger (#4090)
- sdk: Add OS resource detector (#3992)
- sdk: Accept non URL-encoded headers in
OTEL_EXPORTER_OTLP_*HEADERS
to match other languages SDKs (#4103) - Update semantic conventions to version 1.27.0 (#4104)
- Add support to type bytes for OTLP AnyValue (#4128)
- Export ExponentialHistogram and ExponentialHistogramDataPoint (#4134)
- Implement Client Key and Certificate File Support for All OTLP Exporters (#4116)
- Remove
_start_time_unix_nano
attribute from_ViewInstrumentMatch
in favor of usingtime_ns()
at the moment when the aggregation object is created (#4137)
Version 1.26.0/0.47b0
- Standardizing timeout calculation in measurement consumer collect to nanoseconds (#4074)
- optional scope attributes for logger creation (#4035)
- optional scope attribute for tracer creation (#4028)
- OTLP exporter is encoding invalid span/trace IDs in the logs fix (#4006)
- Update sdk process resource detector
process.command_args
attribute to also include the executable itself (#4032) - Fix
start_time_unix_nano
for delta collection for explicit bucket histogram aggregation (#4009) - Fix
start_time_unix_nano
for delta collection for sum aggregation (#4011) - Update opentracing and opencesus docs examples to not use JaegerExporter (#4023)
- Do not execute Flask Tests in debug mode (#3956)
- When encountering an error encoding metric attributes in the OTLP exporter, log the key that had an error. (#3838)
- Fix
ExponentialHistogramAggregation
(#3978) - Log a warning when a
LogRecord
insdk/log
has dropped attributes due to reaching limits (#3946) - Fix RandomIdGenerator can generate invalid Span/Trace Ids (#3949)
- Add Python 3.12 to tox (#3616)
- Improve resource field structure for LogRecords (#3972)
- Update Semantic Conventions code generation scripts: - fix namespace exclusion that resulted in dropping
os
andnet
namespaces. - addFinal
decorator to constants to prevent collisions - enable mypy and fix detected issues - allow to drop specific attributes in preparation for Semantic Conventions v1.26.0 (#3973) - Update semantic conventions to version 1.26.0. (#3964)
- Use semconv exception attributes for record exceptions in spans (#3979)
- Fix _encode_events assumes events.attributes.dropped exists (#3965)
- Validate links at span creation (#3991)
- Add attributes field in
MeterProvider.get_meter
andInstrumentationScope
(#4015) - Fix inaccessible
SCHEMA_URL
constants inopentelemetry-semantic-conventions
(#4069)
Version 1.25.0/0.46b0
- Fix class BoundedAttributes to have RLock rather than Lock (#3859)
- Remove thread lock by loading RuntimeContext explicitly. (#3763)
- Update proto version to v1.2.0 (#3844)
- Add to_json method to ExponentialHistogram (#3780)
- Bump mypy to 1.9.0 (#3795)
- Fix exponential histograms (#3798)
- Fix otlp exporter to export log_record.observed_timestamp (#3785)
- Add capture the fully qualified type name for raised exceptions in spans (#3837)
- Prometheus exporter sort label keys to prevent duplicate metrics when user input changes order (#3698)
- Update semantic conventions to version 1.25.0. Refactor semantic-convention structure: -
SpanAttributes
,ResourceAttributes
, andMetricInstruments
are deprecated. - Attribute and metric definitions are now grouped by the namespace. - Stable attributes and metrics are moved toopentelemetry.semconv.attributes
andopentelemetry.semconv.metrics
modules. - Stable and experimental attributes and metrics are defined underopentelemetry.semconv._incubating
import path. (#3586) - Rename test objects to avoid pytest warnings ([#3823] (#3823))
- Add span flags to OTLP spans and links (#3881)
- Record links with invalid SpanContext if either attributes or TraceState are not empty (#3917)
- Add OpenTelemetry trove classifiers to PyPI packages ([#3913] (#3913))
- Fix prometheus metric name and unit conversion (#3924) - this is a breaking change to prometheus metric names so they comply with the specification. - you can temporarily opt-out of the unit normalization by setting the environment variable
OTEL_PYTHON_EXPERIMENTAL_DISABLE_PROMETHEUS_UNIT_NORMALIZATION=true
- common unit abbreviations are converted to Prometheus conventions (s
->seconds
), following the collector's implementation - repeated_
are replaced with a single_
- unit annotations (enclosed in curly braces like{requests}
) are stripped away - units with slash are converted e.g.m/s
->meters_per_second
. - The exporter's API is not changed - Add parameters for Distros and configurators to configure autoinstrumentation in addition to existing environment variables. ([#3864] (#3864))