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'>",
         )
 
 

Reply via email to