Migrating to OpenTelemetry v1.39.0
Version v1.39.0 introduces 4 breaking changes. This guide details how to update your code.
Released: 12/3/2025
⚠️ Check Your Code
If you use any of these symbols, you need to read this guide:
LogDataReadableLogRecordReadWriteLogRecordLogRecordBreaking Changes
●Issue #1
LogData has been removed. Log Exporters must now accept Sequence[ReadableLogRecord] instead of Sequence[LogData].
●Issue #2
Log Processors should now use ReadWriteLogRecord for processing and convert to ReadableLogRecord before exporting.
●Issue #3
Several classes previously named Log have been renamed to LogRecord. Users must update imports and references accordingly.
●Issue #4
LogData attributes are now accessed differently on the new record types: use log_record.log_record for the API LogRecord, log_record.resource for Resource, log_record.instrumentation_scope for InstrumentationScope, and log_record.limits for LogRecordLimits.
Migration Steps
- 1For Log Exporters, change the signature to accept Sequence[ReadableLogRecord] instead of Sequence[LogData].
- 2For Log Processors, update on_emit to accept ReadWriteLogRecord and convert to ReadableLogRecord before exporting.
- 3Update imports and references for classes renamed from Log to LogRecord.
- 4Update attribute access on log records to use log_record.log_record, log_record.resource, log_record.instrumentation_scope, and log_record.limits.
Release Summary
This release introduces significant breaking changes to the logging SDK by removing LogData and renaming several Log classes to LogRecord, while also deprecating the Events API in favor of enhanced LogRecord functionality. It also improves attribute serialization and dependency management.
Need More Details?
View the full release notes and all changes for OpenTelemetry v1.39.0.
View Full Changelog