Skip to content

Commit

Permalink
Release 0.16.0
Browse files Browse the repository at this point in the history
  • Loading branch information
pquentin committed Jun 10, 2020
1 parent ffb1b12 commit 7ef6f09
Show file tree
Hide file tree
Showing 10 changed files with 63 additions and 35 deletions.
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.16.0 (2020-06-10)
------------------------

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

- If you want to use Trio, but are stuck with some other event loop like
Qt or PyGame, then good news: now you can have both. For details, see:
:ref:`guest-mode`. (`#399 <https://github.com/python-trio/trio/issues/399>`__)


Features
~~~~~~~~

- To speed up `trio.to_thread.run_sync`, Trio now caches and re-uses
worker threads.

And in case you have some exotic use case where you need to spawn
threads manually, but want to take advantage of Trio's cache, you can
do that using the new `trio.lowlevel.start_thread_soon`. (`#6 <https://github.com/python-trio/trio/issues/6>`__)
- Tasks spawned with `nursery.start() <trio.Nursery.start>` aren't treated as
direct children of their nursery until they call ``task_status.started()``.
This is visible through the task tree introspection attributes such as
`Task.parent_nursery <trio.lowlevel.Task.parent_nursery>`. Sometimes, though,
you want to know where the task is going to wind up, even if it hasn't finished
initializing yet. To support this, we added a new attribute
`Task.eventual_parent_nursery <trio.lowlevel.Task.eventual_parent_nursery>`.
For a task spawned with :meth:`~trio.Nursery.start` that hasn't yet called
``started()``, this is the nursery that the task was nominally started in,
where it will be running once it finishes starting up. In all other cases,
it is ``None``. (`#1558 <https://github.com/python-trio/trio/issues/1558>`__)


Bugfixes
~~~~~~~~

- Added a helpful error message if an async function is passed to `trio.to_thread.run_sync`. (`#1573 <https://github.com/python-trio/trio/issues/1573>`__)


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

- Remove ``BlockingTrioPortal``: it was deprecated in 0.12.0. (`#1574 <https://github.com/python-trio/trio/issues/1574>`__)
- The ``tiebreaker`` argument to `trio.testing.wait_all_tasks_blocked`
has been deprecated. This is a highly obscure feature that was
probably never used by anyone except `trio.testing.MockClock`, and
`~trio.testing.MockClock` doesn't need it anymore. (`#1587 <https://github.com/python-trio/trio/issues/1587>`__)
- Remove the deprecated ``trio.ssl`` and ``trio.subprocess`` modules. (`#1594 <https://github.com/python-trio/trio/issues/1594>`__)


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

- We refactored `trio.testing.MockClock` so that it no longer needs to
run an internal task to manage autojumping. This should be mostly
invisible to users, but there is one semantic change: the interaction
between `trio.testing.wait_all_tasks_blocked` and the autojump clock
was fixed. Now, the autojump will always wait until after all
`~trio.testing.wait_all_tasks_blocked` calls have finished before
firing, instead of it depending on which threshold values you passed. (`#1587 <https://github.com/python-trio/trio/issues/1587>`__)


Trio 0.15.1 (2020-05-22)
------------------------

Expand Down
11 changes: 0 additions & 11 deletions newsfragments/1558.feature.rst

This file was deleted.

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

This file was deleted.

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

This file was deleted.

4 changes: 0 additions & 4 deletions newsfragments/1587.deprecated.rst

This file was deleted.

7 changes: 0 additions & 7 deletions newsfragments/1587.misc.rst

This file was deleted.

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

This file was deleted.

3 changes: 0 additions & 3 deletions newsfragments/399.headline.rst

This file was deleted.

6 changes: 0 additions & 6 deletions newsfragments/6.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.15.1+dev"
__version__ = "0.16.0"

0 comments on commit 7ef6f09

Please sign in to comment.