-
-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to type check an Application? #5864
Comments
Any other ideas or thoughts? Maybe it would be better if the app was passed directly to the handler, rather than an attribute of the request? Another detail: I think the above example would need careful consideration about setting covariant in |
Emm, from aiohttp import web
class MyApplication(web.Application, TypedDict):
db: DB
... In actual use, I used to do this to avoid this kind of problem: from typing import cast
def handler(request: Request):
db = cast(DB, request.app["db"]) Add redundant code for Mypy check. |
Not sure what you mean. This works for me at runtime and almost type checks successfully: from typing import Any, TypedDict
from aiohttp import web
class _AiohttpApplication(web.Application):
"""This would be in web.Application, not part of the user code."""
config: Any = {}
class ConfigDict(TypedDict):
db: str
class MyApp(_AiohttpApplication):
config: ConfigDict
class MyRequest(web.Request):
app: MyApp
#config_dict: ConfigDict # ??
def handler(request: MyRequest):
db = request.app.config["db"]
# reveal_type(db) # Revealed type is "builtins.str"
app = MyApp()
app.config["db"] = "MYDB"
app.add_routes((web.get("/", handler),))
web.run_app(app)
Curiously, I don't get an error when subclassing in the above example.
The real issue is that we can't subclass
Yep, but it's rather annoying to require users to add casts or extra annotations within every handler. That's a workaround rather than a solution. I think we can find something better. |
Thanks for your correction! I think the reason that the example could pass the check is that you tell the aiohttp/aiohttp/web_request.py Lines 887 to 892 in 3d73221
I run
I agree with this. I browsed the history of |
Yes, the only other way I've thought of, is with the app passed in as a second argument (which would change the signature of handlers, resulting in many more changes):
Yes, maybe there's a way to do this without inheritance, or restrict inheritance in some way that you can only define that one attribute... The subclass doesn't even change anything at runtime, as it's just an annotation. |
Some first thoughts: I'm not sure that inheritance should be the default way to use the Can we do something with generics? Very roughly something like this: from typing import TypeVar
from typing_extensions import TypedDict
class Database:
pass
class Context(TypedDict):
database: Database
T = TypeVar('T')
class Application:
def __init__(self, context: T):
self.context: T = context
database = Database()
context: Context = Context({'database': database})
app: Application = Application(context)
assert app.context['database'] is database This wouldn't address the |
That looks like a great idea. I was able to edit the class Application(MutableMapping[str, Any], Generic[_T]):
def __init__(...) -> None:
self.config: _T = {} # type: ignore I can then get this user code to type check (except the from typing import TypedDict
from aiohttp import web
class ConfigDict(TypedDict):
db: str
class MyRequest(web.Request):
app: web.Application[ConfigDict]
#config_dict: ConfigDict # ??
async def handler(request: MyRequest):
db = request.app.config["db"]
# reveal_type(db) # Revealed type is "builtins.str"
app: web.Application[ConfigDict] = web.Application()
app.config["db"] = "MYDB"
app.add_routes((web.get("/", handler),))
web.run_app(app) Though I can't seem to put an upper bound on the |
What do you think about making |
OK, tweaking
Allows me to write this user code:
I think that could be the solution then. I think there are probably some errors internal to aiohttp that will need to be looked at, but I'll take a look at putting together a PR later. |
OK, I think #5893 is ready, if anyone wants to take a look over the code. |
Cool, I'll check it out! |
#6498 is the new attempt |
Yes, can probably close this now. |
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.4 to 3.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/releases">aiohttp's releases</a>.</em></p> <blockquote> <h2>3.9.0</h2> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5864">#5864</a>)</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7188">#7188</a>)</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7056">#7056</a>)</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/2304">#2304</a>)</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3751">#3751</a>)</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3892">#3892</a>)</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5219">#5219</a>)</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5704">#5704</a>)</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5898">#5898</a>)</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/6594">#6594</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's changelog</a>.</em></p> <blockquote> <h1>3.9.0 (2023-11-18)</h1> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p><code>[#5864](aio-libs/aiohttp#5864) <https://github.com/aio-libs/aiohttp/issues/5864></code>_</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p><code>[#7188](aio-libs/aiohttp#7188) <https://github.com/aio-libs/aiohttp/issues/7188></code>_</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p><code>[#7056](aio-libs/aiohttp#7056) <https://github.com/aio-libs/aiohttp/issues/7056></code>_</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p><code>[#2304](aio-libs/aiohttp#2304) <https://github.com/aio-libs/aiohttp/issues/2304></code>_</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p><code>[#3751](aio-libs/aiohttp#3751) <https://github.com/aio-libs/aiohttp/issues/3751></code>_</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p><code>[#3892](aio-libs/aiohttp#3892) <https://github.com/aio-libs/aiohttp/issues/3892></code>_</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p><code>[#5219](aio-libs/aiohttp#5219) <https://github.com/aio-libs/aiohttp/issues/5219></code>_</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p><code>[#5704](aio-libs/aiohttp#5704) <https://github.com/aio-libs/aiohttp/issues/5704></code>_</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p><code>[#5898](aio-libs/aiohttp#5898) <https://github.com/aio-libs/aiohttp/issues/5898></code>_</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/aio-libs/aiohttp/commit/45b2c2c5773f0ee0d35fce8ff5716c78e91d9135"><code>45b2c2c</code></a> Release v3.9.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7843">#7843</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/5d59d3d6ac073a7db5e5d2234e03a67da5dec48a"><code>5d59d3d</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7840">#7840</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c806814a8aaad1661d75e6e2b8d619d6c44d331d"><code>c806814</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7838">#7838</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/e07a1bdaacfb83fda3ea8f668edacb36c6c125df"><code>e07a1bd</code></a> Use timestamp instead of datetime to achieve faster cookie expiration… (<a href="https://github.com/aio-libs/aiohttp/issues/7837">#7837</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/53476dfd4ef4fb1bb74a267714bbc39eda71b403"><code>53476df</code></a> Disallow arbitrary sequence types in version (<a href="https://github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7836">#7836</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d712f2f9c06f71d48e98374938813643503bc34"><code>9d712f2</code></a> Bump mypy from 1.6.1 to 1.7.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7833">#7833</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/63a805e1d8360fd388b6e6443cd9bdfb139e90ea"><code>63a805e</code></a> Bump python-on-whales from 0.66.0 to 0.67.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7832">#7832</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/cb94533dd50426809b7fcbb8bbad0ef17509de5c"><code>cb94533</code></a> Ensure writer is always reset on completion (<a href="https://github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7826">#7826</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c0f9017a9a34a7823e1ea9b9abb393bd6c10777b"><code>c0f9017</code></a> [PR <a href="https://github.com/aio-libs/aiohttp/issues/7821">#7821</a>/366ba40f backport][3.9] Only check origin if insecure scheme and th...</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d498ca1e632fe1976ea1dae0ea083b29b0cc4c0"><code>9d498ca</code></a> Bump sphinx from 7.1.1 to 7.2.6 (<a href="https://github.com/aio-libs/aiohttp/issues/7606">#7606</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aio-libs/aiohttp/compare/v3.8.4...v3.9.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.8.4&new-version=3.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
[![Mend Renovate logo banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [aiohttp](https://github.com/aio-libs/aiohttp) | `==3.8.6` -> `==3.9.0` | [![age](https://developer.mend.io/api/mc/badges/age/pypi/aiohttp/3.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/aiohttp/3.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/aiohttp/3.8.6/3.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/aiohttp/3.8.6/3.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>aio-libs/aiohttp (aiohttp)</summary> ### [`v3.9.0`](https://github.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#390-2023-11-18) [Compare Source](https://github.com/aio-libs/aiohttp/compare/v3.8.6...v3.9.0) \================== ## Features - Introduced `AppKey` for static typing support of `Application` storage. See https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config `#​5864 <https://github.com/aio-libs/aiohttp/issues/5864>`\_ - Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the `shutdown_timeout` parameter. -- by :user:`Dreamsorcerer`. See https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown `#​7188 <https://github.com/aio-libs/aiohttp/issues/7188>`\_ - Added `handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation>`\_ parameter to cancel web handler on client disconnection. -- by :user:`mosquito` This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks. `#​7056 <https://github.com/aio-libs/aiohttp/issues/7056>`\_ - Added support for setting response header parameters `max_line_size` and `max_field_size`. `#​2304 <https://github.com/aio-libs/aiohttp/issues/2304>`\_ - Added `auto_decompress` parameter to `ClientSession.request` to override `ClientSession._auto_decompress`. -- by :user:`Daste745` `#​3751 <https://github.com/aio-libs/aiohttp/issues/3751>`\_ - Changed `raise_for_status` to allow a coroutine. `#​3892 <https://github.com/aio-libs/aiohttp/issues/3892>`\_ - Added client brotli compression support (optional with runtime check). `#​5219 <https://github.com/aio-libs/aiohttp/issues/5219>`\_ - Added `client_max_size` to `BaseRequest.clone()` to allow overriding the request body size. -- :user:`anesabml`. `#​5704 <https://github.com/aio-libs/aiohttp/issues/5704>`\_ - Added a middleware type alias `aiohttp.typedefs.Middleware`. `#​5898 <https://github.com/aio-libs/aiohttp/issues/5898>`\_ - Exported `HTTPMove` which can be used to catch any redirection request that has a location -- :user:`dreamsorcerer`. `#​6594 <https://github.com/aio-libs/aiohttp/issues/6594>`\_ - Changed the `path` parameter in `web.run_app()` to accept a `pathlib.Path` object. `#​6839 <https://github.com/aio-libs/aiohttp/issues/6839>`\_ - Performance: Skipped filtering `CookieJar` when the jar is empty or all cookies have expired. `#​7819 <https://github.com/aio-libs/aiohttp/issues/7819>`\_ - Performance: Only check origin if insecure scheme and there are origins to treat as secure, in `CookieJar.filter_cookies()`. `#​7821 <https://github.com/aio-libs/aiohttp/issues/7821>`\_ - Performance: Used timestamp instead of `datetime` to achieve faster cookie expiration in `CookieJar`. `#​7824 <https://github.com/aio-libs/aiohttp/issues/7824>`\_ - Added support for passing a custom server name parameter to HTTPS connection. `#​7114 <https://github.com/aio-libs/aiohttp/issues/7114>`\_ - Added support for using Basic Auth credentials from :file:`.netrc` file when making HTTP requests with the :py:class:`~aiohttp.ClientSession` `trust_env` argument is set to `True`. -- by :user:`yuvipanda`. `#​7131 <https://github.com/aio-libs/aiohttp/issues/7131>`\_ - Turned access log into no-op when the logger is disabled. `#​7240 <https://github.com/aio-libs/aiohttp/issues/7240>`\_ - Added typing information to `RawResponseMessage`. -- by :user:`Gobot1234` `#​7365 <https://github.com/aio-libs/aiohttp/issues/7365>`\_ - Removed `async-timeout` for Python 3.11+ (replaced with `asyncio.timeout()` on newer releases). `#​7502 <https://github.com/aio-libs/aiohttp/issues/7502>`\_ - Added support for `brotlicffi` as an alternative to `brotli` (fixing Brotli support on PyPy). `#​7611 <https://github.com/aio-libs/aiohttp/issues/7611>`\_ - Added `WebSocketResponse.get_extra_info()` to access a protocol transport's extra info. `#​7078 <https://github.com/aio-libs/aiohttp/issues/7078>`\_ - Allow `link` argument to be set to None/empty in HTTP 451 exception. `#​7689 <https://github.com/aio-libs/aiohttp/issues/7689>`\_ ## Bugfixes - Implemented stripping the trailing dots from fully-qualified domain names in `Host` headers and TLS context when acting as an HTTP client. This allows the client to connect to URLs with FQDN host name like `https://example.com./`. \-- by :user:`martin-sucha`. `#​3636 <https://github.com/aio-libs/aiohttp/issues/3636>`\_ - Fixed client timeout not working when incoming data is always available without waiting. -- by :user:`Dreamsorcerer`. `#​5854 <https://github.com/aio-libs/aiohttp/issues/5854>`\_ - Fixed `readuntil` to work with a delimiter of more than one character. `#​6701 <https://github.com/aio-libs/aiohttp/issues/6701>`\_ - Added `__repr__` to `EmptyStreamReader` to avoid `AttributeError`. `#​6916 <https://github.com/aio-libs/aiohttp/issues/6916>`\_ - Fixed bug when using `TCPConnector` with `ttl_dns_cache=0`. `#​7014 <https://github.com/aio-libs/aiohttp/issues/7014>`\_ - Fixed response returned from expect handler being thrown away. -- by :user:`Dreamsorcerer` `#​7025 <https://github.com/aio-libs/aiohttp/issues/7025>`\_ - Avoided raising `UnicodeDecodeError` in multipart and in HTTP headers parsing. `#​7044 <https://github.com/aio-libs/aiohttp/issues/7044>`\_ - Changed `sock_read` timeout to start after writing has finished, avoiding read timeouts caused by an unfinished write. -- by :user:`dtrifiro` `#​7149 <https://github.com/aio-libs/aiohttp/issues/7149>`\_ - Fixed missing query in tracing method URLs when using `yarl` 1.9+. `#​7259 <https://github.com/aio-libs/aiohttp/issues/7259>`\_ - Changed max 32-bit timestamp to an aware datetime object, for consistency with the non-32-bit one, and to avoid a `DeprecationWarning` on Python 3.12. `#​7302 <https://github.com/aio-libs/aiohttp/issues/7302>`\_ - Fixed `EmptyStreamReader.iter_chunks()` never ending. -- by :user:`mind1m` `#​7616 <https://github.com/aio-libs/aiohttp/issues/7616>`\_ - Fixed a rare `RuntimeError: await wasn't used with future` exception. -- by :user:`stalkerg` `#​7785 <https://github.com/aio-libs/aiohttp/issues/7785>`\_ - Fixed issue with insufficient HTTP method and version validation. `#​7700 <https://github.com/aio-libs/aiohttp/issues/7700>`\_ - Added check to validate that absolute URIs have schemes. `#​7712 <https://github.com/aio-libs/aiohttp/issues/7712>`\_ - Fixed unhandled exception when Python HTTP parser encounters unpaired Unicode surrogates. `#​7715 <https://github.com/aio-libs/aiohttp/issues/7715>`\_ - Updated parser to disallow invalid characters in header field names and stop accepting LF as a request line separator. `#​7719 <https://github.com/aio-libs/aiohttp/issues/7719>`\_ - Fixed Python HTTP parser not treating 204/304/1xx as an empty body. `#​7755 <https://github.com/aio-libs/aiohttp/issues/7755>`\_ - Ensure empty body response for 1xx/204/304 per RFC 9112 sec 6.3. `#​7756 <https://github.com/aio-libs/aiohttp/issues/7756>`\_ - Fixed an issue when a client request is closed before completing a chunked payload. -- by :user:`Dreamsorcerer` `#​7764 <https://github.com/aio-libs/aiohttp/issues/7764>`\_ - Edge Case Handling for ResponseParser for missing reason value. `#​7776 <https://github.com/aio-libs/aiohttp/issues/7776>`\_ - Fixed `ClientWebSocketResponse.close_code` being erroneously set to `None` when there are concurrent async tasks receiving data and closing the connection. `#​7306 <https://github.com/aio-libs/aiohttp/issues/7306>`\_ - Added HTTP method validation. `#​6533 <https://github.com/aio-libs/aiohttp/issues/6533>`\_ - Fixed arbitrary sequence types being allowed to inject values via version parameter. -- by :user:`Dreamsorcerer` `#​7835 <https://github.com/aio-libs/aiohttp/issues/7835>`\_ - Performance: Fixed increase in latency with small messages from websocket compression changes. `#​7797 <https://github.com/aio-libs/aiohttp/issues/7797>`\_ ## Improved Documentation - Fixed the `ClientResponse.release`'s type in the doc. Changed from `comethod` to `method`. `#​5836 <https://github.com/aio-libs/aiohttp/issues/5836>`\_ - Added information on behavior of base_url parameter in `ClientSession`. `#​6647 <https://github.com/aio-libs/aiohttp/issues/6647>`\_ - Fixed `ClientResponseError` docs. `#​6700 <https://github.com/aio-libs/aiohttp/issues/6700>`\_ - Updated Redis code examples to follow the latest API. `#​6907 <https://github.com/aio-libs/aiohttp/issues/6907>`\_ - Added a note about possibly needing to update headers when using `on_response_prepare`. -- by :user:`Dreamsorcerer` `#​7283 <https://github.com/aio-libs/aiohttp/issues/7283>`\_ - Completed `trust_env` parameter description to honor `wss_proxy`, `ws_proxy` or `no_proxy` env. `#​7325 <https://github.com/aio-libs/aiohttp/issues/7325>`\_ - Expanded SSL documentation with more examples (e.g. how to use certifi). -- by :user:`Dreamsorcerer` `#​7334 <https://github.com/aio-libs/aiohttp/issues/7334>`\_ - Fix, update, and improve client exceptions documentation. `#​7733 <https://github.com/aio-libs/aiohttp/issues/7733>`\_ ## Deprecations and Removals - Added `shutdown_timeout` parameter to `BaseRunner`, while deprecating `shutdown_timeout` parameter from `BaseSite`. -- by :user:`Dreamsorcerer` `#​7718 <https://github.com/aio-libs/aiohttp/issues/7718>`\_ - Dropped Python 3.6 support. `#​6378 <https://github.com/aio-libs/aiohttp/issues/6378>`\_ - Dropped Python 3.7 support. -- by :user:`Dreamsorcerer` `#​7336 <https://github.com/aio-libs/aiohttp/issues/7336>`\_ - Removed support for abandoned `tokio` event loop. -- by :user:`Dreamsorcerer` `#​7281 <https://github.com/aio-libs/aiohttp/issues/7281>`\_ ## Misc - Made `print` argument in `run_app()` optional. `#​3690 <https://github.com/aio-libs/aiohttp/issues/3690>`\_ - Improved performance of `ceil_timeout` in some cases. `#​6316 <https://github.com/aio-libs/aiohttp/issues/6316>`\_ - Changed importing Gunicorn to happen on-demand, decreasing import time by ~53%. -- :user:`Dreamsorcerer` `#​6591 <https://github.com/aio-libs/aiohttp/issues/6591>`\_ - Improved import time by replacing `http.server` with `http.HTTPStatus`. `#​6903 <https://github.com/aio-libs/aiohttp/issues/6903>`\_ - Fixed annotation of `ssl` parameter to disallow `True`. -- by :user:`Dreamsorcerer`. `#​7335 <https://github.com/aio-libs/aiohttp/issues/7335>`\_ *** </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://developer.mend.io/github/allenporter/pyrainbird). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.6 to 3.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/releases">aiohttp's releases</a>.</em></p> <blockquote> <h2>3.9.0</h2> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5864">#5864</a>)</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7188">#7188</a>)</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7056">#7056</a>)</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/2304">#2304</a>)</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3751">#3751</a>)</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3892">#3892</a>)</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5219">#5219</a>)</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5704">#5704</a>)</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5898">#5898</a>)</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/6594">#6594</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's changelog</a>.</em></p> <blockquote> <h1>3.9.0 (2023-11-18)</h1> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p><code>[#5864](aio-libs/aiohttp#5864) <https://github.com/aio-libs/aiohttp/issues/5864></code>_</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p><code>[#7188](aio-libs/aiohttp#7188) <https://github.com/aio-libs/aiohttp/issues/7188></code>_</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p><code>[#7056](aio-libs/aiohttp#7056) <https://github.com/aio-libs/aiohttp/issues/7056></code>_</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p><code>[#2304](aio-libs/aiohttp#2304) <https://github.com/aio-libs/aiohttp/issues/2304></code>_</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p><code>[#3751](aio-libs/aiohttp#3751) <https://github.com/aio-libs/aiohttp/issues/3751></code>_</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p><code>[#3892](aio-libs/aiohttp#3892) <https://github.com/aio-libs/aiohttp/issues/3892></code>_</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p><code>[#5219](aio-libs/aiohttp#5219) <https://github.com/aio-libs/aiohttp/issues/5219></code>_</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p><code>[#5704](aio-libs/aiohttp#5704) <https://github.com/aio-libs/aiohttp/issues/5704></code>_</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p><code>[#5898](aio-libs/aiohttp#5898) <https://github.com/aio-libs/aiohttp/issues/5898></code>_</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/aio-libs/aiohttp/commit/45b2c2c5773f0ee0d35fce8ff5716c78e91d9135"><code>45b2c2c</code></a> Release v3.9.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7843">#7843</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/5d59d3d6ac073a7db5e5d2234e03a67da5dec48a"><code>5d59d3d</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7840">#7840</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c806814a8aaad1661d75e6e2b8d619d6c44d331d"><code>c806814</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7838">#7838</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/e07a1bdaacfb83fda3ea8f668edacb36c6c125df"><code>e07a1bd</code></a> Use timestamp instead of datetime to achieve faster cookie expiration… (<a href="https://github.com/aio-libs/aiohttp/issues/7837">#7837</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/53476dfd4ef4fb1bb74a267714bbc39eda71b403"><code>53476df</code></a> Disallow arbitrary sequence types in version (<a href="https://github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7836">#7836</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d712f2f9c06f71d48e98374938813643503bc34"><code>9d712f2</code></a> Bump mypy from 1.6.1 to 1.7.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7833">#7833</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/63a805e1d8360fd388b6e6443cd9bdfb139e90ea"><code>63a805e</code></a> Bump python-on-whales from 0.66.0 to 0.67.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7832">#7832</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/cb94533dd50426809b7fcbb8bbad0ef17509de5c"><code>cb94533</code></a> Ensure writer is always reset on completion (<a href="https://github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7826">#7826</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c0f9017a9a34a7823e1ea9b9abb393bd6c10777b"><code>c0f9017</code></a> [PR <a href="https://github.com/aio-libs/aiohttp/issues/7821">#7821</a>/366ba40f backport][3.9] Only check origin if insecure scheme and th...</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d498ca1e632fe1976ea1dae0ea083b29b0cc4c0"><code>9d498ca</code></a> Bump sphinx from 7.1.1 to 7.2.6 (<a href="https://github.com/aio-libs/aiohttp/issues/7606">#7606</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aio-libs/aiohttp/compare/v3.8.6...v3.9.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.8.6&new-version=3.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.6 to 3.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/releases">aiohttp's releases</a>.</em></p> <blockquote> <h2>3.9.0</h2> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5864">#5864</a>)</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7188">#7188</a>)</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7056">#7056</a>)</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/2304">#2304</a>)</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3751">#3751</a>)</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3892">#3892</a>)</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5219">#5219</a>)</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5704">#5704</a>)</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5898">#5898</a>)</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/6594">#6594</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's changelog</a>.</em></p> <blockquote> <h1>3.9.0 (2023-11-18)</h1> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p><code>[#5864](aio-libs/aiohttp#5864) <https://github.com/aio-libs/aiohttp/issues/5864></code>_</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p><code>[#7188](aio-libs/aiohttp#7188) <https://github.com/aio-libs/aiohttp/issues/7188></code>_</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p><code>[#7056](aio-libs/aiohttp#7056) <https://github.com/aio-libs/aiohttp/issues/7056></code>_</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p><code>[#2304](aio-libs/aiohttp#2304) <https://github.com/aio-libs/aiohttp/issues/2304></code>_</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p><code>[#3751](aio-libs/aiohttp#3751) <https://github.com/aio-libs/aiohttp/issues/3751></code>_</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p><code>[#3892](aio-libs/aiohttp#3892) <https://github.com/aio-libs/aiohttp/issues/3892></code>_</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p><code>[#5219](aio-libs/aiohttp#5219) <https://github.com/aio-libs/aiohttp/issues/5219></code>_</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p><code>[#5704](aio-libs/aiohttp#5704) <https://github.com/aio-libs/aiohttp/issues/5704></code>_</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p><code>[#5898](aio-libs/aiohttp#5898) <https://github.com/aio-libs/aiohttp/issues/5898></code>_</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/aio-libs/aiohttp/commit/45b2c2c5773f0ee0d35fce8ff5716c78e91d9135"><code>45b2c2c</code></a> Release v3.9.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7843">#7843</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/5d59d3d6ac073a7db5e5d2234e03a67da5dec48a"><code>5d59d3d</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7840">#7840</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c806814a8aaad1661d75e6e2b8d619d6c44d331d"><code>c806814</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7838">#7838</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/e07a1bdaacfb83fda3ea8f668edacb36c6c125df"><code>e07a1bd</code></a> Use timestamp instead of datetime to achieve faster cookie expiration… (<a href="https://github.com/aio-libs/aiohttp/issues/7837">#7837</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/53476dfd4ef4fb1bb74a267714bbc39eda71b403"><code>53476df</code></a> Disallow arbitrary sequence types in version (<a href="https://github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7836">#7836</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d712f2f9c06f71d48e98374938813643503bc34"><code>9d712f2</code></a> Bump mypy from 1.6.1 to 1.7.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7833">#7833</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/63a805e1d8360fd388b6e6443cd9bdfb139e90ea"><code>63a805e</code></a> Bump python-on-whales from 0.66.0 to 0.67.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7832">#7832</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/cb94533dd50426809b7fcbb8bbad0ef17509de5c"><code>cb94533</code></a> Ensure writer is always reset on completion (<a href="https://github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7826">#7826</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c0f9017a9a34a7823e1ea9b9abb393bd6c10777b"><code>c0f9017</code></a> [PR <a href="https://github.com/aio-libs/aiohttp/issues/7821">#7821</a>/366ba40f backport][3.9] Only check origin if insecure scheme and th...</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d498ca1e632fe1976ea1dae0ea083b29b0cc4c0"><code>9d498ca</code></a> Bump sphinx from 7.1.1 to 7.2.6 (<a href="https://github.com/aio-libs/aiohttp/issues/7606">#7606</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aio-libs/aiohttp/compare/v3.8.6...v3.9.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.8.6&new-version=3.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/IntrinsicLabsAI/intrinsic-model-server/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.6 to 3.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/releases">aiohttp's releases</a>.</em></p> <blockquote> <h2>3.9.0</h2> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5864">#5864</a>)</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7188">#7188</a>)</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7056">#7056</a>)</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/2304">#2304</a>)</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3751">#3751</a>)</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3892">#3892</a>)</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5219">#5219</a>)</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5704">#5704</a>)</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5898">#5898</a>)</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/6594">#6594</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's changelog</a>.</em></p> <blockquote> <h1>3.9.0 (2023-11-18)</h1> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p><code>[#5864](aio-libs/aiohttp#5864) <https://github.com/aio-libs/aiohttp/issues/5864></code>_</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p><code>[#7188](aio-libs/aiohttp#7188) <https://github.com/aio-libs/aiohttp/issues/7188></code>_</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p><code>[#7056](aio-libs/aiohttp#7056) <https://github.com/aio-libs/aiohttp/issues/7056></code>_</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p><code>[#2304](aio-libs/aiohttp#2304) <https://github.com/aio-libs/aiohttp/issues/2304></code>_</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p><code>[#3751](aio-libs/aiohttp#3751) <https://github.com/aio-libs/aiohttp/issues/3751></code>_</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p><code>[#3892](aio-libs/aiohttp#3892) <https://github.com/aio-libs/aiohttp/issues/3892></code>_</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p><code>[#5219](aio-libs/aiohttp#5219) <https://github.com/aio-libs/aiohttp/issues/5219></code>_</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p><code>[#5704](aio-libs/aiohttp#5704) <https://github.com/aio-libs/aiohttp/issues/5704></code>_</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p><code>[#5898](aio-libs/aiohttp#5898) <https://github.com/aio-libs/aiohttp/issues/5898></code>_</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/aio-libs/aiohttp/commit/45b2c2c5773f0ee0d35fce8ff5716c78e91d9135"><code>45b2c2c</code></a> Release v3.9.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7843">#7843</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/5d59d3d6ac073a7db5e5d2234e03a67da5dec48a"><code>5d59d3d</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7840">#7840</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c806814a8aaad1661d75e6e2b8d619d6c44d331d"><code>c806814</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7838">#7838</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/e07a1bdaacfb83fda3ea8f668edacb36c6c125df"><code>e07a1bd</code></a> Use timestamp instead of datetime to achieve faster cookie expiration… (<a href="https://github.com/aio-libs/aiohttp/issues/7837">#7837</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/53476dfd4ef4fb1bb74a267714bbc39eda71b403"><code>53476df</code></a> Disallow arbitrary sequence types in version (<a href="https://github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7836">#7836</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d712f2f9c06f71d48e98374938813643503bc34"><code>9d712f2</code></a> Bump mypy from 1.6.1 to 1.7.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7833">#7833</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/63a805e1d8360fd388b6e6443cd9bdfb139e90ea"><code>63a805e</code></a> Bump python-on-whales from 0.66.0 to 0.67.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7832">#7832</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/cb94533dd50426809b7fcbb8bbad0ef17509de5c"><code>cb94533</code></a> Ensure writer is always reset on completion (<a href="https://github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7826">#7826</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c0f9017a9a34a7823e1ea9b9abb393bd6c10777b"><code>c0f9017</code></a> [PR <a href="https://github.com/aio-libs/aiohttp/issues/7821">#7821</a>/366ba40f backport][3.9] Only check origin if insecure scheme and th...</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d498ca1e632fe1976ea1dae0ea083b29b0cc4c0"><code>9d498ca</code></a> Bump sphinx from 7.1.1 to 7.2.6 (<a href="https://github.com/aio-libs/aiohttp/issues/7606">#7606</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aio-libs/aiohttp/compare/v3.8.6...v3.9.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.8.6&new-version=3.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/fynnfluegge/doc-comments-ai/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.6 to 3.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/releases">aiohttp's releases</a>.</em></p> <blockquote> <h2>3.9.0</h2> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5864">#5864</a>)</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7188">#7188</a>)</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7056">#7056</a>)</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/2304">#2304</a>)</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3751">#3751</a>)</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3892">#3892</a>)</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5219">#5219</a>)</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5704">#5704</a>)</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5898">#5898</a>)</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/6594">#6594</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's changelog</a>.</em></p> <blockquote> <h1>3.9.0 (2023-11-18)</h1> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p><code>[#5864](aio-libs/aiohttp#5864) <https://github.com/aio-libs/aiohttp/issues/5864></code>_</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p><code>[#7188](aio-libs/aiohttp#7188) <https://github.com/aio-libs/aiohttp/issues/7188></code>_</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p><code>[#7056](aio-libs/aiohttp#7056) <https://github.com/aio-libs/aiohttp/issues/7056></code>_</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p><code>[#2304](aio-libs/aiohttp#2304) <https://github.com/aio-libs/aiohttp/issues/2304></code>_</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p><code>[#3751](aio-libs/aiohttp#3751) <https://github.com/aio-libs/aiohttp/issues/3751></code>_</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p><code>[#3892](aio-libs/aiohttp#3892) <https://github.com/aio-libs/aiohttp/issues/3892></code>_</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p><code>[#5219](aio-libs/aiohttp#5219) <https://github.com/aio-libs/aiohttp/issues/5219></code>_</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p><code>[#5704](aio-libs/aiohttp#5704) <https://github.com/aio-libs/aiohttp/issues/5704></code>_</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p><code>[#5898](aio-libs/aiohttp#5898) <https://github.com/aio-libs/aiohttp/issues/5898></code>_</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/aio-libs/aiohttp/commit/45b2c2c5773f0ee0d35fce8ff5716c78e91d9135"><code>45b2c2c</code></a> Release v3.9.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7843">#7843</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/5d59d3d6ac073a7db5e5d2234e03a67da5dec48a"><code>5d59d3d</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7840">#7840</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c806814a8aaad1661d75e6e2b8d619d6c44d331d"><code>c806814</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7838">#7838</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/e07a1bdaacfb83fda3ea8f668edacb36c6c125df"><code>e07a1bd</code></a> Use timestamp instead of datetime to achieve faster cookie expiration… (<a href="https://github.com/aio-libs/aiohttp/issues/7837">#7837</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/53476dfd4ef4fb1bb74a267714bbc39eda71b403"><code>53476df</code></a> Disallow arbitrary sequence types in version (<a href="https://github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7836">#7836</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d712f2f9c06f71d48e98374938813643503bc34"><code>9d712f2</code></a> Bump mypy from 1.6.1 to 1.7.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7833">#7833</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/63a805e1d8360fd388b6e6443cd9bdfb139e90ea"><code>63a805e</code></a> Bump python-on-whales from 0.66.0 to 0.67.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7832">#7832</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/cb94533dd50426809b7fcbb8bbad0ef17509de5c"><code>cb94533</code></a> Ensure writer is always reset on completion (<a href="https://github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7826">#7826</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c0f9017a9a34a7823e1ea9b9abb393bd6c10777b"><code>c0f9017</code></a> [PR <a href="https://github.com/aio-libs/aiohttp/issues/7821">#7821</a>/366ba40f backport][3.9] Only check origin if insecure scheme and th...</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d498ca1e632fe1976ea1dae0ea083b29b0cc4c0"><code>9d498ca</code></a> Bump sphinx from 7.1.1 to 7.2.6 (<a href="https://github.com/aio-libs/aiohttp/issues/7606">#7606</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aio-libs/aiohttp/compare/v3.8.6...v3.9.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.8.6&new-version=3.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/fynnfluegge/codeqai/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…3436) Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.6 to 3.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/releases">aiohttp's releases</a>.</em></p> <blockquote> <h2>3.9.0</h2> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5864">#5864</a>)</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7188">#7188</a>)</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7056">#7056</a>)</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/2304">#2304</a>)</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3751">#3751</a>)</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3892">#3892</a>)</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5219">#5219</a>)</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5704">#5704</a>)</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5898">#5898</a>)</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/6594">#6594</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's changelog</a>.</em></p> <blockquote> <h1>3.9.0 (2023-11-18)</h1> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p><code>[#5864](aio-libs/aiohttp#5864) <https://github.com/aio-libs/aiohttp/issues/5864></code>_</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p><code>[#7188](aio-libs/aiohttp#7188) <https://github.com/aio-libs/aiohttp/issues/7188></code>_</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p><code>[#7056](aio-libs/aiohttp#7056) <https://github.com/aio-libs/aiohttp/issues/7056></code>_</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p><code>[#2304](aio-libs/aiohttp#2304) <https://github.com/aio-libs/aiohttp/issues/2304></code>_</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p><code>[#3751](aio-libs/aiohttp#3751) <https://github.com/aio-libs/aiohttp/issues/3751></code>_</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p><code>[#3892](aio-libs/aiohttp#3892) <https://github.com/aio-libs/aiohttp/issues/3892></code>_</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p><code>[#5219](aio-libs/aiohttp#5219) <https://github.com/aio-libs/aiohttp/issues/5219></code>_</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p><code>[#5704](aio-libs/aiohttp#5704) <https://github.com/aio-libs/aiohttp/issues/5704></code>_</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p><code>[#5898](aio-libs/aiohttp#5898) <https://github.com/aio-libs/aiohttp/issues/5898></code>_</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/aio-libs/aiohttp/commit/45b2c2c5773f0ee0d35fce8ff5716c78e91d9135"><code>45b2c2c</code></a> Release v3.9.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7843">#7843</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/5d59d3d6ac073a7db5e5d2234e03a67da5dec48a"><code>5d59d3d</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7840">#7840</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c806814a8aaad1661d75e6e2b8d619d6c44d331d"><code>c806814</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7838">#7838</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/e07a1bdaacfb83fda3ea8f668edacb36c6c125df"><code>e07a1bd</code></a> Use timestamp instead of datetime to achieve faster cookie expiration… (<a href="https://github.com/aio-libs/aiohttp/issues/7837">#7837</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/53476dfd4ef4fb1bb74a267714bbc39eda71b403"><code>53476df</code></a> Disallow arbitrary sequence types in version (<a href="https://github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7836">#7836</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d712f2f9c06f71d48e98374938813643503bc34"><code>9d712f2</code></a> Bump mypy from 1.6.1 to 1.7.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7833">#7833</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/63a805e1d8360fd388b6e6443cd9bdfb139e90ea"><code>63a805e</code></a> Bump python-on-whales from 0.66.0 to 0.67.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7832">#7832</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/cb94533dd50426809b7fcbb8bbad0ef17509de5c"><code>cb94533</code></a> Ensure writer is always reset on completion (<a href="https://github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7826">#7826</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c0f9017a9a34a7823e1ea9b9abb393bd6c10777b"><code>c0f9017</code></a> [PR <a href="https://github.com/aio-libs/aiohttp/issues/7821">#7821</a>/366ba40f backport][3.9] Only check origin if insecure scheme and th...</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d498ca1e632fe1976ea1dae0ea083b29b0cc4c0"><code>9d498ca</code></a> Bump sphinx from 7.1.1 to 7.2.6 (<a href="https://github.com/aio-libs/aiohttp/issues/7606">#7606</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aio-libs/aiohttp/compare/v3.8.6...v3.9.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.8.6&new-version=3.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/grafana/oncall/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.6 to 3.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/releases">aiohttp's releases</a>.</em></p> <blockquote> <h2>3.9.0</h2> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5864">#5864</a>)</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7188">#7188</a>)</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7056">#7056</a>)</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/2304">#2304</a>)</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3751">#3751</a>)</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3892">#3892</a>)</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5219">#5219</a>)</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5704">#5704</a>)</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5898">#5898</a>)</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/6594">#6594</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's changelog</a>.</em></p> <blockquote> <h1>3.9.0 (2023-11-18)</h1> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p><code>[#5864](aio-libs/aiohttp#5864) <https://github.com/aio-libs/aiohttp/issues/5864></code>_</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p><code>[#7188](aio-libs/aiohttp#7188) <https://github.com/aio-libs/aiohttp/issues/7188></code>_</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p><code>[#7056](aio-libs/aiohttp#7056) <https://github.com/aio-libs/aiohttp/issues/7056></code>_</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p><code>[#2304](aio-libs/aiohttp#2304) <https://github.com/aio-libs/aiohttp/issues/2304></code>_</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p><code>[#3751](aio-libs/aiohttp#3751) <https://github.com/aio-libs/aiohttp/issues/3751></code>_</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p><code>[#3892](aio-libs/aiohttp#3892) <https://github.com/aio-libs/aiohttp/issues/3892></code>_</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p><code>[#5219](aio-libs/aiohttp#5219) <https://github.com/aio-libs/aiohttp/issues/5219></code>_</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p><code>[#5704](aio-libs/aiohttp#5704) <https://github.com/aio-libs/aiohttp/issues/5704></code>_</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p><code>[#5898](aio-libs/aiohttp#5898) <https://github.com/aio-libs/aiohttp/issues/5898></code>_</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/aio-libs/aiohttp/commit/45b2c2c5773f0ee0d35fce8ff5716c78e91d9135"><code>45b2c2c</code></a> Release v3.9.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7843">#7843</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/5d59d3d6ac073a7db5e5d2234e03a67da5dec48a"><code>5d59d3d</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7840">#7840</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c806814a8aaad1661d75e6e2b8d619d6c44d331d"><code>c806814</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7838">#7838</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/e07a1bdaacfb83fda3ea8f668edacb36c6c125df"><code>e07a1bd</code></a> Use timestamp instead of datetime to achieve faster cookie expiration… (<a href="https://github.com/aio-libs/aiohttp/issues/7837">#7837</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/53476dfd4ef4fb1bb74a267714bbc39eda71b403"><code>53476df</code></a> Disallow arbitrary sequence types in version (<a href="https://github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7836">#7836</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d712f2f9c06f71d48e98374938813643503bc34"><code>9d712f2</code></a> Bump mypy from 1.6.1 to 1.7.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7833">#7833</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/63a805e1d8360fd388b6e6443cd9bdfb139e90ea"><code>63a805e</code></a> Bump python-on-whales from 0.66.0 to 0.67.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7832">#7832</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/cb94533dd50426809b7fcbb8bbad0ef17509de5c"><code>cb94533</code></a> Ensure writer is always reset on completion (<a href="https://github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7826">#7826</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c0f9017a9a34a7823e1ea9b9abb393bd6c10777b"><code>c0f9017</code></a> [PR <a href="https://github.com/aio-libs/aiohttp/issues/7821">#7821</a>/366ba40f backport][3.9] Only check origin if insecure scheme and th...</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d498ca1e632fe1976ea1dae0ea083b29b0cc4c0"><code>9d498ca</code></a> Bump sphinx from 7.1.1 to 7.2.6 (<a href="https://github.com/aio-libs/aiohttp/issues/7606">#7606</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aio-libs/aiohttp/compare/v3.8.6...v3.9.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.8.6&new-version=3.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/langchain-ai/langsmith-sdk/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: William FH <13333726+hinthornw@users.noreply.github.com>
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.5 to 3.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/releases">aiohttp's releases</a>.</em></p> <blockquote> <h2>3.9.0</h2> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5864">#5864</a>)</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7188">#7188</a>)</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7056">#7056</a>)</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/2304">#2304</a>)</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3751">#3751</a>)</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3892">#3892</a>)</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5219">#5219</a>)</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5704">#5704</a>)</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5898">#5898</a>)</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/6594">#6594</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's changelog</a>.</em></p> <blockquote> <h1>3.9.0 (2023-11-18)</h1> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p><code>[#5864](aio-libs/aiohttp#5864) <https://github.com/aio-libs/aiohttp/issues/5864></code>_</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p><code>[#7188](aio-libs/aiohttp#7188) <https://github.com/aio-libs/aiohttp/issues/7188></code>_</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p><code>[#7056](aio-libs/aiohttp#7056) <https://github.com/aio-libs/aiohttp/issues/7056></code>_</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p><code>[#2304](aio-libs/aiohttp#2304) <https://github.com/aio-libs/aiohttp/issues/2304></code>_</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p><code>[#3751](aio-libs/aiohttp#3751) <https://github.com/aio-libs/aiohttp/issues/3751></code>_</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p><code>[#3892](aio-libs/aiohttp#3892) <https://github.com/aio-libs/aiohttp/issues/3892></code>_</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p><code>[#5219](aio-libs/aiohttp#5219) <https://github.com/aio-libs/aiohttp/issues/5219></code>_</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p><code>[#5704](aio-libs/aiohttp#5704) <https://github.com/aio-libs/aiohttp/issues/5704></code>_</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p><code>[#5898](aio-libs/aiohttp#5898) <https://github.com/aio-libs/aiohttp/issues/5898></code>_</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/aio-libs/aiohttp/commit/45b2c2c5773f0ee0d35fce8ff5716c78e91d9135"><code>45b2c2c</code></a> Release v3.9.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7843">#7843</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/5d59d3d6ac073a7db5e5d2234e03a67da5dec48a"><code>5d59d3d</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7840">#7840</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c806814a8aaad1661d75e6e2b8d619d6c44d331d"><code>c806814</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7838">#7838</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/e07a1bdaacfb83fda3ea8f668edacb36c6c125df"><code>e07a1bd</code></a> Use timestamp instead of datetime to achieve faster cookie expiration… (<a href="https://github.com/aio-libs/aiohttp/issues/7837">#7837</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/53476dfd4ef4fb1bb74a267714bbc39eda71b403"><code>53476df</code></a> Disallow arbitrary sequence types in version (<a href="https://github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7836">#7836</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d712f2f9c06f71d48e98374938813643503bc34"><code>9d712f2</code></a> Bump mypy from 1.6.1 to 1.7.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7833">#7833</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/63a805e1d8360fd388b6e6443cd9bdfb139e90ea"><code>63a805e</code></a> Bump python-on-whales from 0.66.0 to 0.67.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7832">#7832</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/cb94533dd50426809b7fcbb8bbad0ef17509de5c"><code>cb94533</code></a> Ensure writer is always reset on completion (<a href="https://github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7826">#7826</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c0f9017a9a34a7823e1ea9b9abb393bd6c10777b"><code>c0f9017</code></a> [PR <a href="https://github.com/aio-libs/aiohttp/issues/7821">#7821</a>/366ba40f backport][3.9] Only check origin if insecure scheme and th...</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d498ca1e632fe1976ea1dae0ea083b29b0cc4c0"><code>9d498ca</code></a> Bump sphinx from 7.1.1 to 7.2.6 (<a href="https://github.com/aio-libs/aiohttp/issues/7606">#7606</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aio-libs/aiohttp/compare/v3.8.5...v3.9.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.8.5&new-version=3.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/CodeGrind-Team/CodeGrind-Bot/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.6 to 3.9.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/releases">aiohttp's releases</a>.</em></p> <blockquote> <h2>3.9.1</h2> <h2>Bugfixes</h2> <ul> <li> <p>Fixed importing aiohttp under PyPy on Windows.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7848">#7848</a>)</p> </li> <li> <p>Fixed async concurrency safety in websocket compressor.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7865">#7865</a>)</p> </li> <li> <p>Fixed <code>ClientResponse.close()</code> releasing the connection instead of closing.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7869">#7869</a>)</p> </li> <li> <p>Fixed a regression where connection may get closed during upgrade. -- by :user:<code>Dreamsorcerer</code></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7879">#7879</a>)</p> </li> <li> <p>Fixed messages being reported as upgraded without an Upgrade header in Python parser. -- by :user:<code>Dreamsorcerer</code></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7895">#7895</a>)</p> </li> </ul> <hr /> <h2>3.9.0</h2> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5864">#5864</a>)</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7188">#7188</a>)</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7056">#7056</a>)</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's changelog</a>.</em></p> <blockquote> <h1>3.9.1 (2023-11-26)</h1> <h2>Bugfixes</h2> <ul> <li> <p>Fixed importing aiohttp under PyPy on Windows.</p> <p><code>[#7848](aio-libs/aiohttp#7848) <https://github.com/aio-libs/aiohttp/issues/7848></code>_</p> </li> <li> <p>Fixed async concurrency safety in websocket compressor.</p> <p><code>[#7865](aio-libs/aiohttp#7865) <https://github.com/aio-libs/aiohttp/issues/7865></code>_</p> </li> <li> <p>Fixed <code>ClientResponse.close()</code> releasing the connection instead of closing.</p> <p><code>[#7869](aio-libs/aiohttp#7869) <https://github.com/aio-libs/aiohttp/issues/7869></code>_</p> </li> <li> <p>Fixed a regression where connection may get closed during upgrade. -- by :user:<code>Dreamsorcerer</code></p> <p><code>[#7879](aio-libs/aiohttp#7879) <https://github.com/aio-libs/aiohttp/issues/7879></code>_</p> </li> <li> <p>Fixed messages being reported as upgraded without an Upgrade header in Python parser. -- by :user:<code>Dreamsorcerer</code></p> <p><code>[#7895](aio-libs/aiohttp#7895) <https://github.com/aio-libs/aiohttp/issues/7895></code>_</p> </li> </ul> <hr /> <h1>3.9.0 (2023-11-18)</h1> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p><code>[#5864](aio-libs/aiohttp#5864) <https://github.com/aio-libs/aiohttp/issues/5864></code>_</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p><code>[#7188](aio-libs/aiohttp#7188) <https://github.com/aio-libs/aiohttp/issues/7188></code>_</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/aio-libs/aiohttp/commit/6333c026422c6b0fe57ff63cde4104e2d00f47f4"><code>6333c02</code></a> Release v3.9.1 (<a href="https://github.com/aio-libs/aiohttp/issues/7911">#7911</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9dbd273093d6af6f5e1481816b05a7192860b440"><code>9dbd273</code></a> [PR <a href="https://github.com/aio-libs/aiohttp/issues/7673">#7673</a>/aa7d1a8f backport][3.9] Document release process (<a href="https://github.com/aio-libs/aiohttp/issues/7909">#7909</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/dd175b6b89564dc74fba0692a8a5f9a9b38e528a"><code>dd175b6</code></a> Fix regression with connection upgrade (<a href="https://github.com/aio-libs/aiohttp/issues/7879">#7879</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7908">#7908</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/946523d6380bd79e13146557432f46f6f9bbd53f"><code>946523d</code></a> Fix flaky websocket test (<a href="https://github.com/aio-libs/aiohttp/issues/7902">#7902</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7904">#7904</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/ddc2a26c9e0c43fd1229e4424f2a30d1b10ced13"><code>ddc2a26</code></a> [PR <a href="https://github.com/aio-libs/aiohttp/issues/7896">#7896</a>/9a7cfe77 backport][3.9] Fix some flaky tests (<a href="https://github.com/aio-libs/aiohttp/issues/7900">#7900</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/2ae4d6ffdd015f622bfb75dee98ad629240cccc4"><code>2ae4d6f</code></a> Message is not upgraded if Upgrade header is missing (<a href="https://github.com/aio-libs/aiohttp/issues/7895">#7895</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7898">#7898</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/bb111012706d3ef9edc525be3d8d4df410ad847f"><code>bb11101</code></a> Restore async concurrency safety to websocket compressor (<a href="https://github.com/aio-libs/aiohttp/issues/7865">#7865</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7889">#7889</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/6dd0122417f00ed4b2b353226a1b164b6463a245"><code>6dd0122</code></a> Update dependabot.yml (<a href="https://github.com/aio-libs/aiohttp/issues/7888">#7888</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/41a9f1f5b9b2630b1f4b971811c7ef8f016262fb"><code>41a9f1f</code></a> Bump mypy from 1.7.0 to 1.7.1 (<a href="https://github.com/aio-libs/aiohttp/issues/7882">#7882</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/a04970150c6ce9fda22c9f63d947845f79148b4c"><code>a049701</code></a> Fix usage of proxy.py in test_proxy_functional (<a href="https://github.com/aio-libs/aiohttp/issues/7773">#7773</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7876">#7876</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aio-libs/aiohttp/compare/v3.8.6...v3.9.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.8.6&new-version=3.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.6 to 3.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/releases">aiohttp's releases</a>.</em></p> <blockquote> <h2>3.9.0</h2> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5864">#5864</a>)</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7188">#7188</a>)</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7056">#7056</a>)</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/2304">#2304</a>)</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3751">#3751</a>)</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3892">#3892</a>)</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5219">#5219</a>)</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5704">#5704</a>)</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5898">#5898</a>)</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/6594">#6594</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's changelog</a>.</em></p> <blockquote> <h1>3.9.0 (2023-11-18)</h1> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p><code>[#5864](aio-libs/aiohttp#5864) <https://github.com/aio-libs/aiohttp/issues/5864></code>_</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p><code>[#7188](aio-libs/aiohttp#7188) <https://github.com/aio-libs/aiohttp/issues/7188></code>_</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p><code>[#7056](aio-libs/aiohttp#7056) <https://github.com/aio-libs/aiohttp/issues/7056></code>_</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p><code>[#2304](aio-libs/aiohttp#2304) <https://github.com/aio-libs/aiohttp/issues/2304></code>_</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p><code>[#3751](aio-libs/aiohttp#3751) <https://github.com/aio-libs/aiohttp/issues/3751></code>_</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p><code>[#3892](aio-libs/aiohttp#3892) <https://github.com/aio-libs/aiohttp/issues/3892></code>_</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p><code>[#5219](aio-libs/aiohttp#5219) <https://github.com/aio-libs/aiohttp/issues/5219></code>_</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p><code>[#5704](aio-libs/aiohttp#5704) <https://github.com/aio-libs/aiohttp/issues/5704></code>_</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p><code>[#5898](aio-libs/aiohttp#5898) <https://github.com/aio-libs/aiohttp/issues/5898></code>_</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/aio-libs/aiohttp/commit/45b2c2c5773f0ee0d35fce8ff5716c78e91d9135"><code>45b2c2c</code></a> Release v3.9.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7843">#7843</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/5d59d3d6ac073a7db5e5d2234e03a67da5dec48a"><code>5d59d3d</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7840">#7840</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c806814a8aaad1661d75e6e2b8d619d6c44d331d"><code>c806814</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7838">#7838</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/e07a1bdaacfb83fda3ea8f668edacb36c6c125df"><code>e07a1bd</code></a> Use timestamp instead of datetime to achieve faster cookie expiration… (<a href="https://github.com/aio-libs/aiohttp/issues/7837">#7837</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/53476dfd4ef4fb1bb74a267714bbc39eda71b403"><code>53476df</code></a> Disallow arbitrary sequence types in version (<a href="https://github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7836">#7836</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d712f2f9c06f71d48e98374938813643503bc34"><code>9d712f2</code></a> Bump mypy from 1.6.1 to 1.7.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7833">#7833</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/63a805e1d8360fd388b6e6443cd9bdfb139e90ea"><code>63a805e</code></a> Bump python-on-whales from 0.66.0 to 0.67.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7832">#7832</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/cb94533dd50426809b7fcbb8bbad0ef17509de5c"><code>cb94533</code></a> Ensure writer is always reset on completion (<a href="https://github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7826">#7826</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c0f9017a9a34a7823e1ea9b9abb393bd6c10777b"><code>c0f9017</code></a> [PR <a href="https://github.com/aio-libs/aiohttp/issues/7821">#7821</a>/366ba40f backport][3.9] Only check origin if insecure scheme and th...</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d498ca1e632fe1976ea1dae0ea083b29b0cc4c0"><code>9d498ca</code></a> Bump sphinx from 7.1.1 to 7.2.6 (<a href="https://github.com/aio-libs/aiohttp/issues/7606">#7606</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aio-libs/aiohttp/compare/v3.8.6...v3.9.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.8.6&new-version=3.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/kingychiu/target-permutation-importances/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.5 to 3.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/releases">aiohttp's releases</a>.</em></p> <blockquote> <h2>3.9.0</h2> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5864">#5864</a>)</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7188">#7188</a>)</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7056">#7056</a>)</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/2304">#2304</a>)</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3751">#3751</a>)</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3892">#3892</a>)</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5219">#5219</a>)</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5704">#5704</a>)</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5898">#5898</a>)</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/6594">#6594</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's changelog</a>.</em></p> <blockquote> <h1>3.9.0 (2023-11-18)</h1> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p><code>[#5864](aio-libs/aiohttp#5864) <https://github.com/aio-libs/aiohttp/issues/5864></code>_</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p><code>[#7188](aio-libs/aiohttp#7188) <https://github.com/aio-libs/aiohttp/issues/7188></code>_</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p><code>[#7056](aio-libs/aiohttp#7056) <https://github.com/aio-libs/aiohttp/issues/7056></code>_</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p><code>[#2304](aio-libs/aiohttp#2304) <https://github.com/aio-libs/aiohttp/issues/2304></code>_</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p><code>[#3751](aio-libs/aiohttp#3751) <https://github.com/aio-libs/aiohttp/issues/3751></code>_</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p><code>[#3892](aio-libs/aiohttp#3892) <https://github.com/aio-libs/aiohttp/issues/3892></code>_</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p><code>[#5219](aio-libs/aiohttp#5219) <https://github.com/aio-libs/aiohttp/issues/5219></code>_</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p><code>[#5704](aio-libs/aiohttp#5704) <https://github.com/aio-libs/aiohttp/issues/5704></code>_</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p><code>[#5898](aio-libs/aiohttp#5898) <https://github.com/aio-libs/aiohttp/issues/5898></code>_</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/aio-libs/aiohttp/commit/45b2c2c5773f0ee0d35fce8ff5716c78e91d9135"><code>45b2c2c</code></a> Release v3.9.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7843">#7843</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/5d59d3d6ac073a7db5e5d2234e03a67da5dec48a"><code>5d59d3d</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7840">#7840</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c806814a8aaad1661d75e6e2b8d619d6c44d331d"><code>c806814</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7838">#7838</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/e07a1bdaacfb83fda3ea8f668edacb36c6c125df"><code>e07a1bd</code></a> Use timestamp instead of datetime to achieve faster cookie expiration… (<a href="https://github.com/aio-libs/aiohttp/issues/7837">#7837</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/53476dfd4ef4fb1bb74a267714bbc39eda71b403"><code>53476df</code></a> Disallow arbitrary sequence types in version (<a href="https://github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7836">#7836</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d712f2f9c06f71d48e98374938813643503bc34"><code>9d712f2</code></a> Bump mypy from 1.6.1 to 1.7.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7833">#7833</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/63a805e1d8360fd388b6e6443cd9bdfb139e90ea"><code>63a805e</code></a> Bump python-on-whales from 0.66.0 to 0.67.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7832">#7832</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/cb94533dd50426809b7fcbb8bbad0ef17509de5c"><code>cb94533</code></a> Ensure writer is always reset on completion (<a href="https://github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7826">#7826</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c0f9017a9a34a7823e1ea9b9abb393bd6c10777b"><code>c0f9017</code></a> [PR <a href="https://github.com/aio-libs/aiohttp/issues/7821">#7821</a>/366ba40f backport][3.9] Only check origin if insecure scheme and th...</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d498ca1e632fe1976ea1dae0ea083b29b0cc4c0"><code>9d498ca</code></a> Bump sphinx from 7.1.1 to 7.2.6 (<a href="https://github.com/aio-libs/aiohttp/issues/7606">#7606</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aio-libs/aiohttp/compare/v3.8.5...v3.9.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.8.5&new-version=3.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/noteable-io/chartsworth/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…5339) Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.6 to 3.9.0. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/releases">aiohttp's releases</a>.</em></p> <blockquote> <h2>3.9.0</h2> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5864">#5864</a>)</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7188">#7188</a>)</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/7056">#7056</a>)</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/2304">#2304</a>)</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3751">#3751</a>)</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/3892">#3892</a>)</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5219">#5219</a>)</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5704">#5704</a>)</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/5898">#5898</a>)</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> <p>(<a href="https://github.com/aio-libs/aiohttp/issues/6594">#6594</a>)</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's changelog</a>.</em></p> <blockquote> <h1>3.9.0 (2023-11-18)</h1> <h2>Features</h2> <ul> <li> <p>Introduced <code>AppKey</code> for static typing support of <code>Application</code> storage. See <a href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p> <p><code>[#5864](aio-libs/aiohttp#5864) <https://github.com/aio-libs/aiohttp/issues/5864></code>_</p> </li> <li> <p>Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called. The period can be adjusted with the <code>shutdown_timeout</code> parameter. -- by :user:<code>Dreamsorcerer</code>. See <a href="https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown">https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown</a></p> <p><code>[#7188](aio-libs/aiohttp#7188) <https://github.com/aio-libs/aiohttp/issues/7188></code>_</p> </li> <li> <p>Added <code>handler_cancellation <https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation></code>_ parameter to cancel web handler on client disconnection. -- by :user:<code>mosquito</code> This (optionally) reintroduces a feature removed in a previous release. Recommended for those looking for an extra level of protection against denial-of-service attacks.</p> <p><code>[#7056](aio-libs/aiohttp#7056) <https://github.com/aio-libs/aiohttp/issues/7056></code>_</p> </li> <li> <p>Added support for setting response header parameters <code>max_line_size</code> and <code>max_field_size</code>.</p> <p><code>[#2304](aio-libs/aiohttp#2304) <https://github.com/aio-libs/aiohttp/issues/2304></code>_</p> </li> <li> <p>Added <code>auto_decompress</code> parameter to <code>ClientSession.request</code> to override <code>ClientSession._auto_decompress</code>. -- by :user:<code>Daste745</code></p> <p><code>[#3751](aio-libs/aiohttp#3751) <https://github.com/aio-libs/aiohttp/issues/3751></code>_</p> </li> <li> <p>Changed <code>raise_for_status</code> to allow a coroutine.</p> <p><code>[#3892](aio-libs/aiohttp#3892) <https://github.com/aio-libs/aiohttp/issues/3892></code>_</p> </li> <li> <p>Added client brotli compression support (optional with runtime check).</p> <p><code>[#5219](aio-libs/aiohttp#5219) <https://github.com/aio-libs/aiohttp/issues/5219></code>_</p> </li> <li> <p>Added <code>client_max_size</code> to <code>BaseRequest.clone()</code> to allow overriding the request body size. -- :user:<code>anesabml</code>.</p> <p><code>[#5704](aio-libs/aiohttp#5704) <https://github.com/aio-libs/aiohttp/issues/5704></code>_</p> </li> <li> <p>Added a middleware type alias <code>aiohttp.typedefs.Middleware</code>.</p> <p><code>[#5898](aio-libs/aiohttp#5898) <https://github.com/aio-libs/aiohttp/issues/5898></code>_</p> </li> <li> <p>Exported <code>HTTPMove</code> which can be used to catch any redirection request that has a location -- :user:<code>dreamsorcerer</code>.</p> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/aio-libs/aiohttp/commit/45b2c2c5773f0ee0d35fce8ff5716c78e91d9135"><code>45b2c2c</code></a> Release v3.9.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7843">#7843</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/5d59d3d6ac073a7db5e5d2234e03a67da5dec48a"><code>5d59d3d</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7840">#7840</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c806814a8aaad1661d75e6e2b8d619d6c44d331d"><code>c806814</code></a> Release v3.9.0rc0 (<a href="https://github.com/aio-libs/aiohttp/issues/7838">#7838</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/e07a1bdaacfb83fda3ea8f668edacb36c6c125df"><code>e07a1bd</code></a> Use timestamp instead of datetime to achieve faster cookie expiration… (<a href="https://github.com/aio-libs/aiohttp/issues/7837">#7837</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/53476dfd4ef4fb1bb74a267714bbc39eda71b403"><code>53476df</code></a> Disallow arbitrary sequence types in version (<a href="https://github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7836">#7836</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d712f2f9c06f71d48e98374938813643503bc34"><code>9d712f2</code></a> Bump mypy from 1.6.1 to 1.7.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7833">#7833</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/63a805e1d8360fd388b6e6443cd9bdfb139e90ea"><code>63a805e</code></a> Bump python-on-whales from 0.66.0 to 0.67.0 (<a href="https://github.com/aio-libs/aiohttp/issues/7832">#7832</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/cb94533dd50426809b7fcbb8bbad0ef17509de5c"><code>cb94533</code></a> Ensure writer is always reset on completion (<a href="https://github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://github.com/aio-libs/aiohttp/issues/7826">#7826</a>)</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/c0f9017a9a34a7823e1ea9b9abb393bd6c10777b"><code>c0f9017</code></a> [PR <a href="https://github.com/aio-libs/aiohttp/issues/7821">#7821</a>/366ba40f backport][3.9] Only check origin if insecure scheme and th...</li> <li><a href="https://github.com/aio-libs/aiohttp/commit/9d498ca1e632fe1976ea1dae0ea083b29b0cc4c0"><code>9d498ca</code></a> Bump sphinx from 7.1.1 to 7.2.6 (<a href="https://github.com/aio-libs/aiohttp/issues/7606">#7606</a>)</li> <li>Additional commits viewable in <a href="https://github.com/aio-libs/aiohttp/compare/v3.8.6...v3.9.0">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.8.6&new-version=3.9.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/pagopa/io-app/network/alerts). </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Cristiano Tofani <cri.tofani@gmail.com>
I think this is something we should discuss and make any changes necessary before v4 is released.
Our examples and demos tend to use the app object in a way that is incompatible with static typing:
This tends to leave large amounts of code without static typing (e.g. anything that interacts with DB or interacts with the values returned from the DB).
How can we improve this to have better typing support?
I don't think it's possible to inherit from
TypedDict
, so I don't think there is any way to support the current dict-like interface.If we moved the dict to a separate attribute, then maybe it could be possible to do something along these lines:
The text was updated successfully, but these errors were encountered: