kotlinx-rpc
kotlinx-rpc copied to clipboard
Update Python Monitor Dependencies
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| aiohttp | ==3.11.16 -> ==3.12.2 |
||||
| certifi | ==2025.1.31 -> ==2025.4.26 |
||||
| click (changelog) | ==8.1.8 -> ==8.2.1 |
||||
| exceptiongroup (changelog) | ==1.2.2 -> ==1.3.0 |
||||
| frozenlist | ==1.5.0 -> ==1.6.0 |
||||
| httpcore | ==1.0.7 -> ==1.0.9 |
||||
| multidict | ==6.4.2 -> ==6.4.4 |
||||
| platformdirs (changelog) | ==4.3.7 -> ==4.3.8 |
||||
| textual | ==3.0.1 -> ==3.2.0 |
||||
| textual-serve | ==1.1.1 -> ==1.1.2 |
||||
| typing_extensions (changelog) | ==4.13.1 -> ==4.13.2 |
||||
| yarl | ==1.19.0 -> ==1.20.0 |
Release Notes
aio-libs/aiohttp (aiohttp)
v3.12.2
v3.12.1: 3.12.1
Features
-
Added support for reusable request bodies to enable retries, redirects, and digest authentication -- by :user:
bdracoand :user:GLGDLY.Most payloads can now be safely reused multiple times, fixing long-standing issues where POST requests with form data or file uploads would fail on redirects with errors like "Form data has been processed already" or "I/O operation on closed file". This also enables digest authentication to work with request bodies and allows retry mechanisms to resend requests without consuming the payload. Note that payloads derived from async iterables may still not be reusable in some cases.
Related issues and pull requests on GitHub: #5530, #5577, #9201, #11017.
v3.12.0
===================
Bug fixes
-
Fixed :py:attr:
~aiohttp.web.WebSocketResponse.preparedproperty to correctly reflect the prepared state, especially during timeout scenarios -- by :user:bdracoRelated issues and pull requests on GitHub: :issue:
6009, :issue:10988. -
Response is now always True, instead of using MutableMapping behaviour (False when map is empty)
Related issues and pull requests on GitHub: :issue:
10119. -
Fixed connection reuse for file-like data payloads by ensuring buffer truncation respects content-length boundaries and preventing premature connection closure race -- by :user:
bdraco.Related issues and pull requests on GitHub: :issue:
10325, :issue:10915, :issue:10941, :issue:10943. -
Fixed pytest plugin to not use deprecated :py:mod:
asynciopolicy APIs.Related issues and pull requests on GitHub: :issue:
10851. -
Fixed :py:class:
~aiohttp.resolver.AsyncResolvernot using theloopargument in versions 3.x where it should still be supported -- by :user:bdraco.Related issues and pull requests on GitHub: :issue:
10951.
Features
-
Added a comprehensive HTTP Digest Authentication client middleware (DigestAuthMiddleware) that implements RFC 7616. The middleware supports all standard hash algorithms (MD5, SHA, SHA-256, SHA-512) with session variants, handles both 'auth' and 'auth-int' quality of protection options, and automatically manages the authentication flow by intercepting 401 responses and retrying with proper credentials -- by :user:
feus4177, :user:TimMenninger, and :user:bdraco.Related issues and pull requests on GitHub: :issue:
2213, :issue:10725. -
Added client middleware support -- by :user:
bdracoand :user:Dreamsorcerer.This change allows users to add middleware to the client session and requests, enabling features like authentication, logging, and request/response modification without modifying the core request logic. Additionally, the
sessionattribute was added toClientRequest, allowing middleware to access the session for making additional requests.Related issues and pull requests on GitHub: :issue:
9732, :issue:10902, :issue:10945, :issue:10952, :issue:10959, :issue:10968. -
Allow user setting zlib compression backend -- by :user:
TimMenningerThis change allows the user to call :func:
aiohttp.set_zlib_backend()with the zlib compression module of their choice. Default behavior continues to use the builtinzliblibrary.Related issues and pull requests on GitHub: :issue:
9798. -
Added support for overriding the base URL with an absolute one in client sessions -- by :user:
vivodi.Related issues and pull requests on GitHub: :issue:
10074. -
Added
hostparameter toaiohttp_serverfixture -- by :user:christianwbrock.Related issues and pull requests on GitHub: :issue:
10120. -
Detect blocking calls in coroutines using BlockBuster -- by :user:
cbornet.Related issues and pull requests on GitHub: :issue:
10433. -
Added
socket_factoryto :py:class:aiohttp.TCPConnectorto allow specifying custom socket options -- by :user:TimMenninger.Related issues and pull requests on GitHub: :issue:
10474, :issue:10520, :issue:10961, :issue:10962. -
Started building armv7l manylinux wheels -- by :user:
bdraco.Related issues and pull requests on GitHub: :issue:
10797. -
Implemented shared DNS resolver management to fix excessive resolver object creation when using multiple client sessions. The new
_DNSResolverManagersingleton ensures only oneDNSResolverobject is created for default configurations, significantly reducing resource usage and improving performance for applications using multiple client sessions simultaneously -- by :user:bdraco.Related issues and pull requests on GitHub: :issue:
10847, :issue:10923, :issue:10946. -
Upgraded to LLHTTP 9.3.0 -- by :user:
Dreamsorcerer.Related issues and pull requests on GitHub: :issue:
10972. -
Optimized small HTTP requests/responses by coalescing headers and body into a single TCP packet -- by :user:
bdraco.This change enhances network efficiency by reducing the number of packets sent for small HTTP payloads, improving latency and reducing overhead. Most importantly, this fixes compatibility with memory-constrained IoT devices that can only perform a single read operation and expect HTTP requests in one packet. The optimization uses zero-copy
writelineswhen coalescing data and works with both regular and chunked transfer encoding.When
aiohttpuses client middleware to communicate with anaiohttpserver, connection reuse is more likely to occur since complete responses arrive in a single packet for small payloads.This aligns
aiohttpwith other popular HTTP clients that already coalesce small requests.Related issues and pull requests on GitHub: :issue:
10991.
Improved documentation
-
Improved documentation for middleware by adding warnings and examples about request body stream consumption. The documentation now clearly explains that request body streams can only be read once and provides best practices for sharing parsed request data between middleware and handlers -- by :user:
bdraco.Related issues and pull requests on GitHub: :issue:
2914.
Packaging updates and notes for downstreams
-
Removed non SPDX-license description from
setup.cfg-- by :user:devanshu-ziphq.Related issues and pull requests on GitHub: :issue:
10662. -
Added support for building against system
llhttplibrary -- by :user:mgorny.This change adds support for :envvar:
AIOHTTP_USE_SYSTEM_DEPSenvironment variable that can be used to build aiohttp against the system install of thellhttplibrary rather than the vendored one.Related issues and pull requests on GitHub: :issue:
10759. -
aiodnsis now installed on Windows with speedups extra -- by :user:bdraco.As of
aiodns3.3.0,SelectorEventLoopis no longer required when usingpycares4.7.0 or later.Related issues and pull requests on GitHub: :issue:
10823. -
Fixed compatibility issue with Cython 3.1.1 -- by :user:
bdracoRelated issues and pull requests on GitHub: :issue:
10877.
Contributor-facing changes
-
Sped up tests by disabling
blockbusterfixture fortest_static_file_hugeandtest_static_file_huge_canceltests -- by :user:dikos1337.Related issues and pull requests on GitHub: :issue:
9705, :issue:10761. -
Updated tests to avoid using deprecated :py:mod:
asynciopolicy APIs and make it compatible with Python 3.14.Related issues and pull requests on GitHub: :issue:
10851. -
Added Winloop to test suite to support in the future -- by :user:
Vizonex.Related issues and pull requests on GitHub: :issue:
10922.
Miscellaneous internal changes
-
Added support for the
partitionedattribute in theset_cookiemethod.Related issues and pull requests on GitHub: :issue:
9870. -
Setting :attr:
aiohttp.web.StreamResponse.last_modifiedto an unsupported type will now raise :exc:TypeErrorinstead of silently failing -- by :user:bdraco.Related issues and pull requests on GitHub: :issue:
10146.
v3.11.18
====================
Bug fixes
-
Disabled TLS in TLS warning (when using HTTPS proxies) for uvloop and newer Python versions -- by :user:
lezgomatt.Related issues and pull requests on GitHub: :issue:
7686. -
Fixed reading fragmented WebSocket messages when the payload was masked -- by :user:
bdraco.The problem first appeared in 3.11.17
Related issues and pull requests on GitHub: :issue:
10764.
v3.11.17
====================
Miscellaneous internal changes
-
Optimized web server performance when access logging is disabled by reducing time syscalls -- by :user:
bdraco.Related issues and pull requests on GitHub: :issue:
10713. -
Improved web server performance when connection can be reused -- by :user:
bdraco.Related issues and pull requests on GitHub: :issue:
10714. -
Improved performance of the WebSocket reader -- by :user:
bdraco.Related issues and pull requests on GitHub: :issue:
10740. -
Improved performance of the WebSocket reader with large messages -- by :user:
bdraco.Related issues and pull requests on GitHub: :issue:
10744.
pallets/click (click)
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:
2205OptionParserand 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:2271Command.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
agronholm/exceptiongroup (exceptiongroup)
v1.3.0
- Added
**kwargsto function and method signatures as appropriate to match the signatures in the standard library - In line with the stdlib typings in typeshed, updated
(Base)ExceptionGroupgeneric types to define defaults for their generic arguments (defaulting toBaseExceptionGroup[BaseException]andExceptionGroup[Exception]) (PR by @mikenerone) - Changed
BaseExceptionGroup.__init__()to directly callBaseException.__init__()instead of the superclass__init__()in order to emulate the CPython behavior (broken or not) (PR by @cfbolz) - Changed the
exceptionsattribute to always return the same tuple of exceptions, created from the original exceptions sequence passed toBaseExceptionGroupto match CPython behavior (#143)
aio-libs/frozenlist (frozenlist)
v1.6.0
======
(2025-04-17)
Bug fixes
-
Stopped implicitly allowing the use of Cython pre-release versions when building the distribution package -- by :user:
ajsanchezsanzand :user:markgreene74.Related commits on GitHub: :commit:
41591f2.
Features
-
Implemented support for the free-threaded build of CPython 3.13 -- by :user:
lysnikolaou.Related issues and pull requests on GitHub: :issue:
618. -
Started building armv7l wheels -- by :user:
bdraco.Related issues and pull requests on GitHub: :issue:
642.
Packaging updates and notes for downstreams
-
Stopped implicitly allowing the use of Cython pre-release versions when building the distribution package -- by :user:
ajsanchezsanzand :user:markgreene74.Related commits on GitHub: :commit:
41591f2. -
Started building wheels for the free-threaded build of CPython 3.13 -- by :user:
lysnikolaou.Related issues and pull requests on GitHub: :issue:
618. -
The packaging metadata switched to including an SPDX license identifier introduced in :pep:
639-- by :user:cdce8p.Related issues and pull requests on GitHub: :issue:
639.
Contributor-facing changes
-
GitHub Actions CI/CD is now configured to manage caching pip-ecosystem dependencies using
re-actors/cache-python-deps_ -- an action by :user:webknjazthat takes into account ABI stability and the exact version of Python runtime... _
re-actors/cache-python-deps: https://github.com/marketplace/actions/cache-python-depsRelated issues and pull requests on GitHub: :issue:
633. -
Organized dependencies into test and lint dependencies so that no unnecessary ones are installed during CI runs -- by :user:
lysnikolaou.Related issues and pull requests on GitHub: :issue:
636.
encode/httpcore (httpcore)
v1.0.9
- Resolve https://github.com/advisories/GHSA-vqfr-h8mv-ghfj with h11 dependency update. (#1008)
v1.0.8
- Fix
AttributeErrorwhen importing on Python 3.14. (#1005)
aio-libs/multidict (multidict)
v6.4.4
=====
(2025-05-19)
Bug fixes
-
Fixed a segmentation fault when calling :py:meth:
multidict.MultiDict.setdefaultwith a single argument -- by :user:bdraco.Related issues and pull requests on GitHub: :issue:
1160. -
Fixed a segmentation fault when attempting to directly instantiate view objects (
multidict._ItemsView,multidict._KeysView,multidict._ValuesView) -- by :user:bdraco.View objects now raise a proper :exc:
TypeErrorwith the message "cannot create '...' instances directly" when direct instantiation is attempted.View objects should only be created through the proper methods: :py:meth:
multidict.MultiDict.items, :py:meth:multidict.MultiDict.keys, and :py:meth:multidict.MultiDict.values.Related issues and pull requests on GitHub: :issue:
1164.
Miscellaneous internal changes
-
:class:
multidict.MultiDictProxywas refactored to rely only on :class:multidict.MultiDictpublic interface and don't touch any implementation details.Related issues and pull requests on GitHub: :issue:
1150. -
Multidict views were refactored to rely only on :class:
multidict.MultiDictAPI and don't touch any implementation details.Related issues and pull requests on GitHub: :issue:
1152. -
Dropped internal
_Implclass from pure Python implementation, both pure Python and C Extension follows the same design internally now.Related issues and pull requests on GitHub: :issue:
1153.
v6.4.3
=====
(2025-04-10)
Bug fixes
-
Fixed building the library in debug mode.
Related issues and pull requests on GitHub: :issue:
1144. -
Fixed custom
PyType_GetModuleByDef()when non-heap type object was passed.Related issues and pull requests on GitHub: :issue:
1147.
Packaging updates and notes for downstreams
-
Added the ability to build in debug mode by setting :envvar:
MULTIDICT_DEBUG_BUILDin the environment -- by :user:bdraco.Related issues and pull requests on GitHub: :issue:
1145.
tox-dev/platformdirs (platformdirs)
v4.3.8
What's Changed
- Add missing examples and fix order of examples in README by @gene1wood in https://github.com/tox-dev/platformdirs/pull/355
New Contributors
- @gene1wood made their first contribution in https://github.com/tox-dev/platformdirs/pull/355
Full Changelog: https://github.com/tox-dev/platformdirs/compare/4.3.7...4.3.8
Textualize/textual (textual)
v3.2.0
Fixed
- Fixed
OptionListcausing excessive redrawing https://github.com/Textualize/textual/pull/5766 - Log messages could be written to stdout when there was no app, which could happen when using run_async or threads. Now they will be suppressed, unless the env var
TEXTUAL_DEBUGis set https://github.com/Textualize/textual/pull/5782
Added
- Added
:first-childand:last-childpseudo classes https://github.com/Textualize/textual/pull/5776 - Added
toggle_classparameter to reactives https://github.com/Textualize/textual/pull/5778 - Added
compactparameter and reactive toButton,Input,ToggleButton,RadioSet,OptionList,TextAreahttps://github.com/Textualize/textual/pull/5778 - Added
HORIZONTAL_BREAKPOINTSandVERTICAL_BREAKPOINTStoAppandScreenhttps://github.com/Textualize/textual/pull/5779
Changed
RadioSetnow has a default width of1frhttps://github.com/Textualize/textual/pull/5778
v3.1.1
Fixed
- Fixed issue with tint filter https://github.com/Textualize/textual/pull/5757
- Fixed a crash when setting keymap before app mount https://github.com/Textualize/textual/issues/5742
v3.1.0
Fixed
- Fixed markup escaping edge cases https://github.com/Textualize/textual/pull/5697
- Fixed incorrect auto height in Collapsible https://github.com/Textualize/textual/pull/5703
- Fixed issue with keymaps and single-letter keys https://github.com/Textualize/textual/pull/5726
- Fixed
OptionListsize after removing or clearing options https://github.com/Textualize/textual/issues/5728 - Fixed footer / key panel not updating when keymaps are applied https://github.com/Textualize/textual/pull/5724
- Fixed alignment not being applied when there are min and max limits on dimensions https://github.com/Textualize/textual/pull/5732
- Fixed issues with OptionList scrollbar not updating https://github.com/Textualize/textual/pull/5736
- Fixed allow_focus method not overriding
can_focus()https://github.com/Textualize/textual/pull/5737 - Fixed overlap of Input / TextArea selection with arbitrary text selection https://github.com/Textualize/textual/pull/5739
Changed
- Collapsible title now accepts str, Text, or Content https://github.com/Textualize/textual/pull/5697
- Rich Text objects will be converted to Content in OptionList and other widgets https://github.com/Textualize/textual/pull/5712
- Textual will always convert dim attributes to RGB by default https://github.com/Textualize/textual/pull/5715
- Notifications will now use content markup (previously they used Console markup) https://github.com/Textualize/textual/pull/5719
Added
- Added
TEXTUAL_DIM_FACTORenv var to set the opacity of the 'dim' ANSI attribute https://github.com/Textualize/textual/pull/5715 notify()now accepts amarkupparameter to disable rendering the message as markup https://github.com/Textualize/textual/pull/5719- Added
Screen.text_selection_started_signalhttps://github.com/Textualize/textual/pull/5739 - Added
App.clear_selection()helper method to clear arbitrary text selection of active screen https://github.com/Textualize/textual/pull/5739
Textualize/textual-serve (textual-serve)
v1.1.2: Cut and paste added
Bumps textual.js to allow cut and pase.
python/typing_extensions (typing_extensions)
v4.13.2
- Fix
TypeErrorwhen taking the union oftyping_extensions.TypeAliasTypeand atyping.TypeAliasTypeon Python 3.12 and 3.13. Patch by Joren Hammudoglu. - Backport from CPython PR #132160
to avoid having user arguments shadowed in generated
__new__by@typing_extensions.deprecated. Patch by Victorien Plot.
aio-libs/yarl (yarl)
v1.20.0
======
(2025-04-16)
Features
-
Implemented support for the free-threaded build of CPython 3.13 -- by :user:
lysnikolaou.Related issues and pull requests on GitHub: :issue:
1456.
Packaging updates and notes for downstreams
-
Started building wheels for the free-threaded build of CPython 3.13 -- by :user:
lysnikolaou.Related issues and pull requests on GitHub: :issue:
1456.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
- [ ] If you want to rebase/retry this PR, check this box
This PR was generated by Mend Renovate. View the repository job log.