Skip to content

chore(deps): bump the backend-python group across 1 directory with 56 updates - #1390

Closed
dependabot[bot] wants to merge 6 commits into
developfrom
dependabot/pip/backend/backend-python-d344204b7b
Closed

chore(deps): bump the backend-python group across 1 directory with 56 updates#1390
dependabot[bot] wants to merge 6 commits into
developfrom
dependabot/pip/backend/backend-python-d344204b7b

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 17, 2026

Copy link
Copy Markdown
Contributor

Bumps the backend-python group with 56 updates in the /backend directory:

Package From To
fastapi 0.139.0 0.141.1
starlette 1.3.1 1.6.0
uvicorn 0.51.0 0.52.3
pydantic-settings 2.14.2 2.15.0
sqlalchemy 2.0.51 2.0.52
alembic 1.18.5 1.19.1
greenlet 3.5.3 3.5.5
openai 2.45.0 3.0.0
google-auth-httplib2 0.4.0 0.4.1
prometheus-fastapi-instrumentator 8.0.2 8.1.0
opentelemetry-api 1.43.0 1.44.0
opentelemetry-sdk 1.43.0 1.44.0
opentelemetry-instrumentation-fastapi 0.64b0 0.65b0
opentelemetry-exporter-otlp 1.43.0 1.44.0
setuptools 83.0.0 84.0.0
wheel 0.47.0 0.48.0
websockets 16.1 17.0.1
icalendar 7.2.0 7.2.2
coverage 7.15.1 7.15.4
ruff 0.15.21 0.16.3
pydantic-ai-slim 2.9.0 2.30.0
genai-prices 0.0.71 0.1.2
httpcore2 2.5.0 2.10.0
httpx2 2.5.0 2.10.0
logfire-api 4.37.0 4.40.0
pydantic-graph 2.9.0 2.30.0
annotated-doc 0.0.4 0.0.5
annotated-types 0.7.0 0.8.0
asgiref 3.11.1 3.12.1
certifi 2026.6.17 2026.7.22
cffi 2.1.0 2.1.1
charset-normalizer 3.4.9 3.5.0
google-api-core 2.31.0 2.34.0
google-auth 2.55.2 2.56.3
googleapis-common-protos 1.75.0 1.75.1
grpcio 1.82.1 1.83.0
langchain-core 1.4.9 1.5.4
langsmith 0.10.2 0.10.18
mako 1.3.12 1.4.1
opentelemetry-exporter-otlp-proto-common 1.43.0 1.44.0
opentelemetry-exporter-otlp-proto-grpc 1.43.0 1.44.0
opentelemetry-exporter-otlp-proto-http 1.43.0 1.44.0
opentelemetry-instrumentation 0.64b0 0.65b0
opentelemetry-instrumentation-asgi 0.64b0 0.65b0
opentelemetry-proto 1.43.0 1.44.0
opentelemetry-semantic-conventions 0.64b0 0.65b0
opentelemetry-util-http 0.64b0 0.65b0
packaging 26.2 26.3
prometheus-client 0.25.0 0.26.0
proto-plus 1.28.1 1.28.3
pydantic-core 2.46.4 2.48.0
regex 2026.7.10 2026.7.19
tqdm 4.68.4 4.70.0
typing-inspection 0.4.2 0.4.4
wrapt 2.2.2 2.3.0
xxhash 3.8.1 4.0.0

Updates fastapi from 0.139.0 to 0.141.1

Release notes

Sourced from fastapi's releases.

0.141.1

Fixes

  • 🐛 Fix support for background tasks and headers from dependencies in app.frontend(). PR #16105 by @​tiangolo.

Docs

0.141.0

Features

  • ✨ Add app.frontend(check_dir="auto"), to make local development more convenient with fastapi dev. PR #16102 by @​tiangolo.

0.140.13

Fixes

Docs

0.140.12

Fixes

0.140.11

Fixes

  • 🐛 Fix response_model_* params ignored for non-generator endpoints with Iterable[..] return type. PR #15093 by @​YuriiMotov.

0.140.10

Fixes

Internal

0.140.9

Fixes

  • 🐛 Fix exclude_defaults not propagated to dict keys and values in jsonable_encoder. PR #16043 by @​MBGrao.

... (truncated)

