Skip to content

build(deps): bump the uv group across 1 directory with 14 updates - #699

Open
dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/uv/develop/uv-080741377d
Open

dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/uv/develop/uv-080741377d

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Bumps the uv group with 14 updates in the / directory:

Package From To
chardet 7.6.0 7.7.0
pydantic 2.13.5 2.14.2
gitpython 3.2.0 3.2.1
lizard 1.24.1 1.24.3
mypy 2.4.0 2.4.1
pandas-stubs 3.0.5.260914 3.1.0.261029
pre-commit 4.6.2 4.7.0
pytest 9.1.1 9.2.0
pytest-benchmark 5.3.0 5.3.1
pytest-mock 3.16.0 3.17.0
ruff 0.16.10 0.17.3
types-pyyaml 6.0.12.20260906 6.0.12.20261030
types-requests 2.33.0.20261006 2.33.0.20261030
pudb 2025.1.5 2026.1

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: chardet/chardet@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 pydantic from 2.13.5 to 2.14.2

Release notes

Sourced from pydantic's releases.

v2.14.2 2026-10-29

v2.14.2 (2026-10-29)

This release addresses 2 security issues, GHSA-qpmf-fgh3-ff25 and GHSA-3r8g-cqwr-jr29.

Packaging

Performance

Fixes

  • Make JSON validation by iteration consistent with Python approach by @​davidhewitt in #13275.

    JSON validation now handles field lookup and extra data the same way as Python validation. In particular, keys that only match an unused alias or field name are now treated as extra data, instead of being silently dropped:

    from pydantic import BaseModel, ConfigDict
    from pydantic.alias_generators import to_camel
    class Page(BaseModel):
    model_config = ConfigDict(extra='forbid', alias_generator=to_camel)
    page_size: int = 10
    
    Page.model_validate_json('{"page_size": 50}')
    Before: Page(page_size=10)
    After: ValidationError (extra_forbidden)

    See the pull request for the full list of behavior changes. This change addresses GHSA-qpmf-fgh3-ff25.

  • Ignore extra data matching a field name in TypedDict and dataclasses with extra=allow by @​Viicos in #14090. Addresses GHSA-3r8g-cqwr-jr29.

  • Fix unpickling of generic classes defined in separate module by @​Viicos in #13994

  • Support explicit by_alias overriding validate_by_alias in validation JSON schemas by @​Viicos in #13997

  • Fix mypy plugin crash on deferred empty model by @​ilevkivskyi in #14027

  • Fix infinite recursion when validating an invalid default with PydanticUseDefault by @​Viicos in #14028

  • Implement recursion guard for validate_strings() by @​Viicos in #14029

... (truncated)

Changelog

Sourced from pydantic's changelog.

v2.14.2 (2026-10-29)

GitHub release

What's Changed

Packaging

Performance

Fixes

  • Make JSON validation by iteration consistent with Python approach by @​davidhewitt in #13275.

    JSON validation now handles field lookup and extra data the same way as Python validation. In particular, keys that only match an unused alias or field name are now treated as extra data, instead of being silently dropped:

    from pydantic import BaseModel, ConfigDict
    from pydantic.alias_generators import to_camel
    class Page(BaseModel):
    model_config = ConfigDict(extra='forbid', alias_generator=to_camel)
    page_size: int = 10
    
    Page.model_validate_json('{"page_size": 50}')
    Before: Page(page_size=10)
    After: ValidationError (extra_forbidden)

    See the pull request for the full list of behavior changes.

  • Fix unpickling of generic classes defined in separate module by @​Viicos in #13994

  • Support explicit by_alias overriding validate_by_alias in validation JSON schemas by @​Viicos in #13997

  • Fix mypy plugin crash on deferred empty model by @​ilevkivskyi in #14027

  • Fix infinite recursion when validating an invalid default with PydanticUseDefault by @​Viicos in #14028

  • Implement recursion guard for validate_strings() by @​Viicos in #14029

  • Support named tuples in Sequence serialization by @​Viicos in #14033

... (truncated)

Commits
  • aa540ac Update changelog for v2.14.2
  • 6cde12f Update changelog for v2.14.2
  • 2db7c25 Fix deep copy of self-referential models
  • d783154 Update changelog for v2.14.2
  • df49b6c Avoid heap allocation for small JSON model field buffers
  • cd93e69 Skip decorator field checks when no field decorators exist
  • 2771e57 Make JSON validation by iteration consistent with Python approach
  • 8102e3f Avoid Python tuple allocation during model fields validation
  • dd139b5 Bump pydantic.v1 namespace to v1.10.27
  • 66155f9 Prepare release v2.14.2
  • Additional commits viewable in compare view

