8000 Releases · ZeroIntensity/pyawaitable · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: ZeroIntensity/pyawaitable

2.0.0

30 Mar 19:37
b948e76
Compare
Choose a tag to compare

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).

1.4.0

10 Feb 02:59
8783da2
Compare
Choose a tag to compare

This will be the final release of PyAwaitable 1.x!

What's New?

  • Added PyAwaitable_DeferAwait for executing code without a coroutine when the awaitable object is called by the event loop.

What's Fixed?

  • Objects returned by a PyAwaitable object's __await__ are now garbage collected (i.e., they don't leak with rare circular references).

What's Changed?

  • Significantly reduced PyAwaitable object size by dynamically allocating it.
  • Reduced memory footprint by removing preallocated awaitable objects.
  • Removed limit on the number of stored callbacks or values.
  • Switched some user-error messages to RuntimeError instead of SystemError.

1.3.0

29 Oct 21:56
7513ab6
Compare
Choose a tag to compare
  • Added support for async with via pyawaitable_async_with.
  • Dropped support for Python 3.8 (now EOL).
  • Added support for Python 3.13.

1.2.0

06 Aug 16:27
69737b8
Compare
Choose a tag to compare
  • Added getting and setting of value storage.
    • pyawaitable_get
    • pyawaitable_get_arb
    • pyawaitable_get_int
    • pyawaitable_set
    • pyawaitable_set_arb
    • pyawaitable_set_int

1.1.0

04 Aug 01:38
bf149be
Compare
Choose a tag to compare
  • Changed error message when attempting to await a non-awaitable object (i.e., it has no __await__).
  • Fixed coroutine iterator reference leak.
  • Fixed reference leak in error callbacks.
  • Fixed early exit of pyawaitable_unpack_arb if a NULL value was saved.
  • Added integer value saving and unpacking (pyawaitable_save_int and pyawaitable_unpack_int).
  • Callbacks are now preallocated for better performance.
  • Fixed reference leak in the coroutine send() method.

1.0.0

24 Jun 20:10
Compare
Choose a tag to compare

The stable release of PyAwaitable!

1.0.0 Release Candidate 2

24 Jun 14:02
e942937
Compare
Choose a tag to compare
Pre-release
  • Switched to fixed-length pre-allocated arrays for values and callbacks
  • Added a limit to both values and callbacks (as they are now preallocated)
  • Added a pre-allocated pool of objects
  • pyawaitable_new() now returns an object from the pre-allocated object pool, but then goes back to using the heap once the pool has been emptied.

1.0.0 Release Candidate

22 Jun 19:58
21240aa
Compare
Choose a tag to compare
Pre-release
  • Switched to the pyawaitable_ prefix
  • Renamed awaitable.h to pyawaitable.h
  • Added pyawaitable_await_function
  • Added pyawaitable.include
  • Added required usage of PYAWAITABLE_THIS_FILE_INIT define in the file that calls pyawaitable_init()

1.0.0 Beta

29 May 14:07
488d53b
Compare
Choose a tag to compare
1.0.0 Beta Pre-release
Pre-release
  • Initial release (again, first build failed)
0