Skip to content

5.20.1 — 2026-10-24

← 5.21.0 | 5.20.0 → | ↑ 5.x series

Changed

Adapters - MySQL

  • asyncmy Replaces asyncmy2 - The async extras of archipy-mysql and archipy-starrocks depend on asyncmy>=0.2.17 instead of the deprecated asyncmy2.
    • Both packages provide the asyncmy module, so the adapters are unchanged
    • asyncmy2 and asyncmy conflict when installed together; uninstall asyncmy2 when upgrading an existing environment

Models - Errors

  • Typed Error Details - Bare dict type hints on the error models are parametrized.

Helpers - Typing

  • Parametrized Generics - Bare list, dict and Callable type hints in helpers and decorators are parametrized.

Adapters - Typing

  • Parametrized Generics - Bare dict and list type hints in the email, Keycloak and Redis adapters are parametrized.

Adapters - Redis

  • Typed Ports - Pub/sub and pipeline ports use redis-py classes, and hash mapping, items and keys use redis.typing encodable types.

Adapters - ScyllaDB

  • Typed Driver Objects - Session, cluster, result set and prepared statement are typed with the Cassandra driver classes.

Adapters - Temporal

  • Typed Client - Any and stub return types are replaced with temporalio client types.

Adapters - Keycloak

  • Typed Representations - Role, group, organization, client scope, protocol mapper and component representations are TypedDict types.

Fixed

Adapters - Keycloak

  • Mixin and Port Return Types - Aligned the return types of the auth, roles, users and clients mixins and ports so ty passes.

Chore

  • Bandit False Positives - Added # nosec markers for B104 (METRICS_PULL_HOST bind-all default), B311 (retry jitter) and B106 (OAuth token-type URN) so the code scanning alerts close.

Dependencies

Dependencies - Lower Bounds

  • Lower Bounds Match uv.lock - Raised lower bounds to the locked versions.
    • fastapi>=0.162.0, grpcio>=1.84.1, grpcio-health-checking>=1.84.1, sqlalchemy>=2.1.6, cachetools>=7.2.4, httpx2>=2.16.0, pydantic-settings>=2.16.1, boto3>=1.43.118
    • Dev groups: ruff>=0.17.2, ty>=0.0.91, coverage>=7.17.0, validate-pyproject>=0.27, mkdocs packages and type stubs