Updates gitpython from 3.2.0 to 3.2.1

Release notes

Sourced from gitpython's releases.

3.2.1

What's Changed

New Contributors

Full Changelog: gitpython-developers/GitPython@3.2.0...3.2.1

Changelog

Sourced from gitpython's changelog.

3.2.1

Security fixes for

If you can, also try and provide feedback on the upcoming v4 branch gitpython-developers/GitPython#2274 - patches welcome.

See the following for all changes. https://github.com/gitpython-developers/GitPython/releases/tag/3.2.1

Commits
  • c179357 prepare changelog prior to release
  • 97eadb8 fix(submodule): validate destinations before mutation
  • See full diff in compare view

Updates lizard from 1.24.1 to 1.24.3

Release notes

Sourced from lizard's releases.

1.24.3

Bug Fixes

  • TypeScript: preserve function boundaries and NLOC after return type annotations, including adjacent annotated functions (issue #521)
  • JavaScript, TypeScript, JSX, and TSX: use balanced scanning for nested template literals so deeper nesting, quoted delimiters, escapes, and comments do not swallow following functions (issue #521)
  • TypeScript and TSX: keep ternary colons in conditional expressions from being mistaken for type annotations, preventing crashes in conditional style arrays (issue #523)
  • Go: give anonymous function literals stable anonymous__<n> names while preserving names for literals assigned to variables; do not report variadic function types or receive-only channels of functions as function literals (PR #522)
  • Running python lizard.py with an extension that extends the core analyzer, such as -END, no longer fails with an AttributeError; it now matches the installed lizard command

Improvements

  • The core analyzer now lives in the internal lizard_core package, one module per responsibility; lizard still exposes every name it did before, and lizard_core module paths are not a supported import surface

Full changelog: terryyin/lizard@1.24.2...1.24.3

1.24.2

Bug Fixes

  • JavaScript, TypeScript, JSX, and TSX: count each ?? and ??= as +1 CCN; existing scores may decrease (issue #507)
  • JavaScript, TypeScript, JSX, and TSX: count each default parameter and destructuring initializer as +1 CCN, including nested defaults; existing scores and threshold warnings may increase (issue #509)
  • TypeScript and Swift: stop counting optional chaining as a ternary operator; preserve JavaScript and TypeScript nullish coalescing and ternary metrics (PR #518)
  • Swift: stop .init(, self.init(, .get(), .set(, variables named set, and argument labels such as init: from starting phantom functions that swallowed the following functions
  • Swift: recognize argument labels such as init: and for: when a newline or comment separates them from ( or ,
  • Swift: tokenize #Preview, #expect, #available and other macros so their braces count; compiler directives stay whole lines
  • Swift: scan raw, multi-line, and interpolated string literals and nested block comments as single tokens, so braces inside them no longer shift function boundaries
  • Swift: do not treat type (.type, type(of:)) as a Go-style type declaration
  • Python: preserve parameter counts when defaults or annotations contain nested brackets, commas, lambdas, or f-strings (PR #501)
  • Python: parse floor division as an operator and preserve NLOC for triple-quoted string operands and expressions inside f-strings (PR #500)
  • Rust: count let-else toward cyclomatic complexity
  • Fortran: preserve procedure boundaries around modern language constructs
  • Go: distinguish function literals from function types, preserve following declarations, and retain declared variable names for typed function literals (PR #512)
  • C++: preserve operator names and whitelist matching, and stop using declarations from swallowing following functions (PR #511)
  • Parallel analysis: close worker pools after completion, failure, or cancellation, and preserve serial fallback when multiprocessing is unavailable (PR #513)
  • HTML reports: return a non-zero exit status when functions exceed warning thresholds

Improvements

  • Discover .hh files as C/C++ headers (PR #510)

Documentation

  • Clarify README installation, examples, and warning limits

Full changelog: terryyin/lizard@1.24.1...1.24.2

Changelog

Sourced from lizard's changelog.

1.24.3

Bug Fixes

  • TypeScript: preserve function boundaries and NLOC after return type annotations, including adjacent annotated functions (issue #521)
  • JavaScript, TypeScript, JSX, and TSX: use balanced scanning for nested template literals so deeper nesting, quoted delimiters, escapes, and comments do not swallow following functions (issue #521)
  • TypeScript and TSX: keep ternary colons in conditional expressions from being mistaken for type annotations, preventing crashes in conditional style arrays (issue #523)
  • Go: give anonymous function literals stable anonymous__<n> names while preserving names for literals assigned to variables; do not report variadic function types or receive-only channels of functions as function literals (PR #522)
  • Running python lizard.py with an extension that extends the core analyzer, such as -END, no longer fails with an AttributeError; it now matches the installed lizard command

Improvements

  • The core analyzer now lives in the internal lizard_core package, one module per responsibility; lizard still exposes every name it did before, and lizard_core module paths are not a supported import surface

1.24.2

Bug Fixes

  • JavaScript, TypeScript, JSX, and TSX: count each ?? and ??= as +1 CCN; existing scores may decrease (issue #507)
  • JavaScript, TypeScript, JSX, and TSX: count each default parameter and destructuring initializer as +1 CCN, including nested defaults; existing scores and threshold warnings may increase (issue #509)
  • TypeScript and Swift: stop counting optional chaining as a ternary operator; preserve JavaScript and TypeScript nullish coalescing and ternary metrics (PR #518)
  • Swift: stop .init(, self.init(, .get(), .set(, variables named set, and argument labels such as init: from starting phantom functions that swallowed the following functions
  • Swift: recognize argument labels such as init: and for: when a newline or comment separates them from ( or ,
  • Swift: tokenize #Preview, #expect, #available and other macros so their braces count; compiler directives stay whole lines
  • Swift: scan raw, multi-line, and interpolated string literals and nested block comments as single tokens, so braces inside them no longer shift function boundaries
  • Swift: do not treat type (.type, type(of:)) as a Go-style type declaration
  • Python: preserve parameter counts when defaults or annotations contain nested brackets, commas, lambdas, or f-strings (PR #501)
  • Python: parse floor division as an operator and preserve NLOC for triple-quoted string operands and expressions inside f-strings (PR #500)
  • Rust: count let-else toward cyclomatic complexity
  • Fortran: preserve procedure boundaries around modern language constructs
  • Go: distinguish function literals from function types, preserve following declarations, and retain declared variable names for typed function literals (PR #512)
  • C++: preserve operator names and whitelist matching, and stop using declarations from swallowing following functions (PR #511)
  • Parallel analysis: close worker pools after completion, failure, or cancellation, and preserve serial fallback when multiprocessing is unavailable (PR #513)
  • HTML reports: return a non-zero exit status when functions exceed warning thresholds

Improvements

  • Discover .hh files as C/C++ headers (PR #510)

Documentation

  • Clarify README installation, examples, and warning limits
Commits
  • ba94d59 Release 1.24.3
  • 0012ca4 Close balanced template scanning repair
  • 8c6d0c0 End JavaScript template line comments at each line terminator
  • efcbdd7 Restore balanced JavaScript template scanning
  • 37caa7f Admit accepted work: SEED-009#balanced-template-scanning
  • 55c9c39 Close SEED-008#review-issue-521
  • 123f6f3 Admit accepted work: SEED-008#review-issue-521
  • 8149f77 Close SEED-007#js-ts-function-boundaries
  • e17cb81 Fix JS/TS function boundaries after return annotations and nested templates
  • fca7b1a Pin CI Linux runner to Ubuntu 24.04 for Python 3.8
  • Additional commits viewable in compare view

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 pandas-stubs from 3.0.5.260914 to 3.1.0.261029

Commits
  • 2a4a9c1 Version 3.1.0.261029
  • 9490b69 BLD: update to pandas 3.1.0 and adapt stubs and tests (#2036)
  • 0bdb355 TYP: reject complex ordering for Series and Index (#2016)
  • fadb447 TYP: drop the unreachable Series.rmatmul(DataFrame) and document operator...
  • f72cd2a TYP: Remove mode property from BaseBuffer protocol #1956 (#2041)
  • 9dccbf5 DOC: require public API status before adding stubs (#2039)
  • e201493 TST: use canonical IANA time zones in tests (#2033)
  • 8dd6d91 TST: 🌙 fix nightly dtype warnings and Index.where test data (#2028)
  • 36a22a8 TYP: Include missing values in scalar indexer returns (#1946)
  • 1026204 TYP: accept list bounds in DataFrame.clip (#2022)
  • Additional commits viewable in compare view

Updates pre-commit from 4.6.2 to 4.7.0

Release notes

Sourced from pre-commit's releases.

pre-commit v4.7.0

Fixes

Changelog

Sourced from pre-commit's changelog.

4.7.0 - 2026-10-12

Fixes

Commits
  • 65bb884 v4.7.0
  • 73926c1 Merge pull request #3774 from cbirkhold/node-no-git-env-npm-install
  • 860d07d don't leak GIT_* env into npm install for language: node
  • 9ad8a0a Merge pull request #3775 from pre-commit/contextlib-chdir
  • 9905e88 use contextlib.chdir
  • 59cb792 Merge pull request #3771 from pre-commit/all-repos_autofix_py311-plus
  • 2be1701 remove triple-nested withs for 3.14 coverage
  • 4c8d22a py311+
  • c429238 Merge pull request #3770 from pre-commit/pre-commit-ci-update-config
  • f49e251 [pre-commit.ci] pre-commit autoupdate
  • Additional commits viewable in compare view

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 pytest-benchmark from 5.3.0 to 5.3.1

Changelog

Sourced from pytest-benchmark's changelog.

v5.3.1 (2026-11-01)

  • Fixed an AttributeError with pytest's public nodeid attribute by avoiding the removed private node._nodeid attribute (fixes [#321](https://github.com/ionelmc/pytest-benchmark/issues/321) <https://github.com/ionelmc/pytest-benchmark/issues/321>). This adds support for Pytest 9.2. Contributed by Hfycium in [#323](https://github.com/ionelmc/pytest-benchmark/issues/323) <https://github.com/ionelmc/pytest-benchmark/pull/323...

    Description has been truncated

Bumps the uv group with 14 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [chardet](https://github.com/chardet/chardet) | `7.6.0` | `7.7.0` |
| [pydantic](https://github.com/pydantic/pydantic) | `2.13.5` | `2.14.2` |
| [gitpython](https://github.com/gitpython-developers/GitPython) | `3.2.0` | `3.2.1` |
| [lizard](https://github.com/terryyin/lizard) | `1.24.1` | `1.24.3` |
| [mypy](https://github.com/python/mypy) | `2.4.0` | `2.4.1` |
| [pandas-stubs](https://github.com/pandas-dev/pandas-stubs) | `3.0.5.260914` | `3.1.0.261029` |
| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.6.2` | `4.7.0` |
| [pytest](https://github.com/pytest-dev/pytest) | `9.1.1` | `9.2.0` |
| [pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) | `5.3.0` | `5.3.1` |
| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.16.0` | `3.17.0` |
| [ruff](https://github.com/astral-sh/ruff) | `0.16.10` | `0.17.3` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20260906` | `6.0.12.20261030` |
| [types-requests](https://github.com/python/typeshed) | `2.33.0.20261006` | `2.33.0.20261030` |
| [pudb](https://github.com/inducer/pudb) | `2025.1.5` | `2026.1` |



Updates `chardet` from 7.6.0 to 7.7.0
- [Release notes](https://github.com/chardet/chardet/releases)
- [Changelog](https://github.com/chardet/chardet/blob/main/docs/changelog.rst)
- [Commits](chardet/chardet@7.6.0...7.7.0)

Updates `pydantic` from 2.13.5 to 2.14.2
- [Release notes](https://github.com/pydantic/pydantic/releases)
- [Changelog](https://github.com/pydantic/pydantic/blob/v2.14.2/HISTORY.md)
- [Commits](pydantic/pydantic@v2.13.5...v2.14.2)

Updates `gitpython` from 3.2.0 to 3.2.1
- [Release notes](https://github.com/gitpython-developers/GitPython/releases)
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/doc/source/changes.rst)
- [Commits](gitpython-developers/GitPython@3.2.0...3.2.1)

Updates `lizard` from 1.24.1 to 1.24.3
- [Release notes](https://github.com/terryyin/lizard/releases)
- [Changelog](https://github.com/terryyin/lizard/blob/master/CHANGELOG.md)
- [Commits](terryyin/lizard@1.24.1...1.24.3)

Updates `mypy` from 2.4.0 to 2.4.1
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v2.4.0...v2.4.1)

Updates `pandas-stubs` from 3.0.5.260914 to 3.1.0.261029
- [Changelog](https://github.com/pandas-dev/pandas-stubs/blob/main/docs/release_procedure.md)
- [Commits](pandas-dev/pandas-stubs@v3.0.5.260914...v3.1.0.261029)

Updates `pre-commit` from 4.6.2 to 4.7.0
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](pre-commit/pre-commit@v4.6.2...v4.7.0)

Updates `pytest` from 9.1.1 to 9.2.0
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.1.1...9.2.0)

Updates `pytest-benchmark` from 5.3.0 to 5.3.1
- [Release notes](https://github.com/ionelmc/pytest-benchmark/releases)
- [Changelog](https://github.com/ionelmc/pytest-benchmark/blob/master/CHANGELOG.rst)
- [Commits](ionelmc/pytest-benchmark@v5.3.0...v5.3.1)

Updates `pytest-mock` from 3.16.0 to 3.17.0
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases)
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-mock@v3.16.0...v3.17.0)

Updates `ruff` from 0.16.10 to 0.17.3
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.16.10...0.17.3)

Updates `types-pyyaml` from 6.0.12.20260906 to 6.0.12.20261030
- [Commits](https://github.com/python/typeshed/commits)

Updates `types-requests` from 2.33.0.20261006 to 2.33.0.20261030
- [Commits](https://github.com/python/typeshed/commits)

Updates `pudb` from 2025.1.5 to 2026.1
- [Release notes](https://github.com/inducer/pudb/releases)
- [Commits](inducer/pudb@v2025.1.5...v2026.1)

---
updated-dependencies:
- dependency-name: chardet
  dependency-version: 7.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: pydantic
  dependency-version: 2.14.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: gitpython
  dependency-version: 3.2.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: lizard
  dependency-version: 1.24.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: mypy
  dependency-version: 2.4.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: pandas-stubs
  dependency-version: 3.1.0.261029
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: pre-commit
  dependency-version: 4.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: pytest
  dependency-version: 9.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: pytest-benchmark
  dependency-version: 5.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: pytest-mock
  dependency-version: 3.17.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: ruff
  dependency-version: 0.17.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: uv
- dependency-name: types-pyyaml
  dependency-version: 6.0.12.20261030
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: types-requests
  dependency-version: 2.33.0.20261030
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: uv
- dependency-name: pudb
  dependency-version: '2026.1'
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: uv
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code labels Nov 4, 2026
@vercel

vercel Bot commented Nov 4, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
command-ghostwriter Ready Ready Preview Nov 4, 2026 11:22am UTC

@coderabbitai

coderabbitai Bot commented Nov 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: ec78ec27-48ab-4222-856b-49b7ae47323e

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

@github-actions

github-actions Bot commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

Scorecard details
PackageVersionScoreDetails
pip/chardet 7.7.0 UnknownUnknown
pip/gitpython 3.2.1 UnknownUnknown
pip/lizard 1.24.3 UnknownUnknown
pip/mypy 2.4.1 UnknownUnknown
pip/pandas-stubs 3.1.0.261029 UnknownUnknown
pip/pre-commit 4.7.0 🟢 4.5
Details
CheckScoreReason
Maintained🟢 1025 commit(s) and 16 issue activity found in the last 90 days -- score normalized to 10
Code-Review⚠️ 0Found 1/11 approved changesets -- score normalized to 0
Packaging⚠️ -1packaging workflow not detected
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
Binary-Artifacts🟢 10no binaries found in the repo
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Pinned-Dependencies⚠️ 0dependency not pinned by hash detected -- score normalized to 0
Fuzzing⚠️ 0project is not fuzzed
License🟢 10license file detected
Branch-Protection⚠️ -1internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
Signed-Releases⚠️ 0Project has not signed or included provenance with any releases.
Security-Policy🟢 10security policy file detected
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
pip/pudb 2026.1 UnknownUnknown
pip/pydantic 2.14.2 UnknownUnknown
pip/pydantic-core 2.50.2 🟢 6.6
Details
CheckScoreReason
Code-Review🟢 3Found 10/28 approved changesets -- score normalized to 3
Maintained🟢 1030 commit(s) and 7 issue activity found in the last 90 days -- score normalized to 10
Dangerous-Workflow🟢 10no dangerous workflow patterns detected
Binary-Artifacts🟢 10no binaries found in the repo
Token-Permissions⚠️ 0detected GitHub workflow tokens with excessive permissions
CII-Best-Practices⚠️ 0no effort to earn an OpenSSF best practices badge detected
Pinned-Dependencies🟢 8dependency not pinned by hash detected -- score normalized to 8
License🟢 10license file detected
Fuzzing🟢 10project is fuzzed
Branch-Protection🟢 3branch protection is not maximal on development and all release branches
Signed-Releases⚠️ -1no releases found
Security-Policy🟢 10security policy file detected
Packaging🟢 10packaging workflow detected
SAST⚠️ 0SAST tool is not run on all commits -- score normalized to 0
pip/pytest 9.2.0 UnknownUnknown
pip/pytest-benchmark 5.3.1 UnknownUnknown
pip/pytest-mock 3.17.0 UnknownUnknown
pip/ruff 0.17.3 UnknownUnknown
pip/types-pyyaml 6.0.12.20261030 UnknownUnknown
pip/types-requests 2.33.0.20261030 UnknownUnknown
pip/typing-extensions 4.16.0 UnknownUnknown
pip/typing-inspection 0.4.4 UnknownUnknown

Scanned Files

  • uv.lock

This branch was successfully deployed

1 active deployment
Preview — 1bf718de Deployed Nov 4, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python:uv Pull requests that update python:uv code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants