fix(deps): update all non-major dependencies
This MR contains the following updates:
| Package | Change | Age | Confidence | Type | Update |
|---|---|---|---|---|---|
| activate-account-client |
2.1.0+2615989.df9cf512 -> 2.8.2+3348042.6508490b
|
dependencies | minor | ||
| click (changelog) |
8.2.1 -> 8.3.1
|
dependencies | minor | ||
| coverage |
7.8.0 -> 7.12.0
|
dev | minor | ||
| freezegun (changelog) |
1.5.1 -> 1.5.5
|
dev | patch | ||
| google-auth |
2.38.0 -> 2.43.0
|
dependencies | minor | ||
| google-cloud-pubsub |
2.31.0 -> 2.33.0
|
dependencies | minor | ||
| google-cloud-pubsub |
2.29.0 -> 2.33.0
|
dependencies | minor | ||
| message-schemas |
^0.5.0 -> ^0.7.0
|
dependencies | minor | ||
| message-schemas |
^0.4.0 -> ^0.7.0
|
dependencies | minor | ||
| pre-commit |
4.2.0 -> 4.5.0
|
dev | minor | ||
| pre-commit/mirrors-mypy |
v1.4.1 -> v1.18.2
|
repository | minor | ||
| psf/black |
25.1.0 -> 25.11.0
|
repository | minor | ||
| pydantic-settings (changelog) |
2.8.1 -> 2.12.0
|
dependencies | minor | ||
| pytest (changelog) |
8.4.1 -> 8.4.2
|
dev | patch | ||
| pytest (changelog) |
8.3.5 -> 8.4.2
|
dev | minor | ||
| pytest-cov (changelog) |
6.1.1 -> 6.3.0
|
dev | minor | ||
| pytest-env |
1.1.5 -> 1.2.0
|
dev | minor | ||
| python-poetry/poetry |
2.1.4 -> 2.2.1
|
repository | minor | ||
| requests (source, changelog) |
2.32.3 -> 2.32.5
|
dev | patch | ||
| types-python-dateutil (changelog) |
2.9.0.20241206 -> 2.9.0.20251115
|
dev | patch | ||
| ucam-observe |
0.2.0 -> 0.2.2
|
dependencies | patch |
Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.
Release Notes
pallets/click (click)
v8.3.1
Released 2025-11-15
- Don't discard pager arguments by correctly using
subprocess.Popen. :issue:3039🇵🇷 3055 - Replace
Sentinel.UNSETdefault values byNoneas they're passed through theContext.invoke()method. :issue:3066:issue:3065🇵🇷 3068 - Fix conversion of
Sentinel.UNSEThappening too early, which caused incorrect behavior for multiple parameters using the same name. :issue:3071🇵🇷 3079 - Hide
Sentinel.UNSETvalues asNonewhen looking up for other parameters through the context inside parameter callbacks. :issue:3136🇵🇷 3137 - Fix rendering when
promptandconfirmparameterprompt_suffixis empty. :issue:3019🇵🇷 3021 - When
Sentinel.UNSETis found during parsing, it will skip calls totype_cast_value. :issue:3069🇵🇷 3090
v8.3.0
Released 2025-09-17
-
Improved flag option handling: Reworked the relationship between
flag_valueanddefaultparameters for better consistency:- The
defaultparameter value is now preserved as-is and passed directly to CLI functions (no more unexpected transformations) - Exception: flag options with
default=Truemaintain backward compatibility by defaulting to theirflag_value - The
defaultparameter can now be any type (bool,None, etc.) - Fixes inconsistencies reported in: :issue:
1992:issue:2514:issue:2610:issue:3024🇵🇷 3030
- The
-
Allow
defaultto be set onArgumentfornargs = -1. :issue:2164🇵🇷 3030 -
Show correct auto complete value for
nargsoption in combination with flag option :issue:2813 -
Fix handling of quoted and escaped parameters in Fish autocompletion. :issue:
2995🇵🇷 3013 -
Lazily import
shutil.🇵🇷 3023 -
Properly forward exception information to resources registered with
click.core.Context.with_resource(). :issue:2447🇵🇷 3058 -
Fix regression related to EOF handling in
CliRunner. :issue:2939🇵🇷 2940
v8.2.2
Released 2025-07-31
- Fix reconciliation of
default,flag_valueandtypeparameters for flag options, as well as parsing and normalization of environment variables. :issue:2952🇵🇷 2956 - Fix typing issue in
BadParameterandMissingParameterexceptions for the parameterparam_hintthat did not allow for a sequence of string where the underlying function_join_param_hintsallows for it. :issue:2777🇵🇷 2990 - Use the value of
Enumchoices to render their default value in help screen. Refs :issue:2911🇵🇷 3004 - Fix completion for the Z shell (
zsh) for completion items containing colons. :issue:2703🇵🇷 2846 - Don't include envvar in error hint when not configured. :issue:
2971🇵🇷 2972 - Fix a rare race in
click.testing.StreamMixer's finalization that manifested as aValueErroron close in a multi-threaded test session. :issue:2993🇵🇷 2991
coveragepy/coveragepy (coverage)
v7.12.0
-
The HTML report now shows separate coverage totals for statements and branches, as well as the usual combined coverage percentage. Thanks to Ryuta Otsuka for the
discussion <issue 2081_>_ and theimplementation <pull 2085_>_. -
The JSON report now includes separate coverage totals for statements and branches, thanks to
Ryuta Otsuka <pull 2090_>_. -
Fix:
except*clauses were not handled properly under the "sysmon" measurement core, causing KeyError exceptions as described inissue 2086_. This is now fixed. -
Fix: we now defend against aggressive mocking of
open()that could cause errors inside coverage.py. An example of a failure is inissue 2083_. -
Fix: in unusual cases where a test suite intentionally exhausts the system's file descriptors to test handling errors in
open(), coverage.py would fail when trying to open source files, as described inissue 2091_. This is now fixed. -
A small tweak to the HTML report: file paths now use thin spaces around slashes to make them easier to read.
.. _issue 2081: #2081 .. _issue 2083: #2083 .. _pull 2085: #2085 .. _issue 2086: #2086 .. _pull 2090: #2090 .. _issue 2091: #2091
.. _changes_7-11-3:
v7.11.3
-
Fix: the 7.11.1 changes meant that conflicts between a requested measurement core and other settings would raise an error. This was a breaking change from previous behavior, as reported in
issue 2076_ andissue 2078_.The previous behavior has been restored: when the requested core conflicts with other settings, another core is used instead, and a warning is issued.
-
For contributors: the repo has moved from Ned's
nedbat GitHub account_ to thecoveragepy GitHub organization_. The default branch has changed from master to main.
.. _issue 2076: #2076 .. _issue 2078: #2078 .. _nedbat GitHub account: https://github.com/nedbat .. _coveragepy GitHub organization: https://github.com/coveragepy
.. _changes_7-11-2:
v7.11.2
-
Fix: using the "sysmon" measurement core in 7.11.1, if Python code was claimed to come from a non-Python file, a
NotPythonexception could be raised. This could happen for example with Jinja templates compiled to Python, as reported inissue 2077_. This is now fixed. -
Doc: corrected the first entry in the 7.11.1 changelog.
.. _issue 2077: #2077
.. _changes_7-11-1:
v7.11.1
-
Fix: some chanages to details of how the measurement core is chosen, and how conflicting settings are handled. The "sysmon" core cannot be used with some conurrency settings, with dynamic context, and in Python 3.12/3.13, with branch measurement.
-
If the core is not specified and defaults to "sysmon" (Python 3.14+), but other settings conflict with sysmon, then the "ctrace" core will be used instead with no warning. For concurrency conflicts, this used to produce an error, as described in
issue 2064_. -
If the "sysmon" core is explicitly requested in your configuration, but other settings conflict, an error is now raised. This used to produce a warning.
-
-
Fix: some multi-line case clauses or for loops (and probably other constructs) could cause incorrect claims of missing branches with the sys.monitoring core, as described in
issue 2070_. This is now fixed. -
Fix: when running in pytest under coverage, a
breakpoint()would stop in the wrong frame, one level down from where it should, as described inissue 1420_. This was due to a coverage change in v6.4.1 that seemed to give a slight performance improvement, but I couldn't reproduce the performance gain, so it's been reverted, fixing the debugger problem. -
A new debug option
--debug=coreshows which core is in use and why. -
Split
sqlitedebugging information out of thesys:ref:coverage debug <cmd_debug>and :ref:cmd_run_debugoptions since it's bulky and not very useful. -
Updated the :ref:
howitworkspage to better describe the three different measurement cores.
.. _issue 1420: #1420 .. _issue 2064: #2064 .. _issue 2070: #2070
.. _changes_7-11-0:
v7.11.0
- Dropped support for Python 3.9, declared support for Python 3.15 alpha.
.. _changes_7-10-7:
v7.10.7
-
Performance: with branch coverage in large files, generating HTML, JSON, or LCOV reports could take far too long due to some quadratic behavior when creating the function and class index pages. This is now fixed, closing
issue 2048_. Thanks to Daniel Diniz for help diagnosing the problem. -
Most warnings and a few errors now have links to a page in the docs explaining the specific message. Closes
issue 1921_.
.. _issue 1921: #1921 .. _issue 2048: #2048
.. _changes_7-10-6:
v7.10.6
-
Fix:
sourcedirectories were not properly communicated to subprocesses that ran in different directories, as reported inissue 1499_. This is now fixed. -
Performance:
Alex Gaynor continues fine-tuning <pull 2038_>_ the speed of combination, especially with many contexts.
.. _issue 1499: #1499 .. _pull 2038: #2038
.. _changes_7-10-5:
v7.10.5
- Big speed improvements for
coverage combine: it's now about twice as fast! Huge thanks to Alex Gaynor for pull requests2032 <pull 2032_>,2033 <pull 2033_>, and2034 <pull 2034_>_.
.. _pull 2032: #2032 .. _pull 2033: #2033 .. _pull 2034: #2034
.. _changes_7-10-4:
v7.10.4
-
Added
patch = forkfor times when the built-in forking support is insufficient. -
Fix:
patch = execvalso inherits the entire coverage configuration now.
.. _changes_7-10-3:
v7.10.3
-
Fixes for
patch = subprocess:-
If subprocesses spawned yet more subprocesses simultaneously, some coverage could be missed. This is now fixed, closing
issue 2024_. -
If subprocesses were created in other directories, their data files were stranded there and not combined into the totals, as described in
issue 2025_. This is now fixed. -
On Windows (or maybe only some Windows?) the patch would fail with a
ModuleNotFounderror trying to import coverage. This is now fixed, closingissue 2022_. -
Originally only options set in the coverage configuration file would apply to subprocesses. Options set on the
coverage runcommand line (such as--branch) wouldn't be communicated to the subprocesses. This could lead to combining failures, as described inissue 2021_. Now the entire configuration is used in subprocesses, regardless of its origin. -
Added
debug=patchto help diagnose problems.
-
-
Fix: really close all SQLite databases, even in-memory ones. Closes
issue 2017_.
.. _issue 2017: #2017 .. _issue 2021: #2021 .. _issue 2022: #2022 .. _issue 2024: #2024 .. _issue 2025: #2025
.. _changes_7-10-2:
v7.10.2
- Fix: some code with NOP bytecodes could report missing branches that are
actually executed. This is now fixed, closing
issue 1999_. Python 3.9 still shows the problem.
.. _issue 1999: #1999
.. _changes_7-10-1:
v7.10.1
-
Fix: the exclusion for
if TYPE_CHECKING:was wrong: it marked the branch as partial, but it should have been a line exclusion so the entire clause would be excluded. Improvesissue 831_. -
Fix: changed where .pth files are written for
patch = subprocess, closingissue 2006_.
.. _issue 2006: #2006
.. _changes_7-10-0:
v7.10.0
-
A new configuration option: ":ref:
config_run_patch" specifies named patches to work around some limitations in coverage measurement. These patches are available:-
patch = _exitlets coverage save its data even when :func:os._exit() <python:os._exit>is used to abruptly end the process. This closes long-standingissue 310_ as well as its duplicates:issue 312,issue 1673,issue 1845, andissue 1941. -
patch = subprocessmeasures coverage in Python subprocesses created with :mod:subprocess, :func:os.system, or one of the :func:execv <python:os.execl>or :func:spawnv <python:os.spawnl>family of functions. Closes oldissue 367, its duplicateissue 378and oldissue 689_. -
patch = execvadjusts the :func:execv <python:os.execl>family of functions to save coverage data before ending the current program and starting the next. Not available on Windows. Closesissue 43_ after 15 years!
-
-
The HTML report now dimly colors subsequent lines in multi-line statements. They used to have no color. This gives a better indication of the amount of code missing in the report. Closes
issue 1308_. -
Two new exclusion patterns are part of the defaults:
...is automatically excluded as a line andif TYPE_CHECKING:is excluded as a branch. Closesissue 831_. -
A new command-line option:
--save-signal=USR1specifies a signal that coverage.py will listen for. When the signal is sent, the coverage data will be saved. This makes it possible to save data from within long-running processes. Thanks,Arkady Gilinsky <pull 1998_>_. -
A new configuration option: ":ref:
config_report_partial_also" is a list of regexes to add as pragmas for partial branches. This parallels the ":ref:config_report_exclude_also" setting for adding line exclusion patterns. -
A few file path configuration settings didn't allow for tilde expansion: :ref:
config_json_output, :ref:config_lcov_outputand :ref:config_run_debug_file. This is now fixed. -
Wheels are included for 3.14 now that 3.14 rc1 is available.
-
We no longer ship a PyPy-specific wheel. PyPy will install the pure-Python wheel. Closes
issue 2001_. -
In the very unusual situation of not having a current frame, coverage no longer crashes when using the sysmon core, fixing
issue 2005_.
.. _issue 43: #43 .. _issue 310: #310 .. _issue 312: #312 .. _issue 367: #367 .. _issue 378: #378 .. _issue 689: #689 .. _issue 831: #831 .. _issue 1308: #1308 .. _issue 1673: #1673 .. _issue 1845: #1845 .. _issue 1941: #1941 .. _pull 1998: #1998 .. _issue 2001: #2001 .. _issue 2005: #2005
.. _changes_7-9-2:
v7.9.2
-
Fix: complex conditionals within a line might cause a KeyError when using sys.monitoring, as reported in
issue 1991_. This is now fixed. -
Fix: we can now measure coverage for code in Python archive (.par) files. Thanks,
Itamer Oren <pull 1984_>_.
.. _pull 1984: #1984 .. _issue 1991: #1991
.. _changes_7-9-1:
v7.9.1
-
The "no-ctracer" warning is not issued for Python pre-release versions. Coverage doesn't ship compiled wheels for those versions, so this was far too noisy.
-
On Python 3.14+, the "sysmon" core is now the default if it's supported for your configuration. Plugins and dynamic contexts are still not supported with it.
.. _changes_7-9-0:
v7.9.0
-
Added a
[run] coreconfiguration setting to specify the measurement core, which was previously only available through the COVERAGE_CORE environment variable. Finishesissue 1746_. -
Fixed incorrect rendering of f-strings with doubled braces, closing
issue 1980_. -
If the C tracer core can't be imported, a warning ("no-ctracer") is issued with the reason.
-
The C tracer core extension module now conforms to
PEP 489, closingissue 1977. Thanks,Adam Turner <pull 1978_>_. -
Fixed a "ValueError: min() arg is an empty sequence" error caused by strange empty modules, found by
oss-fuzz_.
.. _issue 1746: #1746 .. _issue 1977: #1977 .. _pull 1978: #1978 .. _issue 1980: #1980 .. _PEP 489: https://peps.python.org/pep-0489 .. _oss-fuzz: https://google.github.io/oss-fuzz/
.. _changes_7-8-2:
v7.8.2
- Wheels are provided for Windows ARM64 on Python 3.11, 3.12, and 3.13.
Thanks,
Finn Womack <pull 1972_>_.
.. _issue 1971: #1971 .. _pull 1972: #1972
.. _changes_7-8-1:
v7.8.1
-
A number of EncodingWarnings were fixed that could appear if you've enabled PYTHONWARNDEFAULTENCODING, fixing
issue 1966. Thanks,Henry Schreiner <pull 1967_>. -
Fixed a race condition when using sys.monitoring with free-threading Python, closing
issue 1970_.
.. _issue 1966: #1966 .. _pull 1967: #1967 .. _issue 1970: #1970
.. _changes_7-8-0:
spulec/freezegun (freezegun)
v1.5.5
- Allow parametrized arguments called 'func' (Broken in 1.5.4)
v1.5.4
- Fix: Ability to yield fixtures (broken in 1.5.3)
v1.5.3
- Fix compatibility with pytest 8.4.0 when using fixtures
- Add (back) class-decorator overload to guarantee Pytype understands it
v1.5.2
- Remove support for Python 3.7
- Explicitly marks support for Python 3.13
- Improved project documentation
googleapis/google-auth-library-python (google-auth)
v2.43.0
Features
- Add public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (#1859) Add public wrapper for check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected. Also, fix check_use_client_cert to return boolean value. Change #1848 added the check_use_client_cert method that helps know if client cert should be used for mTLS connection. However, that was in a private class, thus, created a public wrapper of the same function so that it can be used by python Client Libraries. Also, updated check_use_client_cert to return a boolean value instead of existing string value for better readability and future scope. --------- (1535eccbff0ad8f3fd6a9775316ac8b77dca66ba)
- Enable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, if the MWID/X.509 cert sources detected (#1848) The Python SDK will use a hybrid approach for mTLS enablement:
- If the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is set (either true or false), the SDK will respect that setting. This is necessary for test scenarios and users who need to explicitly control mTLS behavior.
- If the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not
set, the SDK will automatically enable mTLS only if it detects Managed
Workload Identity (MWID) or X.509 Workforce Identity Federation (WIF)
certificate sources. In other cases where the variable is not set, mTLS
will remain disabled.
** This change also adds the helper method
check_use_client_certand it's unit test, which will be used for checking the criteria for setting the mTLS to true ** This change is only for Auth-Library, other changes will be created for Client-Library use-cases. --------- (395e405b64b56ddb82ee639958c2e8056ad2e82b)
- onboard
google-authto librarian (#1838) This MR onboardsgoogle-authlibrary to the Librarian system. Wait for #1819. (c503eaa511357d7a76cc1e1f1d3a3be2dabd5bca)
v2.42.1
Bug Fixes
v2.42.0
Features
Bug Fixes
v2.41.1
Bug Fixes
v2.41.0
Features
- Add support for cachetools 6.0 (#1773) (af18060)
- Add trust boundary support for service accounts and impersonation. (#1778) (99be2ce)
Bug Fixes
- Deprecating load_credentials_from_dict (58b66ec)
- Deprecating load_credentials_from_file (58b66ec)
- Fix type error in credentials.py for python 3.7 and 3.8 (#1805) (c30a6a7)
Documentation
v2.40.3
Bug Fixes
- Auth fetch token from default endpoint (#1779) (88891cc)
- Remove unnecessary call to mds service (#1769) (7c61c7d)
- Retry 504 errors (#1767) (554f967)
v2.40.2
Bug Fixes
- Remove sync response logs in AuthorizedSession (97ed1c8)
- Update test to consider new error message from cryptography (#1765) (44e38b6)
v2.40.1
Bug Fixes
v2.40.0
Features
Bug Fixes
v2.39.0
Features
Bug Fixes
googleapis/python-pubsub (google-cloud-pubsub)
v2.33.0
Features
- Add AwsKinesisFailureReason.ApiViolationReason (ac68093)
- Add tags to Subscription, Topic, and CreateSnapshotRequest messages for use in CreateSubscription, CreateTopic, and CreateSnapshot requests respectively (ac68093)
- Annotate some resource fields with their corresponding API types (ac68093)
Bug Fixes
- Deprecate credentials_file argument (ac68093)
Documentation
- A comment for field
received_messagesin message.google.pubsub.v1.StreamingPullResponseis changed (ac68093)
v2.32.0
Features
- Adds Python 3.14 support (#1512) (95a2690)
- Debug logs (#1460) (b5d4a45)
- Support the protocol version in StreamingPullRequest (#1455) (e6294a1)
Bug Fixes
v2.31.1
Bug Fixes
pre-commit/pre-commit (pre-commit)
v4.5.0
==================
Features
- Add
pre-commit hazmat.- #3585 MR by @asottile.
v4.4.0
==================
Features
- Add
--fail-fastoption topre-commit run.- #3528 MR by @JulianMaurin.
- Upgrade
ruby-build/rbenv.- #3566 MR by @asottile.
- #3565 issue by @MRigal.
- Add
language: unsupported/language: unsupported_scriptas aliases forlanguage: system/language: script(which will eventually be deprecated).- #3577 MR by @asottile.
- Add support docker-in-docker detection for cgroups v2.
- #3535 MR by @br-rhrbacek.
- #3360 issue by @JasonAlt.
Fixes
- Handle when docker gives
SecurityOptions: null.- #3537 MR by @asottile.
- #3514 issue by @jenstroeger.
- Fix error context for invalid
stagesin.pre-commit-config.yaml.- #3576 MR by @asottile.
v4.3.0
==================
Features
-
language: docker/language: docker_image: detect rootless docker.- #3446 MR by @matthewhughes934.
- #1243 issue by @dkolepp.
-
language: julia: avoidstartup.jlwhen executing hooks.- #3496 MR by @ericphanson.
-
language: dart: support latest dart versions which require a higher sdk lower bound.
pre-commit/mirrors-mypy (pre-commit/mirrors-mypy)
v1.18.2
v1.18.1
v1.17.1
v1.17.0
v1.16.1
v1.16.0
v1.15.0
v1.14.1
v1.14.0
v1.13.0
v1.12.1
v1.12.0
v1.11.2
v1.11.1
v1.11.0
v1.10.1
v1.10.0
v1.9.0
v1.8.0
v1.7.1
v1.7.0
v1.6.1
v1.6.0
v1.5.1
v1.5.0
psf/black (psf/black)
v25.11.0
Highlights
- Enable base 3.14 support (#4804)
- Add support for the new Python 3.14 t-string syntax introduced by PEP 750 (#4805)
Stable style
- Fix bug where comments between
# fmt: offand# fmt: onwere reformatted (#4811) - Comments containing fmt directives now preserve their exact formatting instead of being normalized (#4811)
Preview style
- Move
multiline_string_handlingfrom--unstableto--preview(#4760) - Fix bug where module docstrings would be treated as normal strings if preceded by comments (#4764)
- Fix bug where python 3.12 generics syntax split line happens weirdly (#4777)
- Standardize type comments to form
# type: <value>(#4645) - Fix
fix_fmt_skip_in_one_linerspreview feature to respect# fmt: skipfor compound statements with semicolon-separated bodies (#4800)
Configuration
- Add
no_cacheoption to control caching behavior. (#4803)
Packaging
- Releases now include arm64 Linux binaries (#4773)
- Releases now include arm64 Windows binaries and wheels (#4814)
Output
- Write unchanged content to stdout when excluding formatting from stdin using pipes (#4610)
Blackd
- Implemented BlackDClient. This simple python client allows to easily send formatting requests to blackd (#4774)
Integrations
- Enable 3.14 base CI (#4804)
- Enhance GitHub Action
psf/blackto support therequired-versionmajor-version-only "stability" format when using pyproject.toml (#4770) - Improve error message for vim plugin users. It now handles independently vim version
- Vim: Warn on unsupported Vim and Python versions independently (#4772)
- Vim: Print the import paths when importing black fails (#4675)
- Vim: Fix handling of virtualenvs that have a different Python version (#4675)
v25.9.0
Highlights
- Remove support for pre-python 3.7
await/asyncas soft keywords/variable names (#4676)
Stable style
- Fix crash while formatting a long
delstatement containing tuples (#4628) - Fix crash while formatting expressions using the walrus operator in complex
withstatements (#4630) - Handle
# fmt: skipfollowed by a comment at the end of file (#4635) - Fix crash when a tuple appears in the
asclause of awithstatement (#4634) - Fix crash when tuple is used as a context manager inside a
withstatement (#4646) - Fix crash when formatting a
\followed by a\rfollowed by a comment (#4663) - Fix crash on a
\\r\n(#4673) - Fix crash on
await ...(where...is a literalEllipsis) (#4676) - Fix crash on parenthesized expression inside a type parameter bound (#4684)
- Fix crash when using line ranges excluding indented single line decorated items (#4670)
Preview style
- Fix a bug where one-liner functions/conditionals marked with
# fmt: skipwould still be formatted (#4552) - Improve
multiline_string_handlingwith ternaries and dictionaries (#4657) - Fix a bug where
string_processingwould not split f-strings directly after expressions (#4680) - Wrap the
inclause of comprehensions across lines if necessary (#4699) - Remove parentheses around multiple exception types in
exceptandexcept*withoutas. (#4720) - Add
\rstyle newlines to the potential newlines to normalize file newlines both from and to (#4710)
Parser
- Rewrite tokenizer to improve performance and compliance (#4536)
- Fix bug where certain unusual expressions (e.g., lambdas) were not accepted in type parameter bounds and defaults. (#4602)
Performance
- Avoid using an extra process when running with only one worker (#4734)
Integrations
- Fix the version check in the vim file to reject Python 3.8 (#4567)
- Enhance GitHub Action
psf/blackto read Black version from an additional section in pyproject.toml:[project.dependency-groups](#4606) - Build gallery docker image with python3-slim and reduce image size (#4686)
Documentation
- Add FAQ entry for windows emoji not displaying (#4714)
pydantic/pydantic-settings (pydantic-settings)
v2.12.0
What's Changed
- Support for enum kebab case. by @kschwab in #686
- Apply source order: init > env > dotenv > secrets > defaults and pres… by @chbndrhnns in #688
- Add NestedSecretsSettings source by @makukha in #690
- Strip non-explicit default values. by @kschwab in #692
- Coerce env vars if strict is True. by @kschwab in #693
- Restore init kwarg names before returning final state dictionary. by @kschwab in #700
- Drop Python3.9 support by @hramezani in #699
- Adapt test_protected_namespace_defaults for dev. Pydantic by @musicinmybrain in #637
- Add Python 3.14 by @hramezani in #704
- Prepare release 2.12 by @hramezani in #705
New Contributors
- @chbndrhnns made their first contribution in #688
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.11.0...v2.12.0
v2.11.0
What's Changed
- CLI Serialize Support by @kschwab in #643
- Inspect type aliases to determine if an annotation is complex by @tselepakis in #644
- Revert "fix: Respect 'cli_parse_args' from model_config with settings_customise_sources (#611)" by @hramezani in #655
- Remove parsing of command line arguments from
CliSettingsSource.__init__. by @trygve-baerland in #656 - turn off allow_abbrev on subparsers by @mroch in #658
- CLI Serialization Fixes by @kschwab in #649
- Fix PydanticModel type checking. by @kschwab in #659
- Avoid env_prefix falling back to env vars without prefix by @tselepakis in #648
- Warn if model_config sets unused keys for missing settings sources by @HomerusJa in #663
- Included endpoint_url kwarg in AWSSecretsManagerSettingsSource class by @adrianohrl in #664
- Fix typo ("Accesing") in the "Adding sources" docs by @deepyaman in #668
- CLI Windows Path Fix by @kschwab in #669
- Cli root model support by @kschwab in #677
- Snake case conversion in Azure Key Vault by @AndreuCodina in #680
- Make
InitSettingsSourceresolution deterministic by @enrico-stauss in #681 - Update deps by @hramezani in #683
New Contributors
- @tselepakis made their first contribution in #644
- @trygve-baerland made their first contribution in #656
- @mroch made their first contribution in #658
- @HomerusJa made their first contribution in #663
- @adrianohrl made their first contribution in #664
- @deepyaman made their first contribution in #668
- @enrico-stauss made their first contribution in #681
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/2.10.1...v2.11.0
v2.10.1
What's Changed
- Fix UnboundLocalError error in _replace_field_names_case_insensitively by @hramezani in #639
- Remove unknown file reference in documentation by @Viicos in #640
- Prepare release 2.10.1 by @hramezani in #642
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/2.10.0...2.10.1
v2.10.0
What's Changed
- Fix running tests when azure-keyvault-secrets is not installed by @CyberTailor in #601
- Fix running tests when google-cloud-secret-manager is not installed by @CyberTailor in #602
- Support loading a specific nested key from YAML in YamlConfigSettingsSource by @Seunghan-Jung in #603
- Fix CLI suppression for model group help by @kschwab in #604
- Fix missing DEFAULT_PATH import by @hramezani in #606
- Fix case-insensitive handling of nested aliases in EnvironmentSettingsSource by @d15ky in #608
- Azure Key Vault case insensitive support and dash-underscore translation by @d15ky in #607
- fix: Respect 'cli_parse_args' from model_config with settings_customise_sources by @karta9821 in #611
- Bump astral-sh/setup-uv by @hramezani in #612
- Update packages by @hramezani in #613
- Update README.md by @hramezani in #616
- Fix CI badge by @hramezani in #617
- Update dependencies by @hramezani in #618
- Fix coverage report by @hramezani in #619
- Fix _consume_object_or_array on unbalanced brackets in JSON strings by @andryak in #621
- add region as a parameter to aws secret manager by @barakor-vs in #622
- Expose GCP Secret Manager case sensitive option by @bellmatthewf in #626
- Update deps by @hramezani in #633
- feat: Add
cli_shortcutsto CLI settings by @karta9821 in #624 - Expose AWS Secrets Manager case sensitive option by @femiadebayo in #629
- Prepare release 2.10.0 by @hramezani in #635
New Contributors
- @Seunghan-Jung made their first contribution in #603
- @d15ky made their first contribution in #608
- @karta9821 made their first contribution in #611
- @andryak made their first contribution in #621
- @barakor-vs made their first contribution in #622
- @bellmatthewf made their first contribution in #626
- @femiadebayo made their first contribution in #629
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.9.1...2.10.0
v2.9.1
What's Changed
- fix: Expose ConfigFileSourceMixing on top level sources/init.py by @jbw-vtl in #597
- Fix typo in gcp secret manager error message by @christian-heusel in #598
- Prepare release 2.9.1 by @hramezani in #600
New Contributors
- @jbw-vtl made their first contribution in #597
- @christian-heusel made their first contribution in #598
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.9.0...v2.9.1
v2.9.0
What's Changed
- Drop support for Python 3.8 by @Viicos in #560
- Switch to
typing-inspectionby @Viicos in #556 - Introduce
uvfor Project Management by @KanchiShimono in #547 - Refactor sources.py into a subpackage (#546) by @ezwiefel in #548
- chore: cleanup by @CodeWithEmad in #563
- Fix typo in documentation by @CodeWithEmad in #564
- Add support for AWS Secrets Manager by @mavwolverine in #532
- Fix minor typo: conotations => connotations by @svenevs in #577
- Azure Key Vault: Don't load disabled secret by @AndreuCodina in #578
- Add support for GCP Secret Manager by @ezwiefel in #567
- CLI JSON Optional Default by @kschwab in #581
- Fix for env nested enum. by @kschwab in #589
- CLI submodel suppress. by @kschwab in #587
- Cli retrieve unknown args by @kschwab in #588
- Update pydantic by @hramezani in #593
- Fix check in CI by @hramezani in #595
New Contributors
- @ezwiefel made their first contribution in #548
- @CodeWithEmad made their first contribution in #563
- @mavwolverine made their first contribution in #532
- @svenevs made their first contribution in #577
Full Changelog: https://github.com/pydantic/pydantic-settings/compare/v2.8.1...v2.9.0
pytest-dev/pytest (pytest)
v8.4.2
pytest 8.4.2 (2025-09-03)
Bug fixes
-
#13478: Fixed a crash when using
console_output_style{.interpreted-text role="confval"} withtimesand a module is skipped. -
#13530: Fixed a crash when using
pytest.approx{.interpreted-text role="func"} anddecimal.Decimal{.interpreted-text role="class"} instances with thedecimal.FloatOperation{.interpreted-text role="class"} trap set. -
#13549: No longer evaluate type annotations in Python
3.14when inspecting function signatures.This prevents crashes during module collection when modules do not explicitly use
from __future__ import annotationsand import types for annotations within aif TYPE_CHECKING:block. -
#13559: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in
pytest.Parser.addini{.interpreted-text role="meth"}. -
#13563:
pytest.approx{.interpreted-text role="func"} now only importsnumpyif NumPy is already insys.modules. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.
Improved documentation
-
#13577: Clarify that
pytest_generate_testsis discovered in test modules/classes; other hooks must be inconftest.pyor plugins.
Contributor-facing changes
-
#13480: Self-testing: fixed a few test failures when run with
-Wdefaultor a similar override. -
#13547: Self-testing: corrected expected message for
test_doctest_unexpected_exceptionin Python3.14. -
#13684: Make pytest's own testsuite insensitive to the presence of the
CIenvironment variable -- byogrisel{.interpreted-text role="user"}.
pytest-dev/pytest-cov (pytest-cov)
v6.3.0
- Added support for markdown reports.
Contributed by Marcos Boger in
#​712 <https://github.com/pytest-dev/pytest-cov/pull/712>_ and#​714 <https://github.com/pytest-dev/pytest-cov/pull/714>_. - Fixed some formatting issues in docs.
Anonymous contribution in
#​706 <https://github.com/pytest-dev/pytest-cov/pull/706>_.
v6.2.1
-
Added a version requirement for pytest's pluggy dependency (1.2.0, released 2023-06-21) that has the required new-style hookwrapper API.
-
Removed deprecated license classifier (packaging).
-
Disabled coverage warnings in two more situations where they have no value:
- "module-not-measured" in workers
- "already-imported" in subprocesses
v6.2.0
-
The plugin now adds 3 rules in the filter warnings configuration to prevent common coverage warnings being raised as obscure errors::
default:unclosed database in <sqlite3.Connection object at:ResourceWarning once::PytestCovWarning once::CoverageWarning
This fixes most of the bad interactions that are occurring on pytest 8.4 with
filterwarnings=error.The plugin will check if there already matching rules for the 3 categories (
ResourceWarning,PytestCovWarning,CoverageWarning) and message (unclosed database in <sqlite3.Connection object at) before adding the filters.This means you can have this in your pytest configuration for complete oblivion (not recommended, if that is not clear)::
filterwarnings = [ "error", "ignore:unclosed database in <sqlite3.Connection object at:ResourceWarning", "ignore::PytestCovWarning", "ignore::CoverageWarning", ]
pytest-dev/pytest-env (pytest-env)
v1.2.0
What's Changed
- Add support for 3.14 and drop 3.9 by @gaborbernat in #163
Full Changelog: https://github.com/pytest-dev/pytest-env/compare/1.1.5...1.2.0
python-poetry/poetry (python-poetry/poetry)
v2.2.1
Fixed
- Fix an issue where
poetry self showfailed with a message about an invalid output format (#10560).
Docs
- Remove outdated statements about dependency groups (#10561).
poetry-core (2.2.1)
- Fix an issue where it was not possible to declare a PEP 735 dependency group as optional (#888).
v2.2.0
Added
- Add support for nesting dependency groups (#10166).
- Add support for PEP 735 dependency groups (#10130).
- Add support for PEP 639 license clarity (#10413).
- Add a
--formatoption topoetry showto alternatively output json format (#10487). - Add official support for Python 3.14 (#10514).
Changed
- Normalize dependency group names (#10387).
- Change
installer.no-binaryandinstaller.only-binaryso that explicit package names will take precedence over:all:(#10278). - Improve log output during
poetry installwhen a wheel is built from source (#10404). - Improve error message in case a file lock could not be acquired while cloning a git repository (#10535).
- Require
dulwich>=0.24.0(#10492). - Allow
virtualenv>=20.33again (#10506). - Allow
findpython>=0.7(#10510). - Allow
importlib-metadata>=8.7(#10511).
Fixed
- Fix an issue where
poetry newdid not create the project structure in an existing empty directory (#10431). - Fix an issue where a dependency that was required for a specific Python version was not installed into an environment of a pre-release Python version (#10516).
poetry-core (2.2.0)
psf/requests (requests)
v2.32.5
Bugfixes
- The SSLContext caching feature originally introduced in 2.32.0 has created a new class of issues in Requests that have had negative impact across a number of use cases. The Requests team has decided to revert this feature as long term maintenance of it is proving to be unsustainable in its current iteration.
Deprecations
- Added support for Python 3.14.
- Dropped support for Python 3.8 following its end of support.
v2.32.4
Security
- CVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted environment will retrieve credentials for the wrong hostname/machine from a netrc file.
Improvements
- Numerous documentation improvements
Deprecations
- Added support for pypy 3.11 for Linux and macOS.
- Dropped support for pypy 3.9 following its end of support.
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.