#11140: Fix non-string constants at the top of file being detected as docstrings on Python>=3.8.
#11572: Handle an edge case where sys.stderr{.interpreted-text role="data"} and sys.__stderr__{.interpreted-text role="data"} might already be closed when faulthandler{.interpreted-text role="ref"} is tearing down.
#11710: Fixed tracebacks from collection errors not getting pruned.
#7966: Removed unhelpful error message from assertion rewrite mechanism when exceptions are raised in __iter__ methods. Now they are treated un-iterable instead.
Improved Documentation
#11091: Updated documentation to refer to hyphenated options: replaced --junitxml with --junit-xml and --collectonly with --collect-only.
pytest 7.4.3 (2023-10-24)
Bug Fixes
#10447: Markers are now considered in the reverse mro order to ensure base class markers are considered first -- this resolves a regression.
#11239: Fixed := in asserts impacting unrelated test cases.
#11439: Handled an edge case where :data:sys.stderr might already be closed when :ref:faulthandler is tearing down.
Removed rsyncdir support. This makes pytest-cov compatible with xdist 3.0.
Contributed by Sorin Sbarnea in [#558](https://github.com/pytest-dev/pytest-cov/issues/558) <https://github.com/pytest-dev/pytest-cov/pull/558>_.
Optimized summary generation to not be performed if no reporting is active (for example,
when --cov-report='' is used without --cov-fail-under).
Contributed by Jonathan Stewmon in [#589](https://github.com/pytest-dev/pytest-cov/issues/589) <https://github.com/pytest-dev/pytest-cov/pull/589>_.
Added support for JSON reporting.
Contributed by Matthew Gamble in [#582](https://github.com/pytest-dev/pytest-cov/issues/582) <https://github.com/pytest-dev/pytest-cov/pull/582>_.
Refactored code to use f-strings.
Contributed by Mark Mayo in [#572](https://github.com/pytest-dev/pytest-cov/issues/572) <https://github.com/pytest-dev/pytest-cov/pull/572>_.
Fixed a skip in the test suite for some old xdist.
Contributed by a bunch of people in [#565](https://github.com/pytest-dev/pytest-cov/issues/565) <https://github.com/pytest-dev/pytest-cov/pull/565>_.
Fixes a bug that caused event loops to be closed prematurely when using async generator fixtures with class scope or wider in a function-scoped test #706
Fixes various bugs that caused an internal pytest error during test collection #711#713#719
Known issues
As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.
pytest-asyncio 0.23.3a0
0.23.3 (UNRELEASED)
Fixes a bug that caused event loops to be closed prematurely when using async generator fixtures with class scope or wider in a function-scoped test #708
Fixes a bug that caused an internal pytest error when using unittest.SkipTest in a module #711
pytest-asyncio 0.23.2
0.23.2 (2023-12-04)
Fixes a bug that caused an internal pytest error when collecting .txt files #703
pytest-asyncio 0.23.1
0.23.1 (2023-12-03)
Fixes a bug that caused an internal pytest error when using module-level skips #701
pytest-asyncio 0.23.0
This release is backwards-compatible with v0.21. Changes are
non-breaking, unless you upgrade from v0.22.
BREAKING: The asyncio_event_loop mark has been removed. Event
loops with class, module, package, and session scopes can be
requested via the scope keyword argument to the asyncio
mark.
Introduces the event_loop_policy fixture which allows testing with
non-default or multiple event loops #662
Introduces pytest_asyncio.is_async_test which returns whether a
test item is managed by pytest-asyncio #376
Removes and pytest-trio,mypy, and flaky from the test
dependencies #620, #674, #678
pytest-asyncio 0.23.0b0
0.23.0 (UNRELEASED)
This release is backwards-compatible with v0.21.
Changes are non-breaking, unless you upgrade from v0.22.
BREAKING: The asyncio_event_loop mark has been removed. Event loops with class, module, package, and session scopes can be requested via the scope keyword argument to the asyncio mark.
Introduces the event_loop_policy fixture which allows testing with non-default or multiple event loops #662
Removes pytest-trio from the test dependencies #620
[orm] [bug] Improved a fix first implemented for #3208 released in version
0.9.8, where the registry of classes used internally by declarative could
be subject to a race condition in the case where individual mapped classes
are being garbage collected at the same time while new mapped classes are
being constructed, as can happen in some test suite configurations or
dynamic class creation environments. In addition to the weakref check
already added, the list of items being iterated is also copied first to
avoid "list changed while iterating" errors. Pull request courtesy Yilei
Yang.
[orm] [bug] Fixed issue where use of _orm.foreign() annotation on a
non-initialized _orm.mapped_column() construct would produce an
expression without a type, which was then not updated at initialization
time of the actual column, leading to issues such as relationships not
determining use_get appropriately.
[orm] [bug] Improved the error message produced when the unit of work process sets the
value of a primary key column to NULL due to a related object with a
dependency rule on that column being deleted, to include not just the
destination object and column name but also the source column from which
the NULL value is originating. Pull request courtesy Jan Vollmer.
[orm] [bug] Modified the __init_subclass__() method used by
_orm.MappedAsDataclass, _orm.DeclarativeBase and
_orm.DeclarativeBaseNoMeta to accept arbitrary **kw and to
propagate them to the super() call, allowing greater flexibility in
arranging custom superclasses and mixins which make use of
__init_subclass__() keyword arguments. Pull request courtesy Michael
Oliver.
[orm] [bug] Ensured the use case of Bundle objects used in the
returning() portion of ORM-enabled INSERT, UPDATE and DELETE statements
is tested and works fully. This was never explicitly implemented or
This feature release adds typing_extensions.ReadOnly, as specified
by PEP 705, and makes various other improvements, especially to
@typing_extensions.deprecated().
There are no changes since 4.9.0rc1.
4.9.0rc1
Add support for PEP 705, adding typing_extensions.ReadOnly. Patch
by Jelle Zijlstra.
All parameters on NewType.__call__ are now positional-only. This means that
the signature of typing_extensions.NewType.__call__ now exactly matches the
signature of typing.NewType.__call__. Patch by Alex Waygood.
Fix bug with using @deprecated on a mixin class. Inheriting from a
deprecated class now raises a DeprecationWarning. Patch by Jelle Zijlstra.
@deprecated now gives a better error message if you pass a non-str
argument to the msg parameter. Patch by Alex Waygood.
@deprecated is now implemented as a class for better introspectability.
Patch by Jelle Zijlstra.
Exclude __match_args__ from Protocol members.
Backport of python/cpython#110683 by Nikita Sobolev.
When creating a typing_extensions.NamedTuple class, ensure __set_name__
is called on all objects that define __set_name__ and exist in the values
of the NamedTuple class's class dictionary. Patch by Alex Waygood,
backporting python/cpython#111876.
Improve the error message when trying to call issubclass() against a
Protocol that has non-method members. Patch by Alex Waygood (backporting
python/cpython#112344, by Randolph Scholz).
This feature release adds typing_extensions.ReadOnly, as specified
by PEP 705, and makes various other improvements, especially to
@typing_extensions.deprecated().
There are no changes since 4.9.0rc1.
Release 4.9.0rc1 (November 29, 2023)
Add support for PEP 705, adding typing_extensions.ReadOnly. Patch
by Jelle Zijlstra.
All parameters on NewType.__call__ are now positional-only. This means that
the signature of typing_extensions.NewType.__call__ now exactly matches the
signature of typing.NewType.__call__. Patch by Alex Waygood.
Fix bug with using @deprecated on a mixin class. Inheriting from a
deprecated class now raises a DeprecationWarning. Patch by Jelle Zijlstra.
@deprecated now gives a better error message if you pass a non-str
argument to the msg parameter. Patch by Alex Waygood.
@deprecated is now implemented as a class for better introspectability.
Patch by Jelle Zijlstra.
Exclude __match_args__ from Protocol members.
Backport of python/cpython#110683 by Nikita Sobolev.
When creating a typing_extensions.NamedTuple class, ensure __set_name__
is called on all objects that define __set_name__ and exist in the values
of the NamedTuple class's class dictionary. Patch by Alex Waygood,
backporting python/cpython#111876.
Improve the error message when trying to call issubclass() against a
Protocol that has non-method members. Patch by Alex Waygood (backporting
python/cpython#112344, by Randolph Scholz).
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the tests group in /tests with 7 updates:
22.1.0
23.2.0
1.10.2
2.5.3
7.4.2
7.4.4
4.0.0
4.1.0
0.20.3
0.23.3
1.4.45
2.0.24
4.8.0
4.9.0
Updates
attrs
from 22.1.0 to 23.2.0Commits
Updates
pydantic
from 1.10.2 to 2.5.3Release notes
Sourced from pydantic's releases.
... (truncated)
Changelog
Sourced from pydantic's changelog.
... (truncated)
Commits
9f58e78
Fix history (#8424)1026268
Add history for 2.5.3 (#8423)888354f
2.5.3 patch release with new pydantic-core (#8420)b75cb28
updating history for patch release based on new core changes365e587
bumping core to 2.14.52033119
Fix:JsonValue
bool
serialization (#8190)34ef158
prep for 2.5.2 release (#8169)25d1197
uprev corecc168a8
AddConfigDict.ser_json_inf_nan
(#8159)01c970b
Fixmodel_validator
example usage code (#8141)Updates
pytest
from 7.4.2 to 7.4.4Release notes
Sourced from pytest's releases.
Commits
33f694f
Prepare release version 7.4.476c107c
Merge pull request #11751 from bluetech/backport-11143-to-7.4.x531d76d
[7.4.x] Improve reporting from iter exceptions (#11749)a0f58fa
Merge pull request #11143 from tushar-deepsource/patch-1b1f3387
[7.4.x] #11091: documentation should use hypthonated properties (#11750)2cdd619
Merge pull request #11747 from pytest-dev/backport-11711-to-7.4.xd06c05b
[7.4.x] nodes: fix tracebacks from collection errors are not getting pruned5582bfc
[7.4.x] Improves clarity in Sphinx documentation for function signature. (#11...13024ef
[7.4.x] Fix for operation on closed file in faulthandler teardown (#11631)a40dacf
[7.4.x] XFAIL TestLocalPath.test_make_numbered_dir_multiprocess_safe (#11616)Updates
pytest-cov
from 4.0.0 to 4.1.0Changelog
Sourced from pytest-cov's changelog.
Commits
2c9f217
Bump version: 4.0.0 → 4.1.04d245df
Update changelog and authors.7b095c8
Skip starting from xdist 3.0.2 (where boxed was removed).605d690
disabling boxed test if version xdist newer than 2.5.076fb2a6
introduced f-strings0d63ede
Update test config. Reapply some of the changes from PR567 to the right file ...f3d8d83
Add support for JSON reporterdec02ab
Update test deps.88a7d34
chore: update AUTHORS and CHANGELOG74eb4cc
perf: only call summary when the report will be usedUpdates
pytest-asyncio
from 0.20.3 to 0.23.3Release notes
Sourced from pytest-asyncio's releases.
... (truncated)
Commits
260b791
[docs] Prepare release of v0.23.3.6a253e2
[docs] Shorten changelog by combining multiple issues.e2cbb90
[docs] Mention correct issue in changelog.0c522bf
[fix] Fixes a bug that caused an internal pytest error when using ImportWarni...31c7e6f
Build(deps): Bump coverage from 7.3.3 to 7.3.4 in /dependencies/default38d5c7e
Build(deps): Bump sphinx-rtd-theme in /dependencies/docs650ec58
Build(deps): Bump babel from 2.13.1 to 2.14.0 in /dependencies/docs0166a7e
Build(deps): Bump typing-extensions in /dependencies/default3a15f30
Build(deps): Bump coverage from 7.3.2 to 7.3.3 in /dependencies/default28e91f0
Build(deps): Bump hypothesis in /dependencies/defaultUpdates
sqlalchemy
from 1.4.45 to 2.0.24Release notes
Sourced from sqlalchemy's releases.
... (truncated)
Commits
Updates
typing-extensions
from 4.8.0 to 4.9.0Release notes
Sourced from typing-extensions's releases.
Changelog
Sourced from typing-extensions's changelog.
Commits
fc461d6
Release 4.9.0 (#313)f82d636
Prepare release 4.9.0rc1 (#306)daa7931
Run typed-argument-parser tests on 3.12 in the daily workflow (#307)0b0166d
Add support for PEP 705 (#284)db6f9b4
Update@deprecated
implementation (#302)18ae2b3
Backport recent improvements to the error message when trying to call `issubc...e4d9d8b
fix typo inoverride()
docstring (#305)4f91502
Backport recent change toNamedTuple
classes regarding__set_name__
(#303)7af82f9
@deprecated
: will be in warnings, not typing (#298)f9f257c
Fix deprecating a mixin; warn when inheriting from a deprecated class (#294)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show