Performance improvements for combining data files, especially when measuring line coverage. A few different quadratic behaviors were eliminated. In one extreme case of combining 700+ data files, the time dropped from more than three hours to seven minutes. Thanks for Kraken Tech for funding the fix.
Performance improvements for generating HTML reports, with a side benefit of reducing memory use, closing issue 1791. Thanks to Daniel Diniz for helping to diagnose the problem.
Fix: nested matches of exclude patterns could exclude too much code, as reported in issue 1779. This is now fixed.
Changed: previously, coverage.py would consider a module docstring to be an executable statement if it appeared after line 1 in the file, but not executable if it was the first line. Now module docstrings are never counted as executable statements. This can change coverage.py's count of the number of statements in a file, which can slightly change the coverage percentage reported.
In the HTML report, the filter term and "hide covered" checkbox settings are remembered between viewings, thanks to Daniel Diniz.
Python 3.13.0b1 is supported.
Fix: parsing error handling is improved to ensure bizarre source files are handled gracefully, and to unblock oss-fuzz fuzzing, thanks to Liam DeVoe. Closes issue 1787.
Fix: a pragma comment on the continuation lines of a multi-line statement now excludes the statement and its body, the same as if the pragma is on the first line. This closes issue 754. The fix was contributed by Daniel Diniz.
Fix: very complex source files like this one could cause a maximum recursion error when creating an HTML report. This is now fixed, closing issue 1774.
HTML report improvements:
Support files (JavaScript and CSS) referenced by the HTML report now have hashes added to their names to ensure updated files are used instead of stale cached copies.
Missing branch coverage explanations that said "the condition was never false" now read "the condition was always true" because it's easier to understand.
Column sort order is remembered better as you move between the index pages, fixing issue 1766. Thanks, Daniel Diniz.
Performance improvements for combining data files, especially when measuring
line coverage. A few different quadratic behaviors were eliminated. In one
extreme case of combining 700+ data files, the time dropped from more than
three hours to seven minutes. Thanks for Kraken Tech for funding the fix.
Performance improvements for generating HTML reports, with a side benefit of
reducing memory use, closing issue 1791_. Thanks to Daniel Diniz for
helping to diagnose the problem.
Fix: nested matches of exclude patterns could exclude too much code, as
reported in issue 1779_. This is now fixed.
Changed: previously, coverage.py would consider a module docstring to be an
executable statement if it appeared after line 1 in the file, but not
executable if it was the first line. Now module docstrings are never counted
as executable statements. This can change coverage.py's count of the number
of statements in a file, which can slightly change the coverage percentage
reported.
In the HTML report, the filter term and "hide covered" checkbox settings are
remembered between viewings, thanks to Daniel Diniz <pull 1776_>_.
Python 3.13.0b1 is supported.
Fix: parsing error handling is improved to ensure bizarre source files are
handled gracefully, and to unblock oss-fuzz fuzzing, thanks to Liam DeVoe <pull 1788_>. Closes issue 1787.
* Restored Windows 7 compatibility for our pre-built wheels. Note that we do
not test on Windows 7 and wheels for our next release will not support it.
Microsoft no longer provides support for Windows 7 and users are encouraged
to upgrade.
#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.
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 8 updates:
9.5.20
9.5.25
5.0.0
5.1.0
7.5.0
7.5.3
42.0.5
42.0.7
8.2.0
8.2.1
0.4.2
0.4.7
0.25.0
0.25.1
0.29.0
0.30.0
Updates
mkdocs-material
from 9.5.20 to 9.5.25Release notes
Sourced from mkdocs-material's releases.
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
c8ee11f
Prepare 9.5.25 release0ee1110
Updated dependencies09f817d
Documentation86d3729
Created new and better Insiders documentation (#7210)1b346eb
Fixed tags plugin crashing on numeric tags05af898
Added --force-reinstall to insiders upgrade instructions (#7203)7368c7f
Updated Insiders changeloge8478d9
Documentationd0be598
Updated Insiders changelog721eefb
Updated Insiders changelogUpdates
twine
from 5.0.0 to 5.1.0Changelog
Sourced from twine's changelog.
Commits
e9f70cf
Merge pull request #1108 from pypa/fix-release-workflow1908be7
Fix release workflow6d7ffea
Merge pull request #1107 from woodruffw-forks/release-5.1.0bc91e57
Update changelog for 5.1.0de39ade
Merge pull request #1085 from pypa/feature/pep-62175de094
Merge pull request #1104 from ascheel/mainc512bbf
Properly handle repository URLs with auth in theme0ed808
Changelog entry72ee030
Change regex string to a raw string.04d7e27
Sanitize URLs for logging/display purposes.Updates
coverage[toml]
from 7.5.0 to 7.5.3Release notes
Sourced from coverage[toml]'s releases.
Changelog
Sourced from coverage[toml]'s changelog.
... (truncated)
Commits
f310d7e
docs: sample HTML for 7.5.3a51d52f
docs: prep for 7.5.3b666f3a
perf: it's faster in all versions if we don't cache tokenize #1791a2b4929
docs: changelog entry forcombine
performance improvementsb9aff50
perf: don't read full line_bits table each timec45ebac
perf: cache alias mapping390cb97
perf: avoid quadratic behavior when combining line coveraged3caf53
docs(build): tweaks to howto909e887
build: bump version242adea
build: don't claim pre-alpha-1 in classifiersUpdates
cryptography
from 42.0.5 to 42.0.7Changelog
Sourced from cryptography's changelog.
Commits
0cc7fc3
Prepare for 42.0.7 release (#10949)cfad004
Prepare backports for 42.0.6 release (#10929)Updates
pytest
from 8.2.0 to 8.2.1Release notes
Sourced from pytest's releases.
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
ruff
from 0.4.2 to 0.4.7Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
1ad5f9c
Bump version to v0.4.7 (#11646)e914bc3
F401 sort bindings before adding to all (#11648)27f6f04
[red-knot] initial (very incomplete) flow graph (#11624)d62a617
red-knot: Don't refer toModule
instances as IDs (#11649)16a926d
[red-knot] infer int literal types (#11623)05566c6
UpdateWho's Using Ruff?
section to includeGodot
(#11647)7ce17b7
Add Vim and Kate setup guide forruff server
(#11615)f9a6450
Use char index rather than position for indent slice (#11645)8a25531
red-knot: improve internal documentation inmodule.rs
(#11638)9b6d2ce
Fix incorect placement of trailing stub function comments (#11632)Updates
trio
from 0.25.0 to 0.25.1Release notes
Sourced from trio's releases.
Commits
a464604
Bump version to 0.25.1f46f74d
Merge pull request #2968 from kachida/feat/enable-hoverxref-in-trio-docs78666e7
[pre-commit.ci] pre-commit autoupdate ruff-pre-commit: v0.4.3 → v0.4.47dbbac9
[pre-commit.ci] pre-commit autoupdate ruff-pre-commit: v0.4.2 → v0.4.3f0cb052
use code-block instead of code91edf89
Merge remote-tracking branch 'origin/master' into feat/enable-hoverxref-in-tr...5125043
various fixes1bb98ae
Dependency updates (#2995)d39f186
[pre-commit.ci] pre-commit autoupdate (#2994)e1e3eff
Removetest_run_black
(#2993)Updates
uvicorn
from 0.29.0 to 0.30.0Release notes
Sourced from uvicorn's releases.
Changelog
Sourced from uvicorn's changelog.
Commits
9a6b3a8
Version 0.30.0 (#2348)53fa273
New multiprocess manager (#2183)22873a9
Suppress side-effects of signal propagation (#2317)14ffba8
Simplify CHANGELOG (#2337)5c78192
Add favicon and logo to the documentation (#2336)b9c03a8
Improve type hints on WebSockets implementations (#2335)14bdf04
Usepytestmark
to simplify test suite (#2334)0efd383
Sendcontent-length
header on 5xx (#2304)772c24b
Deprecate theuvicorn.workers
module (#2302)12c9ee3
AllowConfigParser
or aio.IO[Any]
onlog_config
(#1976)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