Changelog
Unreleased
[v2.3.1] - 2025-12-18
Fixed
- Changed the type of the
target key in the Details dictionary to represent an actual function #72 (from @edgarrmondragon)
Documentation
Internal
[v2.3.0] - 2025-11-28
Changed
- Use
time.monotonic instead of datetime.datetime.now #23 (from @luccabb)
- Drop support for Python 3.7 #49 (from @edgarrmondragon)
- Improve performance of expo by multiplying previous result #50 (from @whonore)
[v2.2.2] - 2025-11-17
Fixed
- Use
inspect.iscoroutinefunction instead of asyncio.iscoroutinefunction to avoid Python 3.14 deprecation warning #3 (from @edgarrmondragon)
- Adapt test cases to pytest-asyncio 1.0 compatibility #1 (from @pastalian)
- Include tests in source distribution #13 (from @edgarrmondragon)
- Added
logging.LoggerAdapter to _MaybeLogger union #34 (from @jcbertin)
- Add
exception to the typing-only Details dictionary for cases when on_exception is used #35 (from @edgarrmondragon)
- Add GitHub Actions for CI, documentation, and publishing #39 (from @tysoncung)
Packaging
[v2.2.1] - 2022-10-05
[v2.2.0] - 2022-10-05
- Improve type annotation for wait generators from @hauntsaninja
- Include exception in details dict of call handlers from @petamas
- Improve type hints for call handlers from @cdce8p
[v2.1.2] - 2022-06-08
Fixed
[v2.1.1] - 2022-06-08
Fixed
[v2.1.0] - 2022-06-07
Changed
- Get max_tries/max_time values for every call fixes #160 (from @jvrsantacruz)
[v2.0.1] - 2022-04-27
Changed
- Allow None for jitter keyword arg (typing)
[v2.0.0] - 2022-04-26
Added
- Add raise_on_giveup keyword arg for decorators
- Add backoff.runtime wait generator for dynamically setting wait times based
on target function return value or exception details
Changed
- Improve type hints for on_success, on_backoff, on_giveup handlers
- Use decorator-specific detail and handler type hints
- Optionally use typing_extensions for python 3.7 type hinting
- Drop python 3.6 support
- Add python 3.10 support
[v1.11.1] - 2021-07-14
Fixed
- Update version in backoff module
[v1.11.0] - 2021-07-12
Added
- Configurable logging levels for backoff and giveup events
Changed
- Minor documentation fixes
[v1.10.0] - 2019-12-07
Changed
- Allow sync decorator call from async function
- NOTE: THIS WILL BE THE FINAL PYTHON 2.7 COMPATIBLE RELEASE.
[v1.9.2] - 2019-11-19
Changed
- Don't include tests and changelog in distribution
[v1.9.1] - 2019-11-18
Changed
- Include tests and changelog in distribution
[v1.9.0] - 2019-11-16
Changed
[v1.8.1] - 2019-10-11
Changed
[v1.8.0] - 2018-12-20
Added
- Custom loggers
- Iterable intervals for constant wait_gen for predefined wait sequences
Changed
- Give up on StopIteration raised in wait generators
- Nullary jitter signature deprecation warning
[v1.7.0] - 2018-11-23
Changed
- Support Python 3.7
- Drop support for async in Python 3.4
- Drop support for Python 2.6
- Update development dependencies
- Use poetry for dependencies and packaging
[v1.6.0] - 2018-07-14
Changed
- Change default log level from ERROR to INFO
- Log retries on exception as INFO
[v1.5.0] - 2018-04-11
Added
- Add max_time keyword argument
[v1.4.3] - 2017-05-22
Changed
- Add license to source distribution
[v1.4.2] - 2017-04-25
Changed
[v1.4.1] - 2017-04-21
Added
- Expose version at package root
Changed
- Fix checking for running sync version in coroutine in case when event
loop is not set from @rutsky
[v1.4.0] - 2017-02-05
Added
- Async support via
asyncio coroutines (Python 3.4) from @rutsky
Changed
- Refactor
backoff module into package with identical API
[v1.3.2] - 2016-11-18
Changed
- Don't log retried args and kwargs by default
- README.rst syntax highlighting from @dethi
[v1.3.1] - 2016-08-08
Changed
- Include README.rst in source distribution (fixes package)
[v1.3.0] - 2016-08-08
Added
- Support runtime configuration with optional callable kwargs
- Add giveup kwarg for exception inspection
Changed
[v1.2.1] - 2016-05-27
Changed
[v1.2.0] - 2016-05-26
Added
Changed
- Jitter function now accepts raw value and returns jittered value
- Change README to reST for the benefit of pypi :(
- Remove docstring doc generation and make README canonical
[v1.1.0] - 2015-12-08
Added
- Event handling for success, backoff, and giveup
- Change log
Changed
- Docs and test for multi exception invocations
- Update dev environment test dependencies
[v1.0.7] - 2015-02-10
Changed
- Fix string formatting for python 2.6
[v1.0.6] - 2015-02-10
Added
Changed
- Fix logging bug for function calls with tuple params
[v1.0.5] - 2015-02-03
Changed
- Add a default interval of 1 second for the constant generator
- Improve on_predicate stop condition avoiding extra sleep
[v1.0.4] - 2014-08-12
Added
[v1.0.3] - 2014-06-05
Changed
- Make logging unicode safe
- Log on_predicate backoff as INFO rather than ERROR