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.
* (POSIX) Fix ``PyInstaller.depend.bindepend.resolve_library_path`` for
cases when ``ldconfig`` cache is not available (e.g., ``musl libc`` on
Alpine Linux). In such cases, the search code now distinguishes between
the case when fully suffixed library name is given (i.e., search for
exact match) and the case when library name has no suffix (i.e., search
for library with matching basename). (:issue:`8422`)
* (Windows) Fix mangling of path to the entry-point script when the script
is in the current working directory, and the path to this directory
contains two or more consecutive ``$`` or ``%`` characters. (:issue:`8434`)
Incompatible Changes
PyInstaller does not attempt to expand environment variables in paths
given via :option:--workpath, :option:--distpath, :option:--specpath,
and :option:--additional-hooks-dir anymore (note that other paths were
never subject to environment variable expansion in the first place).
Expansion of the starting tilde (~) into user's home directory is
still performed, as a work-around for tilde not being expanded by the
shell when passing arguments as --workpath=~/path/abc instead of
--workpath ~/path/abc. (:issue:8441)
Hooks
* Have ``sqlalchemy`` hook collect all dialects and plugins that are
registered via ``sqlalchemy.dialects`` and ``sqlalchemy.plugins``
entry-points. This ensures collection of 3rd party dialects and plugins
that may be available in the build environment (e.g., ``ibm-db-sa``).
(:issue:`8465`)
* The ``pywin32-ctypes`` hook now always collects the
``win32ctypes.core.ctypes``
modules, so that the ``ctypes`` backend is always available (i.e., even
if we also collect the ``cffi`` backend due to availability of ``cffi``
in the build environment). This fixes issues when ``cffi`` ends up
unavailable at run-time in spite of being available in the build environment
at build time (for example, due to explicit exclusion via
:option:`--exclude-module`
option). (:issue:`8544`)
* Update ``pkg_resources`` hook for compatibility with ``setuptools`` v70.0.0
and later (fix ``ModuleNotFoundError: No module named
'pkg_resources.extern'``). (:issue:`8554`)
* Add hook for ``schwifty``. Requires ``schwifty >= 2024.5.1`` due to
issues with data search path in earlier versions. (`[#742](https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/742)
<https://github.com/pyinstaller/pyinstaller-hooks-contrib/issues/742>`_)
#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 development-dependencies group with 8 updates in the / directory:
7.5.1
7.5.3
6.6.0
6.7.0
8.2.0
8.2.1
0.4.3
0.4.7
10.2.0.20240423
10.2.0.20240520
69.5.0.20240423
70.0.0.20240524
2024.4.27
2024.5.6
5.1.0
6.0.0
Updates
coverage
from 7.5.1 to 7.5.3Changelog
Sourced from coverage's changelog.
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
pyinstaller
from 6.6.0 to 6.7.0Release notes
Sourced from pyinstaller's releases.
Changelog
Sourced from pyinstaller's changelog.
Commits
48336c0
Release v6.7.0. [skip ci]a8da1a7
hooks: update pkg_resources hook for setuptools >= 70.0.06765848
conftest: macOS: havepyi_builder
set up minimal PATH4f111a7
Tests: Requirements: Scheduled weekly dependency update for week 20 (#8549)22e928e
tests: re-enable test_unbuffered_stdio on CI2806e90
hook: win32ctypes.core: always collect the ctypes backendc5bf786
hooks: sqlalchemy: collect plugins and dialects via entry-points6c1a9fe
Tests: Requirements: Scheduled weekly dependency update for week 19 (#8462)a351183
Tests: Requirements: Scheduled weekly dependency update for week 18 (#8450)5663cd5
doc: Promote python -m PyInstaller [skip ci]Updates
pyinstaller-hooks-contrib
from 2024.5 to 2024.6Release notes
Sourced from pyinstaller-hooks-contrib's releases.
Changelog
Sourced from pyinstaller-hooks-contrib's changelog.
Commits
d8f2abd
Release v2024.6fe2deb3
hooks: add hook for schwifty277ff2c
Scheduled weekly dependency update for week 18 (#740)3ce4ae6
Scheduled weekly dependency update for week 17 (#738)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.3 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
types-pillow
from 10.2.0.20240423 to 10.2.0.20240520Commits
Updates
types-setuptools
from 69.5.0.20240423 to 70.0.0.20240524Commits
Updates
furo
from 2024.4.27 to 2024.5.6Changelog
Sourced from furo's changelog.
... (truncated)
Commits
b087e93
Prepare release: 2024.05.06169c63d
Update the changelogb7ec84d
Drop discussion of Sphinx'sbasic
theme2cd4d4a
Demote the note about inherited frombasic
configuration983d6c3
Tweak the colours for APIversionmodified
information1ffbf76
Add release information to various customisation knobs2c386b9
Use the appropriate Sphinx directive instead of weird textec8815a
Add (back?) support for RtD context inference on top of page buttons1b4cf89
Bump the npm group with 5 updates (#793)ce8fb10
Bump the github-actions group with 3 updates (#792)Updates
sphinx-click
from 5.1.0 to 6.0.0Commits
7f29172
FIX Format string defaults correctly34470b6
Remove errant printsf4ffef0
Drop support for click 7.x, Sphinx < 5.xf0bf6e9
readthedocs: Use dirhtml builder0808867
docs: Add discrete mocking section8381e90
actions: Integrate tox-gh-actions05b69cf
Distinguish between click and asyncclickac21950
tests: Set maxDifff099fe3
Skip test with click 7.x82b5bcd
FIX If thehelp
of an argument isNone
, don't failDependabot 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