An open index of dependabot pull requests across open source projects.

Bump the python-minor-and-patch group across 1 directory with 17 updates

Open
Number: #21
Type: Pull Request
State: Open
Author: dependabot[bot] dependabot[bot]
Association: Unknown
Comments: 1
Created: November 09, 2026 at 09:39 AM UTC
(about 6 hours ago)
Updated: November 09, 2026 at 09:39 AM UTC
(about 6 hours ago)
Description:

Bumps the python-minor-and-patch group with 17 updates in the / directory:

Package From To
pytest 9.1.1 9.2.0
hypothesis 6.170.9 6.170.14
ruff 0.16.10 0.17.3
mypy 2.4.0 2.4.1
pip-tools 7.6.1 7.6.2
cyclonedx-bom 7.5.0 7.6.0
numpy 2.5.3 2.5.4
pycparser 3.0 3.12
ast-serialize 0.12.1 0.13.1
chardet 7.6.0 7.7.0
coverage 7.16.2 7.17.0
iniconfig 2.3.0 2.3.1
jsonpointer 3.1.1 3.7
pluggy 1.6.0 1.7.0
pyinstaller-hooks-contrib 2026.8 2026.9
tzdata 2026.5 2026.6
pip 26.2.1 26.2.2

Updates pytest from 9.1.1 to 9.2.0

Release notes

Sourced from pytest's releases.

9.2.0

pytest 9.2.0 (2026-10-27)

Removals and backward incompatible breaking changes

  • #14716: -c now raises a usage error for a path that does not exist, is a directory, or is in a format pytest has no loader for. Such paths were previously either ignored or reported as an unhandled FileNotFoundError.

  • #8593: The indirect, ids and scope arguments of Metafunc.parametrize() <pytest.Metafunc.parametrize> -- and therefore of @pytest.mark.parametrize <pytest.mark.parametrize ref> -- are now keyword-only.

    Passing them positionally was a common source of confusing errors, e.g. parametrize("arg1", "arg2", [(1, 2)]) made the argvalues land in indirect and failed with indirect fixture '(1, 2)' doesn't exist; such mistakes now fail with an understandable TypeError. The type annotations have always declared these arguments as keyword-only.

  • #993: Plugin import failures at startup are now reported and classified instead of escaping as a raw traceback with the accidental exit code 1:

    • a plugin that cannot be found -- via -p, pytest_plugins or PYTEST_PLUGINS -- exits with pytest.ExitCode USAGE_ERROR (4), like a conftest.py that fails to import;
    • a plugin that is found but raises while importing -- including a broken pytest11 entry point or a missing plugin dependency -- exits with pytest.ExitCode INTERNAL_ERROR (3), with the traceback preserved.

    pytest.main now returns these codes instead of raising ImportError. Also fixed an IndexError from pytest's own internals when the plugin raised an exception with no arguments.

Deprecations (removal in next major release)

  • #14742: The private _pytest.python.CallSpec2 name has been renamed to CallSpec. The old CallSpec2 alias remains available for now and will be removed in pytest 10 or 11.

  • #14755: Schedule yield_fixture decorator for removal in pytest 10 or 11.

  • #14774: Similarly to the deprecation of class-scoped fixtures defined as instance methods in pytest 9.1, all higher-scoped fixtures (module, package, and session) defined as instance methods are now deprecated.

    They suffer from the same issue the original deprecation only fixed for class-scoped fixtures, see 10819 and 14011.

  • #14808: Passing a non-string value to a string-typed ini option now emits a pytest.PytestRemovedIn10Warning. This affects [tool.pytest.ini_options] in pyproject.toml. In pytest 10 this will raise a TypeError, matching the behavior of the corresponding TOML config path.

  • #7323: Passing bytes to TerminalReporter.write_line() is now deprecated, pass a str instead.

New features

  • #14743: Full diff: now contains a legend explaining the + & - symbols in diff output.
  • #2781: When strict_markers is enabled, marker names used in -m expressions are now validated against registered markers.
  • #6881: Added the parametrize_long_str_id_strategy configuration option to control how long str/bytes parameter values are handled in auto-generated test IDs. Explicit IDs set via ids=[...] or pytest.param(..., id=...) are not affected. Available strategies: short (default, values over 100 chars fall back to argname+index), sha256 (SHA-256 hex digest), legacy (keep full value), and disallow (error requesting explicit IDs).

Improvements in existing functionality

  • #10745: A RecursionError whose recursion origin cannot be located now shows only the first and last 10 stack frames, matching what pytest already did when locating the origin failed outright. Previously the full traceback -- often around a thousand near-identical frames -- was rendered, which was both slow and unreadable. Pass --full-trace to see every frame.

... (truncated)

Commits
  • ae1d0ff Prepare release version 9.2.0
  • 143ce31 pre-commit: exclude codespell on generated release announcements
  • 532dc5f tox: add attrs dependency to regen, needed in reportingdemo.rst
  • a7b2446 Merge pull request #15245 from pytest-dev/claude/project-thread-9jcf91
  • 679d09c [pre-commit.ci] pre-commit autoupdate (#15266)
  • 41d12cd docs: clarify typing for yield fixtures
  • b9022ba Merge pull request #15182 from 1871698/docs/improve-getting-started-description
  • 16f87a7 docs: improve getting-started.rst test execution description
  • 082ed70 Merge pull request #15255 from pytest-dev/claude/project-thread-eoi3d6
  • ae37a01 Merge pull request #15227 from pytest-dev/claude/project-thread-4etye4
  • Additional commits viewable in compare view

Updates hypothesis from 6.170.9 to 6.170.14

Commits
  • 255a880 Bump hypothesis version to 6.170.14 and update changelog
  • fd6038c Merge pull request #4949 from moreati/issue4926-denylist
  • 8dd4664 Rephrase RELEASE note following review
  • 5e93693 Bump hypothesis version to 6.170.13 and update changelog
  • a5512a3 Merge pull request #4952 from jorenham/codemods/characters-kwargs
  • 8375d12 Fix characters() codemod crash with **kwargs
  • ac21c15 Add RELEASE note
  • 04e55b4 dateutil: Exclude coverage measurement of old releases
  • 891e478 Update pinned dependencies (to block eMudhra certificates)
  • 8fca8fd Bump hypothesis version to 6.170.12 and update changelog
  • Additional commits viewable in compare view

Updates ruff from 0.16.10 to 0.17.3

Release notes

Sourced from ruff's releases.

0.17.3

Release Notes

Released on 2026-10-26.

Preview features

  • [suspicious] Add shared-clock-mock (#29074)

Bug fixes

  • [pyupgrade] Avoid incorrect conversions to f-strings (UP032) (#25485)

Performance

  • Buffer stdout in ruff format (#29631)
  • Specialize ASCII identifier lexing (#29503)
  • Speed up identifier and keyword lexing (#29463)

Documentation

  • [flake8-bandit] Describe what the rule actually checks for httpx (S113) (#27936)

Contributors

Install ruff 0.17.3

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.17.3/ruff-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.17.3/ruff-installer.ps1 | iex"

Download ruff 0.17.3

File Platform Checksum
ruff-aarch64-apple-darwin.tar.gz Apple Silicon macOS checksum
ruff-x86_64-apple-darwin.tar.gz Intel macOS checksum
ruff-aarch64-pc-windows-msvc.zip ARM64 Windows checksum

... (truncated)

Changelog

Sourced from ruff's changelog.

0.17.3

Released on 2026-10-26.

Preview features

  • [suspicious] Add shared-clock-mock (#29074)

Bug fixes

  • [pyupgrade] Avoid incorrect conversions to f-strings (UP032) (#25485)

Performance

  • Buffer stdout in ruff format (#29631)
  • Specialize ASCII identifier lexing (#29503)
  • Speed up identifier and keyword lexing (#29463)

Documentation

  • [flake8-bandit] Describe what the rule actually checks for httpx (S113) (#27936)

Contributors

0.17.2

Released on 2026-10-22.

Preview features

  • [complexity] Add unnecessary-regular-expression-compile (#25533)

Bug fixes

  • Avoid syntax errors for type variables with starred constraints (UP040, UP046, UP047, RUF053) (#28362)
  • [pydocstyle] Treat backslash-escaped *args and **kwargs as documented (D417) (#29536)
  • [pylint] Avoid false positive on starred elements (PLE0643) (#29483)
  • [pylint] Mark fixes unsafe when deleting comments (PLR5501, PLW0120) (#29414)
  • [pyupgrade] Mark fix unsafe when deleting comments (UP035) (#29413)

Performance

  • Avoid intermediate names in lint name resolution (#29506)
  • Prefilter bidirectional Unicode checks by UTF-8 leading bytes (#29561)
  • Share postfix parsing and reduce expression copies (#29480)

... (truncated)

Commits

Updates mypy from 2.4.0 to 2.4.1

Changelog

Sourced from mypy's changelog.

Mypy 2.4.1

  • Process overloads as a whole in two-phase type checking (Ivan Levkivskyi, PR 22231)
  • Skip recursive setup for frame-private nested functions in mypyc (Piotr Sawicki, PR 22187)

Acknowledgements

Thanks to all mypy contributors who contributed to this release:

  • A5rocks
  • Adam Dangoor
  • Alex Waygood
  • Ali Hamdan
  • Brian Helba
  • Chad Dombrova
  • David Foster
  • dnwpark
  • Edgar Ramírez Mondragón
  • Giorgos Michas
  • Ivan Levkivskyi
  • Jelle Zijlstra
  • Jukka Lehtosalo
  • Marc Mueller
  • Michael R. Crusoe
  • NIYONSHUTI Emmanuel
  • Piotr Sawicki
  • Shantanu
  • themylogin
  • Vaggelis Danias
  • Willy Bruns

I'd also like to thank my employer, Dropbox, for supporting mypy development.

Mypy 2.3

We've just uploaded mypy 2.3.0 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:

python3 -m pip install -U mypy

You can read the full documentation for this release on Read the Docs.

The Upcoming Switch to the New Native Parser

We are planning to enable the new native parser (--native-parser) by default soon. We recommend that you test the native parser in your projects and report any issues in the mypy issue tracker.

Mypyc Free-threading Memory Safety

... (truncated)

Commits

Updates pip-tools from 7.6.1 to 7.6.2

Release notes

Sourced from pip-tools's releases.

v7.6.2

Bug fixes

  • Fixed pip-compile sometimes adding --no-index to the recorded command even when it was not passed, with click 8.5.0 -- by @​mnencia.

    PRs and issues: #2472

  • Make pip-tools compatible with {pypi}click version 8.5 -- by @​sirosen.

    PRs and issues: #2474

Packaging updates and notes for downstreams

  • License metadata has updated to use :pep:639 License-Expression data -- by @​sirosen.

Contributor-facing changes

  • pip-tools now has a local coverage plugin for conditional coverage based on the installed pip version -- by @​sirosen.

    PRs and issues: #2264

Changelog

Sourced from pip-tools's changelog.

v7.6.2

2026-10-06

Bug fixes

  • Fixed pip-compile sometimes adding --no-index to the recorded command even when it was not passed, with click 8.5.0 -- by {user}mnencia.

    PRs and issues: {issue}2472

  • Make pip-tools compatible with {pypi}click version 8.5 -- by {user}sirosen.

    PRs and issues: {issue}2474

Packaging updates and notes for downstreams

  • License metadata has updated to use :pep:639 License-Expression data -- by {user}sirosen.

Contributor-facing changes

  • pip-tools now has a local coverage plugin for conditional coverage based on the installed pip version -- by {user}sirosen.

    PRs and issues: {issue}2264

Commits
  • 4492554 Merge pull request #2486 from sirosen/release/v7.6.2
  • a427c88 Update changelog for v7.6.2
  • b81fb05 Merge pull request #2485 from jazzband/dependabot/pip/docs/urllib3-2.8.0
  • 9707a2a Merge pull request #2453 from sirosen/testing/coverage/env-var
  • 8962828 Improve env var context manager per review
  • 245d716 Move and make the "_env_var" wrapper testable
  • 77c0000 Bump urllib3 from 2.7.0 to 2.8.0 in /docs
  • 71a34a6 Merge pull request #2484 from jazzband/pre-commit-ci-update-config
  • 8ed9836 [pre-commit.ci] pre-commit autoupdate
  • 28538e4 Merge pull request #2477 from jazzband/dependabot/pip/docs/soupsieve-2.9
  • Additional commits viewable in compare view

Updates cyclonedx-bom from 7.5.0 to 7.6.0

Release notes

Sourced from cyclonedx-bom's releases.

v7.6.0 (2026-10-28)

Features

  • environment: Add option -E to ignore parent PYTHON* env vars (#1106, 87fc286)

What's Changed

New Contributors

Full Changelog: https://github.com/CycloneDX/cyclonedx-python/compare/v7.5.0...v7.6.0

Changelog

Sourced from cyclonedx-bom's changelog.

v7.6.0 (2026-10-28)

Features

  • environment: Add option -E to ignore parent PYTHON* env vars (#1106, 87fc286)
Commits
  • 5a81ff8 chore(release): 7.6.0
  • bb67847 chore(deps): Bump python-semantic-release/python-semantic-release from 10.0.2...
  • 797a9b4 chore(deps): Bump python-semantic-release/publish-action from 10.5.3 to 10.7....
  • afdcda4 chore(deps): Bump actions/download-artifact from 8.0.1 to 8.0.2 (#1124)
  • 89cf5c8 chore(deps): Bump actions/upload-artifact from 7.0.1 to 7.0.2 (#1125)
  • d72f8c8 chore(deps): Bump zizmorcore/zizmor-action from 0.6.4 to 0.7.1 (#1130)
  • 105750e chore(deps-dev): Update uv requirement from 0.12.17 to 0.13.4 (#1133)
  • 6b7184e tests: fix pipenv runner (#1132)
  • 87fc286 feat(environment): add option -E to ignore parent PYTHON* env vars (#1106)
  • See full diff in compare view

Updates numpy from 2.5.3 to 2.5.4

Release notes

Sourced from numpy's releases.

v2.5.4 (Oct 10, 2026)

NumPy 2.5.4 Release Notes

Released on 2026-10-10.

NumPy 2.5.4 is a patch release that fixes bugs discovered after the 2.5.3 release. Highlights are:

  • Many typing fixes and improvements,
  • A workaround for the MSVC 19.51 bug, see below.

This release supports Python versions 3.12-3.15.

Improvements

  • numpy.linalg.svd and numpy.linalg.lstsq now raise for inputs containing infinities instead of returning garbage results.

  • Fixed hangs in numpy.linalg.svd and numpy.linalg.lstsq for certain inputs containing infinities for recent versions of some LAPACK implementations.

  • numpy.linalg.cond now handles non-finite inputs more consistently.

(gh-32593)

StringDType hashing with NaN sentinels

StringDType instances with equivalent floating-point NaN sentinels now have equal hashes. Previously, distinct NaN objects could produce equal dtype instances with different hashes, causing dictionary lookups and set deduplication to fail.

(gh-32563)

Changes

MaskedArray resets a fill_value that cannot be represented in a new dtype

A fill_value copied from a source array is now reset to the default fill_value for the new dtype when it cannot be represented in that dtype. Previously the copied value could be stale: ufuncs that change dtype left the result holding a fill_value typed for the old dtype, which raised a TypeError only when something later validated it (such as .view()), and a floating point fill_value that overflows an integer dtype was kept as an out-of-range value together with a RuntimeWarning. Both now fall back to the default, including when a masked array is passed to MaskedArray with a different dtype. A fill_value given explicitly by the user is still validated and raises as before. This can now raise a ComplexWarning if the fill_value is complex and the new dtype is real.

... (truncated)

Commits
  • a3d0ef1 Merge pull request #32969 from charris/prepare-2.5.4
  • 087b536 MAINT: Make OpenBLAS version check use 2.5.x branch.
  • 91acd87 REL: Prepare for the NumPy 2.5.4 release.
  • 9cc555b Merge pull request #32956 from charris/backport-typing-1
  • e04b972 TYP: dtype[void].names: allow setting with list (#32943)
  • d929969 TYP: timedelta64: datetime.timedelta construction isn't deprecated (#...
  • 839467f TYP: ma.getmaskarray: accept array-likes (#32934)
  • 64b721b TYP: polynomial: accept scalar coef in the poly constructors (#32931)
  • 06b7ad2 TYP: void: accept any dtype: str in constructor calls (#32928)
  • c7bcd2c TYP: place: widen mask (#32926)
  • Additional commits viewable in compare view

Updates pycparser from 3.0 to 3.12

Release notes

Sourced from pycparser's releases.

release_v3.12

What's Changed

Full Changelog: https://github.com/eliben/pycparser/compare/release_v3.11...release_v3.12

release_v3.11

Enhanced C11 support

Full Changelog: https://github.com/eliben/pycparser/compare/release_v3.01...release_v3.11

release_v3.01

What's Changed

Full Changelog: https://github.com/eliben/pycparser/compare/release_v3.00...release_v3.01

Commits
  • 3ec766b Tweak build
  • 1771cbf Prepare to release 3.12
  • 51715bf Add documentation on using methods of ast node
  • 878c289 Support va_arg properly
  • 840fe55 Add some Linux kernel headers to benchmark
  • 8fd2299 Add ArrayDesignator AST node to distinguish array indices in designators
  • aa32af5 Fix crashes in generator with empty case bodies
  • f29e8ef Regression test for #215
  • a74aa74 Support form feed and vertical tabs as whitespace
  • 02380d0 Comment fixes
  • Additional commits viewable in compare view

Updates ast-serialize from 0.12.1 to 0.13.1

Commits

Updates chardet from 7.6.0 to 7.7.0

Release notes

Sourced from chardet's releases.

7.7.0

Big release: raising max_bytes to cover a huge input no longer makes detect() slow, every answer now decodes the window it was detected from, and markup declarations are read the way browsers read them. A lot of this came from new contributors, so thank you all!

Performance

  • Raising max_bytes on large inputs no longer gets slow. On compiled wheels, detect(data, max_bytes=len(data)) on 272 MiB takes about 0.2s for cp1252 and 0.5s for Shift_JIS, down from several seconds. UTF-8 validation and a final decode of the winner still read the whole window, and the other stages stop at a 256 KiB evidence cap (ADR-0006). The default 200 KB cap is still the fastest path, and default calls are unchanged.
  • The pure-Python wheel on CPython scores bigram models through operator.itemgetter instead of a Python loop, making detect() about 1.25x faster and detect_all() about 1.35x faster. (#404, thanks @​deadstrobe5)
  • Fixed three scans that went quadratic on hostile input: the UTF-7 + scan on line-wrapped base64 (128 KiB went from 5.4s to 1.2ms), unclosed <meta and <?xml tags in the markup scan, and the EBCDIC charset-declaration regex. (#403, thanks @​Samin061)

Bug Fixes

  • Every answer now decodes the examined window under the name you get back. BOMs, BOM-less UTF-16/32 null patterns, ISO-2022/HZ escapes, and <meta charset> declarations used to be trusted without decoding the rest of the window, so a confident answer could still raise further in. The 5.x/6.x display names (EUC-JP, SHIFT_JIS, Big5, ISO-2022-JP) are only used when those narrower codecs decode it too. (#394 and #396, thanks @​Samin061)
  • Markup declarations follow the WHATWG prescan: declarations inside comments are ignored, a charset= inside another attribute (like a refresh URL) no longer beats a real <meta charset>, quoted or spaced content charsets work, and an ASCII page declaring utf-16le no longer comes back as UTF-16-LE. (#389 and #398, thanks @​SashaMIT and @​xiehuanyi)
  • PEP 263 cookies resolve the way tokenize.detect_encoding resolves them, including only counting a line-2 cookie when line 1 is blank or a comment. (#391, thanks @​xiehuanyi)
  • Fixed BOM-bearing UTF-32 coming back as UTF-16 when max_bytes cuts a code unit. (#405, thanks @​AryanRG)
  • Fixed language labels on Unicode text tilting toward accent-heavy languages, so a French paragraph with a few accents no longer comes back as Hungarian. Mislabels on the test corpus's Unicode files dropped from 140 to 104.
  • Fixed a mostly-ASCII Windows-1252 file with a single Ö detecting as HP-Roman8, and English with a lone É detecting as MacRoman. (#383, thanks @​aadsm)
  • Fixed null-separated records like find -print0 output coming back as UTF-16-LE with Chinese as the language.
  • prefer_superset=True no longer swaps in a code page that can't decode the data, and now respects include_encodings/exclude_encodings. (#393, thanks @​00200200)
  • chardetect and UniversalDetector no longer mistake input cut exactly at the byte cap for the whole stream. (#392, thanks @​00200200)
  • lookup_encoding's cache is capped at 1024 entries, since charset names come from untrusted markup. (#390, thanks @​Samin061)
  • Plus smaller fixes to detect_all() ranking, EBCDIC XML MIME types, and the deprecated chardet.equivalences shim. The changelog has the full list.

Improvements

  • New -m/--mime-type flag for chardetect shows the MIME type next to the encoding, like file -i. (#384, thanks @​smi11 for the request)
  • Visual-order Hebrew is now detected, and cp864 Arabic is trained on contextually shaped text in visual order, the way real cp864 systems stored it.
  • EncodingInfo.is_multibyte is now is_multibyte_cjk. The old name still works with a DeprecationWarning and goes away in 8.0.
  • pipeline/markup.py is now compiled by mypyc (15 modules total), and CI enforces 100% test coverage.

Full Changelog: https://github.com/chardet/chardet/compare/7.6.0...7.7.0

Changelog

Sourced from chardet's changelog.

7.7.0 (2026-10-17)

Features:

  • Added a -m/--mime-type flag to the chardetect CLI, which shows the detected MIME type next to the encoding, like file -i. (Dan Blanchard <https://github.com/dan-blanchard>_ via Claude, [#384](https://github.com/chardet/chardet/issues/384) <https://github.com/chardet/chardet/issues/384>_)

Accuracy:

  • Visual-order Hebrew is now detected. The ISO-8859-8 model trains on both bidi conventions, so 1990s visual-order pages come back as ISO-8859-8 while logical-order text still prefers Windows-1255. (Dan Blanchard <https://github.com/dan-blanchard>_ via Claude)
  • cp864 Arabic now trains on contextually shaped text in visual order, the way real cp864 systems stored it, instead of isolated letter forms in logical order. (Dan Blanchard <https://github.com/dan-blanchard>_ via Claude)

Performance:

  • Raising max_bytes on large inputs no longer gets slow. On the compiled build, detect(data, max_bytes=len(data)) on 272 MiB takes about 0.23s for cp1252 and 0.56s for Shift_JIS, down from several seconds. UTF-8 validation and a final decode of the winner still read the whole window, so the answer still decodes it. The other stages stop at a 256 KB evidence cap, which sits above the default max_bytes, so default calls are unchanged, and the default 200 KB cap is still the fastest path. ADR-0006 has the design. (Dan Blanchard <https://github.com/dan-blanchard>_ via Claude)
  • The UTF-7 + scan is no longer quadratic on line-wrapped base64 like PEM certificates, MIME attachments, and JWTs. 128 KiB of it went from 5.4 seconds to 1.2 milliseconds. (Dan Blanchard <https://github.com/dan-blanchard>_ via Claude)
  • A head full of unclosed <meta or <?xml tags no longer makes the markup scan quadratic, taking it from about 5 ms to about 20 µs. A literal < inside an attribute value now hides that one tag. (Dan Blanchard <https://github.com/dan-blanchard>_ via Claude)
  • An EBCDIC charset= or encoding= followed by whitespace and no value no longer makes the declaration scan backtrack quadratically. A crafted 4 KB document used to cost detect() about 60 ms. (Samina <https://github.com/Samin061>, [#403](https://github.com/chardet/chardet/issues/403) <https://github.com/chardet/chardet/pull/403>)
  • The pure-Python install on CPython scores bigram models with operator.itemgetter instead of a Python loop, making detect() about 1.25x faster and detect_all() about 1.35x faster across the test corpus. Compiled builds and PyPy keep their existing paths. (Afonso Ribeiro <https://github.com/deadstrobe5>_)

... (truncated)

Commits
  • 7a87294 Release 7.7.0
  • 1785c56 docs: label the base64 large-input rows as ascii with a footnote
  • 4ec13a0 test: take the best of three cold starts in the cold-vs-warm check
  • d7be8c7 docs: re-measure the large-input table for 7.7.0
  • d6dcc41 docs: update benchmark numbers for 7.7.0
  • cc5924a Rename EncodingInfo.is_multibyte to is_multibyte_cjk
  • e0a7ff9 docs: derive the multi-byte column from the codec
  • a3699c9 Fix UTF-32 BOM detection for truncated max_bytes windows (#405)
  • 89cab01 Score bigram models through itemgetter on interpreted CPython (#404)
  • ea3ef5f Fix quadratic backtracking in the EBCDIC charset-declaration scan (#403)
  • Additional commits viewable in compare view

Updates coverage from 7.16.2 to 7.17.0

Release notes

Sourced from coverage's releases.

7.17.0

Version 7.17.0 — 2026-10-22

  • Dropped support for Python 3.10.
  • Binary wheels are now provided for iOS and Android. This allows the use of the optimized C tracer on mobile platforms.
  • Fix: three or more levels of nested with statements could make a with line look like a branch with an exit that can never happen. Using the sys.monitoring core, these phantom branches were reported as partial. Other cores hid the problem but still counted the phantom branches in the total. Closes issue 1987.
  • Fix: a comment or string that merely mentioned if True: or while True: could mark its line as a branch that is known to be partial, so a branch that never ran was reported as taken. These built-in patterns now only match at the start of the statement. Closes issue 2314.
  • Fix: region detection missed functions defined in unusual places, such as else and except clauses. This is now fixed.
  • Fix: recent versions of the lcov tool complain if the same function name appears more than once in a report. Python can have multiple same-named functions in a few ways, for example, getters/setters or conditionally defined functions. These are now disambiguated by adding a @<line number> suffix to the function name. Fixes issue 2335.
  • Fix: The “Can’t combine statement coverage data with branch data” error now names the two data files it couldn’t combine. The error description in the docs now lists common causes and how to find the process that wrote the file.
  • Fix: at coverage totals close to 0 or 100, the XML report could get incorrect line-rate values like 8.333e-05 or 1. This is now fixed, closing issue 2293 and issue 2294.
  • Fix: a parallel data file saved more than once kept the hash of its first save in its file name. Combining could then skip it as a duplicate of another file that had the same data at that point, and delete it, losing the data recorded after the first save. Each save now updates the hash. This had been a problem since 7.13.1. Fixes issue 2338.
  • Fixes for obscure but legal file names:
    • File names (and plugin names) can contain control characters, which are legal in POSIX paths but unsafe in reports: in XML 1.0 they make the document non-well-formed, and in a terminal they act as escape sequences (colors, title/clipboard sequences, cursor moves that forge output). Now the XML report, the text and Markdown summary reports, and coverage debug data replace non-printable characters in names. Printable names are unchanged.
    • A file pattern (from include, omit, or a [paths] alias) containing a newline sent the glob-to-regex translation into an infinite loop, hanging the process. Newlines in patterns are now handled like any other character.
  • Fixes in the implementation of the C tracer:
    • If a plugin’s dynamic_source_filename method raised an exception, lines in that function could be recorded as belonging to a different file. Also fixed some minor memory ...

      Description has been truncated

Package Dependencies
Package:
mypy
Ecosystem:
pip
Version Change:
2.4.0 → 2.4.1
Update Type:
Patch
Package:
numpy
Ecosystem:
pip
Version Change:
2.5.3 → 2.5.4
Update Type:
Patch
Package:
coverage
Ecosystem:
pip
Version Change:
7.16.2 → 7.17.0
Update Type:
Minor
Package:
pytest
Ecosystem:
pip
Version Change:
9.1.1 → 9.2.0
Update Type:
Minor
Package:
ruff
Ecosystem:
pip
Version Change:
0.16.10 → 0.17.3
Update Type:
Minor
Package:
hypothesis
Ecosystem:
pip
Version Change:
6.170.9 → 6.170.14
Update Type:
Patch
Package:
pip
Ecosystem:
pip
Version Change:
26.2.1 → 26.2.2
Update Type:
Patch
Package:
pluggy
Ecosystem:
pip
Version Change:
1.6.0 → 1.7.0
Update Type:
Minor
Package:
iniconfig
Ecosystem:
pip
Version Change:
2.3.0 → 2.3.1
Update Type:
Patch
Package:
pycparser
Ecosystem:
pip
Version Change:
3.0 → 3.12
Package:
tzdata
Ecosystem:
pip
Version Change:
2026.5 → 2026.6
Package:
chardet
Ecosystem:
pip
Version Change:
7.6.0 → 7.7.0
Update Type:
Minor
Ecosystem:
pip
Version Change:
7.5.0 → 7.6.0
Update Type:
Minor
Ecosystem:
pip
Version Change:
2026.8 → 2026.9
Package:
pip-tools
Ecosystem:
pip
Version Change:
7.6.1 → 7.6.2
Update Type:
Patch
Package:
jsonpointer
Ecosystem:
pip
Version Change:
3.1.1 → 3.7
Ecosystem:
pip
Version Change:
0.12.1 → 0.13.1
Update Type:
Minor
Technical Details
ID: 16804383
UUID: 6283613589
Node ID: PR_kwDOVVYnj88AAAABNz4_Xg
Host: GitHub
Repository: LocalGateKeys/LocalGateKeys