- Changed implementation to prefer builtin asyncio.wait_for when possible using Python 3.12+
- Updated tests to reflect new implementation
- Dropped Python 3.7 compatibility testing
- Added 3.10 compatibility
- Redesigned all wait-for handling branches to behave consistently
- Improved test coverage to 100% (with branch coverage)
- Breaking change: the
race_handlercallback is now passed a 2nd argument. It's a boolean indicating if the result was a raised exception.
- Added a callback-based handling option
- Made a simpler test to assert the different behaviours
- Initial release