#12446: Avoid calling @property (and other instance descriptors) during fixture discovery -- by asottile{.interpreted-text role="user"}
#12659: Fixed the issue of not displaying assertion failure differences when using the parameter --import-mode=importlib in pytest>=8.1.
#12667: Fixed a regression where type change in [ExceptionInfo.errisinstance]{.title-ref} caused [mypy]{.title-ref} to fail.
#12744: Fixed typing compatibility with Python 3.9 or less -- replaced [typing.Self]{.title-ref} with [typing_extensions.Self]{.title-ref} -- by Avasam{.interpreted-text role="user"}
#12745: Fixed an issue with backslashes being incorrectly converted in nodeid paths on Windows, ensuring consistent path handling across environments.
#6682: Fixed bug where the verbosity levels where not being respected when printing the "msg" part of failed assertion (as in assert condition, msg).
#9422: Fix bug where disabling the terminal plugin via -p no:terminal would cause crashes related to missing the verbose option.
-- by GTowers1{.interpreted-text role="user"}
Improved documentation
#12663: Clarify that the [pytest_deselected]{.title-ref} hook should be called from [pytest_collection_modifyitems]{.title-ref} hook implementations when items are deselected.
#12678: Remove erroneous quotes from [tmp_path_retention_policy]{.title-ref} example in docs.
Miscellaneous internal changes
#12769: Fix typos discovered by codespell and add codespell to pre-commit hooks.
8.3.2
pytest 8.3.2 (2024-07-24)
Bug fixes
#12652: Resolve regression [conda]{.title-ref} environments where no longer being automatically detected.
-- by RonnyPfannschmidt{.interpreted-text role="user"}
8.3.1
pytest 8.3.1 (2024-07-20)
The 8.3.0 release failed to include the change notes and docs for the release. This patch release remedies this. There are no other changes.
... (truncated)
Commits
d0f136f build(deps): Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1 (#12790)
Removed support for xdist rsync (now deprecated).
Contributed by Matthias Reichenbach in [#623](https://github.com/pytest-dev/pytest-cov/issues/623) <https://github.com/pytest-dev/pytest-cov/pull/623>_.
Switched docs theme to Furo.
Various legacy Python cleanup and CI improvements.
Contributed by Christian Clauss and Hugo van Kemenade in
[#630](https://github.com/pytest-dev/pytest-cov/issues/630) <https://github.com/pytest-dev/pytest-cov/pull/630>,
[#631](https://github.com/pytest-dev/pytest-cov/issues/631) <https://github.com/pytest-dev/pytest-cov/pull/631>,
[#632](https://github.com/pytest-dev/pytest-cov/issues/632) <https://github.com/pytest-dev/pytest-cov/pull/632>_ and
[#633](https://github.com/pytest-dev/pytest-cov/issues/633) <https://github.com/pytest-dev/pytest-cov/pull/633>_.
Added a pyproject.toml example in the docs.
Contributed by Dawn James in [#626](https://github.com/pytest-dev/pytest-cov/issues/626) <https://github.com/pytest-dev/pytest-cov/pull/626>_.
Modernized project's pre-commit hooks to use ruff. Initial POC contributed by
Christian Clauss in [#584](https://github.com/pytest-dev/pytest-cov/issues/584) <https://github.com/pytest-dev/pytest-cov/pull/584>_.
Respect the string_if_invalid template setting when
--fail-on-template-vars is active and
:func:@pytest.mark.ignore_template_errors <pytest.mark.ignore_template_errors>
is used.
Avoid running database migrations for :class:~django.test.SimpleTestCase
unittest tests.
Added docstrings to public fixtures.
Bugfixes
^^^^^^^^
Fix type hints for pytest_django.asserts.assertFormError() and
pytest_django.asserts.assertForSetError().
When config.ignore_errors is Falsey, failures to parse Python files or
look up file sources will now interrupt and early exit collection, which
matches default coverage behaviour. Previously, we had manually muted
these errors and/or only errored after collecting multiple failures.
When config.ignore_errors is Falsey, failures to parse Python files or
look up file sources will now interrupt and early exit collection, which
matches default coverage behaviour. Previously, we had manually muted
these errors and/or only errored after collecting multiple failures.
BREAKING: Updated minimum supported pytest version to v8.2.0
Adds an optional loop_scope keyword argument to pytest.mark.asyncio. This argument controls which event loop is used to run the marked async test. #706, #871
Deprecates the optional scope keyword argument to pytest.mark.asyncio for API consistency with pytest_asyncio.fixture. Users are encouraged to use the loop_scope keyword argument, which does exactly the same.
Raises an error when passing scope or loop_scope as a positional argument to @pytest.mark.asyncio. #812
Fixes a bug that caused module-scoped async fixtures to fail when reused in other modules #862#668
pytest-asyncio 0.24.0a1
0.24.0 (UNRELEASED)
BREAKING: Updated minimum supported pytest version to v8.2.0
Adds an optional loop_scope keyword argument to pytest.mark.asyncio. This argument controls which event loop is used to run the marked async test. #706, #871
Deprecates the optional scope keyword argument to pytest.mark.asyncio for API consistency with pytest_asyncio.fixture. Users are encouraged to use the loop_scope keyword argument, which does exactly the same.
Raises an error when passing scope or loop_scope as a positional argument to @pytest.mark.asyncio. #812
Fixes a bug that caused module-scoped async fixtures to fail when reused in other modules #862#668
pytest-asyncio 0.24.0a0
0.24.0 (UNRELEASED)
Adds an optional loop_scope keyword argument to pytest.mark.asyncio. This argument controls which event loop is used to run the marked async test. #706, #871
Deprecates the optional scope keyword argument to pytest.mark.asyncio for API consistency with pytest_asyncio.fixture. Users are encouraged to use the loop_scope keyword argument, which does exactly the same.
Raises an error when passing scope or loop_scope as a positional argument to @pytest.mark.asyncio. #812
pytest-asyncio 0.23.8
0.23.8 (2024-07-17)
Fixes a bug that caused duplicate markers in async tests #813
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.7
0.23.7 (2024-05-19)
Silence deprecation warnings about unclosed event loops that occurred with certain CPython patch releases #817
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.
Commits
fb5422f docs: Set release date for v0.24 in changelog.
6dc7f58 docs: Add migration guides for pytest-asyncio v0.21 and v0.23.
1bfc181 Wire Sphinx builds into the RTD config via tox
f03cf13 Build(deps): Bump hypothesis in /dependencies/default
69540bf Build(deps): Bump attrs from 24.1.0 to 24.2.0 in /dependencies/default
b0ccfc5 Build(deps): Bump hypothesis in /dependencies/default
574f1db Build(deps): Bump babel from 2.15.0 to 2.16.0 in /dependencies/docs
ae30dac Update .readthedocs.yaml to install pytest-asyncio
Miscellaneous:
* APIGateway: get_api_keys()/get_usage_plan_keys() now support the nameQuery param
* AppSync: create_graphql_api() now supports the visibility-parameter
* DynamoDB: delete_item() now returns the item when a ConditionalCheckFailed is thrown and ReturnValuesOnConditionCheckFailure == ALL_OLD
* QuickSight: Users can now have special characters in their name
* QuickSight: list_group_memberships() now supports pagination
* QuickSight: list_groups() now supports pagination
* QuickSight: list_users() now supports pagination
* SageMaker: search() now also supports ModelPackages/Pipelines/Jobs/Executions
* SecretsManager: delete_secret() now allows force deletion of already marked-for-delete secret
* StepFunctions: create_state_machine() now supports the parameters encryptionConfiguration, tracingConfiguration, loggingConfiguration
5.0.16
Docker Digest for 5.0.16: sha256:9506ad3448a87082a436533855c61afaf3f1869e73f39f6575917db975569908
Bumps the python-packages group with 12 updates in the / directory:
0.2.1
0.6.9
7.4.4
8.3.3
4.1.0
5.0.0
4.8.0
4.9.0
3.3.1
4.0.1
0.12.4
0.13.2
7.1.0
8.5.0
0.23.6
0.24.0
5.0.5
5.0.17
0.3.1
0.4.1
3.7.0
4.0.1
0.30.6
0.31.1
Updates
ruff
from 0.2.1 to 0.6.9Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
975be9c
Bump version to 0.6.9 (#13624)99e4566
MarkFURB118
fix as unsafe (#13613)7ad07c2
Addallow-unused-imports
setting forunused-import
rule (F401
) (#13601)4aefe52
Support ruff discovery in pip build environments (#13591)cc1f766
Preserve trivia (i.e. comments) in PLR5501 (#13573)fdd0a22
Move to maintained mirror of prettier (#13592)3728d5b
[pyupgrade
] Fix UP043 to apply tocollections.abc.Generator
and `collecti...7e3894f
Avoid short circuitingB017
for multiple context managers (#13609)c3b40da
Use backticks for code in red-knot messages (#13599)ef45185
Allow users to provide custom diagnostic messages when unwrapping calls (#13597)Updates
pytest
from 7.4.4 to 8.3.3Release notes
Sourced from pytest's releases.
... (truncated)
Commits
d0f136f
build(deps): Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1 (#12790)972f307
Prepare release version 8.3.30dabdcf
Include co-authors in release announcement (#12795) (#12797)a9910a4
Do not discover properties when iterating fixtures (#12781) (#12788)0f10b6b
Fix issue with slashes being turned into backslashes on Windows (#12760) (#12...300d13d
Merge pull request #12785 from pytest-dev/patchback/backports/8.3.x/57cccf7f4...e5d32c7
Merge pull request #12784 from svenevs/fix/docs-example-parametrize-minor-typobc913d1
Streamline checks for verbose option (#12706) (#12778)01cfcc9
Fix typos and introduce codespell pre-commit hook (#12769) (#12774)4873394
doc: Remove past training (#12772) (#12773)Updates
pytest-cov
from 4.1.0 to 5.0.0Changelog
Sourced from pytest-cov's changelog.
Commits
5295ce0
Bump version: 4.1.0 → 5.0.01181b06
Update changelog.9757222
Fix a minor grammar error (#636)9f5cd81
Cleanup releasing instructions. Closes #616.93b5047
Add test for pyproject.toml loading without explicit --cov-config. Ref #508.ff50860
docs: add config instructions for pyproject.toml.4a5a4b5
Keep GitHub Actions up to date with GitHub's Dependabot1d7f559
Fix or remove URLs that are causing docs tests to fail6a5af8e
Update changelog.d9fe8df
Switch to furo. Closes #618.Updates
pytest-django
from 4.8.0 to 4.9.0Release notes
Sourced from pytest-django's releases.
Changelog
Sourced from pytest-django's changelog.
Commits
1157a7c
Release 4.9.0089843c
Add a few type annotationsd878d56
Add a missing type annotation19605d7
fail-on-template-vars: modernize stack inspection code (#1129)c746a46
Avoid running database migrations forSimpleTestCase
(#1120)8502a12
Replace psycopg2, psycopg2cffi -> psycopg in testing and docs52b2205
Drop support for EOL Django 3.2, 4.1, add support for 5.1c66f9d3
ci: use trusted publishing for release30602a2
tox: update ruff, mypya39b910
Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.10.0Updates
coveralls
from 3.3.1 to 4.0.1Release notes
Sourced from coveralls's releases.
Changelog
Sourced from coveralls's changelog.
Commits
e20a8c8
chore(release): bump versionb566fc3
test(git): support running tests outside of gitdir (#443)f41dca5
feat(deps): add support for coverage v7.5+ (#442)afea549
docs(changelog): reference coverage.py config docsee0f09b
chore(deps): update pre-commit hook pycqa/pylint to v3.2.0f466374
chore(deps): update pre-commit hook pycqa/pylint to v3.1.1 (#438)6514a59
chore(deps): update pandoc/core docker tag to v3.2.0a30b404
chore(deps): update actions/checkout action to v4.1.5b274e07
chore(deps): update pre-commit hook python-jsonschema/check-jsonschema to v0....33f0bea
chore(deps): lock file maintenanceUpdates
tomlkit
from 0.12.4 to 0.13.2Release notes
Sourced from tomlkit's releases.
... (truncated)
Changelog
Sourced from tomlkit's changelog.
Commits
e6e5d38
fix: delete keys from out of order table (#379)8c1671a
chore: bump version to 0.13.128fe6ec
fix: Empty table dumped when number of subtables > 1 (#378)168cb22
[pre-commit.ci] pre-commit autoupdate (#376)3594bdf
[pre-commit.ci] pre-commit autoupdate (#372)8b288a5
fix: Table header missing (#375)b1b38b3
Merge branch 'master' of github.com:python-poetry/tomlkit507ca76
doc: upgrade docs requirementsc35ab33
[pre-commit.ci] pre-commit autoupdate (#369)2344a42
Add tomlkit.dump() example (#370)Updates
importlib-metadata
from 7.1.0 to 8.5.0Changelog
Sourced from importlib-metadata's changelog.
... (truncated)
Commits
b34810b
Finalize8c1d1fa
Merge pull request #501 from Avasam/Pass-mypy-and-link-issuesafa39e8
Back out changes to tests._path8b909f9
Merge pull request #503 from danielhollas/defer-json2a3f50d
Add news fragment.3f78dc1
Add comment to protect the deferred import.18eb2da
Revert "Defer platform import"58832f2
Merge pull request #502 from danielhollas/defer-zippe3ce33b
Add news fragment.d11b67f
Add comment to protect the deferred import.Updates
pytest-asyncio
from 0.23.6 to 0.24.0Release notes
Sourced from pytest-asyncio's releases.
Commits
fb5422f
docs: Set release date for v0.24 in changelog.6dc7f58
docs: Add migration guides for pytest-asyncio v0.21 and v0.23.1bfc181
Wire Sphinx builds into the RTD config via toxf03cf13
Build(deps): Bump hypothesis in /dependencies/default69540bf
Build(deps): Bump attrs from 24.1.0 to 24.2.0 in /dependencies/defaultb0ccfc5
Build(deps): Bump hypothesis in /dependencies/default574f1db
Build(deps): Bump babel from 2.15.0 to 2.16.0 in /dependencies/docsae30dac
Update .readthedocs.yaml to install pytest-asyncio972a704
Derive project version using importlibd587a52
[pre-commit.ci] pre-commit autoupdateUpdates
moto
from 5.0.5 to 5.0.17Changelog
Sourced from moto's changelog.
... (truncated)
Commits
ddc7021
Pre-Release: Up Version Number36df7ae
Prep release 5.0.17 (#8227)d099251
chore: update SSM default parameters (#8228)1ace1db
Support custom ids (#8216)81d6f95
Admin: Disable automatic dev releases, allow manual triggering instead (#8224)7cd5085
SecretsManager: Allow force deletion of already marked-for-delete secret (#8223)91e8524
Make .json.gz files deterministic (#8218)a6dc298
RDS: DBInstances: Ensure compatibility with NodeJS SDK (#8222)d184a3f
APIGateway: fix strict filtering for API keys (#8220)84cac7a
StepFunctions: add sfn stateMachine to resourcegrouptaggingapi (#8215)Updates
pytest-ruff
from 0.3.1 to 0.4.1Release notes
Sourced from pytest-ruff's releases.