Releases: open-telemetry/opentelemetry-python
Releases · open-telemetry/opentelemetry-python
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))
Version 1.24.0/0.45b0
- Make create_gauge non-abstract method (#3817)
- Make
tracer.start_as_current_span()
decorator work with async functions (#3633) - Fix python 3.12 deprecation warning (#3751)
- bump mypy to 0.982 (#3776)
- Add support for OTEL_SDK_DISABLED environment variable (#3648)
- Fix ValueError message for PeriodicExportingMetricsReader (#3769)
- Use
BaseException
instead ofException
inrecord_exception
(#3354) - Make span.record_exception more robust (#3778)
- Fix license field in pyproject.toml files (#3803)
Version 1.23.0/0.44b0
- Use Attribute rather than boundattribute in logrecord (#3567)
- Fix flush error when no LoggerProvider configured for LoggingHandler (#3608)
- Fix
OTLPMetricExporter
ignorespreferred_aggregation
property (#3603) - Logs: set
observed_timestamp
field (#3565) - Add missing Resource SchemaURL in OTLP exporters (#3652)
- Fix loglevel warning text (#3566)
- Prometheus Exporter string representation for target_info labels (#3659)
- Logs: ObservedTimestamp field is missing in console exporter output (#3564)
- Fix explicit bucket histogram aggregation (#3429)
- Add
code.lineno
,code.function
andcode.filepath
to all logs (#3645) - Add Synchronous Gauge instrument (#3462)
- Drop support for 3.7 (#3668)
- Include key in attribute sequence warning (#3639)
- Upgrade markupsafe, Flask and related dependencies to dev and test environments (#3609)
- Handle HTTP 2XX responses as successful in OTLP exporters (#3623)
- Improve Resource Detector timeout messaging (#3645)
- Add Proxy classes for logging (#3575)
- Remove dependency on 'backoff' library (#3679)