Changelog¶
0.4.1 (2026-09-15)¶
Bug Fixes¶
- cache the Prometheus collector per prefix so a rebuilt container does not raise (0d8cf4e), closes #36
0.4.0 (2026-09-14)¶
⚠ BREAKING CHANGES¶
- AsyncRedisIdempotencyProvider requests redis.asyncio.Redis | RedisCluster, the key redis_client_kit.AsyncRedisClient names. A provider of your own annotated
-> Redisno longer matches and the container fails at construction with GraphMissingFactoryError; annotate it-> Redis | RedisCluster.
Bug Fixes¶
- request Redis | RedisCluster in the Dishka provider and read per slot on a cluster (d31f171), closes #32
0.3.0 (2026-09-07)¶
⚠ BREAKING CHANGES¶
- a second concurrent caller with the same key now waits for the first caller's result instead of running the action too, and coordinate() and the decorator can raise IdempotencyInProgressError. Pass in_flight="run" to the coordinator (or set it on the settings object) to keep the previous behaviour. AsyncIdempotencyRepository gained replace(record); a custom repository needs it, and the coordinator raises TypeError at construction without it unless in_flight="run". IdempotencyRecord gained status, which records written before this change read as "completed".
Features¶
- reserve the key while the action runs (#28) (0dbf68b), closes #26
- store a fingerprint of the request and refuse a key reused for another (#30) (78a9ca2), closes #27
0.2.0 (2026-09-06)¶
⚠ BREAKING CHANGES¶
- DEFAULT_TTL_MINUTES is 60 (was 30) and MAX_TTL_SECONDS is 2592000 (was 86400), so IdempotencyDomainService() built without arguments now keeps records for an hour and accepts a TTL of up to 30 days. Pass default_ttl_minutes=30 and max_ttl_seconds=86400 to keep the old values.
Bug Fixes¶
Documentation¶
0.1.1 (2026-08-28)¶
Bug Fixes¶
- core: store any JSON result and decide hit/miss on the record, not on None (#8) (ddb537e), closes #6
- dishka: provide the metrics collector from settings so the shipped providers build a container (#9) (2a06416), closes #7
- release: update version to 0.1.0 and fix release-please config (016c6c4)
- update publish workflow, release-please version search, gitignore (#3) (9915f0e)
0.1.0 (2026-05-13)¶
Bug Fixes¶
- ci: remove coverage threshold from integration tests (b00f037)
- ci: set integration test coverage threshold to 50% (ed4e790)
Documentation¶
- rewrite README to match library style with badges (cebded3)
Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.