Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package
python-opentelemetry-exporter-otlp-proto-http for openSUSE:Factory checked in
at 2026-01-06 17:42:48
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing
/work/SRC/openSUSE:Factory/python-opentelemetry-exporter-otlp-proto-http (Old)
and
/work/SRC/openSUSE:Factory/.python-opentelemetry-exporter-otlp-proto-http.new.1928
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-opentelemetry-exporter-otlp-proto-http"
Tue Jan 6 17:42:48 2026 rev:11 rq:1325297 version:1.39.1
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-opentelemetry-exporter-otlp-proto-http/python-opentelemetry-exporter-otlp-proto-http.changes
2025-11-21 16:56:41.838408224 +0100
+++
/work/SRC/openSUSE:Factory/.python-opentelemetry-exporter-otlp-proto-http.new.1928/python-opentelemetry-exporter-otlp-proto-http.changes
2026-01-06 17:43:52.903901380 +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_http-1.38.0.tar.gz
New:
----
opentelemetry_exporter_otlp_proto_http-1.39.1.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-opentelemetry-exporter-otlp-proto-http.spec ++++++
--- /var/tmp/diff_new_pack.KrXdJV/_old 2026-01-06 17:43:53.583928735 +0100
+++ /var/tmp/diff_new_pack.KrXdJV/_new 2026-01-06 17:43:53.587928896 +0100
@@ -17,7 +17,7 @@
Name: python-opentelemetry-exporter-otlp-proto-http
-Version: 1.38.0
+Version: 1.39.1
Release: 0
Summary: OpenTelemetry Collector Protobuf over HTTP Exporter
License: Apache-2.0
@@ -33,7 +33,7 @@
BuildRequires: %{python_module opentelemetry-exporter-otlp-proto-common =
%{version}}
BuildRequires: %{python_module opentelemetry-proto = %{version}}
BuildRequires: %{python_module opentelemetry-sdk >= 1.23.0}
-BuildRequires: %{python_module opentelemetry-test-utils = 0.59b0}
+BuildRequires: %{python_module opentelemetry-test-utils = 0.60b0}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests >= 2.7}
BuildRequires: %{python_module responses >= 0.22.0}
++++++ opentelemetry_exporter_otlp_proto_http-1.38.0.tar.gz ->
opentelemetry_exporter_otlp_proto_http-1.39.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.38.0/PKG-INFO
new/opentelemetry_exporter_otlp_proto_http-1.39.1/PKG-INFO
--- old/opentelemetry_exporter_otlp_proto_http-1.38.0/PKG-INFO 2020-02-02
01:00:00.000000000 +0100
+++ new/opentelemetry_exporter_otlp_proto_http-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-http
-Version: 1.38.0
+Version: 1.39.1
Summary: OpenTelemetry Collector Protobuf over HTTP Exporter
Project-URL: Homepage,
https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-http
Project-URL: Repository, https://github.com/open-telemetry/opentelemetry-python
@@ -21,11 +21,13 @@
Requires-Python: >=3.9
Requires-Dist: googleapis-common-protos~=1.52
Requires-Dist: opentelemetry-api~=1.15
-Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.38.0
-Requires-Dist: opentelemetry-proto==1.38.0
-Requires-Dist: opentelemetry-sdk~=1.38.0
+Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.39.1
+Requires-Dist: opentelemetry-proto==1.39.1
+Requires-Dist: opentelemetry-sdk~=1.39.1
Requires-Dist: requests~=2.7
Requires-Dist: typing-extensions>=4.5.0
+Provides-Extra: gcp-auth
+Requires-Dist: opentelemetry-exporter-credential-provider-gcp>=0.59b0; extra
== 'gcp-auth'
Description-Content-Type: text/x-rst
OpenTelemetry Collector Protobuf over HTTP Exporter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.38.0/pyproject.toml
new/opentelemetry_exporter_otlp_proto_http-1.39.1/pyproject.toml
--- old/opentelemetry_exporter_otlp_proto_http-1.38.0/pyproject.toml
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_exporter_otlp_proto_http-1.39.1/pyproject.toml
2020-02-02 01:00:00.000000000 +0100
@@ -28,9 +28,9 @@
dependencies = [
"googleapis-common-protos ~= 1.52",
"opentelemetry-api ~= 1.15",
- "opentelemetry-proto == 1.38.0",
- "opentelemetry-sdk ~= 1.38.0",
- "opentelemetry-exporter-otlp-proto-common == 1.38.0",
+ "opentelemetry-proto == 1.39.1",
+ "opentelemetry-sdk ~= 1.39.1",
+ "opentelemetry-exporter-otlp-proto-common == 1.39.1",
"requests ~= 2.7",
"typing-extensions >= 4.5.0",
]
@@ -48,6 +48,11 @@
Homepage =
"https://github.com/open-telemetry/opentelemetry-python/tree/main/exporter/opentelemetry-exporter-otlp-proto-http"
Repository = "https://github.com/open-telemetry/opentelemetry-python"
+[project.optional-dependencies]
+gcp-auth = [
+ "opentelemetry-exporter-credential-provider-gcp >= 0.59b0",
+]
+
[tool.hatch.version]
path = "src/opentelemetry/exporter/otlp/proto/http/version/__init__.py"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.38.0/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py
new/opentelemetry_exporter_otlp_proto_http-1.39.1/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py
---
old/opentelemetry_exporter_otlp_proto_http-1.38.0/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_http-1.39.1/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py
2020-02-02 01:00:00.000000000 +0100
@@ -34,10 +34,10 @@
_is_retryable,
_load_session_from_envvar,
)
-from opentelemetry.sdk._logs import LogData
+from opentelemetry.sdk._logs import ReadableLogRecord
from opentelemetry.sdk._logs.export import (
- LogExporter,
- LogExportResult,
+ LogRecordExporter,
+ LogRecordExportResult,
)
from opentelemetry.sdk._shared_internal import DuplicateFilter
from opentelemetry.sdk.environment_variables import (
@@ -71,7 +71,7 @@
_MAX_RETRYS = 6
-class OTLPLogExporter(LogExporter):
+class OTLPLogExporter(LogRecordExporter):
def __init__(
self,
endpoint: Optional[str] = None,
@@ -176,17 +176,19 @@
)
return resp
- def export(self, batch: Sequence[LogData]) -> LogExportResult:
+ def export(
+ self, batch: Sequence[ReadableLogRecord]
+ ) -> LogRecordExportResult:
if self._shutdown:
_logger.warning("Exporter already shutdown, ignoring batch")
- return LogExportResult.FAILURE
+ return LogRecordExportResult.FAILURE
serialized_data = encode_logs(batch).SerializeToString()
deadline_sec = time() + self._timeout
for retry_num in range(_MAX_RETRYS):
resp = self._export(serialized_data, deadline_sec - time())
if resp.ok:
- return LogExportResult.SUCCESS
+ return LogRecordExportResult.SUCCESS
# multiplying by a random number between .8 and 1.2 introduces a
+/20% jitter to each backoff.
backoff_seconds = 2**retry_num * random.uniform(0.8, 1.2)
if (
@@ -200,7 +202,7 @@
resp.status_code,
resp.text,
)
- return LogExportResult.FAILURE
+ return LogRecordExportResult.FAILURE
_logger.warning(
"Transient error %s encountered while exporting logs batch,
retrying in %.2fs.",
resp.reason,
@@ -210,7 +212,7 @@
if shutdown:
_logger.warning("Shutdown in progress, aborting retry.")
break
- return LogExportResult.FAILURE
+ return LogRecordExportResult.FAILURE
def force_flush(self, timeout_millis: float = 10_000) -> bool:
"""Nothing is buffered in this exporter, so this method does
nothing."""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.38.0/src/opentelemetry/exporter/otlp/proto/http/version/__init__.py
new/opentelemetry_exporter_otlp_proto_http-1.39.1/src/opentelemetry/exporter/otlp/proto/http/version/__init__.py
---
old/opentelemetry_exporter_otlp_proto_http-1.38.0/src/opentelemetry/exporter/otlp/proto/http/version/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_http-1.39.1/src/opentelemetry/exporter/otlp/proto/http/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_http-1.38.0/tests/_common/__init__.py
new/opentelemetry_exporter_otlp_proto_http-1.39.1/tests/_common/__init__.py
--- old/opentelemetry_exporter_otlp_proto_http-1.38.0/tests/_common/__init__.py
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_exporter_otlp_proto_http-1.39.1/tests/_common/__init__.py
1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-# Copyright The OpenTelemetry Authors
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# pylint: disable=protected-access
-
-
-class IterEntryPoint:
- def __init__(self, name, class_type):
- self.name = name
- self.class_type = class_type
-
- def load(self):
- return self.class_type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.38.0/tests/metrics/test_otlp_metrics_exporter.py
new/opentelemetry_exporter_otlp_proto_http-1.39.1/tests/metrics/test_otlp_metrics_exporter.py
---
old/opentelemetry_exporter_otlp_proto_http-1.38.0/tests/metrics/test_otlp_metrics_exporter.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_http-1.39.1/tests/metrics/test_otlp_metrics_exporter.py
2020-02-02 01:00:00.000000000 +0100
@@ -77,8 +77,7 @@
InstrumentationScope as SDKInstrumentationScope,
)
from opentelemetry.test.metrictestutil import _generate_sum
-
-from .._common import IterEntryPoint
+from opentelemetry.test.mock_test_classes import IterEntryPoint
OS_ENV_ENDPOINT = "os.env.base"
OS_ENV_CERTIFICATE = "os/env/base.crt"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.38.0/tests/test_proto_log_exporter.py
new/opentelemetry_exporter_otlp_proto_http-1.39.1/tests/test_proto_log_exporter.py
---
old/opentelemetry_exporter_otlp_proto_http-1.38.0/tests/test_proto_log_exporter.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_http-1.39.1/tests/test_proto_log_exporter.py
2020-02-02 01:00:00.000000000 +0100
@@ -26,7 +26,7 @@
from requests import Session
from requests.models import Response
-from opentelemetry._logs import SeverityNumber
+from opentelemetry._logs import LogRecord, SeverityNumber
from opentelemetry.exporter.otlp.proto.http import Compression
from opentelemetry.exporter.otlp.proto.http._log_exporter import (
DEFAULT_COMPRESSION,
@@ -39,9 +39,8 @@
from opentelemetry.proto.collector.logs.v1.logs_service_pb2 import (
ExportLogsServiceRequest,
)
-from opentelemetry.sdk._logs import LogData
-from opentelemetry.sdk._logs import LogRecord as SDKLogRecord
-from opentelemetry.sdk._logs.export import LogExportResult
+from opentelemetry.sdk._logs import ReadWriteLogRecord
+from opentelemetry.sdk._logs.export import LogRecordExportResult
from opentelemetry.sdk.environment_variables import (
_OTEL_PYTHON_EXPORTER_OTLP_HTTP_LOGS_CREDENTIAL_PROVIDER,
OTEL_EXPORTER_OTLP_CERTIFICATE,
@@ -61,6 +60,7 @@
)
from opentelemetry.sdk.resources import Resource as SDKResource
from opentelemetry.sdk.util.instrumentation import InstrumentationScope
+from opentelemetry.test.mock_test_classes import IterEntryPoint
from opentelemetry.trace import (
NonRecordingSpan,
SpanContext,
@@ -68,8 +68,6 @@
set_span_in_context,
)
-from ._common import IterEntryPoint
-
ENV_ENDPOINT = "http://localhost.env:8080/"
ENV_CERTIFICATE = "/etc/base.crt"
ENV_CLIENT_CERTIFICATE = "/etc/client-cert.pem"
@@ -290,16 +288,16 @@
)
)
)
- log = LogData(
- log_record=SDKLogRecord(
+ log = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650195189786182,
context=ctx,
severity_text="WARN",
severity_number=SeverityNumber.WARN,
body="Invalid trace id check",
- resource=SDKResource({"first_resource": "value"}),
attributes={"a": 1, "b": "c"},
),
+ resource=SDKResource({"first_resource": "value"}),
instrumentation_scope=InstrumentationScope("name", "version"),
)
log_records = TestOTLPHTTPLogExporter.export_log_and_deserialize(log)
@@ -326,16 +324,16 @@
)
)
- log = LogData(
- log_record=SDKLogRecord(
+ log = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650195189786360,
context=ctx,
severity_text="WARN",
severity_number=SeverityNumber.WARN,
body="Invalid span id check",
- resource=SDKResource({"first_resource": "value"}),
attributes={"a": 1, "b": "c"},
),
+ resource=SDKResource({"first_resource": "value"}),
instrumentation_scope=InstrumentationScope("name", "version"),
)
log_records = TestOTLPHTTPLogExporter.export_log_and_deserialize(log)
@@ -351,7 +349,7 @@
self.fail("No log records found")
@staticmethod
- def _get_sdk_log_data() -> List[LogData]:
+ def _get_sdk_log_data() -> List[ReadWriteLogRecord]:
ctx_log1 = set_span_in_context(
NonRecordingSpan(
SpanContext(
@@ -362,16 +360,16 @@
)
)
)
- 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"},
),
+ resource=SDKResource({"first_resource": "value"}),
instrumentation_scope=InstrumentationScope(
"first_name", "first_version"
),
@@ -386,16 +384,16 @@
)
)
)
- 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"
),
@@ -410,16 +408,16 @@
)
)
)
- log3 = LogData(
- log_record=SDKLogRecord(
+ log3 = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650427658989056,
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,
)
ctx_log4 = set_span_in_context(
@@ -432,16 +430,16 @@
)
)
)
- log4 = LogData(
- log_record=SDKLogRecord(
+ log4 = ReadWriteLogRecord(
+ LogRecord(
timestamp=1644650584292683008,
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"}),
attributes={"filename": "model.py", "func_name": "run_method"},
),
+ resource=SDKResource({"first_resource": "value"}),
instrumentation_scope=InstrumentationScope(
"another_name", "another_version"
),
@@ -456,7 +454,8 @@
"""
self.assertEqual(
- OTLPLogExporter().export(MagicMock()), LogExportResult.SUCCESS
+ OTLPLogExporter().export(MagicMock()),
+ LogRecordExportResult.SUCCESS,
)
@patch.object(Session, "post")
@@ -472,7 +471,7 @@
# Set timeout to 1.5 seconds
self.assertEqual(
exporter.export(self._get_sdk_log_data()),
- LogExportResult.FAILURE,
+ LogRecordExportResult.FAILURE,
)
after = time.time()
# First call at time 0, second at time 1, then an early return
before the second backoff sleep b/c it would exceed timeout.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_exporter_otlp_proto_http-1.38.0/tests/test_proto_span_exporter.py
new/opentelemetry_exporter_otlp_proto_http-1.39.1/tests/test_proto_span_exporter.py
---
old/opentelemetry_exporter_otlp_proto_http-1.38.0/tests/test_proto_span_exporter.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_exporter_otlp_proto_http-1.39.1/tests/test_proto_span_exporter.py
2020-02-02 01:00:00.000000000 +0100
@@ -50,8 +50,7 @@
)
from opentelemetry.sdk.trace import _Span
from opentelemetry.sdk.trace.export import SpanExportResult
-
-from ._common import IterEntryPoint
+from opentelemetry.test.mock_test_classes import IterEntryPoint
OS_ENV_ENDPOINT = "os.env.base"
OS_ENV_CERTIFICATE = "os/env/base.crt"