fix(deps): update all non-major dependencies#42
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
Pull Request Test Coverage Report for Build 22127199315Details
💛 - Coveralls |
7a81baa to
6576ce8
Compare
c064051 to
9b13c19
Compare
2174cf0 to
b05cbbf
Compare
b05cbbf to
5aa0ac0
Compare
b0b2232 to
1205182
Compare
ddc7b49 to
8e60c19
Compare
c4f5cc1 to
4b6cb3e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==4.11.0→==4.14.1==3.0.0→==3.0.1==25.3.0→==25.4.0==2.17.0→==2.18.0==3.0.1→==3.2.0==2025.8.3→==2025.11.12==3.4.3→==3.4.7==8.3.0→==8.4.2==5.2.1→==5.3.1==0.21.2→==0.23==1.4.0→==1.5.4==4.60.0→==4.63.0==3.10→==3.18==1.4.1→==1.5.0==2.1.0→==2.3.0==9.1.0→==9.15.0==9.1.0→==9.15.0==0.19.2→==0.20.0==0.11.0→==0.16.0==4.25.1→==4.26.0==5.8.1→==5.9.1==1.4.9→==1.5.0==1.8.1→==1.13.1>0.14,<0.15→>0.23,<0.24==0.14.17→==0.23.11==3.9→==3.10.2==3.0.2→==3.0.3==3.10.6→==3.11.0==0.1.7→==0.2.2>0.10,<0.11→>0.11,<0.12==0.10.1→==0.11.1==2.5.0→==2.22.1==2.3.3→==2.5.0==3.11.3→==3.11.9==2.3.2→==2.3.3==0.8.5→==0.8.7==4.4.0→==4.10.0==1.33.1→==1.42.0==7.1.0→==7.2.2==2.11.9→==2.13.4==2.33.2→==2.47.0==2.19.2→==2.20.0==2.10.1→==2.13.0==10.16.1→==10.21.3==3.2.5→==3.3.23.13→3.14==6.0.2→==6.0.3==0.36.2→==0.37.0==2.32.5→==2.34.2==0.27.1→==0.30.0==0.13.1→==0.15.20==3.0.1→==3.1.1==3.1.0→==3.12.0==3.1.0→==3.12.0==3.0.2→==3.1.0==3.0.2→==3.1.0==27.17.0→==27.29.0==0.48.0→==0.52.1==0.13.3→==0.15.0==4.67.1→==4.68.3==5.14.3→==5.15.1==2025.2→==2025.3==2.5.0→==2.7.0==0.37.0→==0.49.0==0.2.14→==0.8.1Warning
Some dependencies could not be looked up. Check the Dependency Dashboard for more information.
Release Notes
agronholm/anyio (anyio)
v4.14.1Compare Source
RuntimeError: Attempted to exit cancel scope in a different task than it was entered inwhen an async test raise an outcome exception (e.g.,pytest.skip(),pytest.xfail(), orpytest.fail()) (#1179; PR by @EmmanuelNiyonshuti)CapacityLimiter.total_tokensrejecting a value of0when the limiter was instantiated outside of an event loop, contradicting the documented behavior of allowing 0 total tokens (#1183; PR by @nyxst4ck)v4.14.0Compare Source
Added support for Python 3.15
Added an asynchronous implementation of the
itertoolsmodule (#998; PR by @11kkw)Added the
local_portparameter toconnect_tcp()to allow binding to a specific local port before connecting (#1067; PR by @nullwiz)Added support for custom capacity limiters in async path and file I/O functions and classes
Added the
create_task()task group method for easier asyncio migration (returns aTaskHandle) (#1098)Changed
TaskGroup.start_soon()to return aTaskHandleAdded an option for
TaskGroup.start()to return aTaskHandle(which then contains the start value in thestart_valueproperty)Added the
cancel()convenience method toTaskGroupas a shortcut for cancelling the task group's cancel scopeImproved the error message when a known backend is not installed to suggest the install command (#1115; PR by @EmmanuelNiyonshuti)
Improved
anyio.Pathto preserve subclass types by returningSelfin methods that return path objects (#1130; PR by @EmmanuelNiyonshuti)Changed the parameter type annotation in
anyio.Path.write_bytes()to accept anyReadableBuffer, thus allowing it to acceptbytearrayandmemoryviewto matchpathlib.Path.write_bytes()(#1135; PR by @SAY-5)Changed several type annotations to only accept callables returning coroutine-like objects instead of arbitrary awaitables:
TaskGroup.start_soon()TaskGroup.start()anyio.from_thread.run()This reverts an earlier change from v3.7.0 which was made in error. (#1153)
Changed
anyio.runto support callables returning arbitrary awaitables at runtime on all backends. Previously, this only worked on asyncio (#1171; PR by @gschaffner)Changed several classes (and their subclasses) to have
__slots__(with__weakref__):anyio.CancelScopeanyio.CapacityLimiteranyio.Conditionanyio.Eventanyio.Lockanyio.ResourceGuardanyio.SemaphoreFixed cancellation exception escaping a cancel scope when triggered via
check_cancelled()in a worker thread (#1113)Fixed
TaskGroupraisingAttributeErrorinstead of a clear error when entered more than once (#1109; PR by @bahtya)Fixed lost type information when passing arguments to
lru_cache(#1104; PR by @Graeme22)Fixed test resumption after
KeyboardInterruptin async generator fixtures on the asyncio backend (#1060; PR by @EmmanuelNiyonshuti)Fixed import of
__main__into_processworkers when entrypoint script doesn't end in.py, such as when usingconsole_scriptentrypoints. (#1027; PR by @tapetersen)Fixed
SocketListener.from_socket()returning a TCP listener forAF_UNIXlistening sockets, causingaccept()to fail withENOTSUP(#1132; PR by @kudato)Fixed
UDPSocket.aclose()andConnectedUDPSocket.aclose()on asyncio returning before the underlying socket FD was actually released (#1147; PR by @matias-arrelid)Fixed trio backend test runner hanging indefinitely instead of raising an error when dynamically accessing an async fixture via
request.getfixturevalue(#1148; PR by @EmmanuelNiyonshuti)Fixed cancelling tasks started through a
BlockingPortalafter the portal has been stopped (#1013; PR by @puneetdixit200)Fixed
backend_optionsbeing ignored when running the Trio backend viaanyio.run(); the options are now passed as keyword arguments totrio.run()again, as documented (a regression from AnyIO 3) (#1161; PR by @Zac-HD)Fixed asyncio
LockandSemaphoredeadlocks caused by cancelled waiters left queued during release (#1145; PR by @rasmusfaber, @x42005e1f and @agronholm)v4.13.0Compare Source
ttlparameter to theanyio.functools.lru_cachewrapper (#1073; PR by @Graeme22)IO[bytes]instead of justBinaryIO(#1078)anyio.Pathnot being compatible with Python 3.15 due to the removal ofpathlib.Path.is_reserved()and the addition ofpathlib.Path.__vfspath__()(#1061; PR by @veeceey)BrokenResourceErrorraised by the asyncioSocketStreamnot having the original exception as its cause (#1055; PR by @veeceey)TypeErrorraised when using "func" as a parameter name inpytest.mark.parametrizewhen using the pytest plugin (#1068; PR by @JohnnyDeuss)anyiomarker added programmatically viapytest_collection_modifyitems(#422; PR by @chbndrhnns)CancelScopeon asyncio when they are contained in an exception group alongside non-cancellation exceptions (#1091; PR by @gschaffner)Condition.wait()not passing on a notification when the task is cancelled but already received a notificationv4.12.1Compare Source
NoCurrentAsyncBackendexception (since v4.12.0) to instead raise the publicNoEventLoopErrorexception (#1048)anyio.functools.lru_cachenot working with instance methods (#1042)v4.12.0Compare Source
functoolsmodule (#1001)uvloop=Trueon Windows via the winloop implementation (#960; PR by @Vizonex)anyio.lowlevel.RunVar(#1003)__all__declarations to public submodules (anyio.lowleveletc.) (#1009)CapacityLimiterto zero (#1019; requires Python 3.10 or later when using Trio)case_sensitiveandrecurse_symlinksalong with support for path-like objects toanyio.Path.glob()andanyio.Path.rglob()(#1033; PR by @northisup)sniffioas a direct dependency and added theget_available_backends()function (#1021)Process.stdin.send()not raisingClosedResourceErrorandBrokenResourceErroron asyncio. Previously, a non-AnyIO exception was raised in such cases (#671; PR by @gschaffner)Process.stdin.send()not checkpointing before writing data on asyncio (#1002; PR by @gschaffner)FuturefromBlockingPortal.start_task_soon()would sometimes not cancel the async function (#1011; PR by @gschaffner)RuntimeError: Set changed size during iterationwhile shutting down the process pool when using the asyncio backend (#985)gristlabs/asttokens (asttokens)
v3.0.1Compare Source
python-attrs/attrs (attrs)
v25.4.0Compare Source
Backwards-incompatible Changes
Class-level
kw_only=Truebehavior is now consistent withdataclasses.Previously, a class that sets
kw_only=Truemakes all attributes keyword-only, including those from base classes.If an attribute sets
kw_only=False, that setting is ignored, and it is still made keyword-only.Now, only the attributes defined in that class that doesn't explicitly set
kw_only=Falseare made keyword-only.This shouldn't be a problem for most users, unless you have a pattern like this:
Here, we have a
kw_only=Trueattrs class (Base) with an attribute that setskw_only=Falseand has a default (Base.b), and then create a subclass (Subclass) with required arguments (Subclass.c).Previously this would work, since it would make
Base.bkeyword-only, but now this fails sinceBase.bis positional, and we have a required positional argument (Subclass.c) following another argument with defaults.#1457
Changes
Values passed to the
__init__()method ofattrsclasses are now correctly passed to__attrs_pre_init__()instead of their default values (in cases where kw_only was not specified).#1427
Added support for Python 3.14 and PEP 749.
#1446,
#1451
attrs.validators.deep_mapping()now allows to leave out either key_validator xor value_validator.#1448
attrs.validators.deep_iterator()andattrs.validators.deep_mapping()now accept lists and tuples for all validators and wrap them into aattrs.validators.and_().#1449
Added a new experimental way to inspect classes:
attrs.inspect(cls)returns the effective class-wide parameters that were used by attrs to construct the class.The returned class is the same data structure that attrs uses internally to decide how to construct the final class.
#1454
Fixed annotations for
attrs.field(converter=...).Previously, a
tupleof converters was only accepted if it had exactly one element.#1461
The performance of
attrs.asdict()has been improved by 45–260%.#1463
The performance of
attrs.astuple()has been improved by 49–270%.#1469
The type annotation for
attrs.validators.or_()now allows for different types of validators.This was only an issue on Pyright.
#1474
python-babel/babel (babel)
v2.18.0Compare Source
Happy 2026! This release is, coincidentally, also being made from FOSDEM.
We will aspire for a slightly less glacial release cadence in this year;
there are interesting features in the pipeline.
Features
11841194121311961246Other improvements
12281230122712291174118911861202123312401197pyproject.tomlby @tomasr8 in :gh:1187unittesttest cases to bare functions by @akx in :gh:1241cemsbv/nuclei (cems-nuclei)
v3.2.0Compare Source
Features
v3.1.0Compare Source
Bug Fixes
Features
Miscellaneous Tasks
Deploy
certifi/python-certifi (certifi)
v2025.11.12Compare Source
v2025.10.5Compare Source
jawah/charset_normalizer (charset-normalizer)
v3.4.7Compare Source
Changed
setuptoolsconstraint tosetuptools>=68,<82.1.Fixed
v3.4.6Compare Source
Changed
charset_normalizer.mdfor higher performance. Removedeligible(..)andfeed(...)in favor of
feed_info(...).UNICODE_RANGES_COMBINEDusing Unicode blocks v17.Fixed
--normalizewriting to wrong path when passing multiple files in. (#702)Misc
v3.4.5Compare Source
Changed
setuptoolsconstraint tosetuptools>=68,<=82.Fixed
Misc
query_yes_nofunction (inside CLI) to avoid using ambiguous licensed code.cd.pysubmodule into mypyc optional compilation to reduce further the performance impact.v3.4.4Compare Source
Changed
setuptoolsto a specific constraintsetuptools>=68,<=81.Removed
setuptools-scmas a build dependency.Misc
dev-requirements.txtand createdci-requirements.txtfor security purposes.multiple.intoto.jsonlin GitHub releases in addition to individual attestation file per wheel.pallets/click (click)
v8.4.2Compare Source
Unreleased
8.4.0by {pr}3126. Newlines andtabs in option help text are now escaped, keeping the original completion
format while still supporting multi-line help. {issue}
3502{issue}
3043{pr}3504{pr}3508render a stray leading space before the
(DEPRECATED)label. {pr}3509Groupwithinvoke_without_command=Truemarks its subcommand asoptional in the usage help, showing
[COMMAND]instead ofCOMMAND.{issue}
3059{pr}3507echo_via_pagerflushes after each write, so passing a generator streamsoutput to the pager incrementally instead of staying hidden until the pipe
buffer fills. {issue}
3242{issue}2542{pr}3534echo_via_pagerandget_pager_fileno longer close a borrowed stdoutstream when no external pager runs, completing the partial
I/O operation on closed filefix from {pr}3482. {issue}3449{pr}
3533v8.4.1Compare Source
Released 2026-05-21
get_parameter_source()is available during eager callbacks and typeconversion again. :issue:
3458:issue:34843277:pr:3466ChoiceEnumvalues produces a valid completionresult. :issue:
30153487echo_via_pager. :issue:3449v8.4.0Compare Source
Released 2026-05-17
:class:
ParamTypetyping improvements. :pr:3371ParamTypeis now a generic abstract base class,parameterized by its converted value type.
~ParamType.convertreturn types are narrowed on allconcrete types (
strfor :class:STRING,intfor:class:
INT, etc.).~ParamType.to_info_dictreturns specific:class:
~typing.TypedDictsubclasses instead ofdict[str, Any].CompositeParamTypeand the number-range base are nowgeneric with abstract methods.
Refactor
convert_typeto extract type inference into a private_guess_typehelper, and add :func:typing.overloadsignatures.:pr:
3372:class:
Parametertyping improvements. :pr:2805Parameteris now an abstract base class, making explicitthat it cannot be instantiated directly.
Parameter.nameis nowstrinstead ofstr | None.When
expose_value=False, the name is set to""insteadof
None.ctxparameter of :meth:Parameter.get_error_hintis nowtyped as
Context | None, matching the runtime behavior.Split string values from
default_mapfor parameters withnargs > 1or :class:
Tupletype, matching environment variable behavior.:issue:
2745:pr:3364Auto-detect
type=UNPROCESSEDforflag_valueof non-basic types(not
str,int,float, orbool), so programmer-providedPython objects like classes and enum members are passed through unchanged
instead of being stringified. Previously
type=click.UNPROCESSEDhadto be set explicitly. :issue:
2012:pr:3363The error hint now uses :meth:
Command.get_help_option_namesto picknon-shadowed help option names, so
Try '... -h'no longer points to asubcommand option that shadows
-h. The longest surviving name isshown (
--helpover-h) for readability. :issue:2790:pr:3208Fix readline functionality on non-Windows platforms. Prompt text is now
passed directly to readline instead of being printed separately, allowing
proper backspace, line editing, and line wrapping behavior. :issue:
2968:pr:
2969Use :func:
os.startfileon Windows to open URLs in :func:open_url,replacing the
startbuilt-in which cannot be invoked withoutshell=True. :issue:3164:pr:3186Fix Fish shell completion errors when option help text contains newlines.
:issue:
3043:pr:3126Add :class:
NoSuchCommandexception with suggestions for misspelledcommands. :issue:
3107:pr:3228Use :class:
ValueErrormessage when conversion in :class:FuncParamTypewouldfail. :issue:
3105:pr:3211Add
click.get_pager_filefor file-like access to an outputpager. :pr:
1572:pr:3405:func:
~click.formatting.wrap_textnow measures line width in visiblecharacters, ignoring ANSI escape sequences. :pr:
3420Fix :meth:
HelpFormatter.write_usageemitting only a blank line whencalled without
args. The usage prefix and program name are nowwritten even when no arguments follow, and the trailing separator
space is stripped so the line ends at the program name.
:issue:
3360:pr:3434Show custom error messages from types when :func:
promptwithhide_input=Truefails validation, instead of always showing ageneric message. Built-in type messages mask the input value.
:issue:
2809:pr:3256Add
captureparameter to :class:CliRunnerwith two modes:sys(default) and
fd.fdredirects file descriptors1and2via :func:
os.dup2so output that bypassessys.stdout(stale streamreferences, C extensions, subprocesses,
faulthandler) is capturedwith proper isolation. :issue:
854:issue:2412:issue:2468:issue:
2497:issue:2761:issue:2827:issue:2865:pr:3391Revert the
8.3.3change that exposed the original file descriptorvia
fileno()on the redirectedCliRunnerstreams in the defaultcapture mode.
os.dup2(w, sys.stdout.fileno())calls inside a CLI nolonger mutate the host runner's stdout, which broke Pytest's
fd-levelcapture teardown. C-level consumers that need a real
fdshould usecapture="fd". :issue:3384:pr:3391Mark additional built-in strings with
gettext()to extend translationcoverage. :pr:
2902Fix feature switch groups (several
flag_valueoptions sharing oneparameter name) silently dropping an explicit
defaultwhen a siblingoption without an explicit default was declared first. Arbitration is now
source-aware: a more explicit :class:
ParameterSourcealways wins, andwithin
ParameterSource.DEFAULT, an option that received an explicitdefault=keyword wins over a sibling whose default was auto-derived.The 8.3.x first-wins fallback for remaining ties was reverted to the
pre-8.3.x last-wins fallback. :issue:
3403:pr:3404Fix missing space between option help text and the
(DEPRECATED)label, and localize the option label so it matches the command label.
The label and the
DeprecationWarningreason suffix are now producedby shared helpers. :pr:
3423Document short option stacking (
-abcis parsed as-a -b -c) andclarify that multi-character short option names are not supported.
:issue:
2779:pr:3431v8.3.3Compare Source
v8.3.2Compare Source
Released 2026-04-02
flag_valuewhenis_flag=Falseto allow such options to beused without an explicit value. :issue:
3084:pr:3152Sentinel.UNSETvalues asNonewhen usinglookup_default().:issue:
3136:pr:3199:pr:3202:pr:3209:pr:3212:pr:3224_NamedTextIOWrapperfrom closing streams owned byStreamMixer.:issue:
824:issue:2991:issue:2993:issue:3110:pr:3139:pr:3140CliRunnerstream lifecycle, coveringlogging interaction, multi-threaded safety, and sequential invocation
isolation. Add high-iteration stress tests behind a
stressmarkerwith a dedicated CI job. :pr:
3139flag_valuebeing instantiated when used as a default viadefault=True. :issue:3121:pr:3201:pr:3213:pr:3225v8.3.1Compare Source
Released 2025-11-15
subprocess.Popen. :issue:3039:pr:
3055Sentinel.UNSETdefault values byNoneas they're passed throughthe
Context.invoke()method. :issue:3066:issue:3065:pr:3068Sentinel.UNSEThappening too early, which caused incorrectbehavior for multiple parameters using the same name. :issue:
3071:pr:3079Sentinel.UNSETvalues asNonewhen looking up for other parametersthrough the context inside parameter callbacks. :issue:
3136:pr:3137promptandconfirmparameterprompt_suffixisempty. :issue:
3019:pr:3021Sentinel.UNSETis found during parsing, it will skip calls totype_cast_value. :issue:3069:pr:3090duckdb/duckdb-python (duckdb)
v1.5.4: Bugfix ReleaseCompare Source
See DuckDB's changelog for all changes in DuckDB.
What's Changed in DuckDB-Python
v1.5.3: Bugfix ReleaseCompare Source
See the DuckDB core release notes here: https://github.com/duckdb/duckdb/releases/tag/v1.5.3
What's Changed in DuckDB Python