Woah, is that a new major version bump I smell?
What's New?
- Added a simple CLI, primarily for getting the include directory from
meson-python
(pyawaitable --include
). - Improved performance with compiler optimizations.
- Moved away from function pointer tables for loading PyAwaitable; everything is now vendored upon installation! This means that PyAwaitable is no longer required as a runtime dependency!
- Completely remastered the documentation!
What's Fixed?
- PyAwaitable objects now support garbage collection.
What's Changed?
- The warning emitted when a PyAwaitable object is not awaited is now a
ResourceWarning
(was aRuntimeWarning
). PyAwaitable_AddAwait
now raises aValueError
if the passed object isNULL
or self, and also now raises aTypeError
if the passed object is not a coroutine.
Breaking Changes in 2.0.0
PyAwaitable_
prefixes are now required, and the oldpyawaitable_*
functions have been removed.PyAwaitable_Init
no longer takes a module object.- Renamed
awaitcallback
toPyAwaitable_Callback
- Renamed
awaitcallback_err
toPyAwaitable_Error
- Renamed
defercallback
toPyAwaitable_Defer
- Removed the integer value APIs (
SaveIntValues
,LoadIntValues
,SetIntValue
,GetIntValue
). They proved to be maintenance heavy, unintuitive, and most of all replaceable with the arbitrary values API (viamalloc
ing an integer and storing it).