Treat all singledispatch arguments as runtime-required (#11523)
0.4.5
Ruff's language server is now in Beta
v0.4.5 marks the official Beta release of ruff server, an integrated language server built into Ruff.
ruff server supports the same feature set as ruff-lsp, powering linting, formatting, and
code fixes in Ruff's editor integrations -- but with superior performance and
no installation required. We'd love your feedback!
#12334: Support for Python 3.13 (beta1 at the time of writing).
Bug Fixes
#12120: Fix [PermissionError]{.title-ref} crashes arising from directories which are not selected on the command-line.
#12191: Keyboard interrupts and system exits are now properly handled during the test collection.
#12300: Fixed handling of 'Function not implemented' error under squashfuse_ll, which is a different way to say that the mountpoint is read-only.
#12308: Fix a regression in pytest 8.2.0 where the permissions of automatically-created .pytest_cache directories became rwx------ instead of the expected rwxr-xr-x.
Trivial/Internal Changes
#12333: pytest releases are now attested using the recent Artifact Attestation support from GitHub, allowing users to verify the provenance of pytest's sdist and wheel artifacts.
8.2.0
pytest 8.2.0 (2024-04-27)
Deprecations
#12069: A deprecation warning is now raised when implementations of one of the following hooks request a deprecated py.path.local parameter instead of the pathlib.Path parameter which replaced it:
pytest_ignore_collect{.interpreted-text role="hook"} - the path parameter - use collection_path instead.
pytest_collect_file{.interpreted-text role="hook"} - the path parameter - use file_path instead.
pytest_pycollect_makemodule{.interpreted-text role="hook"} - the path parameter - use module_path instead.
pytest_report_header{.interpreted-text role="hook"} - the startdir parameter - use start_path instead.
pytest_report_collectionfinish{.interpreted-text role="hook"} - the startdir parameter - use start_path instead.
The replacement parameters are available since pytest 7.0.0.
The old parameters will be removed in pytest 9.0.0.
See legacy-path-hooks-deprecated{.interpreted-text role="ref"} for more details.
Features
#11871: Added support for reading command line arguments from a file using the prefix character @, like e.g.: pytest @tests.txt. The file must have one argument per line.
See Read arguments from file <args-from-file>{.interpreted-text role="ref"} for details.
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>_.
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.
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.
Miscellaneous:
* DynamoDB: query() now handles pagination correctly on a GSI without a range key
* IAM: create_policy() now returns tags correctly
* S3: list_objects(): The default value for MaxKeys can now be configured, using an environment variable:
MOTO_S3_DEFAULT_MAX_KEYS=1
5.0.8
Docker Digest for 5.0.8: sha256:cfcd97074011bd563cdbeebac35ed710581a23cb2be07ab9b67aa00298fc3369
General:
* Improved support for non-generic partitions (China, GovCloud, ISO-regions).
All ARN's now contain the correct partition for resources created in those regions.
Miscellaneous:
* ResilienceHub: list_app_assessments() can now return pre-configured results
* ResourceGroupTagging: get_resources() now returns results when filtering on "lambda:function"
* S3: delete_object_tagging()/put_object_tagging() now send an EventBridge notification
5.0.7
Docker Digest for 5.0.7: sha256:81ac52ff74b0bf0f4957ee4260e6a7e75d66c9e5d040ed4f721a5500b873c88a
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 python-packages group with 9 updates in the / directory:
0.2.1
0.4.6
7.4.4
8.2.1
4.1.0
5.0.0
3.3.1
4.0.1
0.12.4
0.12.5
0.23.6
0.23.7
5.0.5
5.0.9
0.3.1
0.3.2
3.7.0
3.7.1
Updates
ruff
from 0.2.1 to 0.4.6Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
49a5a9c
Bump version to v0.4.6 (#11585)69d9212
Propagate reads on global variables (#11584)4a30558
[flake8-bandit
]request-without-timeout
should warn for `requests.request...16acd49
Remove some unusedpub
functions (#11576)3989cb8
Makeruff_notebook
a workspace dependency inruff_server
(#11572)a38c05b
Avoid recommending context manager in__enter__
implementations (#11575)ab107ef
Avoid recomending operator.itemgetter with dependence on lambda arg (#11574)b36c713
Consider irrefutable pattern similar toif .. else
forC901
(#11565)34a5063
Respect excludes inruff server
configuration discovery (#11551)adc0a5d
Rename document module to text_document (#11571)Updates
pytest
from 7.4.4 to 8.2.1Release notes
Sourced from pytest's releases.
... (truncated)
Commits
66ff8df
Prepare release version 8.2.13ffcfd1
Merge pull request #12340 from pytest-dev/backport-12334-to-8.2.x0b28313
[8.2.x] Add Python 3.13 (beta) supportf3dd93a
[8.2.x] Attest package provenance (#12335)bb5a125
[8.2.x] Spelling (#12331)f179bf2
Merge pull request #12327 from pytest-dev/backport-12325-to-8.2.x2b671b5
[8.2.x] cacheprovider: fix.pytest_cache
not being world-readable65ab7cb
Merge pull request #12324 from pytest-dev/backport-12320-to-8.2.x4d5fb7d
Merge pull request #12319 from pytest-dev/backport-12311-to-8.2.xcbe5996
[8.2.x] changelog: document unittest 8.2 change as breakingUpdates
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
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.12.5Release notes
Sourced from tomlkit's releases.
Changelog
Sourced from tomlkit's changelog.
Commits
a96883b
chore: release 0.12.5c2611c5
fix: Construction of OutOfOrderTableProxy can cause newlines to be inserted (...990e325
fix: redundant minus sign added to negative integers when multiplie by -1e5e09e9
chore: switch to ruff lint and formatbf01a25
fix: don't add sign if the float is negative (#345)059fab2
chore(deps-dev): bump jinja2 from 3.1.3 to 3.1.4 (#344)6351f3d
fix: CI workflow for macos (#342)3711b06
fix: linter errors caused by blackdab2da8
chore(deps-dev): bump idna from 3.4 to 3.7 (#339)4f2ae7f
[pre-commit.ci] pre-commit autoupdate (#337)Updates
pytest-asyncio
from 0.23.6 to 0.23.7Release notes
Sourced from pytest-asyncio's releases.
Commits
eb63d5a
docs: Prepared for release of v0.23.7.da04a7a
Build(deps): Bump exceptiongroup in /dependencies/default00c667a
Build(deps): Bump pytest from 8.1.1 to 8.2.0 in /dependencies/default3bd9cd8
[docs] Add changelog entry.15544f0
Revert GitHub Actions and Tox changes.6316b28
Deduplicate simplefilter snippet.3ffdfc5
asyncio.run(port_afinalizer())0107fd7
Remove extra space.3bf700a
Fix GH Action mapping.d15dc31
Fix 3109/3108 typo.Updates
moto
from 5.0.5 to 5.0.9Changelog
Sourced from moto's changelog.
... (truncated)
Commits
411127b
Prep release 5.0.9 (#7733)e2e4ce4
EC2: Fix inconsistent private/public key pair attribute (#7732)4c098ae
S3: Fix recursion for buckets in different partition (#7731)d3dbf15
DynamoDB: query() should handle GSI's without range key (#7729)b19afe8
IAM: create_policy() should return tags in correct format (#7728)c637076
SSOAdmin: Default Instance and provisioning of permission sets (#7727)1bd6b31
Fix BackendDict instantiation service names (#7723)c9613cd
Bump ruby/setup-ruby from 1.176.2 to 1.177.1 (#7722)3300d99
S3: list_object_versions() - Default value for MaxKeys can now be configured ...9c8387a
Post-release stepsUpdates
pytest-ruff
from 0.3.1 to 0.3.2Release notes
Sourced from pytest-ruff's releases.
Commits
cb1685e
Stop printing whole pytest traceback on error (#18)Updates
pre-commit
from 3.7.0 to 3.7.1Release notes
Sourced from pre-commit's releases.
Changelog
Sourced from pre-commit's changelog.
Commits
9ee0768
v3.7.1eeac061
Merge pull request #3201 from pre-commit/rust-default-language-version296f592
determine rust default language version independent of rust-toolchain.toml1602328
Merge pull request #3193 from pre-commit/pre-commit-ci-update-config0142f45
[pre-commit.ci] pre-commit autoupdated7e21cd
Merge pull request #3194 from pre-commit/handle-readonly-3-125c3d006
use a simpler gem for testing additional_dependencies0d4c6da
adjust _handle_readonly for typeshed updates85fe182
Merge pull request #3176 from pre-commit/pre-commit-ci-update-config74d05b4
[pre-commit.ci] pre-commit autoupdateDependabot 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