Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package
python-opentelemetry-exporter-otlp-proto-common for openSUSE:Factory checked in
at 2026-01-06 17:42:43
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing
/work/SRC/openSUSE:Factory/python-opentelemetry-exporter-otlp-proto-common (Old)
and
/work/SRC/openSUSE:Factory/.python-opentelemetry-exporter-otlp-proto-common.new.1928
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-opentelemetry-exporter-otlp-proto-common"
Tue Jan 6 17:42:43 2026 rev:13 rq:1325295 version:1.39.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-opentelemetry-exporter-otlp-proto-common/python-opentelemetry-exporter-otlp-proto-common.changes
2025-11-21 16:56:37.498225331 +0100
+++
/work/SRC/openSUSE:Factory/.python-opentelemetry-exporter-otlp-proto-common.new.1928/python-opentelemetry-exporter-otlp-proto-common.changes
2026-01-06 17:43:44.463561864 +0100
@@ -1,0 +2,18 @@
+Sun Dec 28 15:17:28 UTC 2025 - Dirk Müller <[email protected]>
+
+- update to 1.39.1:
+ * Silence events API warnings for internal users
+- update to 1.39.0:
+ * `opentelemetry-api`: Convert objects of any type other than
+ AnyValue in attributes to string to be exportable
+ * docs: Added sqlcommenter example
+ * build: bump ruff to 0.14.1
+ * Add `opentelemetry-exporter-credential-provider-gcp` as an
+ optional dependency to `opentelemetry-exporter-otlp-proto-
+ grpc` and `opentelemetry-exporter-otlp-proto-http`
+ * semantic-conventions: Bump to 1.38.0
+ * [BREAKING] Remove LogData and extend SDK LogRecord to have
+ instrumentation scope
+ * [BREAKING] Rename several classes from Log to LogRecord
+
+-------------------------------------------------------------------
Old:
----
opentelemetry_exporter_otlp_proto_common-1.38.0.tar.gz
New:
----
opentelemetry_exporter_otlp_proto_common-1.39.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-opentelemetry-exporter-otlp-proto-common.spec ++++++
--- /var/tmp/diff_new_pack.ix1bnw/_old 2026-01-06 17:43:46.131628963 +0100
+++ /var/tmp/diff_new_pack.ix1bnw/_new 2026-01-06 17:43:46.155629929 +0100
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-opentelemetry-exporter-otlp-proto-common
-Version: 1.38.0
+Version: 1.39.1
Release: 0
Summary: OpenTelemetry Protobuf encoding
License: Apache-2.0
++++++ opentelemetry_exporter_otlp_proto_common-1.38.0.tar.gz ->
opentelemetry_exporter_otlp_proto_common-1.39.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_common-1.38.0/PKG-INFO
new/opentelemetry_exporter_otlp_proto_common-1.39.1/PKG-INFO
--- old/opentelemetry_exporter_otlp_proto_common-1.38.0/PKG-INFO
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_exporter_otlp_proto_common-1.39.1/PKG-INFO
2020-02-02 01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: opentelemetry-exporter-otlp-proto-common
-Version: 1.38.0
+Version: 1.39.1
Summary: OpenTelemetry Protobuf encoding
Project-URL: Homepage,
https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-common
Project-URL: Repository, https://github.com/open-telemetry/opentelemetry-python
@@ -19,7 +19,7 @@
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.9
-Requires-Dist: opentelemetry-proto==1.38.0
+Requires-Dist: opentelemetry-proto==1.39.1
Description-Content-Type: text/x-rst
OpenTelemetry Protobuf Encoding
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_common-1.38.0/pyproject.toml
new/opentelemetry_exporter_otlp_proto_common-1.39.1/pyproject.toml
--- old/opentelemetry_exporter_otlp_proto_common-1.38.0/pyproject.toml
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_exporter_otlp_proto_common-1.39.1/pyproject.toml
2020-02-02 01:00:00.000000000 +0100
@@ -26,7 +26,7 @@
"Programming Language :: Python :: 3.13",
]
dependencies = [
- "opentelemetry-proto == 1.38.0",
+ "opentelemetry-proto == 1.39.1",
]
[project.urls]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_common-1.38.0/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py
new/opentelemetry_exporter_otlp_proto_common-1.39.1/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py
---
old/opentelemetry_exporter_otlp_proto_common-1.38.0/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_common-1.39.1/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -30,51 +30,55 @@
ResourceLogs,
ScopeLogs,
)
-from opentelemetry.sdk._logs import LogData
+from opentelemetry.sdk._logs import ReadableLogRecord
-def encode_logs(batch: Sequence[LogData]) -> ExportLogsServiceRequest:
+def encode_logs(
+ batch: Sequence[ReadableLogRecord],
+) -> ExportLogsServiceRequest:
return ExportLogsServiceRequest(resource_logs=_encode_resource_logs(batch))
-def _encode_log(log_data: LogData) -> PB2LogRecord:
+def _encode_log(readable_log_record: ReadableLogRecord) -> PB2LogRecord:
span_id = (
None
- if log_data.log_record.span_id == 0
- else _encode_span_id(log_data.log_record.span_id)
+ if readable_log_record.log_record.span_id == 0
+ else _encode_span_id(readable_log_record.log_record.span_id)
)
trace_id = (
None
- if log_data.log_record.trace_id == 0
- else _encode_trace_id(log_data.log_record.trace_id)
+ if readable_log_record.log_record.trace_id == 0
+ else _encode_trace_id(readable_log_record.log_record.trace_id)
)
- body = log_data.log_record.body
+ body = readable_log_record.log_record.body
return PB2LogRecord(
- time_unix_nano=log_data.log_record.timestamp,
- observed_time_unix_nano=log_data.log_record.observed_timestamp,
+ time_unix_nano=readable_log_record.log_record.timestamp,
+
observed_time_unix_nano=readable_log_record.log_record.observed_timestamp,
span_id=span_id,
trace_id=trace_id,
- flags=int(log_data.log_record.trace_flags),
+ flags=int(readable_log_record.log_record.trace_flags),
body=_encode_value(body, allow_null=True),
- severity_text=log_data.log_record.severity_text,
+ severity_text=readable_log_record.log_record.severity_text,
attributes=_encode_attributes(
- log_data.log_record.attributes, allow_null=True
+ readable_log_record.log_record.attributes, allow_null=True
),
- dropped_attributes_count=log_data.log_record.dropped_attributes,
+ dropped_attributes_count=readable_log_record.dropped_attributes,
severity_number=getattr(
- log_data.log_record.severity_number, "value", None
+ readable_log_record.log_record.severity_number, "value", None
),
- event_name=log_data.log_record.event_name,
+ event_name=readable_log_record.log_record.event_name,
)
-def _encode_resource_logs(batch: Sequence[LogData]) -> List[ResourceLogs]:
+def _encode_resource_logs(
+ batch: Sequence[ReadableLogRecord],
+) -> List[ResourceLogs]:
sdk_resource_logs = defaultdict(lambda: defaultdict(list))
- for sdk_log in batch:
- sdk_resource = sdk_log.log_record.resource
- sdk_instrumentation = sdk_log.instrumentation_scope or None
- pb2_log = _encode_log(sdk_log)
+ for readable_log in batch:
+ sdk_resource = readable_log.resource
+ sdk_instrumentation = readable_log.instrumentation_scope or None
+ pb2_log = _encode_log(readable_log)
sdk_resource_logs[sdk_resource][sdk_instrumentation].append(pb2_log)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_common-1.38.0/src/opentelemetry/exporter/otlp/proto/common/_internal/metrics_encoder/__init__.py
new/opentelemetry_exporter_otlp_proto_common-1.39.1/src/opentelemetry/exporter/otlp/proto/common/_internal/metrics_encoder/__init__.py
---
old/opentelemetry_exporter_otlp_proto_common-1.38.0/src/opentelemetry/exporter/otlp/proto/common/_internal/metrics_encoder/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_common-1.39.1/src/opentelemetry/exporter/otlp/proto/common/_internal/metrics_encoder/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -115,7 +115,7 @@
"CUMULATIVE"
):
_logger.warning(
- "Unrecognized OTEL_EXPORTER_METRICS_TEMPORALITY_PREFERENCE"
+ "Unrecognized
OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE"
" value found: "
"%s, "
"using CUMULATIVE",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_common-1.38.0/src/opentelemetry/exporter/otlp/proto/common/version/__init__.py
new/opentelemetry_exporter_otlp_proto_common-1.39.1/src/opentelemetry/exporter/otlp/proto/common/version/__init__.py
---
old/opentelemetry_exporter_otlp_proto_common-1.38.0/src/opentelemetry/exporter/otlp/proto/common/version/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_common-1.39.1/src/opentelemetry/exporter/otlp/proto/common/version/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -12,4 +12,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-__version__ = "1.38.0"
+__version__ = "1.39.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_common-1.38.0/tests/test_log_encoder.py
new/opentelemetry_exporter_otlp_proto_common-1.39.1/tests/test_log_encoder.py
---
old/opentelemetry_exporter_otlp_proto_common-1.38.0/tests/test_log_encoder.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_common-1.39.1/tests/test_log_encoder.py
2020-02-02 01:00:00.000000000 +0100
@@ -15,7 +15,7 @@
import unittest
from typing import List, Tuple
-from opentelemetry._logs import SeverityNumber
+from opentelemetry._logs import LogRecord, SeverityNumber
from opentelemetry.exporter.otlp.proto.common._internal import (
_encode_attributes,
_encode_span_id,
@@ -45,8 +45,7 @@
from opentelemetry.proto.resource.v1.resource_pb2 import (
Resource as PB2Resource,
)
-from opentelemetry.sdk._logs import LogData, LogLimits
-from opentelemetry.sdk._logs import LogRecord as SDKLogRecord
+from opentelemetry.sdk._logs import LogRecordLimits, ReadWriteLogRecord
from opentelemetry.sdk.resources import Resource as SDKResource
from opentelemetry.sdk.util.instrumentation import InstrumentationScope
from opentelemetry.trace import (
@@ -77,7 +76,7 @@
def test_dropped_attributes_count(self):
sdk_logs = self._get_test_logs_dropped_attributes()
encoded_logs = encode_logs(sdk_logs)
- self.assertTrue(hasattr(sdk_logs[0].log_record, "dropped_attributes"))
+ self.assertTrue(hasattr(sdk_logs[0], "dropped_attributes"))
self.assertEqual(
# pylint:disable=no-member
encoded_logs.resource_logs[0]
@@ -88,7 +87,7 @@
)
@staticmethod
- def _get_sdk_log_data() -> List[LogData]:
+ def _get_sdk_log_data() -> List[ReadWriteLogRecord]:
# pylint:disable=too-many-locals
ctx_log1 = set_span_in_context(
NonRecordingSpan(
@@ -100,35 +99,35 @@
)
)
)
- log1 = LogData(
- log_record=SDKLogRecord(
+ log1 = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650195189786880,
observed_timestamp=1644650195189786881,
context=ctx_log1,
severity_text="WARN",
severity_number=SeverityNumber.WARN,
body="Do not go gentle into that good night. Rage, rage
against the dying of the light",
- resource=SDKResource(
- {"first_resource": "value"},
- "resource_schema_url",
- ),
attributes={"a": 1, "b": "c"},
),
+ resource=SDKResource(
+ {"first_resource": "value"},
+ "resource_schema_url",
+ ),
instrumentation_scope=InstrumentationScope(
"first_name", "first_version"
),
)
- log2 = LogData(
- log_record=SDKLogRecord(
+ log2 = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650249738562048,
observed_timestamp=1644650249738562049,
severity_text="WARN",
severity_number=SeverityNumber.WARN,
body="Cooper, this is no time for caution!",
- resource=SDKResource({"second_resource": "CASE"}),
attributes={},
),
+ resource=SDKResource({"second_resource": "CASE"}),
instrumentation_scope=InstrumentationScope(
"second_name", "second_version"
),
@@ -144,17 +143,17 @@
)
)
)
- log3 = LogData(
- log_record=SDKLogRecord(
+ log3 = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650427658989056,
observed_timestamp=1644650427658989057,
context=ctx_log3,
severity_text="DEBUG",
severity_number=SeverityNumber.DEBUG,
body="To our galaxy",
- resource=SDKResource({"second_resource": "CASE"}),
attributes={"a": 1, "b": "c"},
),
+ resource=SDKResource({"second_resource": "CASE"}),
instrumentation_scope=None,
)
@@ -168,20 +167,20 @@
)
)
)
- log4 = LogData(
- log_record=SDKLogRecord(
+ log4 = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650584292683008,
observed_timestamp=1644650584292683009,
context=ctx_log4,
severity_text="INFO",
severity_number=SeverityNumber.INFO,
body="Love is the one thing that transcends time and space",
- resource=SDKResource(
- {"first_resource": "value"},
- "resource_schema_url",
- ),
attributes={"filename": "model.py", "func_name": "run_method"},
),
+ resource=SDKResource(
+ {"first_resource": "value"},
+ "resource_schema_url",
+ ),
instrumentation_scope=InstrumentationScope(
"another_name", "another_version"
),
@@ -197,17 +196,17 @@
)
)
)
- log5 = LogData(
- log_record=SDKLogRecord(
+ log5 = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650584292683009,
observed_timestamp=1644650584292683010,
context=ctx_log5,
severity_text="INFO",
severity_number=SeverityNumber.INFO,
body={"error": None, "array_with_nones": [1, None, 2]},
- resource=SDKResource({}),
attributes={},
),
+ resource=SDKResource({}),
instrumentation_scope=InstrumentationScope(
"last_name", "last_version"
),
@@ -223,20 +222,20 @@
)
)
)
- log6 = LogData(
- log_record=SDKLogRecord(
+ log6 = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650584292683022,
observed_timestamp=1644650584292683022,
context=ctx_log6,
severity_text="ERROR",
severity_number=SeverityNumber.ERROR,
body="This instrumentation scope has a schema url",
- resource=SDKResource(
- {"first_resource": "value"},
- "resource_schema_url",
- ),
attributes={"filename": "model.py", "func_name": "run_method"},
),
+ resource=SDKResource(
+ {"first_resource": "value"},
+ "resource_schema_url",
+ ),
instrumentation_scope=InstrumentationScope(
"scope_with_url",
"scope_with_url_version",
@@ -254,20 +253,20 @@
)
)
)
- log7 = LogData(
- log_record=SDKLogRecord(
+ log7 = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650584292683033,
observed_timestamp=1644650584292683033,
context=ctx_log7,
severity_text="FATAL",
severity_number=SeverityNumber.FATAL,
body="This instrumentation scope has a schema url and
attributes",
- resource=SDKResource(
- {"first_resource": "value"},
- "resource_schema_url",
- ),
attributes={"filename": "model.py", "func_name": "run_method"},
),
+ resource=SDKResource(
+ {"first_resource": "value"},
+ "resource_schema_url",
+ ),
instrumentation_scope=InstrumentationScope(
"scope_with_attributes",
"scope_with_attributes_version",
@@ -286,21 +285,21 @@
)
)
)
- log8 = LogData(
- log_record=SDKLogRecord(
+ log8 = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650584292683044,
observed_timestamp=1644650584292683044,
context=ctx_log8,
severity_text="INFO",
severity_number=SeverityNumber.INFO,
body="Test export of extended attributes",
- resource=SDKResource({}),
attributes={
"extended": {
"sequence": [{"inner": "mapping", "none": None}]
}
},
),
+ resource=SDKResource({}),
instrumentation_scope=InstrumentationScope(
"extended_name", "extended_version"
),
@@ -316,13 +315,13 @@
)
)
)
- log9 = LogData(
- log_record=SDKLogRecord(
+ log9 = ReadWriteLogRecord(
+ LogRecord(
# these are otherwise set by default
observed_timestamp=1644650584292683045,
context=ctx_log9,
- resource=SDKResource({}),
),
+ resource=SDKResource({}),
instrumentation_scope=InstrumentationScope(
"empty_log_record_name", "empty_log_record_version"
),
@@ -331,7 +330,7 @@
def get_test_logs(
self,
- ) -> Tuple[List[SDKLogRecord], ExportLogsServiceRequest]:
+ ) -> Tuple[List[ReadWriteLogRecord], ExportLogsServiceRequest]:
sdk_logs = self._get_sdk_log_data()
pb2_service_request = ExportLogsServiceRequest(
@@ -647,7 +646,7 @@
return sdk_logs, pb2_service_request
@staticmethod
- def _get_test_logs_dropped_attributes() -> List[LogData]:
+ def _get_test_logs_dropped_attributes() -> List[ReadWriteLogRecord]:
ctx_log1 = set_span_in_context(
NonRecordingSpan(
SpanContext(
@@ -658,17 +657,17 @@
)
)
)
- log1 = LogData(
- log_record=SDKLogRecord(
+ log1 = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650195189786880,
context=ctx_log1,
severity_text="WARN",
severity_number=SeverityNumber.WARN,
body="Do not go gentle into that good night. Rage, rage
against the dying of the light",
- resource=SDKResource({"first_resource": "value"}),
attributes={"a": 1, "b": "c", "user_id": "B121092"},
- limits=LogLimits(max_attributes=1),
),
+ resource=SDKResource({"first_resource": "value"}),
+ limits=LogRecordLimits(max_attributes=1),
instrumentation_scope=InstrumentationScope(
"first_name", "first_version"
),
@@ -676,16 +675,16 @@
ctx_log2 = set_span_in_context(
NonRecordingSpan(SpanContext(0, 0, False))
)
- log2 = LogData(
- log_record=SDKLogRecord(
+ log2 = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650249738562048,
context=ctx_log2,
severity_text="WARN",
severity_number=SeverityNumber.WARN,
body="Cooper, this is no time for caution!",
- resource=SDKResource({"second_resource": "CASE"}),
attributes={},
),
+ resource=SDKResource({"second_resource": "CASE"}),
instrumentation_scope=InstrumentationScope(
"second_name", "second_version"
),