.. currentmodule:: qtrio
- QTrio now requires Python 3.10 or newer. Support for Python 3.7, 3.8, and 3.9 has been removed. PySide2 remains supported, but is untested. (#286)
- QTrio now supports PyQt6 and PySide6. Thanks to Niketh Keshavan (@niketh-keshavan) for implementing this support. (#288)
- Updated the test suite for pytest 8.4 and reduced CI timing sensitivity. Thanks to Niketh Keshavan (@niketh-keshavan) for these improvements. (#287)
- Updated to support trio-typing 0.8.0. (#283)
- Added support for CPython 3.10 and 3.11. Note that PySide2 only supports up to 3.10 and there are unresolved issues with that combination so it is excluded from testing. (#275)
- Updated several dependencies. (#275)
- Removed testing of and support for EOL CPython 3.6. (#275)
- Emit :class:`qtrio.ApplicationQuitWarning` when the Qt application quits but QTrio is expecting to manage :ref:`the application lifetime <lifetime>`. (#267)
- Updated several dependencies, most notably
trio-typing.
- Add documentation around :ref:`the application lifetime <lifetime>`. (#267)
- qts has replaced QtPy as the Qt wrapper compatibility layer. This allows progress on support for Qt 6 and more complete type hints. (#251)
- CI checks with mypy using both PySide2 and PyQt5. (#83)
- Use -m towncrier in the Read the Docs build. (#123)
No significant changes. Released for documentation improvements.
- Constrained all dependencies for better long term compatibility and reduced pip resolution time. (#211)
- Extract a subset of :func:`qtrio.dialogs.check_dialog_protocol` into a parent protocol
:func:`qtrio.dialogs.check_basic_dialog_protocol` which can be used to describe a dialog
without
.shownor.wait(). (#197) - Added file dialog creation helper :func:`qtrio.dialogs.create_file_open_dialog`. (#198)
- Added :class:`qtrio.dialogs.ProgressDialog` and creation helper :func:`qtrio.dialogs.create_progress_dialog`. (#199)
- Added :meth:`qtrio.dialogs.FileDialog.set_path`. (#200)
- Include the missing
py.typedfile that is used to state there are type hints to process. (#206)
- Integrate with pytest-trio for :ref:`testing <testing>`. (#9)
- Python 3.9 supported. (#113)
- Removed
qtrio.host()in favor of pytest-trio for :ref:`testing <testing>`. (#9) - :func:`qtrio.run` returns the passed async function's result instead of a combined Trio and Qt outcome. (#9)
- Introduce QTrio specific wrappers for some builtin :ref:`dialogs <dialogs>`. (#2)
- Added :func:`qtrio.open_emissions_nursery()` for connecting signals to both async and sync slots. (#57)
- Provide more control over the reentry event type via :func:`qtrio.register_event_type`, :func:`qtrio.register_requested_event_type`, and :func:`qtrio.registered_event_type`. (#16)
- Enable running the CLI via
python -m qtrio. (#99) - Accept a
clockparameter. Supported by :func:`qtrio.run` and :class:`qtrio.Runner`. (#121) - Run and test timeouts report a
trio.MultiErrorto make context of the active tasks at the time of cancellation available. (#135)
- Remove noisy output from :meth:`qtrio.Runner.trio_done`. (#11)
- Badges now in new resources section of readme and main doc page. (#103)
- Classifiers for 3.6, 3.7, and 3.8 are included. (#104)
- Link to issues included in resources section. (#106)
- List all resource URLs in PyPI project URLs. (#107)
- Use
stablefor :mod:`outcome` intersphinx links. (#109) - Add section about :ref:`installation`, mostly to describe extras. (#155)
- Show
[sources]links in documentation linked to included code. (#168) - Update the :ref:`layer 2 example <getting_started_layer_2>` to use
async for _ in emissions.channel:. (#173)
- Shift to a single
qtrio._testspackage rather than distributing with one_testsper code package. (#139) - pytest type hints are no longer ignored. Version 6 or later required. (#153)
blackconfig updated, useblack .to format. (#174)
- Initial release