Skip to content

2.0.0

Latest
Compare
Choose a tag to compare
@ZeroIntensity ZeroIntensity released this 30 Mar 19:37
· 4 commits to master since this release
b948e76

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 a RuntimeWarning).
  • PyAwaitable_AddAwait now raises a ValueError if the passed object is NULL or self, and also now raises a TypeError if the passed object is not a coroutine.

Breaking Changes in 2.0.0

  • PyAwaitable_ prefixes are now required, and the old pyawaitable_* functions have been removed.
  • PyAwaitable_Init no longer takes a module object.
  • Renamed awaitcallback to PyAwaitable_Callback
  • Renamed awaitcallback_err to PyAwaitable_Error
  • Renamed defercallback to PyAwaitable_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 (via mallocing an integer and storing it).