-
-
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
Added a configuration flag for enable request task handler cancelling when client connection closing. #7056
Added a configuration flag for enable request task handler cancelling when client connection closing. #7056
Conversation
I'd rename |
Seems simple enough. First though, can we get some tests to validate this behaviour? Then we can be sure not to break it again in future. Second, how do I use this as a user? Can we pass the argument to |
@Dreamsorcerer I started adding information to the documentation, and found this example this made me think that the current default behaviour is unsafe, and that's what I mean. I imagined a simpler example that worked well before the change where tasks weren't cancelled, and didn't work so well now. from aioredis import Redis
from aiohttp import web
async def publish(request: web.Request) -> web.Response:
redis = await Redis(host='localhost', port=6379)
await redis.lpush("events", await request.read())
return web.json_response(data={"status": "success"})
async def subscribe(_: web.Request) -> web.Response:
redis = await Redis(host='localhost', port=6379)
_, event = await redis.brpop("events")
return web.json_response(data={"event": event.decode()})
app = web.Application()
app.router.add_route("POST", "/pub", publish)
app.router.add_route("GET", "/sub", subscribe)
web.run_app(app) In the previous version, when closing a client connection, an exception was thrown that canceled the connection to the redis too. Now, after the closing the client connection the task is not cancelled and waiting continuously until an event arrives, and will fail only when you try to write to a closed connection. Thus, in this example, you can arrange a denial of service attack, simply create connections and close them without waiting for completion. From a user experience point of view, I understand that the default when tasks are not canceled is very intuitive and simple, but from a security point of view, I am scared. |
I don't see how that's related. There is no view/handler in that example.
Creating a Redis instance and waiting on an event that might never come, in a handler, just seems crazy. I've not seen any evidence that people are doing anything like this. I think we are still going to have more issues with the old behaviour than the new one (remember that 1 reason we changed it is because every other framework also does this, and they don't seem to be having major issues).
DoS is exactly why I'd suggest advanced users look at enabling this option again. It probably won't make a huge difference, but atleast it means an attacker must leave connections open to DoS the server, rather than finding a slow endpoint and briefly opening a connection there many times.
As mentioned, it seems every other framework already does this, and there aren't security warnings in Django, Flask etc. because of it. Ultimately, if someone really wants to DoS the server, this will probably only make it slightly harder, and you'll be best off with Cloudflare protection or something if there is a serious threat. |
The redis protocol is designed so that it can only process one command at a time, so one way or another you'll have to do it like this, in this example it's just done explicitly, without using connection pooling.
No, after applying my patch, there is no problem, I already checked.
I already sent the email to @asvetlov with a working exploit.
Django and especially Flask are synchronous frameworks, and the task of stopping a workflow is the task of gunicorn or another program that implements a bridge between HTTP and WSGI.
Cloudflare will not protect against this. I think you are confusing DDoS and DoS. It seems to me that you did not take into account all the negative consequences of disabling this early, especially in a |
f03f064
to
7941966
Compare
252a07f
to
489bd3f
Compare
for more information, see https://pre-commit.ci
Regardless (still inefficient), it's the waiting on an event that may never happen, which is the main issue. That's not code I've seen in realistic applications, there is either some guarantee that an event will happen or a timeout, I've never seen anything that blindly blocks forever in a handler, and most developers would realise that, whereas many don't realise that a handler can be cancelled midway.
I meant more problems in general, not your specific example. So, unless you've tested every developer's code in the world...
You'd be better off sending to @webknjaz. But, it's pretty trivial to come up with an example.
Yes, and a quick search suggests that they behave exactly the same as aiohttp does today. They only error when trying to write to the socket (e.g. https://stackoverflow.com/questions/4142012/how-to-find-the-socket-connection-state-in-c). Can you find a single framework which implements the cancelling behaviour we had before?
No, I'm just considering that any WAF or similar that can stop an attacker hitting a slow endpoint a large number of times is going to be more effective. If an attacker has resources then they can go full DDoS and it wouldn't make much difference, if they don't have the resources then they'd probably still struggle to take down the server without auto-cancelling (unless you've actually created handlers which block forever on an event that never occurs, in which case you need to rethink your code...).
I considered it, but the change was already made when I was first getting involved. Unless you can convince @asvetlov or @webknjaz that the default behaviour should be changed back (or provide evidence that the auto-cancelling is actually normal for most frameworks), I'll be leaving it as is. Anyway, I'll take a look through the new changes in a bit (would be preferable to not force-push, it messes up the diff to look at), and we can hopefully get this feature back in, whether default or not. |
for more information, see https://pre-commit.ci
I agree with the argumentation regarding the user expectations due to the other frameworks. The only problem with it is that this behaviour was changed with the patch release. Probably, reverting it back to cancellation on disconnect by default would cause even more damage now. However, I suggest considering it for the next major release (4.0) if there'll be more evidence in favour. |
Regardless but http protocol has been designed similar. This code will be completely inefficient too: from aiohttp import web, ClientSession
async def proxy_handler(request: web.Request) -> web.Response:
session: ClientSession = request.app['client']
async with session.get(f"/search?q={request.query.get('q')}") as response:
# This code will wait for response but client connection already closed.
# Of course the safe way is cancel this task after that.
payload = await response.read()
return web.Response(status=response.status, body=payload)
app = web.Application()
app.router.add_route("*", "/", proxy_handler)
app['client'] = ClientSession(base_url="https://stackoverflow.com/")
web.run_app(app) This still inefficient code that you may not have seen in practice before will work exactly the same. So it will receive the entire page, although the client is no longer waiting for this. In the above example, you will quickly run into a TCPConnector limitation, and your service will no longer serve "good" clients (so thats a classical DoS). Worst of all, you will be downloading kilobytes over the network, and the attacker will be limited to transmitting a few lines of headers. The HTTP 1.x protocol is not much different from the redis protocol, it is exactly the same text protocol that cannot asynchronously interact in one connection with many requests at once. You will exhaust the connection pool through the fault of the client that mimic a very bad connection (close the connection after headers sent each request). So the CloudFlare wount guard from it on 100%. |
Yes, but you can still do that by keeping the connections alive. Even a single machine may be able to exhaust the connections of the average server (as most people don't change the default connection limits). I agree that any developer deploying a high-performance service should look at enabling this option, but there also needs to be an understanding of how to write safe asyncio code when this option is enabled, and we've already seen that many developers simply don't know how to do that and don't understand the cancelling behaviour. Making it opt-in ensures they've looked at the documentation and understood how things work. Again, unless you can show that other frameworks are doing this as standard, I don't think anyone here will change the default behaviour back. |
@Dreamsorcerer @asvetlov let me sum it up a bit, I think that aiohttp was incredibly close to the protocol, which is its cardinal difference from the competition, and that was great. It was possible to do TLS services using only aiohttp, however, what is being discussed now narrows the scope, and now it is better for us not to do anything without Cloudflare and WAF. The right way, in my opinion, would be to make it safe by default without relying on CloudFlare. Explaining to users why it's done this way, and how to disable this behavior, and the most important thing that follows (any script kiddie will make you a DoS), it would make the Internet a little more secure. It is also worth explain the user about |
OK, I've fixed the tests so they fail correctly now (the 2nd test seemed to even pass with both options). I've renamed the parameter to I've also stripped most of the documentation changes, I'm going to do this in more detail in another PR. I also removed the Gunicorn env var. We tend to avoid using env vars in the library, with that being something for the application to handle. It also seems to me that the person deploying an app would be the one deciding whether the option is enabled or not, when it should be the developer who wrote the app. |
Backport to 3.9: 💔 cherry-picking failed — conflicts found❌ Failed to cleanly apply 38b9ec5 on top of patchback/backports/3.9/38b9ec51e52fdcab11bbe322cc66392c599ca183/pr-7056 Backporting merged PR #7056 into master
🤖 @patchback |
Documentation for #7056. Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://redirect.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://redirect.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://redirect.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://togithub.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://togithub.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#390-2023-11-18) [Compare Source](https://togithub.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://redirect.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://redirect.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://redirect.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.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7835">#7835</a>) (<a href="https://redirect.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://redirect.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://redirect.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://redirect.github.com/aio-libs/aiohttp/issues/7815">#7815</a>) (<a href="https://redirect.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://redirect.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://redirect.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>
Related to #6719 #6727. Added a configuration flag for enable request task handler cancelling when client connection closing.
After changes in version 3.8.3, there is no longer any way to enable this behaviour. In our services, we want to handle protocol-level errors, for example for canceling the execution of a heavy query in the DBMS if the user's connection is broken.
Now I created this PR in order to discuss my solution, of course if I did everything well I will add tests changelog, etc.
I guess this breakdown can be solved using the configuration flag that is passed to the Server instance.
Of course
AppRunner
andSiteRunner
can pass this through**kwargs
too.Related issue number #6719
Checklist
CONTRIBUTORS.txt
CHANGES
folder<issue_id>.<type>
for example (588.bugfix)issue_id
change it to the pr id after creating the pr.feature
: Signifying a new feature..bugfix
: Signifying a bug fix..doc
: Signifying a documentation improvement..removal
: Signifying a deprecation or removal of public API..misc
: A ticket has been closed, but it is not of interest to users.