Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions docs/source/history.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,68 @@ Release history

.. towncrier release notes start

Trio 0.17.0 (2020-09-15)
------------------------

Headline features
~~~~~~~~~~~~~~~~~

- Trio now supports automatic :ref:`async generator finalization
<async-generators>`, so more async generators will work even if you
don't wrap them in ``async with async_generator.aclosing():``
blocks. Please see the documentation for important caveats; in
particular, yielding within a nursery or cancel scope remains
unsupported. (`#265 <https://github.com/python-trio/trio/issues/265>`__)


Features
~~~~~~~~

- `trio.open_tcp_stream` has a new ``local_address=`` keyword argument
that can be used on machines with multiple IP addresses to control
which IP is used for the outgoing connection. (`#275 <https://github.com/python-trio/trio/issues/275>`__)
- If you pass a raw IP address into ``sendto``, it no longer spends any
time trying to resolve the hostname. If you're using UDP, this should
substantially reduce your per-packet overhead. (`#1595 <https://github.com/python-trio/trio/issues/1595>`__)
- `trio.lowlevel.checkpoint` is now much faster. (`#1613 <https://github.com/python-trio/trio/issues/1613>`__)
- We switched to a new, lower-overhead data structure to track upcoming
timeouts, which should make your programs faster. (`#1629 <https://github.com/python-trio/trio/issues/1629>`__)


Bugfixes
~~~~~~~~

- On macOS and BSDs, explicitly close our wakeup socketpair when we're
done with it. (`#1621 <https://github.com/python-trio/trio/issues/1621>`__)
- Trio can now be imported when `sys.excepthook` is a `functools.partial` instance, which might occur in a
``pytest-qt`` test function. (`#1630 <https://github.com/python-trio/trio/issues/1630>`__)
- The thread cache didn't release its reference to the previous job. (`#1638 <https://github.com/python-trio/trio/issues/1638>`__)
- On Windows, Trio now works around the buggy behavior of certain
Layered Service Providers (system components that can intercept
network activity) that are built on top of a commercially available
library called Komodia Redirector. This benefits users of products
such as Astrill VPN and Qustodio parental controls. Previously, Trio
would crash on startup when run on a system where such a product was
installed. (`#1659 <https://github.com/python-trio/trio/issues/1659>`__)


Deprecations and removals
~~~~~~~~~~~~~~~~~~~~~~~~~

- Remove ``wait_socket_*``, ``notify_socket_closing``, ``notify_fd_closing``, ``run_sync_in_worker_thread`` and ``current_default_worker_thread_limiter``. They were deprecated in 0.12.0. (`#1596 <https://github.com/python-trio/trio/issues/1596>`__)


Miscellaneous internal changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- When using :ref:`instruments <instrumentation>`, you now only "pay for what you use":
if there are no instruments installed that override a particular hook such as
:meth:`~trio.abc.Instrument.before_task_step`, then Trio doesn't waste any effort
on checking its instruments when the event corresponding to that hook occurs.
Previously, installing any instrument would incur all the instrumentation overhead,
even for hooks no one was interested in. (`#1340 <https://github.com/python-trio/trio/issues/1340>`__)


Trio 0.16.0 (2020-06-10)
------------------------

Expand Down
6 changes: 0 additions & 6 deletions newsfragments/1340.misc.rst

This file was deleted.

3 changes: 0 additions & 3 deletions newsfragments/1595.feature.rst

This file was deleted.

1 change: 0 additions & 1 deletion newsfragments/1596.deprecated.rst

This file was deleted.

1 change: 0 additions & 1 deletion newsfragments/1613.feature.rst

This file was deleted.

2 changes: 0 additions & 2 deletions newsfragments/1621.bugfix.rst

This file was deleted.

2 changes: 0 additions & 2 deletions newsfragments/1629.feature.rst

This file was deleted.

2 changes: 0 additions & 2 deletions newsfragments/1630.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion newsfragments/1638.bugfix.rst

This file was deleted.

7 changes: 0 additions & 7 deletions newsfragments/1659.bugfix.rst

This file was deleted.

6 changes: 0 additions & 6 deletions newsfragments/265.headline.rst

This file was deleted.

3 changes: 0 additions & 3 deletions newsfragments/275.feature.rst

This file was deleted.

2 changes: 1 addition & 1 deletion trio/_version.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# This file is imported from __init__.py and exec'd from setup.py

__version__ = "0.16.0+dev"
__version__ = "0.17.0+dev"