Skip to content

4.10.2 — 2026-06-15

← 4.10.1 | ↑ 4.x series

Changed

Adapters - Internet Payment Gateways

  • HTTP Client Migration to httpx2 - Parsian and Saman async/sync adapters now use httpx2 for client construction and httpx2.RequestError handling in place of httpx.
    • AsyncParsianShaparakPaymentAdapter builds its Zeep async transport with httpx2.AsyncClient.
    • SamanShaparakPaymentAdapter, SamanNeoPgShaparakPaymentAdapter, AsyncSamanShaparakPaymentAdapter, and AsyncSamanNeoPgShaparakPaymentAdapter use httpx2.Client / httpx2.AsyncClient and catch httpx2.RequestError for token, verify, and reverse flows.

Adapters - StarRocks

  • Type-Hint Cleanup in Session Managers - StarRocks SQLAlchemy patch helpers in session_managers.py now type **kw: Any (with ANN401 noqa) instead of object, and monkeypatch assignments use combined # type: ignore[invalid-assignment] # ty: ignore[invalid-assignment] comments.

Fixed

Helpers - gRPC Interceptors

  • Optional Handler Return Types - BaseAsyncGrpcServerInterceptor.intercept_service and AsyncGrpcServerTraceInterceptor.intercept_service now declare grpc.RpcMethodHandler | None return and continuation types and early-return None when the continuation yields no handler, removing the prior cast(..., None) workaround.

Helpers - App Utils

  • Defensive Route Tag Access - FastAPIUtils.generate_unique_id_function reads route.tags via getattr(route, "tags", []) to tolerate routes without a tags attribute.

Tests

Tests - Metric Interceptor

  • httpx2 in Steps - features/steps/metric_interceptor_steps.py updated to use httpx2 to match the adapter migration.

Chore

Type Checking

  • changed ty Rule - Removed conflicting-argument-forms = "error" from the [tool.ty.rules] section in pyproject.toml.

Dependencies

  • Optional extras - Updated optional adapter extras.
    • elasticsearch / elasticsearch-async: elasticsearch>=9.4.0elasticsearch>=9.4.1
    • fakeredis: fakeredis>=2.35.1fakeredis>=2.36.1
    • fastapi: fastapi[all]>=0.136.3fastapi[all]>=0.137.0
    • grpc: grpcio>=1.80.0grpcio>=1.81.1, grpcio-health-checking>=1.80.0grpcio-health-checking>=1.81.1
    • kafka: confluent-kafka>=2.14.0confluent-kafka>=2.14.2
    • minio: boto3>=1.43.14boto3>=1.43.29
    • parsian-ipg: requests[socks]>=2.34.0requests[socks]>=2.34.2
    • parsian-ipg-async: httpx[socks]>=0.28.1httpx2[socks]>=2.4.0
    • redis: redis[hiredis]>=7.4.0redis[hiredis]>=8.0.0
    • saman-ipg: httpx[socks]>=0.28.1httpx2[socks]>=2.4.0
    • sentry: sentry-sdk>=2.60.0sentry-sdk>=2.62.0