What's Changed
- Fix ordinal suffix generation for large numbers ending in 11, 12, 13 by @ArmaanjeetSandhu in #556
- build: replace tox with poethepoet + uv by @jd in #558
- docs: fix README badges by @jd in #559
- docs: add project URLs to pyproject.toml by @jd in #560
- docs: add local dev commands to contribute section by @jd in #561
- docs: modernize async examples by @jd in #562
- docs: set version in sphinx conf by @jd in #563
- fix: resolve tornado mypy errors instead of suppressing them by @jd in #568
- feat: add poe fmt task for auto-formatting by @jd in #569
- docs: replace curio example with trio by @jd in #570
- chore: enable ruff I, UP, B rules and auto-fix codebase by @jd in #571
- ci: harden release workflow by @jd in #575
- fix: use typing.Self on Python 3.11+ instead of typing_extensions by @jd in #576
- chore: bump tornado version floor to >=6.0 by @jd in #578
- docs: clean up sphinx conf.py by @jd in #579
- refactor: remove stale noqa comments from init.py by @jd in #577
- refactor: enable additional ruff rules and fix violations by @jd in #584
- fix: enable mypy strict mode in all test files by @jd in #585
- fix: make LoggerProtocol compatible with logging.Logger by @jd in #586
- refactor: remove unused IterState.delay_since_first_attempt field by @jd in #587
- refactor: remove redundant raise before reraise() by @jd in #588
- refactor: replace deprecated typing.Pattern with re.Pattern by @jd in #589
- docs: fix typos in docstrings by @jd in #590
- fix: guard against None seconds_since_start in after_log by @jd in #591
- feat: add name parameter to Retrying for meaningful log output by @jd in #597
- docs: document RetryCallState attributes including seconds_since_start by @jd in #599
- fix: expose .retry, .statistics, .retry_with to type checkers by @jd in #601
- docs: add common patterns section for recurring FAQ topics by @jd in #602
- fix: initialize delay_since_first_attempt in statistics on begin() by @jd in #603
- fix: restore plain function composition with retry_base via | and & by @jd in #606
- feat: add async context manager support to AttemptManager by @jd in #605
- feat: add enabled parameter to disable retrying by @jd in #604
- refactor: flatten chained | and & into single retry_any/retry_all by @jd in #609
- docs: document generator limitations and argument caveats by @jd in #612
- fix: make Retrying and retry strategies picklable for multiprocessing by @jd in #615
- fix: sync func.retry.statistics with copy's statistics by @jd in #614
- refactor: replace deprecated typing constructs with modern syntax by @jd in #616
- fix: add missing space in type annotation by @jd in #617
- chore: remove unused reports_deprecation_warning helper by @jd in #618
- refactor: enable PGH, PYI ruff rules and rename TCH to TC by @jd in #619
- refactor: enable additional ruff rule categories by @jd in #620
- chore(deps): bump astral-sh/setup-uv from 5 to 7 in the github-actions group by @dependabot[bot] in #621
- fix: format traceback inline for loguru compatibility by @jd in #622
- feat: add
minparam andtimedeltasupport towait_exponential_jitterby @jd in #628 - feat: deprecate
initialin favor ofmultiplierinwait_exponential_jitterby @jd in #629 - build: remove deprecated license classifier by @r266-tech in #637
- fix: reraise underlying exception when TryAgain wraps a cause by @ATOM00blue in #640
- chore(deps): bump actions/checkout from 6.0.2 to 6.0.3 in the github-actions group by @dependabot[bot] in #641
- fix: respect enabled=False in iterator protocols (iter / aiter) by @gaoflow in #643
- wait_chain: reject empty strategy list with ValueError instead of IndexError by @HrachShah in #646
- chore(deps): bump actions/checkout from 6.0.3 to 7.0.0 in the github-actions group by @dependabot[bot] in #648
- wait_chain: reject empty strategy list with ValueError instead of IndexError by @HrachShah in #647
- Keep statistics visible when @Retry is further wrapped (fixes #519) by @apoorvdarshan in #653
- Avoid unnecessary exponential wait computation by @Sanjays2402 in #654
- Accept empty message in retry_if_exception_message by @gaoflow in #651
- Avoid underflow in exponential wait threshold by @zelinewang in #656
- fix: stop hanging on cyclic exception cause chains by @MohammedAnasNathani in #660
- chore: pin ruff to 0.16.1 by @jd in #670
- chore: pin mypy to 2.3.0 by @jd in #671
- test: check decorator typing statically instead of with typeguard by @jd in #673
- chore: let dependabot update Python dependencies by @jd in #672
- chore(deps): bump actions/checkout from 7.0.0 to 7.0.1 in the github-actions group across 1 directory by @dependabot[bot] in #666
- Improve inline type annotations by @heejaechang in #664
- Fix static typing of @Retry decorated instance methods by @syzayd in #668
New Contributors
- @ArmaanjeetSandhu made their first contribution in #556
- @r266-tech made their first contribution in #637
- @ATOM00blue made their first contribution in #640
- @gaoflow made their first contribution in #643
- @HrachShah made their first contribution in #646
- @apoorvdarshan made their first contribution in #653
- @Sanjays2402 made their first contribution in #654
- @zelinewang made their first contribution in #656
- @MohammedAnasNathani made their first contribution in #660
- @heejaechang made their first contribution in #664
- @syzayd made their first contribution in #668
Full Changelog: 9.1.4...9.2.0