5.1.0 — 2026-09-05¶
← 5.2.0 | 5.0.7 → | ↑ 5.x series
Changed¶
Adapters - Redis¶
- Native FakeAsyncRedis Mock -
AsyncRedisMocknow uses fakeredisFakeAsyncRedisinstead of wrapping syncFakeRediswithAsyncMock.- Async commands, pub/sub, and pipelines work through the real async client API
- CLUSTER mode uses
FakeAsyncRedisClusterWrapperwith the same cluster helpers as the sync mock - Sync and async mocks share a
FakeServeracross write, read, and search clients - Both mocks respect
DECODE_RESPONSESfrom config
Tests¶
Tests - Integration¶
- Flaky Scenario Stabilization - Aligned assertions with implementation and waited for eventual visibility in integration steps.
- Atomic updates sleep 1s before writing
updated_atso database timestamps differ - Error-handling steps patch
logger.errorinstead oflogger.exception - Redis KNN and hybrid search poll until RediSearch indexes a recent write
- Atomic updates sleep 1s before writing
Tests - Redis¶
- Async Mock Pub/Sub and Pipeline - Added
mockrows to async subscribe and pipeline scenario outlines.- Async pub/sub channels are unique per
adapter_typeso mock and container runs do not collide
- Async pub/sub channels are unique per
Chore¶
Chore - Agent Rules¶
- Cursor Agent Guidance - Strengthened workspace rules so agents follow one owner per topic instead of conflicting summaries.
- Added
rules-index.mdcplus canonicalmodels-errors.mdc,helpers-configs.mdc,security.mdc, andcontributing.mdc - Resolved adapter, lazy-import, and boundary-exception policy into
adapter-conventions.mdc - Expanded BDD seam/red-green guidance in
testing-bdd.mdc; slimmedAGENTS.mdto commands and a rule index - Changelog writes are opt-in: skip Cursor rules,
AGENTS.md, chores, tests-only, and non-consumer docs unless the user asks
- Added
Dependencies¶
- Lockfile - Regenerated
uv.lockto the latest compatible versions.boto3/botocore/boto3-stubs:1.43.83→1.43.89cachetools:7.1.7→7.1.8protobuf:7.36.0→7.36.1psycopg:3.3.4→3.3.5alembic:1.19.1→1.19.2anyio:4.14.2→4.15.0lxml:6.1.2→6.1.3
- Dev / docs - Updated development and typing stubs.
ruff:0.16.5→0.16.6ty:0.0.76→0.0.78types-regex:2026.8.31.20260831→2026.9.3.20260903mkdocstrings-python:2.0.7→2.0.8