Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package
python-opentelemetry-instrumentation-fastapi for openSUSE:Factory checked in at
2026-04-14 17:48:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing
/work/SRC/openSUSE:Factory/python-opentelemetry-instrumentation-fastapi (Old)
and
/work/SRC/openSUSE:Factory/.python-opentelemetry-instrumentation-fastapi.new.21863
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-opentelemetry-instrumentation-fastapi"
Tue Apr 14 17:48:55 2026 rev:9 rq:1346292 version:0.62b0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-opentelemetry-instrumentation-fastapi/python-opentelemetry-instrumentation-fastapi.changes
2026-03-31 15:24:10.397029593 +0200
+++
/work/SRC/openSUSE:Factory/.python-opentelemetry-instrumentation-fastapi.new.21863/python-opentelemetry-instrumentation-fastapi.changes
2026-04-14 17:49:25.894297616 +0200
@@ -1,0 +2,46 @@
+Sun Apr 12 17:47:20 UTC 2026 - Dirk Müller <[email protected]>
+
+- update to 0.62b0:
+ * `opentelemetry-instrumentation-asgi`: Respect
+ `suppress_http_instrumentation` context in ASGI middleware to
+ skip server span creation when HTTP instrumentation is
+ suppressed
+ * `opentelemetry-instrumentation-confluent-kafka`: Loosen
+ confluent-kafka upper bound to <3.0.0
+ * `opentelemetry-instrumentation`: Add support for wrapt 2.x
+ * `opentelemetry-instrumentation-psycopg2`: Add parameter
+ `capture_parameters` to instrumentor.
+ * `opentelemetry-instrumentation-botocore`: Add support for
+ instrumenting `aiobotocore`
+ * `opentelemetry-instrumentation-sqlalchemy`: implement new
+ semantic convention opt-in migration
+ * `opentelemetry-docker-tests`: Replace deprecated
+ `SpanAttributes` from `opentelemetry.semconv.trace` with
+ `opentelemetry.semconv._incubating.attributes`
+ * `opentelemetry-instrumentation-confluent-kafka`: Skip `recv`
+ span creation when `poll()` returns no message or `consume()`
+ returns an empty list, avoiding empty spans on idle polls
+ * Fix intermittent `Core Contrib Test` CI failures caused by
+ GitHub git CDN SHA propagation lag by installing core
+ packages from the already-checked-out local copy instead of a
+ second git clone
+ * Don't import module in unwrap if not already imported
+ * `opentelemetry-instrumentation-logging`: Map Python
+ `CRITICAL` log level to OTel `FATAL` severity text and
+ `WARNING` to `WARN`
+ * `opentelemetry-instrumentation-logging`: Add recursion guard
+ in LoggingHandler.emit to prevent deadlock
+ * `opentelemetry-instrumentation-grpc`: Fix bidirectional
+ streaming RPCs raising `AttributeError: 'generator' object
+ has no attribute 'add_done_callback'`
+ * `opentelemetry-instrumentation-aiokafka`: fix `Unclosed
+ AIOKafkaProducer` warning and `RuntimeWarning: coroutine was
+ never awaited` in tests
+ * `opentelemetry-instrumentation-aiokafka`: Fix compatibility
+ with aiokafka 0.13 by calling
+ `_key_serializer`/`_value_serializer` directly instead of the
+ internal `_serialize` method whose signature changed in 0.13
+ from `(topic, key, value)` to `(key, value, headers)`
+ * `opentelemetry-instrumentation-boto`: Remove instrumentation
+
+-------------------------------------------------------------------
Old:
----
opentelemetry_instrumentation_fastapi-0.61b0.tar.gz
New:
----
opentelemetry_instrumentation_fastapi-0.62b0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-opentelemetry-instrumentation-fastapi.spec ++++++
--- /var/tmp/diff_new_pack.hthHqX/_old 2026-04-14 17:49:26.654329031 +0200
+++ /var/tmp/diff_new_pack.hthHqX/_new 2026-04-14 17:49:26.654329031 +0200
@@ -27,7 +27,7 @@
%{?sle15_python_module_pythons}
Name: python-opentelemetry-instrumentation-fastapi%{?psuffix}
-Version: 0.61b0
+Version: 0.62b0
Release: 0
Summary: OpenTelemetry FastAPI Instrumentation
License: Apache-2.0
@@ -37,7 +37,7 @@
BuildRequires: %{python_module pip}
BuildRequires: python-rpm-macros
%if %{with test}
-BuildRequires: %{python_module fastapi >= 0.58}
+BuildRequires: %{python_module fastapi >= 0.92}
BuildRequires: %{python_module httpx}
BuildRequires: %{python_module opentelemetry-instrumentation-fastapi =
%{version}}
BuildRequires: %{python_module opentelemetry-test-utils = %{version}}
@@ -45,6 +45,9 @@
%endif
BuildRequires: %{python_module opentelemetry-api >= 1.12}
BuildRequires: %{python_module opentelemetry-instrumentation = %{version}}
+BuildRequires: %{python_module opentelemetry-instrumentation-asgi =
%{version}}
+BuildRequires: %{python_module opentelemetry-semantic-conventions =
%{version}}
+BuildRequires: %{python_module opentelemetry-util-http = %{version}}
BuildRequires: fdupes
Requires: python-opentelemetry-api >= 1.12
Requires: python-opentelemetry-instrumentation = %{version}
++++++ opentelemetry_instrumentation_fastapi-0.61b0.tar.gz ->
opentelemetry_instrumentation_fastapi-0.62b0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_instrumentation_fastapi-0.61b0/.gitignore
new/opentelemetry_instrumentation_fastapi-0.62b0/.gitignore
--- old/opentelemetry_instrumentation_fastapi-0.61b0/.gitignore 2020-02-02
01:00:00.000000000 +0100
+++ new/opentelemetry_instrumentation_fastapi-0.62b0/.gitignore 2020-02-02
01:00:00.000000000 +0100
@@ -61,3 +61,6 @@
# Benchmark result files
*-benchmark.json
+
+# opentelemetry-admin jobs
+opentelemetry-admin-jobs.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_instrumentation_fastapi-0.61b0/PKG-INFO
new/opentelemetry_instrumentation_fastapi-0.62b0/PKG-INFO
--- old/opentelemetry_instrumentation_fastapi-0.61b0/PKG-INFO 2020-02-02
01:00:00.000000000 +0100
+++ new/opentelemetry_instrumentation_fastapi-0.62b0/PKG-INFO 2020-02-02
01:00:00.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.4
Name: opentelemetry-instrumentation-fastapi
-Version: 0.61b0
+Version: 0.62b0
Summary: OpenTelemetry FastAPI Instrumentation
Project-URL: Homepage,
https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-fastapi
Project-URL: Repository,
https://github.com/open-telemetry/opentelemetry-python-contrib
@@ -20,10 +20,10 @@
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.9
Requires-Dist: opentelemetry-api~=1.12
-Requires-Dist: opentelemetry-instrumentation-asgi==0.61b0
-Requires-Dist: opentelemetry-instrumentation==0.61b0
-Requires-Dist: opentelemetry-semantic-conventions==0.61b0
-Requires-Dist: opentelemetry-util-http==0.61b0
+Requires-Dist: opentelemetry-instrumentation-asgi==0.62b0
+Requires-Dist: opentelemetry-instrumentation==0.62b0
+Requires-Dist: opentelemetry-semantic-conventions==0.62b0
+Requires-Dist: opentelemetry-util-http==0.62b0
Provides-Extra: instruments
Requires-Dist: fastapi~=0.92; extra == 'instruments'
Description-Content-Type: text/x-rst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_instrumentation_fastapi-0.61b0/pyproject.toml
new/opentelemetry_instrumentation_fastapi-0.62b0/pyproject.toml
--- old/opentelemetry_instrumentation_fastapi-0.61b0/pyproject.toml
2020-02-02 01:00:00.000000000 +0100
+++ new/opentelemetry_instrumentation_fastapi-0.62b0/pyproject.toml
2020-02-02 01:00:00.000000000 +0100
@@ -27,10 +27,10 @@
]
dependencies = [
"opentelemetry-api ~= 1.12",
- "opentelemetry-instrumentation == 0.61b0",
- "opentelemetry-instrumentation-asgi == 0.61b0",
- "opentelemetry-semantic-conventions == 0.61b0",
- "opentelemetry-util-http == 0.61b0",
+ "opentelemetry-instrumentation == 0.62b0",
+ "opentelemetry-instrumentation-asgi == 0.62b0",
+ "opentelemetry-semantic-conventions == 0.62b0",
+ "opentelemetry-util-http == 0.62b0",
]
[project.optional-dependencies]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_instrumentation_fastapi-0.61b0/src/opentelemetry/instrumentation/fastapi/version.py
new/opentelemetry_instrumentation_fastapi-0.62b0/src/opentelemetry/instrumentation/fastapi/version.py
---
old/opentelemetry_instrumentation_fastapi-0.61b0/src/opentelemetry/instrumentation/fastapi/version.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_instrumentation_fastapi-0.62b0/src/opentelemetry/instrumentation/fastapi/version.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__ = "0.61b0"
+__version__ = "0.62b0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/opentelemetry_instrumentation_fastapi-0.61b0/tests/test_fastapi_instrumentation.py
new/opentelemetry_instrumentation_fastapi-0.62b0/tests/test_fastapi_instrumentation.py
---
old/opentelemetry_instrumentation_fastapi-0.61b0/tests/test_fastapi_instrumentation.py
2020-02-02 01:00:00.000000000 +0100
+++
new/opentelemetry_instrumentation_fastapi-0.62b0/tests/test_fastapi_instrumentation.py
2020-02-02 01:00:00.000000000 +0100
@@ -25,6 +25,7 @@
import fastapi
import pytest
+from fastapi.middleware.asyncexitstack import AsyncExitStackMiddleware
from fastapi.middleware.httpsredirect import HTTPSRedirectMiddleware
from fastapi.responses import JSONResponse, PlainTextResponse
from fastapi.routing import APIRoute
@@ -237,27 +238,27 @@
custom_router = fastapi.APIRouter(route_class=CustomRoute)
@sub_app.get("/home")
- async def _():
+ async def _home():
return {"message": "sub hi"}
@app.get("/foobar")
- async def _():
+ async def _foobar():
return {"message": "hello world"}
@app.get("/user/{username}")
- async def _(username: str):
+ async def _user(username: str):
return {"message": username}
@app.get("/exclude/{param}")
- async def _(param: str):
+ async def _exclude(param: str):
return {"message": param}
@app.get("/healthzz")
- async def _():
+ async def _health():
return {"message": "ok"}
@app.get("/error")
- async def _():
+ async def _error():
raise UnhandledException("This is an unhandled exception")
@custom_router.get("/success")
@@ -1021,27 +1022,27 @@
custom_router = fastapi.APIRouter(route_class=CustomRoute)
@sub_app.get("/home")
- async def _():
+ async def _home():
return {"message": "sub hi"}
@app.get("/foobar")
- async def _():
+ async def _foobar():
return {"message": "hello world"}
@app.get("/user/{username}")
- async def _(username: str):
+ async def _user(username: str):
return {"message": username}
@app.get("/exclude/{param}")
- async def _(param: str):
+ async def _exclude(param: str):
return {"message": param}
@app.get("/healthzz")
- async def _():
+ async def _health():
return {"message": "ok"}
@app.get("/error")
- async def _():
+ async def _error():
raise UnhandledException("This is an unhandled exception")
@custom_router.get("/success")
@@ -1964,7 +1965,7 @@
return PlainTextResponse("", status_code)
@self.app.get("/foobar")
- async def _():
+ async def _foobar():
self.request_trace_id = (
trace.get_current_span().get_span_context().trace_id
)
@@ -2031,7 +2032,7 @@
"""Exceptions from user middlewares are recorded in the active span"""
@self.app.get("/foobar")
- async def _():
+ async def _foobar():
return PlainTextResponse("Hello World")
@self.app.middleware("http")
@@ -2073,7 +2074,12 @@
app = TestBaseFastAPI._create_fastapi_app()
def build_middleware_stack():
- return app.router
+ # Return something that is NOT a ServerErrorMiddleware so the
+ # instrumentation fallback path triggers, but still wrap the
+ # router with AsyncExitStackMiddleware so that newer FastAPI
+ # versions (which assert ``fastapi_middleware_astack`` exists in
+ # the request scope) can service requests normally.
+ return AsyncExitStackMiddleware(app.router)
app.build_middleware_stack = build_middleware_stack
return app
@@ -2098,7 +2104,7 @@
self.assertEqual(len(errors), 1)
self.assertEqual(
errors[0].getMessage(),
- "Skipping FastAPI instrumentation due to unexpected middleware
stack: expected ServerErrorMiddleware, got <class 'fastapi.routing.APIRouter'>",
+ "Skipping FastAPI instrumentation due to unexpected middleware
stack: expected ServerErrorMiddleware, got <class
'fastapi.middleware.asyncexitstack.AsyncExitStackMiddleware'>",
)