fix(deps): update all non-major dependencies
This MR contains the following updates:
| Package | Change | Age | Confidence | Type | Update |
|---|---|---|---|---|---|
| black (changelog) |
25.1.0 → 25.12.0
|
docs | minor | ||
| click (changelog) |
8.1.8 → 8.3.1
|
dependencies | minor | ||
| cloudevents |
1.11.0 → 1.12.0
|
dependencies | minor | ||
| faker (changelog) |
37.4.0 → 37.12.0
|
dev | minor | ||
| flask (changelog) |
3.1.0 → 3.1.2
|
dependencies | patch | ||
| functions-framework |
3.8.2 → 3.10.0
|
dependencies | minor | ||
| google-cloud-pubsub |
2.29.0 → 2.35.0
|
entra | minor | ||
| google-cloud-storage |
3.1.1 → 3.9.0
|
dependencies | minor | ||
| mkdocs-material (changelog) |
9.6.16 → 9.7.1
|
docs | minor | ||
| mkdocstrings-python (changelog) |
1.16.12 → 1.19.0
|
docs | minor | ||
| mypy (changelog) |
1.16.1 → 1.19.1
|
typecheck | minor | ||
| polyfactory (changelog) |
2.21.0 → 2.22.5
|
extras | minor | ||
| pre-commit |
4.3.0 → 4.5.1
|
dev | minor | ||
| pydantic (changelog) |
2.11.5 → 2.12.5
|
entra | minor | ||
| pydantic (changelog) |
2.11.5 → 2.12.5
|
dev | minor | ||
| pydantic (changelog) |
2.11.5 → 2.12.5
|
dependencies | minor | ||
| pydantic-settings (changelog) |
2.9.1 → 2.12.0
|
entra | minor | ||
| pytest (changelog) |
8.3.5 → 8.4.2
|
extras | minor | ||
| pytest-env |
1.1.5 → 1.2.0
|
dev | minor | ||
| pytest-mock (changelog) |
3.14.0 → 3.15.1
|
dev | minor | ||
| requests (source, changelog) |
2.32.3 → 2.32.5
|
dependencies | patch | ||
| tox (changelog) |
4.26.0 → 4.34.1
|
dev | minor | ||
| typing-extensions (changelog) |
4.13.2 → 4.15.0
|
dependencies | minor | ||
| uis/devops/continuous-delivery/ci-templates |
v7.25.7 → v7.27.10
|
repository | minor |
Release Notes
psf/black (black)
v25.12.0
Highlights
- Black no longer supports running with Python 3.9 (#4842)
Stable style
- Fix bug where comments preceding
# fmt: off/# fmt: onblocks were incorrectly removed, particularly affecting Jupytext's# %% [markdown]comments (#4845) - Fix crash when multiple
# fmt: skipcomments are used in a multi-part if-clause, on string literals, or on dictionary entries with long lines (#4872) - Fix possible crash when
fmt:directives aren't on the top level (#4856)
Preview style
- Fix
fmt: skipskipping the line after instead of the line it's on (#4855) - Remove unnecessary parentheses from the left-hand side of assignments while preserving magic trailing commas and intentional multiline formatting (#4865)
- Fix
fix_fmt_skip_in_one_linerscrashing onwithstatements (#4853) - Fix
fix_fmt_skip_in_one_linerscrashing on annotated parameters (#4854) - Fix new lines being added after imports with
# fmt: skipon them (#4894)
Packaging
- Releases now include arm64 Windows binaries and wheels (#4814)
Integrations
- Add
output-fileinput to GitHub Actionpsf/blackto write formatter output to a file for artifact capture and log cleanliness (#4824)
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)
pallets/click (click)
v8.3.1
Released 2025-11-15
- Don't discard pager arguments by correctly using
subprocess.Popen. :issue:3039:pr:3055 - Replace
Sentinel.UNSETdefault values byNoneas they're passed through theContext.invoke()method. :issue:3066:issue:3065:pr:3068 - Fix conversion of
Sentinel.UNSEThappening too early, which caused incorrect behavior for multiple parameters using the same name. :issue:3071:pr:3079 - Hide
Sentinel.UNSETvalues asNonewhen looking up for other parameters through the context inside parameter callbacks. :issue:3136:pr:3137 - Fix rendering when
promptandconfirmparameterprompt_suffixis empty. :issue:3019:pr:3021 - When
Sentinel.UNSETis found during parsing, it will skip calls totype_cast_value. :issue:3069:pr: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:pr:3030
- The
-
Allow
defaultto be set onArgumentfornargs = -1. :issue:2164:pr: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:pr:3013 -
Lazily import
shutil. :pr:3023 -
Properly forward exception information to resources registered with
click.core.Context.with_resource(). :issue:2447:pr:3058 -
Fix regression related to EOF handling in
CliRunner. :issue:2939:pr: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:pr: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:pr:2990 - Use the value of
Enumchoices to render their default value in help screen. Refs :issue:2911:pr:3004 - Fix completion for the Z shell (
zsh) for completion items containing colons. :issue:2703:pr:2846 - Don't include envvar in error hint when not configured. :issue:
2971:pr:2972 - Fix a rare race in
click.testing.StreamMixer's finalization that manifested as aValueErroron close in a multi-threaded test session. :issue:2993:pr:2991
v8.2.1
Released 2025-05-20
- Fix flag value handling for flag options with a provided type. :issue:
2894:issue:2897:pr:2930 - Fix shell completion for nested groups. :issue:
2906:pr:2907 - Flush
sys.stderrat the end ofCliRunner.invoke. :issue:2682 - Fix EOF handling for stdin input in CliRunner. :issue:
2787
v8.2.0
Released 2025-05-10
-
Drop support for Python 3.7, 3.8, and 3.9. :pr:
2588:pr:2893 -
Use modern packaging metadata with
pyproject.tomlinstead ofsetup.cfg. :pr:2438 -
Use
flit_coreinstead ofsetuptoolsas build backend. :pr:2543 -
Deprecate the
__version__attribute. Use feature detection, orimportlib.metadata.version("click"), instead. :issue:2598 -
BaseCommandis deprecated.Commandis the base class for all commands. :issue:2589 -
MultiCommandis deprecated.Groupis the base class for all group commands. :issue:2590 -
The current parser and related classes and methods, are deprecated. :issue:
2205-
OptionParserand theparsermodule, which is a modified copy ofoptparsein the standard library. -
Context.protected_argsis unneeded.Context.argscontains any remaining arguments while parsing. -
Parameter.add_to_parser(on bothArgumentandOption) is unneeded. Parsing works directly without building a separate parser. -
split_arg_stringis moved fromparsertoshell_completion.
-
-
Enable deferred evaluation of annotations with
from __future__ import annotations. :pr:2270 -
When generating a command's name from a decorated function's name, the suffixes
_command,_cmd,_group, and_grpare removed. :issue:2322 -
Show the
types.ParamType.namefortypes.Choiceoptions within--helpmessage ifshow_choices=Falseis specified. :issue:2356 -
Do not display default values in prompts when
Option.show_defaultisFalse. :pr:2509 -
Add
get_help_extramethod onOptionto fetch the generated extra items used inget_help_recordto render help text. :issue:2516:pr:2517 -
Keep stdout and stderr streams independent in
CliRunner. Always collect stderr output and never raise an exception. Add a new output stream to simulate what the user sees in its terminal. Removes themix_stderrparameter inCliRunner. :issue:2522:pr:2523 -
Option.show_envvarnow also shows environment variable in error messages. :issue:2695:pr:2696 -
Context.closewill be called on exit. This results in allContext.call_on_closecallbacks and context managers added viaContext.with_resourceto be closed on exit as well. :pr:2680 -
Add
ProgressBar(hidden: bool)to allow hiding the progressbar. :issue:2609 -
A
UserWarningwill be shown when multiple parameters attempt to use the same name. :issue:2396 -
When using
Option.envvarwithOption.flag_value, theflag_valuewill always be used instead of the value of the environment variable. :issue:2746:pr:2788 -
Add
Choice.get_invalid_choice_messagemethod for customizing the invalid choice message. :issue:2621:pr:2622 -
If help is shown because
no_args_is_helpis enabled (defaults toTruefor groups,Falsefor commands), the exit code is 2 instead of 0. :issue:1489:pr:1489 -
Contexts created during shell completion are closed properly, fixing a
ResourceWarningwhen usingclick.File. :issue:2644:pr:2800:pr:2767 -
click.edit(filename)now supports passing an iterable of filenames in case the editor supports editing multiple files at once. Its return type is now also typed:AnyStriftextis passed, otherwiseNone. :issue:2067:pr:2068 -
Specialized typing of
progressbar(length=...)asProgressBar[int]. :pr:2630 -
Improve
echo_via_pagerbehaviour in face of errors. :issue:2674- Terminate the pager in case a generator passed to
echo_via_pagerraises an exception. - Ensure to always close the pipe to the pager process and wait for it to terminate.
-
echo_via_pagerwill not ignoreKeyboardInterruptanymore. This allows the user to search for future output of the generator when using less and then aborting the program using ctrl-c.
- Terminate the pager in case a generator passed to
-
deprecated: bool | strcan now be used on options and arguments. This previously was only available forCommand. The message can now also be customised by using astrinstead of abool. :issue:2263:pr:2271-
Command.deprecatedformatting in--helpchanged from(Deprecated) helptohelp (DEPRECATED). - Parameters cannot be required nor prompted or an error is raised.
- A warning will be printed when something deprecated is used.
-
-
Add a
catch_exceptionsparameter toCliRunner. Ifcatch_exceptionsis not passed toCliRunner.invoke, the value fromCliRunneris used. :issue:2817:pr:2818 -
Option.flag_valuewill no longer have a default value set based onOption.defaultifOption.is_flagisFalse. This results inOption.defaultnot needing to implement__bool__. :pr:2829 -
Incorrect
click.edittyping has been corrected. :pr:2804 -
Choiceis now generic and supports any iterable value. This allows you to use enums and other non-strvalues. :pr:2796:issue:605 -
Fix setup of help option's defaults when using a custom class on its decorator. Removes
HelpOption. :issue:2832:pr:2840
cloudevents/sdk-python (cloudevents)
v1.12.0
Changed
- Dropped Python3.8 support while it has reached EOL. ([])
v1.11.1
Fixed
joke2k/faker (faker)
v37.12.0
- Add french VAT number. Thanks @fabien-michel.
v37.11.0
- Add French company APE code. Thanks @fabien-michel.
v37.9.0
- Add names generation to
en_KElocale. Thanks @titustum.
v37.8.0
- Add Automotive providers for
ja_JPlocale. Thanks @ItoRino424.
v37.7.0
- Add Nigerian name locales (
yo_NG,ha_NG,ig_NG,en_NG). Thanks @ifeoluwaoladeji.
v37.6.0
- Add Automotive providers for
ko_KRlocale. Thanks @ydj515.
v37.5.3
- Allow
Decimaltype formin_valueandmax_valueinpydecimal. Thanks @sshishov.
v37.5.2
- Fix Turkish Republic National Number (TCKN) provider. Thanks @fleizean.
v37.5.1
- Fix unnatural Korean company names in
ko_KRlocale. Thanks @r-4bb1t.
v37.5.0
- Add Spanish lorem provider for
es_ES,es_ARandes_MX. Thanks @Pandede.
v37.4.3
- Fix male names in
sv_SElocale. Thanks @peterk.
v37.4.2
- Fix the function for generating VIN, now the last 4 characters are digits. Thanks @nesb1.
v37.4.1
- Fix leading 0s in building numbers for
de_DElocale. Thanks @KarelZe.
pallets/flask (flask)
v3.1.2
Released 2025-08-19
-
stream_with_contextdoes not fail inside async views. :issue:5774 - When using
follow_redirectsin the test client, the final state ofsessionis correct. :issue:5786 - Relax type hint for passing bytes IO to
send_file. :issue:5776
v3.1.1
Released 2025-05-13
- Fix signing key selection order when key rotation is enabled via
SECRET_KEY_FALLBACKS. :ghsa:4grg-w6v8-c28g - Fix type hint for
cli_runner.invoke. :issue:5645 -
flask --helploads the app and plugins first to make sure all commands are shown. :issue:5673 - Mark sans-io base class as being able to handle views that return
AsyncIterable. This is not accurate for Flask, but makes typing easier for Quart. :pr:5659
googlecloudplatform/functions-framework-python (functions-framework)
v3.10.0
Features
Bug Fixes
- ci: Add release-assets.githubusercontent.com to allowed endpoints (#394) (9b37f85)
- remove Python 3.7 test execution (#402) (ef45fae)
v3.9.2
Bug Fixes
v3.9.1
Bug Fixes
v3.9.0
Features
- add execution_id support for async stack (#377) (1123eea)
- add flag to run functions framework in asgi stack (#376) (268acf1)
- add support for async functions (#364) (49f6985)
- auto-detect ASGI mode for @aio decorated functions (#387) (ef48e70)
Bug Fixes
- ci: specify python version in tox environment (#375) (37e0bf7)
- Pin cloudevent sdk version to support python3.7. (#373) (cc2b9b5)
- resolve CI failures for egress policies and Python 3.7 buildpack support (#388) (2de6eec)
- set default log level for asgi logger to WARNING to match default python behavior (#381) (a576a8f)
v3.8.3
Bug Fixes
- Switch to
pyproject.tomlbased builds (#365) (4c44d08) - Update minimum required version of Flask to 2.0 (#356) (c6eab2f)
- Update test suite for EOL Python versions (#360) (c0fa420)
Documentation
googleapis/python-pubsub (google-cloud-pubsub)
v2.35.0
Documentation
- A comment for field
topicin message.google.pubsub.v1.Subscriptionis updated (07011139f51e4ff195889faf849bd707655e6d46) - A comment for field
analytics_hub_subscription_infoin message.google.pubsub.v1.Subscriptionis updated (07011139f51e4ff195889faf849bd707655e6d46) - A comment for field
subscriptionin message.google.pubsub.v1.CreateSnapshotRequestis updated (07011139f51e4ff195889faf849bd707655e6d46) - add tags documentation links to Pub/Sub resource tags fields (07011139f51e4ff195889faf849bd707655e6d46)
- Add the IDENTIFIER field behavior annotation to fields of Cloud Pub/Sub methods that represent a specific identity and need to be sourced with additional care (07011139f51e4ff195889faf849bd707655e6d46)
Features
- Add AIInference MessageTransform type (07011139f51e4ff195889faf849bd707655e6d46)
v2.34.0
Features
- support mTLS certificates when available (#1566) (24761a2fedeb17f5af98a72a62306ad59306a553)
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
- Change Log Severities for Terminated Streams (#1433) (3a3aa79)
- Propagate Otel Context to Subscriber Callback if Provided (#1429) (b0f6f49)
v2.31.0
Features
Bug Fixes
v2.30.0
Features
v2.29.1
Bug Fixes
Documentation
googleapis/python-storage (google-cloud-storage)
v3.9.0
Features
- add get_object method for async grpc client (#1735) (0e5ec29bc6a31b77bcfba4254cef5bffb199095c)
- expose
DELETE_OBJECTinAsyncGrpcClient(#1718) (c8dd7a0b124c395b7b60189ee78f47aba8d51f7d) - update generation for MRD (#1730) (08bc7082db7392f13bc8c51511b4afa9c7b157c9)
- Move Zonal Buckets features of
_experimental(#1728) (74c9ecc54173420bfcd48498a8956088a035af50) - add default user agent for grpc (#1726) (7b319469d2e495ea0bf7367f3949190e8f5d9fff)
- expose finalized_time in blob.py applicable for GET_OBJECT in ZB (#1719) (8e21a7fe54d0a043f31937671003630a1985a5d2)
- add context manager to mrd (#1724) (5ac2808a69195c688ed42c3604d4bfadbb602a66)
- integrate writes strategy and appendable object writer (#1695) (dbd162b3583e32e6f705a51f5c3fef333a9b89d0)
- Add support for opening via
write_handleand fixwrite_handletype (#1715) (2bc15fa570683ba584230c51b439d189dbdcd580) - Add micro-benchmarks for writes comparing standard (regional) vs rapid (zonal) buckets. (#1707) (dbe9d8b89d975dfbed8c830a5687ccfafea51d5f)
- Add micro-benchmarks for reads comparing standard (regional) vs rapid (zonal) buckets. (#1697) (1917649fac41481da1adea6c2a9f4ab1298a34c4)
- send
user_agentto grpc channel (#1712) (cdb2486bb051dcbfbffc2510aff6aacede5e54d3) - add samples for appendable objects writes and reads (#1705) (2e1a1eb5cbe1c909f1f892a0cc74fe63c8ef36ff)
- add samples for appendable objects writes and reads (2e1a1eb5cbe1c909f1f892a0cc74fe63c8ef36ff)
- add support for
generation=0to avoid overwriting existing objects and addis_stream_opensupport (#1709) (ea0f5bf8316f4bfcff2728d9d1baa68dde6ebdae) - add support for
generation=0to prevent overwriting existing objects (ea0f5bf8316f4bfcff2728d9d1baa68dde6ebdae) - add
is_stream_openproperty to AsyncAppendableObjectWriter for stream status check (ea0f5bf8316f4bfcff2728d9d1baa68dde6ebdae)
Bug Fixes
- receive eof while closing reads stream (#1733) (2ef63396dca1c36f9b0f0f3cf87a61b5aa4bd465)
- Change contructors of MRD and AAOW AsyncGrpcClient.grpc_client to AsyncGrpcClient (#1727) (e730bf50c4584f737ab86b2e409ddb27b40d2cec)
- instance grpc client once per process in benchmarks (#1725) (721ea2dd6c6db2aa91fd3b90e56a831aaaa64061)
- update write handle on every recv() (#1716) (5d9fafe1466b5ccb1db4a814967a5cc8465148a2)
- Fix formatting in setup.py dependencies list (#1713) (cc4831d7e253b265b0b96e08b5479f4c759be442)
- implement requests_done method to signal end of requests in async streams. Gracefully close streams. (#1700) (6c160794afded5e8f4179399f1fe5248e32bf707)
- implement requests_done method to signal end of requests in async streams. Gracefully close streams. (6c160794afded5e8f4179399f1fe5248e32bf707)
v3.8.0
Features
- flush the last chunk in append method (#1699) (89bfe7a5fcd0391da35e9ceccc185279782b5420)
- add write resumption strategy (#1663) (a57ea0ec786a84c7ae9ed82c6ae5d38ecadba4af)
- add bidi stream retry manager. (#1632) (d90f0ee09902a21b186106bcf0a8cb0b81b34340)
- implement "append_from_file" (#1686) (1333c956da18b4db753cda98c41c3619c84caf69)
- make flush size configurable (#1677) (f7095faf0a81239894ff9d277849788b62eb6ac5)
- compute chunk wise checksum for bidi_writes (#1675) (139390cb01f93a2d61e7ec201e3637dffe0b2a34)
- expose persisted size in mrd (#1671) (0e2961bef285fc064174a5c18e3db05c7a682521)
Bug Fixes
- add system test for opening with read_handle (#1672) (6dc711dacd4d38c573aa4ca9ad71fe412c0e49c1)
- no state lookup while opening bidi-write stream (#1636) (2d5a7b16846a69f3a911844971241899f60cce14)
- close write object stream always (#1661) (4a609a4b3f4ba1396825911cb02f8a9649135cd5)
v3.7.0
Features
- Auto enable mTLS when supported certificates are detected (#1637) (4e91c54)
- Send entire object checksum in the final api call of resumable upload (#1654) (ddce7e5)
- Support urllib3 >= 2.6.0 (#1658) (57405e9)
Bug Fixes
- Fix for move_blob failure when the new blob name contains characters that need to be url encoded (#1605) (ec470a2)
v3.6.0
Features
- Add support for partial list buckets (#1606) (92fc2b0)
- Make return_partial_success and unreachable fields public for list Bucket (#1601) (323cddd)
- zb-experimental: Add async write object stream (5ab8103)
- zb-experimental: Add async write object stream (#1612) (5ab8103)
Bug Fixes
v3.5.0
Features
- experimental: Add base resumption strategy for bidi streams (#1594) (5fb85ea)
- experimental: Add checksum for bidi reads operation (#1566) (93ce515)
- experimental: Add read resumption strategy (#1599) (5d5e895)
- experimental: Handle BidiReadObjectRedirectedError for bidi reads (#1600) (71b0f8a)
- Indicate that md5 is used as a CRC (#1522) (961536c)
- Provide option to update user_agent (#1596) (02f1451)
Bug Fixes
- Deprecate credentials_file argument (74415a2)
- Flaky system tests for resumable_media (#1592) (7fee3dd)
- Make
download_rangescompatible withasyncio.create_task(..)(#1591) (faf8b83) - Make
download_rangescompatible withasyncio.create_task(..)(#1591) (faf8b83) - Redact sensitive data from OTEL traces and fix env var parsing (#1553) (a38ca19)
- Redact sensitive data from OTEL traces and fix env var parsing (#1553) (a38ca19)
- Use separate header object for each upload in Transfer Manager MPU (#1595) (0d867bd)
v3.4.1
Bug Fixes
- Fixes #1561 by adding an option to specify the entire object checksum for resumable uploads via the
upload_from_string,upload_from_file, andupload_from_filenamemethods (acb918e)
v3.4.0
Features
- experimental: Add async grpc client (#1537) (ac57b8d)
- experimental: Add grpc client (#1533) (5674587)
Bug Fixes
v3.3.1
Bug Fixes
- Provide option to user to set entire object checksum at "initiate a resumable upload session" and send the same (#1525) (a8109e0)
- Send part's checksum for XML MPU part upload (#1529) (2ad77c7)
v3.3.0
Features
Bug Fixes
Documentation
v3.2.0
Features
squidfunk/mkdocs-material (mkdocs-material)
v9.7.1: mkdocs-material-9.7.1
- Updated requests to 2.30+ to mitigate CVE in urllib
- Fixed privacy plugin not picking up protocol-relative URLs
- Fixed #8542: false positives and negatives captured in privacy plugin
v9.7.0: mkdocs-material-9.7.0
[!WARNING]
Material for MkDocs is now in maintenance mode
This is the last release of Material for MkDocs that will receive new features. Going forward, the Material for MkDocs team focuses on Zensical, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs for 12 months at least.
→ Read the full announcement on our blog
This release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.
Note on deprecated plugins: The projects and typeset plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.
Changes:
- Added support for projects plugin (for compat, now deprecated)
- Added support for typeset plugin (for compat, now deprecated)
- Added support for pinned blog posts and author profiles
- Added support for customizing pagination for blog index pages
- Added support for customizing blog category sort order
- Added support for staying on page when switching languages
- Added support for disabling tags in table of contents
- Added support for nested tags and shadow tags
- Added support for footnote tooltips
- Added support for instant previews
- Added support for instant prefetching
- Added support for custom social card layouts
- Added support for custom social card background images
- Added support for selectable rangs in code blocks
- Added support for custom selectors for code annotations
- Added support for configurable log level in privacy plugin
- Added support for processing of external links in privacy plugin
- Added support for automatic image optimization via optimize plugin
- Added support for navigation paths (breadcrumbs)
- Fixed #8519: Vector accents do not render when using KaTeX
v9.6.23: mkdocs-material-9.6.23
- Updated Burmese translation
v9.6.22: mkdocs-material-9.6.22
- Updated Georgian translation
v9.6.21: mkdocs-material-9.6.21
- Updated Serbian translations
- Fixed #8458: Temporary pin of click dependency
v9.6.20: mkdocs-material-9.6.20
- Fixed #8446: Deprecation warning as of Python 3.14 in Emoji extension
- Fixed #8440:
&character not escaped in search highlighting - Fixed #8439: FontAwesome icons color not set in social cards (regression)
v9.6.19: mkdocs-material-9.6.19
- Added support for Python 3.14
- Updated Bahasa Malaysia translations
v9.6.18: mkdocs-material-9.6.18
- Updated Azerbaijani translations
- Fixed last compat issues with minijinja, now 100% compatible
v9.6.17: mkdocs-material-9.6.17
mkdocstrings/python (mkdocstrings-python)
v1.19.0
Features
- Release scoped and relative cross-references (872afc5 by Timothée Mazzucotelli).
- Release
__all__ordering feature (84aaebc by Timothée Mazzucotelli). - Release public filter feature (3be14cc by Timothée Mazzucotelli).
- Release backlinks feature (ae7cc2d by Timothée Mazzucotelli).
- Release expression modernization feature (dbadd1e by Timothée Mazzucotelli).
- Release visually-lighter admonitions for source code blocks (fdaeb48 by Timothée Mazzucotelli).
- Release inheritance diagram features (669b42e by Timothée Mazzucotelli).
Code Refactoring
- Update code base for Python 3.10 (b696ed2 by Timothée Mazzucotelli).
v1.18.2
Bug Fixes
- Normalize spaces to underscores when passing object to rendering context using its kind as key (6f79be0 by Timothée Mazzucotelli). Issue-mkdocstrings-791
v1.18.1
Bug Fixes
- Don't show implementation signature of
__init__method whenoverloads_onlyis true and it is merged into the class (9ef620f by Timothée Mazzucotelli). Issue-308
v1.18.0
Features
- Support PEP 695 generics (dc8c3ad by Victor Westerhuis). MR-221, Co-authored-by: Timothée Mazzucotelli dev@pawamoy.fr
Bug Fixes
- Increase maximum recursion limit in case of deeply nested ASTs (rare occurrence) (6004ccf by Timothée Mazzucotelli). Issue-griffe-402
v1.17.0
Features
- Support new Griffe parsing options
warn_missing_typesandwarnings(0e3bdb8 by Timothée Mazzucotelli). Issue-mkdocstrings-437 - Add
skip_local_inventoryoption to prevent objects from being registered in the local objects inventory (e82c24f by Bartosz Sławecki). Issue-296, Issue-mkdocstrings-671, MR-297 - Support hiding attribute values (6cf34b9 by Bartosz Sławecki). Issue-292: #292, MR-293: #293
- Support hiding implementation signature (showing overload only) (d3b35e1 by Bartosz Sławecki). Issue-213, MR-286
Code Refactoring
python/mypy (mypy)
v1.19.1
- Fix noncommutative joins with bounded TypeVars (Shantanu, MR 20345)
- Respect output format for cached runs by serializing raw errors in cache metas (Ivan Levkivskyi, MR 20372)
- Allow
types.NoneTypein match cases (A5rocks, MR 20383) - Fix mypyc generator regression with empty tuple (BobTheBuidler, MR 20371)
- Fix crash involving Unpack-ed TypeVarTuple (Shantanu, MR 20323)
- Fix crash on star import of redefinition (Ivan Levkivskyi, MR 20333)
- Fix crash on typevar with forward ref used in other module (Ivan Levkivskyi, MR 20334)
- Fail with an explicit error on PyPy (Ivan Levkivskyi, MR 20389)
v1.19.0
v1.18.2
- Fix crash on recursive alias (Ivan Levkivskyi, MR 19845)
- Add additional guidance for stubtest errors when runtime is
object.__init__(Stephen Morton, MR 19733) - Fix handling of None values in f-string expressions in mypyc (BobTheBuidler, MR 19846)
v1.18.1
v1.17.1
- Retain
Noneas constraints bottom if no bottoms were provided (Stanislav Terliakov, MR 19485) - Fix "ignored exception in
hasattr" in dmypy (Stanislav Terliakov, MR 19428) - Prevent a crash when InitVar is redefined with a method in a subclass (Stanislav Terliakov, MR 19453)
v1.17.0
litestar-org/polyfactory (polyfactory)
v2.22.5
What's Changed
- fix: Use correct field_meta for constrained union types when building field values for coverage by @bullfest in #770
- docs: add bullfest as a contributor for code by @allcontributors[bot] in #777
- chore: prepare v2.22.5 release by @adhtruong in #778
New Contributors
- @bullfest made their first contribution in #770
Full Changelog: https://github.com/litestar-org/polyfactory/compare/v2.22.4...v2.22.5
v2.22.4
What's Changed
- docs: fix typo in pydantic_factory.coverage doc string by @RasmusNygren in #763
- docs: add RasmusNygren as a contributor for doc by @allcontributors[bot] in #766
- fix: model coverage generation and use_examples do not compose well by @arembridge in #757
- docs: add arembridge as a contributor for code by @allcontributors[bot] in #767
- chore(deps): bump actions/upload-artifact from 4 to 5 by @dependabot[bot] in #764
- chore(deps): bump actions/download-artifact from 5 to 6 by @dependabot[bot] in #765
- chore: prepare v2.22.4 release by @adhtruong in #775
New Contributors
- @RasmusNygren made their first contribution in #763
- @arembridge made their first contribution in #757
Full Changelog: https://github.com/litestar-org/polyfactory/compare/v2.22.3...v2.22.4
v2.22.3
What's Changed
- chore(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #740
- chore(deps): bump amannn/action-semantic-pull-request from 5 to 6 by @dependabot[bot] in #741
- chore(deps): bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #739
- chore(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in #743
- chore(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #742
- fix: Pydantic Factory alias generation from version 2.11 by @sandre35 in #718
- chore: Update CODEOWNERS by @adhtruong in #749
- chore(deps): bump github/codeql-action from 3 to 4 by @dependabot[bot] in #756
- chore(deps): bump astral-sh/setup-uv from 6 to 7 by @dependabot[bot] in #755
- fix: remove association proxy default change by @adhtruong in #747
- docs: add migration guide by @adhtruong in #704
- chore: remove unused script by @adhtruong in #716
- chore: prepare v2.22.3 release by @adhtruong in #761
New Contributors
- @sandre35 made their first contribution in #718
Full Changelog: https://github.com/litestar-org/polyfactory/compare/v2.22.2...v2.22.3
v2.22.2
What's Changed
- fix: pydantic alias handling by @adhtruong in #737
- fix: allow specifying forward references when as string by @adhtruong in #735
- chore(release): bump to v2.22.2 by @adhtruong in #738
Full Changelog: https://github.com/litestar-org/polyfactory/compare/v2.22.1...v2.22.2
v2.22.1
What's Changed
- fix: handle recursive types that use ForwardRef by @adhtruong in #728
- fix: deprecation error not silenced when overridden by @adhtruong in #724
- chore(release): bump to v2.22.1 by @adhtruong in #732
Full Changelog: https://github.com/litestar-org/polyfactory/compare/v2.22.0...v2.22.1
v2.22.0
What's Changed
- chore: remove usage of _AnnotatedAlias by @adhtruong in #693
- chore: warn on deprecated parameter usage by @adhtruong in #689
- feat: Allow usage of Pydantic models containing forward references by @marcuslimdw in #698
- chore(deps): bump astral-sh/setup-uv from 5 to 6 by @dependabot in #696
- docs: add marcuslimdw as a contributor for code by @allcontributors in #699
- refactor: make type utils deterministic by @adhtruong in #688
- perf: avoid deep copy by @adhtruong in #702
- fix: test by adding inheritance in Child class from Parent by @Rub1kCube in #706
- docs: add Rub1kCube as a contributor for test by @allcontributors in #708
- chore(deps): bump dawidd6/action-download-artifact from 9 to 10 by @dependabot in #709
- fix: Generate correct collection size when annotation_types.Len is used by @priyankc in #712
- chore(deps): bump dawidd6/action-download-artifact from 10 to 11 by @dependabot in #714
- fix: no blank children names by @iloveitaly in #666
- feat: add PEP 695 type alias support and improve type handling by @Rub1kCube in #711
- chore(release): bump to v2.22.0 by @adhtruong in #722
New Contributors
- @marcuslimdw made their first contribution in #698
- @Rub1kCube made their first contribution in #706
- @priyankc made their first contribution in #712
Full Changelog: https://github.com/litestar-org/polyfactory/compare/v2.21.0...v2.22.0
pre-commit/pre-commit (pre-commit)
v4.5.1
==================
Fixes
- Fix
language: pythonwithrepo: localwithoutadditional_dependencies.- #3597 MR by @asottile.
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.
pydantic/pydantic (pydantic)
v2.12.5
This is the fifth 2.12 patch release, addressing an issue with the MISSING sentinel and providing several documentation improvements.
The next 2.13 minor release will be published in a couple weeks, and will include a new polymorphic serialization feature addressing the remaining unexpected changes to the serialize as any behavior.
- Fix pickle error when using
model_construct()on a model withMISSINGas a default value by @ornariece in #12522. - Several updates to the documentation by @Viicos.
v2.12.4
This is the fourth 2.12 patch release, fixing more regressions, and reverting a change in the build() method
of the AnyUrl and Dsn types.
This patch release also fixes an issue with the serialization of IP address types, when serialize_as_any is used. The next patch release
will try to address the remaining issues with serialize as any behavior by introducing a new polymorphic serialization feature, that
should be used in most cases in place of serialize as any.
-
Fix issue with forward references in parent
TypedDictclasses by @Viicos in #12427.This issue is only relevant on Python 3.14 and greater.
-
Exclude fields with
exclude_iffrom JSON Schema required fields by @Viicos in #12430 -
Revert URL percent-encoding of credentials in the
build()method of theAnyUrland Dsn types by @davidhewitt in pydantic-core#1833.This was initially considered as a bugfix, but caused regressions and as such was fully reverted. The next release will include an opt-in option to percent-encode components of the URL.
-
Add type inference for IP address types by @davidhewitt in pydantic-core#1868.
The 2.12 changes to the
serialize_as_anybehavior made it so that IP address types could not properly serialize to JSON. -
Avoid getting default values from defaultdict by @davidhewitt in pydantic-core#1853.
This fixes a subtle regression in the validation behavior of the
collections.defaultdicttype. -
Fix issue with field serializers on nested typed dictionaries by @davidhewitt in pydantic-core#1879.
-
Add more
pydantic-corebuilds for the three-threaded version of Python 3.14 by @davidhewitt in pydantic-core#1864.
v2.12.3
What's Changed
This is the third 2.12 patch release, fixing issues related to the FieldInfo class, and reverting a change to the supported
after model validator function signatures.
- Raise a warning when an invalid after model validator function signature is raised by @Viicos in #12414. Starting in 2.12.0, using class methods for after model validators raised an error, but the error wasn't raised concistently. We decided to emit a deprecation warning instead.
- Add
FieldInfo.asdict()method, improve documentation aroundFieldInfoby @Viicos in #12411. This also add back support for mutations onFieldInfoclasses, that are reused asAnnotatedmetadata. However, note that this is still not a supported pattern. Instead, please refer to the added example in the documentation.
The blog post section on changes was also updated to document the changes related to serialize_as_any.
v2.12.2
What's Changed
Fixes
- Release a new
pydantic-coreversion, as a corrupted CPython 3.10manylinux2014_aarch64wheel got uploaded (pydantic-core#1843). - Fix issue with recursive generic models with a parent model class by @Viicos in #12398
v2.12.1
What's Changed
This is the first 2.12 patch release, addressing most (but not all yet) regressions from the initial 2.12.0 release.
Fixes
- Do not evaluate annotations when inspecting validators and serializers by @Viicos in #12355
- Make sure
Noneis converted asNoneTypein Python 3.14 by @Viicos in #12370 - Backport V1 runtime warning when using Python 3.14 by @Viicos in #12367
- Fix error message for invalid validator signatures by @Viicos in #12366
- Populate field name in
ValidationInfofor validation of default value by @Viicos in pydantic-core#1826 - Encode credentials in
MultiHostUrlbuilder by @willswire in pydantic-core#1829 - Respect field serializers when using
serialize_as_anyserialization flag by @davidhewitt in pydantic-core#1829 - Fix various
RootModelserialization issues by @davidhewitt in pydantic-core#1836
New Contributors
- @willswire made their first contribution in pydantic-core#1829
v2.12.0
What's Changed
This is the final 2.12 release. It features the work of 20 external contributors and provides useful new features, along with initial Python 3.14 support. Several minor changes (considered non-breaking changes according to our versioning policy) are also included in this release. Make sure to look into them before upgrading.
Note that Pydantic V1 is not compatible with Python 3.14 and greater.
Changes (see the alpha and beta releases for additional changes since 2.11):
Packaging
New Features
- Add
extraparameter to the validate functions by @anvilpete in #12233 - Add
exclude_computed_fieldsserialization option by @Viicos in #12334 - Add
preverse_empty_pathURL options by @Viicos in #12336 - Add
union_formatparameter to JSON Schema generation by @Viicos in #12147 - Add
__qualname__parameter forcreate_modelby @Atry in #12001
Fixes
- Do not try to infer name from lambda definitions in pipelines API by @Viicos in #12289
- Use proper namespace for functions in
TypeAdapterby @Viicos in #12324 - Use
Anyfor context type annotation inTypeAdapterby @inducer in #12279 - Expose
FieldInfoinpydantic.fields.__all__by @Viicos in #12339 - Respect
validation_aliasin@validate_callby @Viicos in #12340 - Use
Anyas context annotation in plugin API by @Viicos in #12341 - Use proper
stacklevelin warnings when possible by @Viicos in #12342
New Contributors
- @anvilpete made their first contribution in #12233
- @JonathanWindell made their first contribution in #12327
- @inducer made their first contribution in #12279
- @Atry made their first contribution in #12001
v2.11.10
What's Changed
Fixes
- Backport v1.10.24 changes by @Viicos
v2.11.9
What's Changed
Fixes
- Backport v1.10.23 changes by @Viicos
v2.11.8
What's Changed
Fixes
v2.11.7
What's Changed
Fixes
v2.11.6
What's Changed
Fixes
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
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"}.
v8.4.1
pytest 8.4.1 (2025-06-17)
Bug fixes
-
#13461: Corrected
_pytest.terminal.TerminalReporter.isattyto support being called as a method. Before it was just a boolean which could break correct code when using-o log_cli=true). -
#13477: Reintroduced
pytest.PytestReturnNotNoneWarning{.interpreted-text role="class"} which was removed by accident in pytest [8.4]{.title-ref}.This warning is raised when a test functions returns a value other than
None, which is often a mistake made by beginners.See
return-not-none{.interpreted-text role="ref"} for more information. -
#13497: Fixed compatibility with
Twisted 25+.
Improved documentation
-
#13492: Fixed outdated warning about
faulthandlernot working on Windows.
v8.4.0
pytest 8.4.0 (2025-06-02)
Removals and backward incompatible breaking changes
-
#11372: Async tests will now fail, instead of warning+skipping, if you don't have any suitable plugin installed.
-
#12346: Tests will now fail, instead of raising a warning, if they return any value other than None.
-
#12874: We dropped support for Python 3.8 following its end of life (2024-10-07).
-
#12960: Test functions containing a yield now cause an explicit error. They have not been run since pytest 4.0, and were previously marked as an expected failure and deprecation warning.
See
the docs <yield tests deprecated>{.interpreted-text role="ref"} for more information.
Deprecations (removal in next major release)
-
#10839: Requesting an asynchronous fixture without a [pytest_fixture_setup]{.title-ref} hook that resolves it will now give a DeprecationWarning. This most commonly happens if a sync test requests an async fixture. This should have no effect on a majority of users with async tests or fixtures using async pytest plugins, but may affect non-standard hook setups or
autouse=True. For guidance on how to work around this warning seesync-test-async-fixture{.interpreted-text role="ref"}.
New features
-
#11538: Added
pytest.RaisesGroup{.interpreted-text role="class"} as an equivalent topytest.raises{.interpreted-text role="func"} for expectingExceptionGroup{.interpreted-text role="exc"}. Also addspytest.RaisesExc{.interpreted-text role="class"} which is now the logic behindpytest.raises{.interpreted-text role="func"} and used as parameter topytest.RaisesGroup{.interpreted-text role="class"}.RaisesGroupincludes the ability to specify multiple different expected exceptions, the structure of nested exception groups, and flags for emulatingexcept* <except_star>{.interpreted-text role="ref"}. Seeassert-matching-exception-groups{.interpreted-text role="ref"} and docstrings for more information. -
#12081: Added
capteesys{.interpreted-text role="fixture"} to capture AND pass output to next handler set by--capture=. -
#12504:
pytest.mark.xfail{.interpreted-text role="func"} now acceptspytest.RaisesGroup{.interpreted-text role="class"} for theraisesparameter when you expect an exception group. You can also pass apytest.RaisesExc{.interpreted-text role="class"} if you e.g. want to make use of thecheckparameter. -
#12713: New [--force-short-summary]{.title-ref} option to force condensed summary output regardless of verbosity level.
This lets users still see condensed summary output of failures for quick reference in log files from job outputs, being especially useful if non-condensed output is very verbose.
-
#12749: pytest traditionally collects classes/functions in the test module namespace even if they are imported from another file.
For example:
contents of src/domain.py
class Testament: ...
contents of tests/test_testament.py
from domain import Testament
def test_testament(): ...
```
In this scenario with the default options, pytest will collect the class [Testament]{.title-ref} from [tests/test_testament.py]{.title-ref} because it starts with [Test]{.title-ref}, even though in this case it is a production class being imported in the test module namespace.
This behavior can now be prevented by setting the new `collect_imported_tests`{.interpreted-text role="confval"} configuration option to `false`, which will make pytest collect classes/functions from test files **only** if they are defined in that file.
\-- by `FreerGit`{.interpreted-text role="user"}
-
#12765: Thresholds to trigger snippet truncation can now be set with
truncation_limit_lines{.interpreted-text role="confval"} andtruncation_limit_chars{.interpreted-text role="confval"}.See
truncation-params{.interpreted-text role="ref"} for more information. -
#13125:
console_output_style{.interpreted-text role="confval"} now supportstimesto show execution time of each test. -
#13192:
pytest.raises{.interpreted-text role="func"} will now raise a warning when passing an empty string tomatch, as this will match against any value. Usematch="^$"if you want to check that an exception has no message. -
#13192:
pytest.raises{.interpreted-text role="func"} will now print a helpful string diff if matching fails and the match parameter has^and$and is otherwise escaped. -
#13192: You can now pass
with pytest.raises(check=fn): <pytest.raises>{.interpreted-text role="func"}, wherefnis a function which takes a raised exception and returns a boolean. Theraisesfails if no exception was raised (as usual), passes if an exception is raised andfnreturnsTrue(as well asmatchand the type matching, if specified, which are checked before), and propagates the exception iffnreturnsFalse(which likely also fails the test). -
#13228:
hidden-param{.interpreted-text role="ref"} can now be used inidofpytest.param{.interpreted-text role="func"} or inidsofMetafunc.parametrize <pytest.Metafunc.parametrize>{.interpreted-text role="py:func"}. It hides the parameter set from the test name. -
#13253: New flag:
--disable-plugin-autoload <disable_plugin_autoload>{.interpreted-text role="ref"} which works as an alternative toPYTEST_DISABLE_PLUGIN_AUTOLOAD{.interpreted-text role="envvar"} when setting environment variables is inconvenient; and allows setting it in config files withaddopts{.interpreted-text role="confval"}.
Improvements in existing functionality
-
#10224: pytest's
shortandlongtraceback styles (how-to-modifying-python-tb-printing{.interpreted-text role="ref"}) now have partial657{.interpreted-text role="pep"} support and will show specific code segments in the traceback.================================= FAILURES ================================= _______________________ test_gets_correct_tracebacks _______________________ test_tracebacks.py:12: in test_gets_correct_tracebacks assert manhattan_distance(p1, p2) == 1 ^^^^^^^^^^^^^^^^^^^^^^^^^^ test_tracebacks.py:6: in manhattan_distance return abs(point_1.x - point_2.x) + abs(point_1.y - point_2.y) ^^^^^^^^^ E AttributeError: 'NoneType' object has no attribute 'x'-- by
ammaraskar{.interpreted-text role="user"} -
#11118: Now
pythonpath{.interpreted-text role="confval"} configures [$PYTHONPATH]{.title-ref} earlier than before during the initialization process, which now also affects plugins loaded via the [-p]{.title-ref} command-line option.-- by
millerdev{.interpreted-text role="user"} -
#11381: The
typeparameter of theparser.addinimethod now accepts ["int"]{.title-ref} and"float"parameters, facilitating the parsing of configuration values in the configuration file.Example:
def pytest_addoption(parser): parser.addini("int_value", type="int", default=2, help="my int value") parser.addini("float_value", type="float", default=4.2, help="my float value")The [pytest.ini]{.title-ref} file:
[pytest] int_value = 3 float_value = 5.4 -
#11525: Fixtures are now clearly represented in the output as a "fixture object", not as a normal function as before, making it easy for beginners to catch mistakes such as referencing a fixture declared in the same module but not requested in the test function.
-- by
the-compiler{.interpreted-text role="user"} andglyphack{.interpreted-text role="user"} -
#12426: A warning is now issued when
pytest.mark.usefixtures ref{.interpreted-text role="ref"} is used without specifying any fixtures. Previously, empty usefixtures markers were silently ignored. -
#12707: Exception chains can be navigated when dropped into Pdb in Python 3.13+.
-
#12736: Added a new attribute [name]{.title-ref} with the fixed value ["pytest tests"]{.title-ref} to the root tag [testsuites]{.title-ref} of the junit-xml generated by pytest.
This attribute is part of many junit-xml specifications and is even part of the [junit-10.xsd]{.title-ref} specification that pytest's implementation is based on.
-
#12943: If a test fails with an exceptiongroup with a single exception, the contained exception will now be displayed in the short test summary info.
-
#12958: A number of
unraisable <unraisable>{.interpreted-text role="ref"} enhancements:- Set the unraisable hook as early as possible and unset it as late as possible, to collect the most possible number of unraisable exceptions.
- Call the garbage collector just before unsetting the unraisable hook, to collect any straggling exceptions.
- Collect multiple unraisable exceptions per test phase.
- Report the
tracemalloc{.interpreted-text role="mod"} allocation traceback (if available). - Avoid using a generator based hook to allow handling
StopIteration{.interpreted-text role="class"} in test failures. - Report the unraisable exception as the cause of the
pytest.PytestUnraisableExceptionWarning{.interpreted-text role="class"} exception if raised. - Compute the
reprof the unraisable object in the unraisable hook so you get the latest information if available, and should help with resurrection of the object.
-
#13010:
pytest.approx{.interpreted-text role="func"} now can compare collections that contain numbers and non-numbers mixed. -
#13016: A number of
threadexception <unraisable>{.interpreted-text role="ref"} enhancements:- Set the excepthook as early as possible and unset it as late as possible, to collect the most possible number of unhandled exceptions from threads.
- Collect multiple thread exceptions per test phase.
- Report the
tracemalloc{.interpreted-text role="mod"} allocation traceback (if available). - Avoid using a generator based hook to allow handling
StopIteration{.interpreted-text role="class"} in test failures. - Report the thread exception as the cause of the
pytest.PytestUnhandledThreadExceptionWarning{.interpreted-text role="class"} exception if raised. - Extract the
nameof the thread object in the excepthook which should help with resurrection of the thread.
-
#13031: An empty parameter set as in
pytest.mark.parametrize([], ids=idfunc)will no longer trigger a call toidfuncwith internal objects. -
#13115: Allows supplying
ExceptionGroup[Exception]andBaseExceptionGroup[BaseException]topytest.raisesto keep full typing onExceptionInfo <pytest.ExceptionInfo>{.interpreted-text role="class"}:with pytest.raises(ExceptionGroup[Exception]) as exc_info: some_function()Parametrizing with other exception types remains an error - we do not check the types of child exceptions and thus do not permit code that might look like we do.
-
#13122: The
--stepwisemode received a number of improvements:-
It no longer forgets the last failed test in case pytest is executed later without the flag.
This enables the following workflow:
- Execute pytest with
--stepwise, pytest then stops at the first failing test; - Iteratively update the code and run the test in isolation, without the
--stepwiseflag (for example in an IDE), until it is fixed. - Execute pytest with
--stepwiseagain and pytest will continue from the previously failed test, and if it passes, continue on to the next tests.
Previously, at step 3, pytest would start from the beginning, forgetting the previously failed test.
This change however might cause issues if the
--stepwisemode is used far apart in time, as the state might get stale, so the internal state will be reset automatically in case the test suite changes (for now only the number of tests are considered for this, we might change/improve this on the future). - Execute pytest with
-
New
--stepwise-reset/--sw-resetflag, allowing the user to explicitly reset the stepwise state and restart the workflow from the beginning.
-
-
#13308: Added official support for Python 3.14.
-
#13380: Fix
ExceptionGroup{.interpreted-text role="class"} traceback filtering to exclude pytest internals. -
#13415: The author metadata of the BibTex example is now correctly formatted with last names following first names. An example of BibLaTex has been added. BibTex and BibLaTex examples now clearly indicate that what is cited is software.
-- by
willynilly{.interpreted-text role="user"} -
#13420: Improved test collection performance by optimizing path resolution used in
FSCollector. -
#13457: The error message about duplicate parametrization no longer displays an internal stack trace.
-
#4112: Using
pytest.mark.usefixtures <pytest.mark.usefixtures ref>{.interpreted-text role="ref"} onpytest.param{.interpreted-text role="func"} now produces an error instead of silently doing nothing. -
#5473: Replace [:]{.title-ref} with [;]{.title-ref} in the assertion rewrite warning message so it can be filtered using standard Python warning filters before calling
pytest.main{.interpreted-text role="func"}.
[#​6985](https://github.com/pytest-dev/pytest/issues/6985): Improved `pytest.approx`{.interpreted-text role="func"} to enhance the readability of value ranges and tolerances between 0.001 and 1000.
: - The [repr]{.title-ref} method now provides clearer output for values within those ranges, making it easier to interpret the results.
- Previously, the output for those ranges of values and tolerances was displayed in scientific notation (e.g., [42 ± 1.0e+00]{.title-ref}). The updated method now presents the tolerance as a decimal for better readability (e.g., [42 ± 1]{.title-ref}).
Example:
**Previous Output:**
``` console
>>> pytest.approx(42, abs=1)
42 ± 1.0e+00
```
**Current Output:**
``` console
>>> pytest.approx(42, abs=1)
42 ± 1
```
\-- by `fazeelghafoor`{.interpreted-text role="user"}
-
#7683: The formerly optional
pygmentsdependency is now required, causing output always to be source-highlighted (unless disabled via the--code-highlight=noCLI option).
Bug fixes
-
#10404: Apply filterwarnings from config/cli as soon as possible, and revert them as late as possible so that warnings as errors are collected throughout the pytest run and before the unraisable and threadexcept hooks are removed.
This allows very late warnings and unraisable/threadexcept exceptions to fail the test suite.
This also changes the warning that the lsof plugin issues from PytestWarning to the new warning PytestFDWarning so it can be more easily filtered.
-
#11067: The test report is now consistent regardless if the test xfailed via
pytest.mark.xfail <pytest.mark.xfail ref>{.interpreted-text role="ref"} orpytest.fail{.interpreted-text role="func"}.Previously, xfailed tests via the marker would have the string
"reason: "prefixed to the message, while those xfailed via the function did not. The prefix has been removed. -
#12008: In
11220{.interpreted-text role="pr"}, an unintended change in reordering was introduced by changing the way indices were assigned to direct params. More specifically, before that change, the indices of direct params to metafunc's callspecs were assigned after all parametrizations took place. Now, that change is reverted. -
#12863: Fix applying markers, including
pytest.mark.parametrize <pytest.mark.parametrize ref>{.interpreted-text role="ref"} when placed above [@staticmethod]{.title-ref} or [@classmethod]{.title-ref}. -
#12929: Handle StopIteration from test cases, setup and teardown correctly.
-
#12938: Fixed
--durations-minargument not respected if-vvis used. -
#12946: Fixed missing help for
pdb{.interpreted-text role="mod"} commands wrapped by pytest -- byadamchainz{.interpreted-text role="user"}. -
#12981: Prevent exceptions in
pytest.Config.add_cleanup{.interpreted-text role="func"} callbacks preventing further cleanups. -
#13047: Restore
pytest.approx{.interpreted-text role="func"} handling of equality checks between [bool]{.title-ref} and [numpy.bool_]{.title-ref} types.Comparing [bool]{.title-ref} and [numpy.bool_]{.title-ref} using
pytest.approx{.interpreted-text role="func"} accidentally changed in version [8.3.4]{.title-ref} and [8.3.5]{.title-ref} to no longer match:>>> import numpy as np >>> from pytest import approx >>> [np.True_, np.True_] == pytest.approx([True, True]) FalseThis has now been fixed:
>>> [np.True_, np.True_] == pytest.approx([True, True]) True -
#13119: Improved handling of invalid regex patterns for filter warnings by providing a clear error message.
-
#13175: The diff is now also highlighted correctly when comparing two strings.
-
#13248: Fixed an issue where passing a
scopeinMetafunc.parametrize <pytest.Metafunc.parametrize>{.interpreted-text role="py:func"} withindirect=Truecould result in other fixtures being unable to depend on the parametrized fixture. -
#13291: Fixed
reprofattrsobjects in assertion failure messages when usingattrs>=25.2. -
#13312: Fixed a possible
KeyErrorcrash on PyPy during collection of tests involving higher-scoped parameters. -
#13345: Fix type hints for
pytest.TestReport.when{.interpreted-text role="attr"} andpytest.TestReport.location{.interpreted-text role="attr"}. -
#13377: Fixed handling of test methods with positional-only parameter syntax.
Now, methods are supported that formally define
selfas positional-only and/or fixture parameters as keyword-only, e.g.:class TestClass: def test_method(self, /, *, fixture): ...Before, this caused an internal error in pytest.
-
#13384: Fixed an issue where pytest could report negative durations.
-
#13420: Added
lru_cachetonodes._check_initialpaths_for_relpath. -
#9037: Honor
disable_test_id_escaping_and_forfeit_all_rights_to_community_support{.interpreted-text role="confval"} when escaping ids in parametrized tests.
Improved documentation
-
#12535: [This example]{.title-ref}<https://docs.pytest.org/en/latest/example/simple.html#making-test-result-information-available-in-fixtures> showed
printstatements that do not exactly reflect what the different branches actually do. The fix makes the example more precise. -
#13218: Pointed out in the
pytest.approx{.interpreted-text role="func"} documentation that it considers booleans unequal to numeric zero or one. -
#13221: Improved grouping of CLI options in the
--helpoutput. -
#6649: Added
~pytest.TerminalReporter{.interpreted-text role="class"} to theapi-reference{.interpreted-text role="ref"} documentation page. -
#8612: Add a recipe for handling abstract test classes in the documentation.
A new example has been added to the documentation to demonstrate how to use a mixin class to handle abstract test classes without manually setting the
__test__attribute for subclasses. This ensures that subclasses of abstract test classes are automatically collected by pytest.
Packaging updates and notes for downstreams
-
#13317: Specified minimum allowed versions of
colorama,iniconfig, andpackaging; and bumped the minimum allowed version ofexceptiongroupforpython_version<'3.11'from a release candidate to a full release.
Contributor-facing changes
-
#12017: Mixed internal improvements:
- Migrate formatting to f-strings in some tests.
- Use type-safe constructs in JUnitXML tests.
- Moved
MockTiminginto_pytest.timing.
-- by
RonnyPfannschmidt{.interpreted-text role="user"} -
#12647: Fixed running the test suite with the
hypothesispytest plugin.
Miscellaneous internal changes
-
#6649: Added
~pytest.TerminalReporter{.interpreted-text role="class"} to the public pytest API, as it is part of the signature of thepytest_terminal_summary{.interpreted-text role="hook"} hook.
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
pytest-dev/pytest-mock (pytest-mock)
v3.15.1
2025-09-16
-
#​529 <https://github.com/pytest-dev/pytest-mock/issues/529>_: Fixeditertools._tee object has no attribute error-- nowduplicate_iterators=Truemust be passed tomocker.spyto duplicate iterators.
v3.15.0
2025-09-04
- Python 3.8 (EOL) is no longer supported.
-
#​524 <https://github.com/pytest-dev/pytest-mock/pull/524>_: Addedspy_return_itertomocker.spy, which contains a duplicate of the return value of the spied method if it is anIterator.
v3.14.1
-
#​503 <https://github.com/pytest-dev/pytest-mock/pull/503>_: Python 3.14 is now officially supported.
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.
tox-dev/tox (tox)
v4.34.1
What's Changed
- fix: wheel corruption when running parallel tox processes by @gaborbernat in #3667
Full Changelog: https://github.com/tox-dev/tox/compare/4.34.0...4.34.1
v4.34.0
What's Changed
Full Changelog: https://github.com/tox-dev/tox/compare/4.33.0...4.34.0
v4.33.0
What's Changed
- Pass LOCALAPPDATA by default on Windows (#3639) by @clint-lawrence in #3640
- Docs: Add caution about ranges like
py{39-314}by @ferdnyc in #3652 - CLI Parser: Drop epilog message for Sphinx help by @ferdnyc in #3653
- 📚 Integrate
sphinx-issuesextension by @webknjaz in #3655 - Fix sphinx doc build by @gaborbernat in #3662
- feat: add conditional set_env support via PEP-496 markers by @gaborbernat in #3663
New Contributors
- @clint-lawrence made their first contribution in #3640
- @ferdnyc made their first contribution in #3652
Full Changelog: https://github.com/tox-dev/tox/compare/4.32.0...4.33.0
v4.32.0
What's Changed
- docs: Add Python 3.14 and 3.14t to config examples by @cclauss in #3626
- Fix broken log message (in that branch it did not match the arguments). by @ionelmc in #3634
- Allow braced range syntax in internal sections of tox.ini file by @marcosboger in #3631
- fix: ensure log folder is created before writing the execution logs by @ssbarnea in #3633
- TST: add weekly compatibility checks for CPython 3.15 by @neutrinoceros in #3629
New Contributors
- @ionelmc made their first contribution in #3634
- @marcosboger made their first contribution in #3631
- @neutrinoceros made their first contribution in #3629
Full Changelog: https://github.com/tox-dev/tox/compare/4.31.0...4.32.0
v4.31.0
What's Changed
- Address a type-conversion noted during doc builds by @kurtmckee in #3623
- Add 3.14, drop 3.9 and support | union style by @gaborbernat in #3624
Full Changelog: https://github.com/tox-dev/tox/compare/4.30.3...4.31.0
v4.30.3
What's Changed
- Isolate the test suite from any existing
DEFAULT_CONFIG_FILEfile by @kurtmckee in #3612 - Fix none config file issue 3611 by @kurtmckee in #3613
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #3608
- Fix incorrect type annotations in PythonPathPackageWithDeps (fixes #3607) by @PreistlyPython in #3616
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #3615
New Contributors
- @PreistlyPython made their first contribution in #3616
Full Changelog: https://github.com/tox-dev/tox/compare/4.30.2...4.30.3
v4.30.2
What's Changed
- Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 by @dependabot[bot] in #3603
- Ensure automatically provisioned environment is torn down by @vytas7 in #3601
- Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 in /.github/workflows by @dependabot[bot] in #3604
Full Changelog: https://github.com/tox-dev/tox/compare/4.30.1...4.30.2
v4.30.1
What's Changed
- Prevent Tox from hanging with
--installpkgsdist due to orphaned build backend by @vytas7 in #3530
New Contributors
Full Changelog: https://github.com/tox-dev/tox/compare/4.30.0...4.30.1
v4.30.0
What's Changed
- Pass through
CIas__TOX_ENVIRONMENT_VARIABLE_ORIGINAL_CIby @Liam-DeVoe in #3592 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #3596
- Fix the built docs HTML path hint in
tox.tomlby @webknjaz in #3594 - Add a "version added" note for
tox_extend_envsby @webknjaz in #3595 - fix: provide clear messaging about config file loading by @ssbarnea in #3578
- Ensure
tox_extend_envslist can be read twice by @webknjaz in #3598
New Contributors
- @Liam-DeVoe made their first contribution in #3592
Full Changelog: https://github.com/tox-dev/tox/compare/4.29.0...4.30.0
v4.29.0
What's Changed
- Docs: environment variables contain strings by @hroncok in #3575
- 🐍 Fix sys_platform Fixture Leakage breaking the CI by @gaborbernat in #3589
- Expose a new
tox_extend_envshook in plugins API by @webknjaz in #3591
Full Changelog: https://github.com/tox-dev/tox/compare/4.28.4...4.29.0
v4.28.4
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #3570
- Pass ssh-agent variables by default by @daniilgankov in #3572
New Contributors
- @daniilgankov made their first contribution in #3572
Full Changelog: https://github.com/tox-dev/tox/compare/4.28.3...4.28.4
v4.28.3
What's Changed
- Fix typo on cmd_build filter check expression by @gaborbernat in #3569
Full Changelog: https://github.com/tox-dev/tox/compare/4.28.2...4.28.3
v4.28.2
What's Changed
- Don't pass in the filter argument to tar.extractall on old Python versions by @gaborbernat in #3568
Full Changelog: https://github.com/tox-dev/tox/compare/4.28.1...4.28.2
v4.28.1
What's Changed
- Fix an issue number typo in changelog by @hroncok in #3563
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #3564
- Only use tarfile.data_filter when it's available by @gaborbernat in #3566
Full Changelog: https://github.com/tox-dev/tox/compare/4.28.0...4.28.1
v4.28.0
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #3548
- [docs] Document how to require a plugin by @stephenfin in #3552
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #3554
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #3558
- Add
[testenv] constraintsoption by @stephenfin in #3556 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #3562
- Allow disabling plugins on a one-off by @gaborbernat in #3560
Full Changelog: https://github.com/tox-dev/tox/compare/4.27.0...4.28.0
v4.27.0
What's Changed
- Feat: include free_threaded flag in result-json by @robsdedude in #3534
- Add security policy by @jugmac00 in #3535
- Fix dependency-group name normalization by @robsdedude in #3540
- Log environment variables sorted by key while redacting values of unsafe ones by @ssbarnea in #3543
Full Changelog: https://github.com/tox-dev/tox/compare/4.26.0...4.27.0
python/typing_extensions (typing-extensions)
v4.15.0
No user-facing changes since 4.15.0rc1.
v4.14.1
- Fix usage of
typing_extensions.TypedDictnested inside other types (e.g.,typing.Type[typing_extensions.TypedDict]). This is not allowed by the type system but worked on older versions, so we maintain support.
v4.14.0
Changes since 4.14.0rc1:
- Remove
__or__and__ror__methods fromtyping_extensions.Sentinelon Python versions <3.10. PEP 604 was introduced in Python 3.10, andtyping_extensionsdoes not generally attempt to backport PEP-604 methods to prior versions. - Further update
typing_extensions.evaluate_forward_refwith changes in Python 3.14.
uis/devops/continuous-delivery/ci-templates (uis/devops/continuous-delivery/ci-templates)
v7.27.10: 7.27.10
7.27.10 (2026-02-10)
Bug Fixes
v7.27.9: 7.27.9
7.27.9 (2026-02-09)
Bug Fixes
-
deps: update alpine/httpie:3.2.4 docker digest to
98d2777(4dce1c2) -
deps: update python:3 docker digest to
4b827ab(7e8e8f6)
v7.27.8: 7.27.8
7.27.8 (2026-02-05)
v7.27.7: 7.27.7
7.27.7 (2026-02-05)
v7.27.6: 7.27.6
7.27.6 (2026-02-05)
Bug Fixes
-
deps: update alpine/httpie:3.2.4 docker digest to
bc4c7bc(d7ce92f) -
deps: update python:3 docker digest to
1c4c033(856a122) -
deps: update python:3.14 docker digest to
1c4c033(0182a8c)
v7.27.5: 7.27.5
7.27.5 (2026-02-04)
Bug Fixes
v7.27.4: 7.27.4
7.27.4 (2026-02-04)
v7.27.3: 7.27.3
7.27.3 (2026-02-04)
Bug Fixes
-
deps: update docker:dind docker digest to
8bcbad4(4ccc9c3) -
deps: update python:3 docker digest to
fbf695a(134b929) -
deps: update python:3.14 docker digest to
fbf695a(da47b1e)
v7.27.2: 7.27.2
7.27.2 (2026-02-03)
v7.27.1: 7.27.1
7.27.1 (2026-02-03)
Bug Fixes
v7.27.0: 7.27.0
7.27.0 (2026-02-02)
Features
v7.26.3: 7.26.3
7.26.3 (2026-02-02)
Bug Fixes
v7.26.2: 7.26.2
7.26.2 (2026-01-29)
v7.26.1: 7.26.1
7.26.1 (2026-01-29)
Bug Fixes
v7.26.0: 7.26.0
7.26.0 (2026-01-28)
Features
- use gitlab runner cache for pre-commit jobs (fe53b0d)
v7.25.17: 7.25.17
7.25.17 (2026-01-28)
Bug Fixes
v7.25.16: 7.25.16
7.25.16 (2026-01-26)
Bug Fixes
v7.25.15: 7.25.15
7.25.15 (2026-01-22)
v7.25.14: 7.25.14
7.25.14 (2026-01-22)
Bug Fixes
-
deps: update python:3 docker digest to
17bc9f1(9106fe0) -
deps: update python:3.14 docker digest to
17bc9f1(9ae614e)
v7.25.13: 7.25.13
7.25.13 (2026-01-19)
v7.25.12: 7.25.12
7.25.12 (2026-01-19)
Bug Fixes
-
deps: update alpine/httpie:3.2.4 docker digest to
de3d0ab(8fcb386) -
deps: update docker:dind docker digest to
3a33fc8(4d1f0cb)
v7.25.11: 7.25.11
7.25.11 (2026-01-15)
Bug Fixes
- pick up only the first value for the version from the openapi.yaml (857b1dd)
v7.25.10: 7.25.10
7.25.10 (2026-01-14)
Bug Fixes
-
deps: update python:3 docker digest to
37cba11(f8bd952) -
deps: update python:3.14 docker digest to
37cba11(c0cd872)
v7.25.9: 7.25.9
7.25.9 (2026-01-12)
Bug Fixes
v7.25.8: 7.25.8
7.25.8 (2026-01-12)
Bug Fixes
Configuration
📅 Schedule: Branch creation - Monday through Friday ( * * * * 1-5 ) in timezone Europe/London, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This MR will be recreated if closed unmerged. Get config help if that's undesired.
- If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.