3.0.0
3.0.0 (2026-05-20)
- Check out the Upgrading guide to ensure a smooth update.
🚀 Features
- [breaking] Introduce fully typed clients (#604) (81ee194) by @vdusek
- [breaking] Introduce tiered timeout system with per-endpoint configuration (#653) (723ec6e) by @vdusek
- [breaking] Generate Literal type aliases instead of StrEnum classes (#759) (2bf5a75) by @vdusek
- Make HTTP client pluggable with abstract base classes (#641) (5ae33a0) by @vdusek
- Accept Pydantic models as alternatives to dicts in resource client methods (#663) (b778c20) by @vdusek
- Add ownership parameter to storage collection listing methods (#696) (51a92a3) by @nmanerikar
- Add filter and cursor parameters to list_requests method (#743) (3445ff7) by @mvolfik
- Add ApifyApiError subclasses grouped by HTTP status (#737) (a6daff7) by @vdusek
- Generate TypedDict types for input-side models (#738) (2fd66d0) by @vdusek
- Add iterate methods for paginated collections (#771) (3f3129c) by @Pijukatel
- Accept camelCase keys in input TypedDicts (#793) (7a579bf) by @vdusek
- Expose WebhooksList and JsonSerializable from public types module (#800) (104011c) by @vdusek
🐛 Bug Fixes
- Prevent
_prepare_request_callfrom mutating caller's headers dict (#746) (d553162) by @vdusek - Don't block StatusMessageWatcher exit with 6s sleep on exception (#753) (48f5037) by @vdusek
- Treat naive datetime query params as UTC (#752) (9ab096a) by @vdusek
- Raise NotFoundError on ambiguous 404 responses (#755) (701185e) by @vdusek
- Correct deadline logic in _wait_for_finish (#749) (fd0663e) by @vdusek
- Preserve count=0 in RunClient's charge (#751) (0a8942c) by @vdusek
🚜 Refactor
- [breaking] Update default timeout tiers on non-storage resource clients (#664) (0b35bbe) by @vdusek
- [breaking] Mark secondary arguments as keyword-only (#766) (4ca99fd) by @vdusek
- [breaking] Remove deprecated APIs (#799) (6e5df35) by @vdusek