diff --git a/docs/source/history.rst b/docs/source/history.rst index 7eae34f5..f52c12a0 100644 --- a/docs/source/history.rst +++ b/docs/source/history.rst @@ -5,6 +5,24 @@ Release history .. towncrier release notes start +trio-asyncio 0.16.0 (2026-05-15) +-------------------------------- + +Bugfixes +~~~~~~~~ + +- trio-asyncio now properly resolves the ``asyncio.Future`` used for + asyncio-to-trio transitions (``trio_as_future()``, etc) when the + underlying asyncio Handle is cancelled. Previously, this would occur + only if the cancellation were taken after the Trio task began executing. + (`#161 `__) + +Miscellaneous +~~~~~~~~~~~~~ + +- Python 3.13 is now supported. Python 3.8 is no longer supported. + + trio-asyncio 0.15.0 (2024-04-24) -------------------------------- diff --git a/newsfragments/###.misc.rst b/newsfragments/###.misc.rst deleted file mode 100644 index 7eb2665f..00000000 --- a/newsfragments/###.misc.rst +++ /dev/null @@ -1 +0,0 @@ -Python 3.13 is now supported. Python 3.8 is no longer supported. diff --git a/newsfragments/161.bugfix.rst b/newsfragments/161.bugfix.rst deleted file mode 100644 index b756f164..00000000 --- a/newsfragments/161.bugfix.rst +++ /dev/null @@ -1,8 +0,0 @@ -When an ``AsyncHandle`` is cancelled before the ``_main_loop`` is able to -dequeue it (often due to heavy CPU load), ``trio-asyncio`` currently leaves -the underlying ``asyncio.Future`` hanging in the ``PENDING`` state forever, -preventing the cancellation to travel upwards back into the trio loop, -leading to us missing task cancellation/completion. Specifically, -``_main_loop_one`` greedily drops it at ``if obj._cancelled: return`` -without running ``_run``, leaving the ``result_future`` pending forever. -The fix is to always run ``AsyncHandle._run``. \ No newline at end of file diff --git a/trio_asyncio/_version.py b/trio_asyncio/_version.py index 4a06ac8f..4d1671b9 100644 --- a/trio_asyncio/_version.py +++ b/trio_asyncio/_version.py @@ -1,3 +1,3 @@ # This file is imported from __init__.py and exec'd from setup.py -__version__ = "0.15.0+dev" +__version__ = "0.16.0+dev"