Commits
  • 95f8322 🔖 Release version 0.141.1 (#16106)
  • f137944 📝 Update release notes
  • d623544 🐛 Fix support for background tasks and headers from dependencies in `app.fron...
  • 1d211b9 📝 Update release notes
  • 8a1f876 📝 Document FASTAPI_ENV in FastAPI CLI guide (#16104)
  • c7e7b65 🔖 Release version 0.141.0 (#16103)
  • 6bceb84 📝 Update release notes
  • 5429fed ✨ Add app.frontend(check_dir="auto"), to make local development more conven...
  • 628663f 🔖 Release version 0.140.13 (#16096)
  • 0b54fd0 📝 Update release notes
  • Additional commits viewable in compare view

Updates starlette from 1.3.1 to 1.6.0

Release notes

Sourced from starlette's releases.

Version 1.6.0

What's Changed

New Contributors

Full Changelog: Kludex/starlette@1.5.1...1.6.0

Version 1.5.1

What's Changed

Full Changelog: Kludex/starlette@1.5.0...1.5.1

Version 1.5.0

This release is all about giving GZipMiddleware some love. 🗜️

What's Changed

Full Changelog: Kludex/starlette@1.4.1...1.5.0

Version 1.4.1

What's Changed

Full Changelog: Kludex/starlette@1.4.0...1.4.1

Version 1.4.0

What's Changed

New Contributors

Full Changelog: Kludex/starlette@1.3.1...1.4.0

Changelog

Sourced from starlette's changelog.

1.6.0 (August 8, 2026)

Added

  • Add max_body_size to Starlette and route classes #3431.
  • Expose http.response.debug information via response extensions #3130.

1.5.1 (August 8, 2026)

Fixed

  • Reject inverted single-byte ranges in FileResponse #3389.
  • Limit FileResponse to 100 ranges #3430.

1.5.0 (August 8, 2026)

Added

  • Add exclude_content_types parameter to GZipMiddleware #3418.

Changed

  • Expand default excluded content types in GZipMiddleware #3421.

Fixed

  • Flush GZip output for each streamed chunk #3419.
  • Skip compression of partial responses in GZipMiddleware #3420.

1.4.1 (August 5, 2026)

Fixed

  • Default thread_minimum_size to 128 KiB in GZipResponder, keeping it usable without the new keyword argument #3415.

1.4.0 (August 5, 2026)

Added

  • Offload large GZip compression to a worker thread, keeping the event loop responsive. GZipMiddleware accepts a new thread_minimum_size parameter (default 128 KiB) controlling the minimum body chunk size compressed in a thread #3410.

Changed

  • Use zlib.compressobj instead of GzipFile in GZipMiddleware, reducing memory usage during compression #3411.
  • Lazily allocate GZipMiddleware compression resources, avoiding compressor allocation for responses that are never compressed #3407.
Commits
  • 4f250d6 Version 1.6.0 (#3434)
  • 9eea41a Expose http.response.debug info via response extensions (#3130)
  • 38f8999 Add max_body_size to Starlette and route classes (#3431)
  • c41236c Version 1.5.1 (#3432)
  • 9c500db Limit FileResponse to 100 ranges (#3430)
  • 78ae82c Reject inverted single-byte Range like bytes=5-4 (#3389)
  • c1d6eda chore(deps): bump pymdown-extensions from 11.0 to 11.0.1 (#3429)
  • ee66ca4 chore(deps): bump the python-packages group across 1 directory with 8 updates...
  • 00d1016 fix(tests): skip test_staticfiles_filename_too_long on Windows where os.pathc...
  • d96887e Add Pydantic Logfire banner to the docs (#3428)
  • Additional commits viewable in compare view

Updates uvicorn from 0.51.0 to 0.52.3

Release notes

Sourced from uvicorn's releases.

Version 0.52.3

Changed

  • Update zttp to 0.0.24 and use its combined receive path, improving HTTP/1.1 request parsing performance (#3067)

Full Changelog: Kludex/uvicorn@0.52.2...0.52.3

Version 0.52.2

Fixed

  • Update zttp to 0.0.22, fixing bodyless request receives and improving HTTP/1 request parsing performance (#3063)

Full Changelog: Kludex/uvicorn@0.52.1...0.52.2

Version 0.52.1

Fixed

  • Complete the closing handshake on server-initiated WebSocket closes in the websockets-sansio and wsproto implementations, waiting for the client's close reply with a 10 second timeout instead of resetting the connection (#3053)
  • Add missing write flow control to the websockets-sansio implementation, preventing data truncation on server-initiated closes with large in-flight payloads (#3048)
  • Handle connection loss while a WebSocket write is waiting on backpressure (#3050)
  • Remove duplicate Content-Type and Content-Length headers from WebSocket denial responses on the websockets-sansio implementation, and deliver non-UTF-8 denial bodies intact (#3041)

Full Changelog: Kludex/uvicorn@0.52.0...0.52.1

Version 0.52.0

This release adds an experimental HTTP/1.1 implementation backed by zttp, a sans-IO HTTP parser I've been developing on the side: a core written in Zig, with bindings to Python. It has been running under a fuzzer for some weeks now, and has been through multiple rounds of security auditing.

It is still experimental, so don't put it in front of production traffic yet. Try it with --http zttp, and please send any feedback to the issue tracker.

Added

  • Add an experimental zttp HTTP/1.1 implementation, selectable with --http zttp (#2979)

Fixed

  • Keep non-ASCII WebSocket request headers intact with websockets 17.0, which encodes them with ISO-8859-1 (#3036)

Full Changelog: Kludex/uvicorn@0.51.0...0.52.0

Changelog

Sourced from uvicorn's changelog.

0.52.3 (August 13, 2026)

Changed

  • Update zttp to 0.0.24 and use its combined receive path, improving HTTP/1.1 request parsing performance (#3067)

0.52.2 (August 13, 2026)

Fixed

  • Update zttp to 0.0.22, fixing bodyless request receives and improving HTTP/1 request parsing performance (#3063)

0.52.1 (August 1, 2026)

Fixed

  • Complete the closing handshake on server-initiated WebSocket closes in the websockets-sansio and wsproto implementations, waiting for the client's close reply with a 10 second timeout instead of resetting the connection (#3053)
  • Add missing write flow control to the websockets-sansio implementation, preventing data truncation on server-initiated closes with large in-flight payloads (#3048)
  • Handle connection loss while a WebSocket write is waiting on backpressure (#3050)
  • Remove duplicate Content-Type and Content-Length headers from WebSocket denial responses on the websockets-sansio implementation, and deliver non-UTF-8 denial bodies intact (#3041)

0.52.0 (July 29, 2026)

This release adds an experimental HTTP/1.1 implementation backed by zttp, a sans-IO HTTP parser I've been developing on the side: a core written in Zig, with bindings to Python. It has been running under a fuzzer for some weeks now, and has been through multiple rounds of security auditing.

It is still experimental, so don't put it in front of production traffic yet. Try it with --http zttp, and please send any feedback to the issue tracker.

Added

  • Add an experimental zttp HTTP/1.1 implementation, selectable with --http zttp (#2979)

Fixed

  • Keep non-ASCII WebSocket request headers intact with websockets 17.0, which encodes them with ISO-8859-1 (#3036)
Commits

Updates pydantic-settings from 2.14.2 to 2.15.0

Release notes

Sourced from pydantic-settings's releases.

v2.15.0

Highlights

Behavior changes

  • case_sensitive now applies to init kwargs and config-file sources (#900). InitSettingsSource and the JSON/TOML/YAML config sources previously ignored case_sensitive. Since it defaults to False, case-insensitive matching is now the default for these sources — e.g. Settings(TeSt=...) now populates a test field where it previously did not. Nested keys are still matched case-sensitively.
  • Fields with unresolved forward references now emit a warning (#901). Settings sources can silently fail to resolve such fields; they now raise IncompleteFieldDefinitionWarning telling you to call model_rebuild(). If you have filterwarnings = error configured, this may surface as a new failure.
  • Non-JSON env values for strict fields now raise ValidationError (#926) instead of a less specific error.

New features

  • Show environment variable names in CLI help via cli_show_env_vars=True (#860), so generated --help output doubles as configuration documentation.
  • PYDANTIC_SETTINGS_DEBUG for debugging settings resolution (#906, #913). Set it to a truthy value with DEBUG logging enabled to see each source's contribution in priority order, which source won for each value, and which env_file/secret files were probed, loaded, or skipped — the long-standing "why isn't my .env being picked up?" question.
  • toml_table_header for regular TOML files (#882, #886, #887), letting you root settings at a nested table in any TOML file, not just pyproject.toml.
  • Traversable support for JSON/TOML/YAML file sources (#902), so you can load config packaged inside a distribution — including files inside a zip or wheel — via importlib.resources.files(...) without casting to Path.
  • GCP: project_id can come from an earlier settings source (#878), rather than only from the constructor or GOOGLE_CLOUD_PROJECT.

Bug fixes

  • Fix env vars not loading on Windows with case_sensitive=True (#894). Windows upper-cases os.environ keys, so fields raised Field required instead of picking up their values.
  • Read secret files as UTF-8 instead of the platform locale encoding (#917). On Windows code pages such as cp1252 this silently corrupted non-ASCII secrets.
  • Fix AliasPath on nested model fields not JSON-decoding env values (#898).
  • Fix case-insensitive matching for optional nested models (#905).
  • Fix dotenv extras being wrongly claimed by a complex field sharing a name prefix (#912) — e.g. dbx_token being swallowed by a db: dict field.
  • Fix nested_model_default_partial_update=True corrupting discriminated unions (#876).
  • Fix Secret subclasses crashing when loaded from the environment (#920).
  • Fix enum names not parsing through nested annotations such as Optional[Annotated[MyEnum, ...]] with env_parse_enums=True (#910).
  • An empty yaml_config_section now falls back to defaults instead of raising AttributeError: 'NoneType' object has no attribute 'keys' (#914).
  • NestedSecretsSettingsSource no longer follows symlinks pointing outside secrets_dir (#889).
  • GCP: skip the list_secrets call when case_sensitive=True (#862), lowering the required IAM permissions to just roles/secretmanager.secretAccessor.
  • AWS: types-boto3[secretsmanager] is no longer required at runtime (#880).

Documentation

  • Document JSON parsing of complex env values, plus a comma-separated-values recipe (#919).
  • Recommend an async settings loading pattern (#908).
  • Clarify behavior when an unprefixed value is present in a dotenv file (#895).
  • Clarify environment variable helper descriptions (#867) and fix assorted typos (#904).

What's Changed

... (truncated)

Commits
  • f725ca1 Prepare release 2.15.0 (#930)
  • 28f35c2 Bump the python-packages group with 4 updates (#929)
  • 9056db0 test: move function-local imports to the top of test modules (#927)
  • f077e3a fix: raise ValidationError for non-JSON env values on strict fields (#926)
  • ae25d70 fix: treat Secret subclasses as non-complex fields (#716) (#920)
  • 798dcea Bump the python-packages group with 4 updates (#924)
  • a190041 Bump the github-actions group with 4 updates (#925)
  • 5d93332 Bump the python-packages group with 4 updates (#921)
  • d2fdeda fix: read secret files as UTF-8 instead of the locale encoding (#917)
  • 2256a4e Bump the python-packages group with 3 updates (#915)
  • Additional commits viewable in compare view

Updates sqlalchemy from 2.0.51 to 2.0.52

Release notes

Sourced from sqlalchemy's releases.

2.0.52

Released: August 11, 2026

platform

  • [platform] [bug] Python 3.15 support has been added and tested, including minimal changes for full compatibility.

    References: #13477

orm

  • [orm] [bug] Fixed a result-column misalignment bug in ORM-enabled UPDATE statements where synchronize_session="fetch" is in use, either explicitly or because the statement uses constructs such as CTEs that implicitly select for it. Columns in rows returned by .returning() could be returned under incorrect keys (e.g. row[SomeClass.a] returning the value of a different column), a problem most likely to manifest under concurrent workloads. ORM DELETE statements were not affected.

    References: #13439

  • [orm] [bug] Fixed bug where a failed _orm.Session.bulk_insert_mappings(), _orm.Session.bulk_update_mappings() or _orm.Session.bulk_save_objects() call could leave the _orm.Session permanently in a "flushing" state, such as when the transaction could not be begun because a previous flush had left it needing a rollback. Unlike _orm.Session.flush(), the bulk methods set the internal flushing flag and began the transaction outside of the try/finally block that resets it, so that neither _orm.Session.rollback() nor _orm.Session.close() would clear it, and every subsequent flush would raise InvalidRequestError: Session is already flushing. Pull request courtesy Hamody We.

    References: #13485

  • [orm] [bug] Fixed issue where unpickling an ORM object that were loaded using loader options making use of wildcard tokens, such as _orm.load_only() or _orm.raiseload() with "*", would fail with KeyError or IndexError if the process doing the unpickling had not yet constructed a loader path making use of that same token. This would typically be observed when the object were unpickled in a separate process, such as with the spawn or forkserver multiprocessing start methods, the latter of which became the default on POSIX platforms as of Python 3.14. The internal collection of these tokens is now established up front, so that it is identical in every process.

... (truncated)

Commits

Updates alembic from 1.18.5 to 1.19.1

Release notes

Sourced from alembic's releases.

1.19.1

Released: August 8, 2026

bug

  • [bug] [autogenerate] Fixed bug in the check constraint detection implemented in #508 that failed to take into account column bound check constraints, leading to wrong autogenerate detections.

    References: #1842

1.19.0

Released: August 4, 2026

changed

  • [changed] [installation] Environmental updates:

    -   Trove classifiers now include Python 3.15 which is now part of CI
        integration
    
    • Python 3.14 is also added to trove classifiers which had been previously omitted

    • Implemented PEP 604 style unions in type annotations

feature

  • [feature] [autogenerate] Autogenerate now detects the addition and removal of named CHECK constraints, as part of the default autogenerate behavior. Detection is name-based only; a constraint whose name is unchanged is presumed equivalent regardless of its expression text, as reliably normalizing SQL expressions across backends for comparison purposes is not generally feasible. This behavior is implemented as a plugin named alembic.autogenerate.checkconstraint_byname, and may be disabled if not desired by excluding it from the EnvironmentContext.configure.autogenerate_plugins list. Pull request courtesy Francois van Kempen.

    References: #508

bug

... (truncated)

Commits

Updates greenlet from 3.5.3 to 3.5.5

Changelog

Sourced from greenlet's changelog.

3.5.5 (2026-08-10)

  • Link the C++ runtime statically into the Windows wheels again, as the Appveyor builds did through 3.3.0. Since 3.3.1 _greenlet.pyd imported MSVCP140.dll, which no Windows CPython distribution ships, so importing greenlet failed on machines without the Visual C++ redistributable. See issue 525 <https://github.com/python-greenlet/greenlet/issues/525>_. Issue and pull request by Daniel Sticker.

.. note:: Binary 3.15 wheels are now built with 3.15.0rc1. This should be compatible with future 3.15 releases and is believed compatible with 3.15b4 as well (but not earlier versions).

3.5.4 (2026-07-22)

  • Fix a crash (segfault) on free-threaded builds of Python 3.14 and later when the garbage collector runs while a greenlet that was started from a non-empty C-stack-reference state is active. See issue 515 <https://github.com/python-greenlet/greenlet/issues/515>_. Thanks to ddorian and Kumar Aditya.

  • Fix a potential use-after-free on free-threaded builds of Python 3.14 and later when the garbage collector runs while a greenlet is suspended holding a _PyCStackRef (for example, mid attribute resolution). See issue 515 <https://github.com/python-greenlet/greenlet/issues/515>_. Thanks to ddorian and Kumar Aditya.

  • Fix a deadlock on free-threaded builds when a greenlet switch happened while a PyCriticalSection was held -- for example inside asyncio's Task.__step, which holds one on the running task for the duration of the step. See PR 519 <https://github.com/python-greenlet/greenlet/pull/519/>. Thanks to ddorian and Kumar Aditya.

.. note:: Binary 3.15 wheels are now built with Python 3.15b4. These may not be compatible with earlier or later versions of 3.15. Binary 3.15 wheels of greenlet from previous releases (e.g., 3.5.3) may not be compatible with Python 3.15b4.

Commits
  • ddb1453 Preparing release 3.5.5
  • 7de515c Update CHANGES: Credit for issue 525 and note about 3.15 binary wheels [skip ci]
  • f3746aa Merge pull request #526 from stickerdaniel/windows-static-runtime
  • f1ce3ca Restore static linking of the C++ runtime for Windows wheels
  • b6690a5 Merge pull request #523 from python-greenlet/dependabot/github_actions/github...
  • 726cc38 Bump the github-actions group with 3 updates
  • e5c5f4c Merge pull request #522 from ddorian/c-stack-refs-test-detection
  • be55a59 Check that the suspended greenlet is what keeps the class alive
  • e9c01dd Back to development: 3.5.5
  • 384be88 Preparing release 3.5.4
  • Additional commits viewable in compare view

Updates openai from 2.45.0 to 3.0.0

Release notes

Sourced from openai's releases.

v3.0.0

3.0.0 (2026-08-12)

⚠ BREAKING CHANGES

  • api: HTTPX2 is now the default HTTP client, and httpx is no longer installed automatically. Applications using custom HTTPX clients, transports, or configuration objects must migrate to their HTTPX2 equivalents or use the temporary, runtime-only legacy HTTPX escape hatch. See the HTTPX2 migration guide.

Features

  • api: migrate to HTTPX2 (#3594)

v2.54.0

2.54.0 (2026-08-11)

Features

  • api: Add new Responses model identifiers (#3595) (0652787)

Bug Fixes

  • api: clarify audio upload metadata requirements (#3596) (28888f9)

Chores

  • api: Update generated-file header attribution to Castiron (#3583) (ea17fda)

v2.53.0

2.53.0 (2026-08-03)

Features

  • api: Add gpt-5.5 and tool name/namespace to Responses types (#3569) (dd1202d)

Bug Fixes

  • ci: avoid NumPy source builds and duplicate HTTPX coverage (#3573) (b58332f)

v2.52.1

2.52.1 (2026-07-31)

Full Changelog: v2.52.0...v2.52.1

Chores

... (truncated)

Changelog

Sourced from openai's changelog.

3.0.0 (2026-08-12)

⚠ BREAKING CHANGES

  • api: HTTPX2 is now the default HTTP client, and httpx is no longer installed automatically. Applications using custom HTTPX clients, transports, or configuration objects must migrate to their HTTPX2 equivalents or use the temporary, runtime-only legacy HTTPX escape hatch. See the HTTPX2 migration guide.

Features

  • api: migrate to HTTPX2 (#3594)

2.54.0 (2026-08-11)

Features

  • api: Add new Responses model identifiers (#3595) (0652787)

Bug Fixes

  • api: clarify audio upload metadata requirements (#3596) (28888f9)

Chores

  • api: Update generated-file header attribution to Castiron (#3583) (ea17fda)

2.53.0 (2026-08-03)

Features

  • api: Add gpt-5.5 and tool name/namespace to Responses types (#3569) (dd1202d)

Bug Fixes

  • ci: avoid NumPy source builds and duplicate HTTPX coverage (#3573) (b58332f)

2.52.1 (2026-07-31)

Full Changelog: v2.52.0...v2.52.1

Chores

  • ci: pin setup-uv v5 to its underlying commit (#3560) (cbdc98b)

2.52.0 (2026-07-31)

... (truncated)

Commits

Updates google-auth-httplib2 from 0.4.0 to 0.4.1

Commits
  • 905bfe3 chore: release main (#17832)
  • ad8f93c fix(api-core): use truthiness check in setup_request_id to support proto-plus...
  • 06dd2c0 chore: bump google-api-core to 2.28.0 (#18003)
  • 2619725 chore: remove bigtable and sqlalchemy-spanner from bulk release due to faili...
  • 56b6bd2 fix(ci): skip loaded lines calculation on iterations after the first (#17790)
  • 08f21a6 fix(proto-plus): add context to TypeErrors during message manipulation (#17682)
  • 32fd479 tests(spanner): avoid table name collisions in tests (#18001)
  • 2207ca6 feat: add pandas-gbq capability helper (#17957)
  • 6167e41 fix: deduplicate x-goog-api-client headers (#17616)
  • 71bc622 docs: add connector libraries overview table to package README (#17939)
  • Additional commits viewable in compare view

Updates prometheus-fastapi-instrumentator from 8.0.2 to 8.1.0

Release notes

Sourced from prometheus-fastapi-instrumentator's releases.

8.1.0 / 2026-07-26

Added

  • Added new optional parameter should_include_root_path to the Instrumentator constructor. When set to True, the default exported Prometheus metrics will include the FastAPI app's effective root_path in the handler label. Defaults to False to maintain backwards compatibility. Requested in #390 and implemented in #391.

Fixed

  • Fixed resolving route names with root path set in FastAPI app. Raised in #387 and implemented in #391.
  • Fixed inc...

    Description has been truncated


    Open in Devin Review

… updates

Bumps the backend-python group with 56 updates in the /backend directory:

| Package | From | To |
| --- | --- | --- |
| [fastapi](https://github.com/fastapi/fastapi) | `0.139.0` | `0.141.1` |
| [starlette](https://github.com/Kludex/starlette) | `1.3.1` | `1.6.0` |
| [uvicorn](https://github.com/Kludex/uvicorn) | `0.51.0` | `0.52.3` |
| [pydantic-settings](https://github.com/pydantic/pydantic-settings) | `2.14.2` | `2.15.0` |
| [sqlalchemy](https://github.com/sqlalchemy/sqlalchemy) | `2.0.51` | `2.0.52` |
| [alembic](https://github.com/sqlalchemy/alembic) | `1.18.5` | `1.19.1` |
| [greenlet](https://github.com/python-greenlet/greenlet) | `3.5.3` | `3.5.5` |
| [openai](https://github.com/openai/openai-python) | `2.45.0` | `3.0.0` |
| [google-auth-httplib2](https://github.com/googleapis/google-cloud-python) | `0.4.0` | `0.4.1` |
| [prometheus-fastapi-instrumentator](https://github.com/trallnag/prometheus-fastapi-instrumentator) | `8.0.2` | `8.1.0` |
| [opentelemetry-api](https://github.com/open-telemetry/opentelemetry-python) | `1.43.0` | `1.44.0` |
| [opentelemetry-sdk](https://github.com/open-telemetry/opentelemetry-python) | `1.43.0` | `1.44.0` |
| [opentelemetry-instrumentation-fastapi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.64b0` | `0.65b0` |
| [opentelemetry-exporter-otlp](https://github.com/open-telemetry/opentelemetry-python) | `1.43.0` | `1.44.0` |
| [setuptools](https://github.com/pypa/setuptools) | `83.0.0` | `84.0.0` |
| [wheel](https://github.com/pypa/wheel) | `0.47.0` | `0.48.0` |
| [websockets](https://github.com/python-websockets/websockets) | `16.1` | `17.0.1` |
| [icalendar](https://github.com/collective/icalendar) | `7.2.0` | `7.2.2` |
| [coverage](https://github.com/coveragepy/coveragepy) | `7.15.1` | `7.15.4` |
| [ruff](https://github.com/astral-sh/ruff) | `0.15.21` | `0.16.3` |
| [pydantic-ai-slim](https://github.com/pydantic/pydantic-ai) | `2.9.0` | `2.30.0` |
| [genai-prices](https://github.com/pydantic/genai-prices) | `0.0.71` | `0.1.2` |
| [httpcore2](https://github.com/pydantic/httpx2) | `2.5.0` | `2.10.0` |
| [httpx2](https://github.com/pydantic/httpx2) | `2.5.0` | `2.10.0` |
| [logfire-api](https://github.com/pydantic/logfire) | `4.37.0` | `4.40.0` |
| [pydantic-graph](https://github.com/pydantic/pydantic-ai) | `2.9.0` | `2.30.0` |
| [annotated-doc](https://github.com/fastapi/annotated-doc) | `0.0.4` | `0.0.5` |
| [annotated-types](https://github.com/annotated-types/annotated-types) | `0.7.0` | `0.8.0` |
| [asgiref](https://github.com/django/asgiref) | `3.11.1` | `3.12.1` |
| [certifi](https://github.com/certifi/python-certifi) | `2026.6.17` | `2026.7.22` |
| [cffi](https://github.com/python-cffi/cffi) | `2.1.0` | `2.1.1` |
| [charset-normalizer](https://github.com/jawah/charset_normalizer) | `3.4.9` | `3.5.0` |
| [google-api-core](https://github.com/googleapis/google-cloud-python) | `2.31.0` | `2.34.0` |
| [google-auth](https://github.com/googleapis/google-cloud-python) | `2.55.2` | `2.56.3` |
| [googleapis-common-protos](https://github.com/googleapis/google-cloud-python) | `1.75.0` | `1.75.1` |
| [grpcio](https://github.com/grpc/grpc) | `1.82.1` | `1.83.0` |
| [langchain-core](https://github.com/langchain-ai/langchain) | `1.4.9` | `1.5.4` |
| [langsmith](https://github.com/langchain-ai/langsmith-sdk) | `0.10.2` | `0.10.18` |
| [mako](https://github.com/sqlalchemy/mako) | `1.3.12` | `1.4.1` |
| [opentelemetry-exporter-otlp-proto-common](https://github.com/open-telemetry/opentelemetry-python) | `1.43.0` | `1.44.0` |
| [opentelemetry-exporter-otlp-proto-grpc](https://github.com/open-telemetry/opentelemetry-python) | `1.43.0` | `1.44.0` |
| [opentelemetry-exporter-otlp-proto-http](https://github.com/open-telemetry/opentelemetry-python) | `1.43.0` | `1.44.0` |
| [opentelemetry-instrumentation](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.64b0` | `0.65b0` |
| [opentelemetry-instrumentation-asgi](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.64b0` | `0.65b0` |
| [opentelemetry-proto](https://github.com/open-telemetry/opentelemetry-python) | `1.43.0` | `1.44.0` |
| [opentelemetry-semantic-conventions](https://github.com/open-telemetry/opentelemetry-python) | `0.64b0` | `0.65b0` |
| [opentelemetry-util-http](https://github.com/open-telemetry/opentelemetry-python-contrib) | `0.64b0` | `0.65b0` |
| [packaging](https://github.com/pypa/packaging) | `26.2` | `26.3` |
| [prometheus-client](https://github.com/prometheus/client_python) | `0.25.0` | `0.26.0` |
| [proto-plus](https://github.com/googleapis/google-cloud-python) | `1.28.1` | `1.28.3` |
| [pydantic-core](https://github.com/pydantic/pydantic) | `2.46.4` | `2.48.0` |
| [regex](https://github.com/mrabarnett/mrab-regex) | `2026.7.10` | `2026.7.19` |
| [tqdm](https://github.com/tqdm/tqdm) | `4.68.4` | `4.70.0` |
| [typing-inspection](https://github.com/pydantic/typing-inspection) | `0.4.2` | `0.4.4` |
| [wrapt](https://github.com/GrahamDumpleton/wrapt) | `2.2.2` | `2.3.0` |
| [xxhash](https://github.com/ifduyue/python-xxhash) | `3.8.1` | `4.0.0` |



Updates `fastapi` from 0.139.0 to 0.141.1
- [Release notes](https://github.com/fastapi/fastapi/releases)
- [Commits](fastapi/fastapi@0.139.0...0.141.1)

Updates `starlette` from 1.3.1 to 1.6.0
- [Release notes](https://github.com/Kludex/starlette/releases)
- [Changelog](https://github.com/Kludex/starlette/blob/main/docs/release-notes.md)
- [Commits](Kludex/starlette@1.3.1...1.6.0)

Updates `uvicorn` from 0.51.0 to 0.52.3
- [Release notes](https://github.com/Kludex/uvicorn/releases)
- [Changelog](https://github.com/Kludex/uvicorn/blob/main/docs/release-notes.md)
- [Commits](Kludex/uvicorn@0.51.0...0.52.3)

Updates `pydantic-settings` from 2.14.2 to 2.15.0
- [Release notes](https://github.com/pydantic/pydantic-settings/releases)
- [Commits](pydantic/pydantic-settings@v2.14.2...v2.15.0)

Updates `sqlalchemy` from 2.0.51 to 2.0.52
- [Release notes](https://github.com/sqlalchemy/sqlalchemy/releases)
- [Changelog](https://github.com/sqlalchemy/sqlalchemy/blob/main/CHANGES.rst)
- [Commits](https://github.com/sqlalchemy/sqlalchemy/commits)

Updates `alembic` from 1.18.5 to 1.19.1
- [Release notes](https://github.com/sqlalchemy/alembic/releases)
- [Changelog](https://github.com/sqlalchemy/alembic/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/alembic/commits)

Updates `greenlet` from 3.5.3 to 3.5.5
- [Changelog](https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst)
- [Commits](python-greenlet/greenlet@3.5.3...3.5.5)

Updates `openai` from 2.45.0 to 3.0.0
- [Release notes](https://github.com/openai/openai-python/releases)
- [Changelog](https://github.com/openai/openai-python/blob/main/CHANGELOG.md)
- [Commits](openai/openai-python@v2.45.0...v3.0.0)

Updates `google-auth-httplib2` from 0.4.0 to 0.4.1
- [Release notes](https://github.com/googleapis/google-cloud-python/releases)
- [Changelog](https://github.com/googleapis/google-cloud-python/blob/main/CHANGELOG.md)
- [Commits](googleapis/google-cloud-python@google-auth-httplib2-v0.4.0...google-auth-httplib2-v0.4.1)

Updates `prometheus-fastapi-instrumentator` from 8.0.2 to 8.1.0
- [Release notes](https://github.com/trallnag/prometheus-fastapi-instrumentator/releases)
- [Changelog](https://github.com/trallnag/prometheus-fastapi-instrumentator/blob/master/CHANGELOG.md)
- [Commits](trallnag/prometheus-fastapi-instrumentator@v8.0.2...v8.1.0)

Updates `opentelemetry-api` from 1.43.0 to 1.44.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.43.0...v1.44.0)

Updates `opentelemetry-sdk` from 1.43.0 to 1.44.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.43.0...v1.44.0)

Updates `opentelemetry-instrumentation-fastapi` from 0.64b0 to 0.65b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python-contrib/commits)

Updates `opentelemetry-exporter-otlp` from 1.43.0 to 1.44.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.43.0...v1.44.0)

Updates `setuptools` from 83.0.0 to 84.0.0
- [Release notes](https://github.com/pypa/setuptools/releases)
- [Changelog](https://github.com/pypa/setuptools/blob/main/NEWS.rst)
- [Commits](pypa/setuptools@v83.0.0...v84.0.0)

Updates `wheel` from 0.47.0 to 0.48.0
- [Release notes](https://github.com/pypa/wheel/releases)
- [Changelog](https://github.com/pypa/wheel/blob/main/docs/news.rst)
- [Commits](pypa/wheel@0.47.0...0.48.0)

Updates `websockets` from 16.1 to 17.0.1
- [Release notes](https://github.com/python-websockets/websockets/releases)
- [Commits](python-websockets/websockets@16.1...17.0.1)

Updates `icalendar` from 7.2.0 to 7.2.2
- [Release notes](https://github.com/collective/icalendar/releases)
- [Changelog](https://github.com/collective/icalendar/blob/main/CHANGES.rst)
- [Commits](collective/icalendar@v7.2.0...v7.2.2)

Updates `coverage` from 7.15.1 to 7.15.4
- [Release notes](https://github.com/coveragepy/coveragepy/releases)
- [Changelog](https://github.com/coveragepy/coveragepy/blob/main/CHANGES.rst)
- [Commits](coveragepy/coveragepy@7.15.1...7.15.4)

Updates `ruff` from 0.15.21 to 0.16.3
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.15.21...0.16.3)

Updates `pydantic-ai-slim` from 2.9.0 to 2.30.0
- [Release notes](https://github.com/pydantic/pydantic-ai/releases)
- [Changelog](https://github.com/pydantic/pydantic-ai/blob/main/docs/changelog.md)
- [Commits](pydantic/pydantic-ai@v2.9.0...v2.30.0)

Updates `genai-prices` from 0.0.71 to 0.1.2
- [Release notes](https://github.com/pydantic/genai-prices/releases)
- [Changelog](https://github.com/pydantic/genai-prices/blob/main/RELEASE.md)
- [Commits](pydantic/genai-prices@v0.0.71...v0.1.2)

Updates `httpcore2` from 2.5.0 to 2.10.0
- [Release notes](https://github.com/pydantic/httpx2/releases)
- [Commits](pydantic/httpx2@v2.5.0...v2.10.0)

Updates `httpx2` from 2.5.0 to 2.10.0
- [Release notes](https://github.com/pydantic/httpx2/releases)
- [Changelog](https://github.com/pydantic/httpx2/blob/main/src/httpx2/CHANGELOG.md)
- [Commits](pydantic/httpx2@v2.5.0...v2.10.0)

Updates `logfire-api` from 4.37.0 to 4.40.0
- [Release notes](https://github.com/pydantic/logfire/releases)
- [Changelog](https://github.com/pydantic/logfire/blob/main/CHANGELOG.md)
- [Commits](pydantic/logfire@v4.37.0...v4.40.0)

Updates `pydantic-graph` from 2.9.0 to 2.30.0
- [Release notes](https://github.com/pydantic/pydantic-ai/releases)
- [Changelog](https://github.com/pydantic/pydantic-ai/blob/main/docs/changelog.md)
- [Commits](pydantic/pydantic-ai@v2.9.0...v2.30.0)

Updates `annotated-doc` from 0.0.4 to 0.0.5
- [Release notes](https://github.com/fastapi/annotated-doc/releases)
- [Changelog](https://github.com/fastapi/annotated-doc/blob/main/release-notes.md)
- [Commits](fastapi/annotated-doc@0.0.4...0.0.5)

Updates `annotated-types` from 0.7.0 to 0.8.0
- [Release notes](https://github.com/annotated-types/annotated-types/releases)
- [Commits](annotated-types/annotated-types@v0.7.0...v0.8.0)

Updates `asgiref` from 3.11.1 to 3.12.1
- [Changelog](https://github.com/django/asgiref/blob/main/CHANGELOG.txt)
- [Commits](django/asgiref@3.11.1...3.12.1)

Updates `certifi` from 2026.6.17 to 2026.7.22
- [Commits](certifi/python-certifi@2026.06.17...2026.07.22)

Updates `cffi` from 2.1.0 to 2.1.1
- [Release notes](https://github.com/python-cffi/cffi/releases)
- [Commits](python-cffi/cffi@v2.1.0...v2.1.1)

Updates `charset-normalizer` from 3.4.9 to 3.5.0
- [Release notes](https://github.com/jawah/charset_normalizer/releases)
- [Changelog](https://github.com/jawah/charset_normalizer/blob/master/CHANGELOG.md)
- [Commits](jawah/charset_normalizer@3.4.9...3.5.0)

Updates `google-api-core` from 2.31.0 to 2.34.0
- [Release notes](https://github.com/googleapis/google-cloud-python/releases)
- [Changelog](https://github.com/googleapis/google-cloud-python/blob/main/CHANGELOG.md)
- [Commits](googleapis/google-cloud-python@google-api-core-v2.31.0...google-api-core-v2.34.0)

Updates `google-auth` from 2.55.2 to 2.56.3
- [Release notes](https://github.com/googleapis/google-cloud-python/releases)
- [Changelog](https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md)
- [Commits](googleapis/google-cloud-python@google-auth-v2.55.2...google-auth-v2.56.3)

Updates `googleapis-common-protos` from 1.75.0 to 1.75.1
- [Release notes](https://github.com/googleapis/google-cloud-python/releases)
- [Changelog](https://github.com/googleapis/google-cloud-python/blob/main/packages/google-cloud-documentai/CHANGELOG.md)
- [Commits](googleapis/google-cloud-python@googleapis-common-protos-v1.75.0...googleapis-common-protos-v1.75.1)

Updates `grpcio` from 1.82.1 to 1.83.0
- [Release notes](https://github.com/grpc/grpc/releases)
- [Commits](grpc/grpc@v1.82.1...v1.83.0)

Updates `langchain-core` from 1.4.9 to 1.5.4
- [Release notes](https://github.com/langchain-ai/langchain/releases)
- [Commits](langchain-ai/langchain@langchain-core==1.4.9...langchain-core==1.5.4)

Updates `langsmith` from 0.10.2 to 0.10.18
- [Release notes](https://github.com/langchain-ai/langsmith-sdk/releases)
- [Commits](langchain-ai/langsmith-sdk@v0.10.2...v0.10.18)

Updates `mako` from 1.3.12 to 1.4.1
- [Release notes](https://github.com/sqlalchemy/mako/releases)
- [Changelog](https://github.com/sqlalchemy/mako/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/mako/commits)

Updates `opentelemetry-exporter-otlp-proto-common` from 1.43.0 to 1.44.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.43.0...v1.44.0)

Updates `opentelemetry-exporter-otlp-proto-grpc` from 1.43.0 to 1.44.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.43.0...v1.44.0)

Updates `opentelemetry-exporter-otlp-proto-http` from 1.43.0 to 1.44.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.43.0...v1.44.0)

Updates `opentelemetry-instrumentation` from 0.64b0 to 0.65b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python-contrib/commits)

Updates `opentelemetry-instrumentation-asgi` from 0.64b0 to 0.65b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python-contrib/commits)

Updates `opentelemetry-proto` from 1.43.0 to 1.44.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](open-telemetry/opentelemetry-python@v1.43.0...v1.44.0)

Updates `opentelemetry-semantic-conventions` from 0.64b0 to 0.65b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python/commits)

Updates `opentelemetry-util-http` from 0.64b0 to 0.65b0
- [Release notes](https://github.com/open-telemetry/opentelemetry-python-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-python-contrib/commits)

Updates `packaging` from 26.2 to 26.3
- [Release notes](https://github.com/pypa/packaging/releases)
- [Changelog](https://github.com/pypa/packaging/blob/main/CHANGELOG.rst)
- [Commits](pypa/packaging@26.2...26.3)

Updates `prometheus-client` from 0.25.0 to 0.26.0
- [Release notes](https://github.com/prometheus/client_python/releases)
- [Commits](prometheus/client_python@v0.25.0...v0.26.0)

Updates `proto-plus` from 1.28.1 to 1.28.3
- [Release notes](https://github.com/googleapis/google-cloud-python/releases)
- [Changelog](https://github.com/googleapis/google-cloud-python/blob/main/CHANGELOG.md)
- [Commits](googleapis/google-cloud-python@proto-plus-v1.28.1...proto-plus-v1.28.3)

Updates `pydantic-core` from 2.46.4 to 2.48.0
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/main/HISTORY.md)
- [Commits](pydantic/pydantic@core-v2.46.4...core-v2.48.0)

Updates `regex` from 2026.7.10 to 2026.7.19
- [Changelog](https://github.com/mrabarnett/mrab-regex/blob/hg/changelog.txt)
- [Commits](mrabarnett/mrab-regex@2026.7.10...2026.7.19)

Updates `tqdm` from 4.68.4 to 4.70.0
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](tqdm/tqdm@v4.68.4...v4.70.0)

Updates `typing-inspection` from 0.4.2 to 0.4.4
- [Release notes](https://github.com/pydantic/typing-inspection/releases)
- [Changelog](https://github.com/pydantic/typing-inspection/blob/main/HISTORY.md)
- [Commits](pydantic/typing-inspection@v0.4.2...v0.4.4)

Updates `wrapt` from 2.2.2 to 2.3.0
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases)
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst)
- [Commits](GrahamDumpleton/wrapt@2.2.2...2.3.0)

Updates `xxhash` from 3.8.1 to 4.0.0
- [Release notes](https://github.com/ifduyue/python-xxhash/releases)
- [Changelog](https://github.com/ifduyue/python-xxhash/blob/master/CHANGELOG.rst)
- [Commits](ifduyue/python-xxhash@v3.8.1...v4.0.0)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-version: 0.141.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: starlette
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: uvicorn
  dependency-version: 0.52.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: pydantic-settings
  dependency-version: 2.15.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: sqlalchemy
  dependency-version: 2.0.52
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-python
- dependency-name: alembic
  dependency-version: 1.19.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: greenlet
  dependency-version: 3.5.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-python
- dependency-name: openai
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: backend-python
- dependency-name: google-auth-httplib2
  dependency-version: 0.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-python
- dependency-name: prometheus-fastapi-instrumentator
  dependency-version: 8.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: opentelemetry-api
  dependency-version: 1.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: opentelemetry-sdk
  dependency-version: 1.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: opentelemetry-instrumentation-fastapi
  dependency-version: 0.65b0
  dependency-type: direct:production
  dependency-group: backend-python
- dependency-name: opentelemetry-exporter-otlp
  dependency-version: 1.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: setuptools
  dependency-version: 84.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: backend-python
- dependency-name: wheel
  dependency-version: 0.48.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: websockets
  dependency-version: 17.0.1
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: backend-python
- dependency-name: icalendar
  dependency-version: 7.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-python
- dependency-name: coverage
  dependency-version: 7.15.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: backend-python
- dependency-name: ruff
  dependency-version: 0.16.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: pydantic-ai-slim
  dependency-version: 2.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: genai-prices
  dependency-version: 0.1.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: httpcore2
  dependency-version: 2.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: httpx2
  dependency-version: 2.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: logfire-api
  dependency-version: 4.40.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: pydantic-graph
  dependency-version: 2.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: annotated-doc
  dependency-version: 0.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-python
- dependency-name: annotated-types
  dependency-version: 0.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: asgiref
  dependency-version: 3.12.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: certifi
  dependency-version: 2026.7.22
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: cffi
  dependency-version: 2.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-python
- dependency-name: charset-normalizer
  dependency-version: 3.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: google-api-core
  dependency-version: 2.34.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: google-auth
  dependency-version: 2.56.3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: googleapis-common-protos
  dependency-version: 1.75.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-python
- dependency-name: grpcio
  dependency-version: 1.83.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: langchain-core
  dependency-version: 1.5.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: langsmith
  dependency-version: 0.10.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-python
- dependency-name: mako
  dependency-version: 1.4.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: opentelemetry-exporter-otlp-proto-common
  dependency-version: 1.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: opentelemetry-exporter-otlp-proto-grpc
  dependency-version: 1.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: opentelemetry-exporter-otlp-proto-http
  dependency-version: 1.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: opentelemetry-instrumentation
  dependency-version: 0.65b0
  dependency-type: direct:production
  dependency-group: backend-python
- dependency-name: opentelemetry-instrumentation-asgi
  dependency-version: 0.65b0
  dependency-type: direct:production
  dependency-group: backend-python
- dependency-name: opentelemetry-proto
  dependency-version: 1.44.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: opentelemetry-semantic-conventions
  dependency-version: 0.65b0
  dependency-type: direct:production
  dependency-group: backend-python
- dependency-name: opentelemetry-util-http
  dependency-version: 0.65b0
  dependency-type: direct:production
  dependency-group: backend-python
- dependency-name: packaging
  dependency-version: '26.3'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: prometheus-client
  dependency-version: 0.26.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: proto-plus
  dependency-version: 1.28.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-python
- dependency-name: pydantic-core
  dependency-version: 2.48.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: regex
  dependency-version: 2026.7.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-python
- dependency-name: tqdm
  dependency-version: 4.70.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: typing-inspection
  dependency-version: 0.4.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-python
- dependency-name: wrapt
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: backend-python
- dependency-name: xxhash
  dependency-version: 4.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: backend-python
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Aug 17, 2026
@dependabot
dependabot Bot requested a review from seonghobae as a code owner August 17, 2026 03:28
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Aug 17, 2026
@github-actions

github-actions Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

PR governance metadata gate is not ready for 74c7def09d7ad75a5654307b754e86cb34508b6f:

  • 1 unresolved current review thread(s) remain.

seonghobae and others added 2 commits August 17, 2026 17:28
Keep pydantic-core==2.46.4 with pydantic==2.13.4, hash openai's httpx2
requirement, and pin langsmith==0.10.2 / ruff==0.15.21 so --require-hashes
install and PYTHONWARNINGS=error tests stay green.

Co-authored-by: seonghobae <seonghobae@me.com>

@opencode-agent opencode-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 866f8d511c19fe4ab77576738bb94ae9d688ad4e.

  • Head SHA: 866f8d511c19fe4ab77576738bb94ae9d688ad4e

  • Workflow run: 32128616899

  • Workflow attempt: 1

Coverage evidence

Coverage evidence job did not run or did not publish coverage evidence.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file: CHANGELOG.md"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file: CHANGELOG.md"]
  R1 --> V1["required checks"]
  Evidence --> S2["Backend (7 files)"]
  S2 --> I2["API and service runtime"]
  I2 --> R2["Review risk: Backend (7 files)"]
  R2 --> V2["backend tests"]
  Evidence --> S3["Docs: container-provenance-contract.md"]
  S3 --> I3["operator or user guidance"]
  I3 --> R3["Review risk: Docs: container-provenance-contract.md"]
  R3 --> V3["docs review"]
Loading

@opencode-agent

Copy link
Copy Markdown
Contributor

OpenCode Review Overview

  • Head SHA: 866f8d511c19fe4ab77576738bb94ae9d688ad4e
  • Workflow run: 32128616899
  • Workflow attempt: 1
  • Gate result: REQUEST_CHANGES (approval step)

Pull request overview

OpenCode cannot approve yet because required coverage evidence did not pass.

Review outcome

1. HIGH .github/workflows/opencode-review.yml:1 - Coverage evidence did not prove required test/docstring evidence

  • Problem: The required coverage-evidence job result was failure, so OpenCode cannot establish approval sufficiency for this head.

  • Root cause: Automated approval is only valid when the same-head coverage-evidence job proves supported repository test suites passed and configured docstring gates passed or were advisory, or reports not applicable because no supported source files or package manifests exist. Missing, failed, skipped, unavailable, or unsupported-tooling test evidence is a blocker.

  • Fix: Install or configure the repository test/docstring evidence tooling when source files or package manifests exist, rerun the current-head coverage-evidence job, and approve only after it reports success with required evidence or explicit no-source not-applicable evidence.

  • Regression test: Keep the approval branch checking needs.coverage-evidence.result == success before posting APPROVE, and publish REQUEST_CHANGES when coverage-evidence blocker states such as cancelled, skipped, failed, unsupported-tooling, or below-100 evidence are present.

  • Result: REQUEST_CHANGES

  • Reason: coverage-evidence result was failure, so required test/docstring evidence was not proven for current head 866f8d511c19fe4ab77576738bb94ae9d688ad4e.

  • Head SHA: 866f8d511c19fe4ab77576738bb94ae9d688ad4e

  • Workflow run: 32128616899

  • Workflow attempt: 1

Coverage evidence

Coverage evidence job did not run or did not publish coverage evidence.

Changed-File Evidence Map

flowchart LR
  PR["PR changed files"] --> Evidence["OpenCode bounded evidence"]
  Evidence --> S1["Changed file: CHANGELOG.md"]
  S1 --> I1["repository behavior"]
  I1 --> R1["Review risk: Changed file: CHANGELOG.md"]
  R1 --> V1["required checks"]
  Evidence --> S2["Backend (7 files)"]
  S2 --> I2["API and service runtime"]
  I2 --> R2["Review risk: Backend (7 files)"]
  R2 --> V2["backend tests"]
  Evidence --> S3["Docs: container-provenance-contract.md"]
  S3 --> I3["operator or user guidance"]
  I3 --> R3["Review risk: Docs: container-provenance-contract.md"]
  R3 --> V3["docs review"]
Loading

Copy link
Copy Markdown
Contributor

@opencode-agent review

Fresh same-head review request for 866f8d511c19fe4ab77576738bb94ae9d688ad4e. The repository-owned Application CI, Security Scan, Bandit, Dependency Review, Semgrep and Docker build are terminal-success on this exact head, and the Python 3.14 hash-lock repair is already incorporated into the canonical Dependabot branch. Recompute coverage/test/docstring evidence using the repaired central materializer and issue a new formal current-head verdict; do not reuse the earlier infrastructure-only REQUEST_CHANGES.

@seonghobae
seonghobae enabled auto-merge (squash) August 20, 2026 12:25

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Devin Review found 1 potential issue.

View 1 additional finding in Devin Review.

Open in Devin Review

Comment thread backend/requirements.txt
rankweave==0.1.0 # hybrid-retrieval fusion + query normalization (OSMU spin-off)
pytest-asyncio==1.4.0
openai==2.45.0
openai==3.0.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 AI provider upgrade breaks all AI features because the app's custom network client is no longer accepted

The AI provider library is upgraded to a new major version (openai==3.0.0 at backend/requirements.txt:16) that switches its default network client to httpx2 and no longer accepts the app's old-style custom network client, yet the code still hands it exactly that old client, so every AI request fails at runtime.
Impact: AI email summaries/action-item extraction, translation, spam/sentiment/reply tools, and both single and batch embeddings stop working in production.

Why the bumped openai major version rejects the passed httpx client

openai 3.0.0 is a documented breaking release: "HTTPX2 is now the default HTTP client, and httpx is no longer installed automatically. Applications using custom HTTPX clients, transports, or configuration objects must migrate to their HTTPX2 equivalents or use the temporary, runtime-only legacy HTTPX escape hatch."

The production code still builds a legacy httpx.AsyncClient with a custom httpx.AsyncBaseTransport in backend/services/llm_provider_urls.py:441-454 (build_llm_provider_http_client) and passes it straight into AsyncOpenAI(http_client=http_client) at backend/services/embedding.py:58-62, backend/services/llm_service.py:55-59 (and the other client constructions in llm_service.py:132-135, 197-200) as well as the batch embedding path. Nothing was migrated to an httpx2 client/transport, and no legacy escape hatch is enabled.

Because openai 3.0.0's http_client parameter now expects an httpx2 client, handing it a legacy httpx.AsyncClient fails. The unit tests do not catch this: they patch("services.llm_service.AsyncOpenAI") (see backend/tests/test_llm_service.py:22, :334), so the real library never validates the passed client.

Separately, the security-hardening intent of build_llm_provider_http_client (DNS-pinned, SSRF-safe transport) can no longer be enforced through openai 3.0.0 once the client is migrated to httpx2, so the httpx2 migration must also re-implement the pinned transport.

Prompt for agents
openai was bumped to 3.0.0, a major release that migrates its default HTTP client to httpx2 and no longer installs httpx automatically. Custom HTTPX clients/transports must be migrated to httpx2 equivalents (or the temporary legacy-httpx escape hatch enabled). The backend still builds a legacy httpx.AsyncClient with a custom httpx.AsyncBaseTransport in backend/services/llm_provider_urls.py (build_llm_provider_http_client / _PinnedLLMProviderAsyncTransport / build_pinned_https_async_client) and passes it into AsyncOpenAI(http_client=...) in backend/services/embedding.py, backend/services/llm_service.py, and backend/services/batch_embedding_service.py. This will fail at runtime for all LLM and embedding calls because openai 3.0.0 expects an httpx2 client. Either (a) re-implement the DNS-pinned, redirect-disabled, trust_env=False transport on top of httpx2 and return an httpx2.AsyncClient from build_llm_provider_http_client, or (b) explicitly opt into openai 3.0.0's legacy httpx escape hatch. Also add/adjust an integration-style test that does NOT mock AsyncOpenAI so the client-type incompatibility is actually exercised, since existing tests patch AsyncOpenAI and hide the break. Consider whether pydantic-ai-slim==2.30.0 in requirements-agent.txt is compatible with openai==3.0.0 as well.
Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

@opencode-agent
opencode-agent Bot disabled auto-merge August 21, 2026 03:39
@seonghobae
seonghobae enabled auto-merge (squash) August 21, 2026 08:41
@opencode-agent
opencode-agent Bot disabled auto-merge August 21, 2026 11:47
@seonghobae
seonghobae dismissed opencode-agent[bot]’s stale review August 22, 2026 07:43

Stale review: cited a coverage-evidence/required-check failure on an earlier commit; current head has been verified (gh pr checks) to pass coverage-evidence and all other non-metadata-gate required checks, with no current-head review from this reviewer. Dismissing as superseded per AGENTS.md stale-review guidance.

@opencode-agent opencode-agent Bot added area: dependencies Dependency or lockfile maintenance priority: medium Normal-priority or P2 work status: needs-review Open pull request requiring current-head review or checks type: maintenance Maintenance, build, dependency, or operational upkeep labels Aug 22, 2026
@seonghobae
seonghobae enabled auto-merge (squash) August 24, 2026 00:27
@dependabot @github

dependabot Bot commented on behalf of github Aug 24, 2026

Copy link
Copy Markdown
Contributor Author

Looks like these dependencies are updatable in another way, so this is no longer needed.

@dependabot dependabot Bot closed this Aug 24, 2026
auto-merge was automatically disabled August 24, 2026 03:00

Pull request was closed

@dependabot
dependabot Bot deleted the dependabot/pip/backend/backend-python-d344204b7b branch August 24, 2026 03:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: dependencies Dependency or lockfile maintenance dependencies Pull requests that update a dependency file priority: medium Normal-priority or P2 work python Pull requests that update python code status: needs-review Open pull request requiring current-head review or checks type: maintenance Maintenance, build, dependency, or operational upkeep

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants