[pycodestyle] Adapt fix for E203 to work identical to ruff format (#10999)
Formatter
Fix formatter instability for lines only consisting of zero-width characters (#11748)
Server
Add supported commands in server capabilities (#11850)
Use real file path when available in ruff server (#11800)
Improve error message when a command is run on an unavailable document (#11823)
Introduce the ruff.printDebugInformation command (#11831)
Tracing system now respects log level and trace level, with options to log to a file (#11747)
CLI
Handle non-printable characters in diff view (#11687)
Bug fixes
[refurb] Avoid suggesting starmap when arguments are used outside call (FURB140) (#11830)
[flake8-bugbear] Avoid panic in B909 when checking large loop blocks (#11772)
[refurb] Fix misbehavior of operator.itemgetter when getter param is a tuple (FURB118) (#11774)
0.4.8
Performance
Linter performance has been improved by around 10% on some microbenchmarks by refactoring the lexer and parser to maintain synchronicity between them (#11457)
#12355: Fix possible catastrophic performance slowdown on a certain parametrization pattern involving many higher-scoped parameters.
#12367: Fix a regression in pytest 8.2.0 where unittest class instances (a fresh one is created for each test) were not released promptly on test teardown but only on session teardown.
#12381: Fix possible "Directory not empty" crashes arising from concurent cache dir (.pytest_cache) creation. Regressed in pytest 8.2.0.
Improved Documentation
#12290: Updated Sphinx theme to use Furo instead of Flask, enabling Dark mode theme.
#12356: Added a subsection to the documentation for debugging flaky tests to mention
lack of thread safety in pytest as a possible source of flakyness.
#12363: The documentation webpages now links to a canonical version to reduce outdated documentation in search engine results.
8.2.1
pytest 8.2.1 (2024-05-19)
Improvements
#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:
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.9
7.4.4
8.2.2
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.9Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
4f49e91
Bump version to v0.4.9 (#11872)d681a45
Makeruff_db
a required crate forruff_python_semantic
(#11874)89bb07c
UPDATE latest supported versions to 3.13 (#11870)fe462b3
Update Python compatibility to 3.13 (#11861)c5bc368
[red-knot] ImproveVfs
andFileSystem
documentation (#11856)73370fe
Usestarts_with('/')
instead ofis_absolute
to avoid platform specific AP...22b6488
red-knot: Add directory support toMemoryFileSystem
(#11825)d4dd96d
red-knot:source_text
,line_index
, andparsed_module
queries (#11822)efbf7b1
red-knot[salsa part 2]: Setup semantic DB and Jar (#11837)9dc226b
Add supported commands in server capabilities (#11850)Updates
pytest
from 7.4.4 to 8.2.2Release notes
Sourced from pytest's releases.
... (truncated)
Commits
329d371
Prepare release version 8.2.2214d098
Merge pull request #12414 from bluetech/backport-12409153a436
[8.2.x] fixtures: fix catastrophic performance problem inreorder_items
b41d5a5
Merge pull request #12412 from pytest-dev/backport-12408-to-8.2.x9bb73d7
[8.2.x] cacheprovider: fix "Directory not empty" crash from cache directory c...4569a01
[8.2.x] doc: Update trainings/events (#12402)1d103e5
[8.2.x] Clarify pytest_ignore_collect docs (#12386)240a252
[8.2.x] Add html_baseurl to sphinx conf.py (#12372)a5ee3c4
Merge pull request #12370 from pytest-dev/backport-12368-to-8.2.xf7358ae
[8.2.x] unittest: fix class instances no longer released on test teardown sin...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
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