Skip to content
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

[3.9] Import fails on Windows PyPy #7848

Closed
1 task done
JelleZijlstra opened this issue Nov 18, 2023 · 3 comments · Fixed by #7850
Closed
1 task done

[3.9] Import fails on Windows PyPy #7848

JelleZijlstra opened this issue Nov 18, 2023 · 3 comments · Fixed by #7850
Labels

Comments

@JelleZijlstra
Copy link
Contributor

Describe the bug

Importing aiohttp 3.9.0 on Windows in PyPy 3.8 fails with an error about time.gmtime.

To Reproduce

  • Run PyPy 3.8 on Windows
  • import aiohttp

Expected behavior

No crash

Logs/tracebacks

.tox\ci-pypy3\lib\site-packages\aiohttp\__init__.py:6: in <module>
    from .client import (
.tox\ci-pypy3\lib\site-packages\aiohttp\client.py:76: in <module>
    from .cookiejar import CookieJar
.tox\ci-pypy3\lib\site-packages\aiohttp\cookiejar.py:39: in <module>
    class CookieJar(AbstractCookieJar):
.tox\ci-pypy3\lib\site-packages\aiohttp\cookiejar.py:64: in CookieJar
    calendar.timegm(time.gmtime(MAX_TIME))
E   ValueError: Invalid argument

(Seen in Black's CI)



### Python Version

```console
Successfully set up PyPy 7.3.11 with Python (3.8.16)

aiohttp Version

Successfully installed aiohttp-3.9.0 aiosignal-1.3.1 async-timeout-4.0.3 attrs-23.1.0 black-0.1.dev1+g7e1ebdd click-8.1.7 frozenlist-1.4.0 idna-3.4 multidict-6.0.4 mypy-extensions-1.0.0 pathspec-0.11.2 typing-extensions-4.8.0 yarl-1.9.2

multidict Version

multidict-6.0.4

yarl Version

yarl-1.9.2

OS

Windows

Related component

Server

Additional context

This seems related to #7824. It already catches OSError; I suspect PyPy just throws a different exception here.

Code of Conduct

  • I agree to follow the aio-libs Code of Conduct
@Dreamsorcerer
Copy link
Member

Ah, I bumped the CI to Pypy 3.9 because it segfaults 50% of the time (didn't actually help, still segfaults), so must have missed this one.

@Dreamsorcerer
Copy link
Member

@Rongronggg9

@Dreamsorcerer
Copy link
Member

Oh, we never ran it on Windows though, so maybe we wouldn't have caught it.

@Dreamsorcerer Dreamsorcerer changed the title 3.9.0: Import fails on Windows PyPy [3.9] Import fails on Windows PyPy Nov 18, 2023
patchback bot pushed a commit that referenced this issue Nov 19, 2023
patchback bot pushed a commit that referenced this issue Nov 19, 2023
Dreamsorcerer pushed a commit that referenced this issue Nov 19, 2023
…indows (#7855)

**This is a backport of PR #7850 as merged into master
(22170b2).**

Fixes #7848.

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Dreamsorcerer pushed a commit that referenced this issue Nov 19, 2023
…ndows (#7854)

**This is a backport of PR #7850 as merged into master
(22170b2).**

Fixes #7848.

Co-authored-by: Jelle Zijlstra <jelle.zijlstra@gmail.com>
Diapolo10 added a commit to Diapolo10/clan-quest-osrs-discord-bot that referenced this issue Nov 27, 2023
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.9.0 to
3.9.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohttp/releases">aiohttp's
releases</a>.</em></p>
<blockquote>
<h2>3.9.1</h2>
<h2>Bugfixes</h2>
<ul>
<li>
<p>Fixed importing aiohttp under PyPy on Windows.</p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7848">#7848</a>)</p>
</li>
<li>
<p>Fixed async concurrency safety in websocket compressor.</p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7865">#7865</a>)</p>
</li>
<li>
<p>Fixed <code>ClientResponse.close()</code> releasing the connection
instead of closing.</p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7869">#7869</a>)</p>
</li>
<li>
<p>Fixed a regression where connection may get closed during upgrade. --
by :user:<code>Dreamsorcerer</code></p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7879">#7879</a>)</p>
</li>
<li>
<p>Fixed messages being reported as upgraded without an Upgrade header
in Python parser. -- by :user:<code>Dreamsorcerer</code></p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7895">#7895</a>)</p>
</li>
</ul>
<hr />
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's
changelog</a>.</em></p>
<blockquote>
<h1>3.9.1 (2023-11-26)</h1>
<h2>Bugfixes</h2>
<ul>
<li>
<p>Fixed importing aiohttp under PyPy on Windows.</p>
<p><code>[#7848](aio-libs/aiohttp#7848)
&lt;https://github.com/aio-libs/aiohttp/issues/7848&gt;</code>_</p>
</li>
<li>
<p>Fixed async concurrency safety in websocket compressor.</p>
<p><code>[#7865](aio-libs/aiohttp#7865)
&lt;https://github.com/aio-libs/aiohttp/issues/7865&gt;</code>_</p>
</li>
<li>
<p>Fixed <code>ClientResponse.close()</code> releasing the connection
instead of closing.</p>
<p><code>[#7869](aio-libs/aiohttp#7869)
&lt;https://github.com/aio-libs/aiohttp/issues/7869&gt;</code>_</p>
</li>
<li>
<p>Fixed a regression where connection may get closed during upgrade. --
by :user:<code>Dreamsorcerer</code></p>
<p><code>[#7879](aio-libs/aiohttp#7879)
&lt;https://github.com/aio-libs/aiohttp/issues/7879&gt;</code>_</p>
</li>
<li>
<p>Fixed messages being reported as upgraded without an Upgrade header
in Python parser. -- by :user:<code>Dreamsorcerer</code></p>
<p><code>[#7895](aio-libs/aiohttp#7895)
&lt;https://github.com/aio-libs/aiohttp/issues/7895&gt;</code>_</p>
</li>
</ul>
<hr />
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/6333c026422c6b0fe57ff63cde4104e2d00f47f4"><code>6333c02</code></a>
Release v3.9.1 (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7911">#7911</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/9dbd273093d6af6f5e1481816b05a7192860b440"><code>9dbd273</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7673">#7673</a>/aa7d1a8f
backport][3.9] Document release process (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7909">#7909</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/dd175b6b89564dc74fba0692a8a5f9a9b38e528a"><code>dd175b6</code></a>
Fix regression with connection upgrade (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7879">#7879</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7908">#7908</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/946523d6380bd79e13146557432f46f6f9bbd53f"><code>946523d</code></a>
Fix flaky websocket test (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7902">#7902</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7904">#7904</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/ddc2a26c9e0c43fd1229e4424f2a30d1b10ced13"><code>ddc2a26</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7896">#7896</a>/9a7cfe77
backport][3.9] Fix some flaky tests (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7900">#7900</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/2ae4d6ffdd015f622bfb75dee98ad629240cccc4"><code>2ae4d6f</code></a>
Message is not upgraded if Upgrade header is missing (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7895">#7895</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7898">#7898</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/bb111012706d3ef9edc525be3d8d4df410ad847f"><code>bb11101</code></a>
Restore async concurrency safety to websocket compressor (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7865">#7865</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7889">#7889</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/6dd0122417f00ed4b2b353226a1b164b6463a245"><code>6dd0122</code></a>
Update dependabot.yml (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7888">#7888</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/41a9f1f5b9b2630b1f4b971811c7ef8f016262fb"><code>41a9f1f</code></a>
Bump mypy from 1.7.0 to 1.7.1 (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7882">#7882</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/a04970150c6ce9fda22c9f63d947845f79148b4c"><code>a049701</code></a>
Fix usage of proxy.py in test_proxy_functional (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7773">#7773</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7876">#7876</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/aio-libs/aiohttp/compare/v3.9.0...v3.9.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.9.0&new-version=3.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
xiangxli pushed a commit to xiangxli/aiohttp that referenced this issue Dec 4, 2023
Teqed added a commit to Teqed/FediFetcher that referenced this issue Dec 8, 2023
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.9.0 to
3.9.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohttp/releases">aiohttp's
releases</a>.</em></p>
<blockquote>
<h2>3.9.1</h2>
<h2>Bugfixes</h2>
<ul>
<li>
<p>Fixed importing aiohttp under PyPy on Windows.</p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7848">#7848</a>)</p>
</li>
<li>
<p>Fixed async concurrency safety in websocket compressor.</p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7865">#7865</a>)</p>
</li>
<li>
<p>Fixed <code>ClientResponse.close()</code> releasing the connection
instead of closing.</p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7869">#7869</a>)</p>
</li>
<li>
<p>Fixed a regression where connection may get closed during upgrade. --
by :user:<code>Dreamsorcerer</code></p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7879">#7879</a>)</p>
</li>
<li>
<p>Fixed messages being reported as upgraded without an Upgrade header
in Python parser. -- by :user:<code>Dreamsorcerer</code></p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7895">#7895</a>)</p>
</li>
</ul>
<hr />
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's
changelog</a>.</em></p>
<blockquote>
<h1>3.9.1 (2023-11-26)</h1>
<h2>Bugfixes</h2>
<ul>
<li>
<p>Fixed importing aiohttp under PyPy on Windows.</p>
<p><code>[#7848](aio-libs/aiohttp#7848)
&lt;https://github.com/aio-libs/aiohttp/issues/7848&gt;</code>_</p>
</li>
<li>
<p>Fixed async concurrency safety in websocket compressor.</p>
<p><code>[#7865](aio-libs/aiohttp#7865)
&lt;https://github.com/aio-libs/aiohttp/issues/7865&gt;</code>_</p>
</li>
<li>
<p>Fixed <code>ClientResponse.close()</code> releasing the connection
instead of closing.</p>
<p><code>[#7869](aio-libs/aiohttp#7869)
&lt;https://github.com/aio-libs/aiohttp/issues/7869&gt;</code>_</p>
</li>
<li>
<p>Fixed a regression where connection may get closed during upgrade. --
by :user:<code>Dreamsorcerer</code></p>
<p><code>[#7879](aio-libs/aiohttp#7879)
&lt;https://github.com/aio-libs/aiohttp/issues/7879&gt;</code>_</p>
</li>
<li>
<p>Fixed messages being reported as upgraded without an Upgrade header
in Python parser. -- by :user:<code>Dreamsorcerer</code></p>
<p><code>[#7895](aio-libs/aiohttp#7895)
&lt;https://github.com/aio-libs/aiohttp/issues/7895&gt;</code>_</p>
</li>
</ul>
<hr />
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/6333c026422c6b0fe57ff63cde4104e2d00f47f4"><code>6333c02</code></a>
Release v3.9.1 (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7911">#7911</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/9dbd273093d6af6f5e1481816b05a7192860b440"><code>9dbd273</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7673">#7673</a>/aa7d1a8f
backport][3.9] Document release process (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7909">#7909</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/dd175b6b89564dc74fba0692a8a5f9a9b38e528a"><code>dd175b6</code></a>
Fix regression with connection upgrade (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7879">#7879</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7908">#7908</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/946523d6380bd79e13146557432f46f6f9bbd53f"><code>946523d</code></a>
Fix flaky websocket test (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7902">#7902</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7904">#7904</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/ddc2a26c9e0c43fd1229e4424f2a30d1b10ced13"><code>ddc2a26</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7896">#7896</a>/9a7cfe77
backport][3.9] Fix some flaky tests (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7900">#7900</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/2ae4d6ffdd015f622bfb75dee98ad629240cccc4"><code>2ae4d6f</code></a>
Message is not upgraded if Upgrade header is missing (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7895">#7895</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7898">#7898</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/bb111012706d3ef9edc525be3d8d4df410ad847f"><code>bb11101</code></a>
Restore async concurrency safety to websocket compressor (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7865">#7865</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7889">#7889</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/6dd0122417f00ed4b2b353226a1b164b6463a245"><code>6dd0122</code></a>
Update dependabot.yml (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7888">#7888</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/41a9f1f5b9b2630b1f4b971811c7ef8f016262fb"><code>41a9f1f</code></a>
Bump mypy from 1.7.0 to 1.7.1 (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7882">#7882</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/a04970150c6ce9fda22c9f63d947845f79148b4c"><code>a049701</code></a>
Fix usage of proxy.py in test_proxy_functional (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7773">#7773</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7876">#7876</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/aio-libs/aiohttp/compare/v3.9.0...v3.9.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.9.0&new-version=3.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
RJ1002 added a commit to RJ1002/pollmaster that referenced this issue Dec 21, 2023
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.8.6 to
3.9.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohttp/releases">aiohttp's
releases</a>.</em></p>
<blockquote>
<h2>3.9.1</h2>
<h2>Bugfixes</h2>
<ul>
<li>
<p>Fixed importing aiohttp under PyPy on Windows.</p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7848">#7848</a>)</p>
</li>
<li>
<p>Fixed async concurrency safety in websocket compressor.</p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7865">#7865</a>)</p>
</li>
<li>
<p>Fixed <code>ClientResponse.close()</code> releasing the connection
instead of closing.</p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7869">#7869</a>)</p>
</li>
<li>
<p>Fixed a regression where connection may get closed during upgrade. --
by :user:<code>Dreamsorcerer</code></p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7879">#7879</a>)</p>
</li>
<li>
<p>Fixed messages being reported as upgraded without an Upgrade header
in Python parser. -- by :user:<code>Dreamsorcerer</code></p>
<p>(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7895">#7895</a>)</p>
</li>
</ul>
<hr />
<h2>3.9.0</h2>
<h2>Features</h2>
<ul>
<li>
<p>Introduced <code>AppKey</code> for static typing support of
<code>Application</code> storage.
See <a
href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p>
<p>(<a
href="https://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
&lt;https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation&gt;</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>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst">aiohttp's
changelog</a>.</em></p>
<blockquote>
<h1>3.9.1 (2023-11-26)</h1>
<h2>Bugfixes</h2>
<ul>
<li>
<p>Fixed importing aiohttp under PyPy on Windows.</p>
<p><code>[#7848](aio-libs/aiohttp#7848)
&lt;https://github.com/aio-libs/aiohttp/issues/7848&gt;</code>_</p>
</li>
<li>
<p>Fixed async concurrency safety in websocket compressor.</p>
<p><code>[#7865](aio-libs/aiohttp#7865)
&lt;https://github.com/aio-libs/aiohttp/issues/7865&gt;</code>_</p>
</li>
<li>
<p>Fixed <code>ClientResponse.close()</code> releasing the connection
instead of closing.</p>
<p><code>[#7869](aio-libs/aiohttp#7869)
&lt;https://github.com/aio-libs/aiohttp/issues/7869&gt;</code>_</p>
</li>
<li>
<p>Fixed a regression where connection may get closed during upgrade. --
by :user:<code>Dreamsorcerer</code></p>
<p><code>[#7879](aio-libs/aiohttp#7879)
&lt;https://github.com/aio-libs/aiohttp/issues/7879&gt;</code>_</p>
</li>
<li>
<p>Fixed messages being reported as upgraded without an Upgrade header
in Python parser. -- by :user:<code>Dreamsorcerer</code></p>
<p><code>[#7895](aio-libs/aiohttp#7895)
&lt;https://github.com/aio-libs/aiohttp/issues/7895&gt;</code>_</p>
</li>
</ul>
<hr />
<h1>3.9.0 (2023-11-18)</h1>
<h2>Features</h2>
<ul>
<li>
<p>Introduced <code>AppKey</code> for static typing support of
<code>Application</code> storage.
See <a
href="https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config">https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config</a></p>
<p><code>[#5864](aio-libs/aiohttp#5864)
&lt;https://github.com/aio-libs/aiohttp/issues/5864&gt;</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)
&lt;https://github.com/aio-libs/aiohttp/issues/7188&gt;</code>_</p>
</li>
<li>
<p>Added <code>handler_cancellation
&lt;https://docs.aiohttp.org/en/stable/web_advanced.html#web-handler-cancellation&gt;</code>_
parameter to cancel web handler on client disconnection. -- by
:user:<code>mosquito</code>
This (optionally) reintroduces a feature removed in a previous
release.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/6333c026422c6b0fe57ff63cde4104e2d00f47f4"><code>6333c02</code></a>
Release v3.9.1 (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7911">#7911</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/9dbd273093d6af6f5e1481816b05a7192860b440"><code>9dbd273</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7673">#7673</a>/aa7d1a8f
backport][3.9] Document release process (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7909">#7909</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/dd175b6b89564dc74fba0692a8a5f9a9b38e528a"><code>dd175b6</code></a>
Fix regression with connection upgrade (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7879">#7879</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7908">#7908</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/946523d6380bd79e13146557432f46f6f9bbd53f"><code>946523d</code></a>
Fix flaky websocket test (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7902">#7902</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7904">#7904</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/ddc2a26c9e0c43fd1229e4424f2a30d1b10ced13"><code>ddc2a26</code></a>
[PR <a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7896">#7896</a>/9a7cfe77
backport][3.9] Fix some flaky tests (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7900">#7900</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/2ae4d6ffdd015f622bfb75dee98ad629240cccc4"><code>2ae4d6f</code></a>
Message is not upgraded if Upgrade header is missing (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7895">#7895</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7898">#7898</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/bb111012706d3ef9edc525be3d8d4df410ad847f"><code>bb11101</code></a>
Restore async concurrency safety to websocket compressor (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7865">#7865</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7889">#7889</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/6dd0122417f00ed4b2b353226a1b164b6463a245"><code>6dd0122</code></a>
Update dependabot.yml (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7888">#7888</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/41a9f1f5b9b2630b1f4b971811c7ef8f016262fb"><code>41a9f1f</code></a>
Bump mypy from 1.7.0 to 1.7.1 (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7882">#7882</a>)</li>
<li><a
href="https://github.com/aio-libs/aiohttp/commit/a04970150c6ce9fda22c9f63d947845f79148b4c"><code>a049701</code></a>
Fix usage of proxy.py in test_proxy_functional (<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7773">#7773</a>)
(<a
href="https://redirect.github.com/aio-libs/aiohttp/issues/7876">#7876</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/aio-libs/aiohttp/compare/v3.8.6...v3.9.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aiohttp&package-manager=pip&previous-version=3.8.6&new-version=3.9.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants