Files
bracket/backend
dependabot[bot] 6b83168b22 Bump gunicorn from 23.0.0 to 24.1.1 in /backend (#1535)
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 23.0.0 to
24.1.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/benoitc/gunicorn/releases">gunicorn's
releases</a>.</em></p>
<blockquote>
<h2>24.1.1</h2>
<h2>Bug Fixes</h2>
<ul>
<li>Fix <code>forwarded_allow_ips</code> and
<code>proxy_allow_ips</code> to remain as strings for backward
compatibility with external tools like uvicorn. Network validation now
uses strict
mode to detect invalid CIDR notation (e.g., <code>192.168.1.1/24</code>
where host bits are set)
(<a
href="https://redirect.github.com/benoitc/gunicorn/issues/3458">#3458</a>,
[PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3459">#3459</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3459">benoitc/gunicorn#3459</a>))</li>
</ul>
<hr />
<p><strong>Full Changelog</strong>: <a
href="https://github.com/benoitc/gunicorn/compare/24.1.0...24.1.1">https://github.com/benoitc/gunicorn/compare/24.1.0...24.1.1</a></p>
<h2>Gunicorn 24.1.0</h2>
<h2>New Features</h2>
<ul>
<li>
<p><strong>Official Docker Image</strong>: Gunicorn now publishes
official Docker images to GitHub Container Registry ([PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3454">#3454</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3454">benoitc/gunicorn#3454</a>))</p>
<ul>
<li>Available at <code>ghcr.io/benoitc/gunicorn</code></li>
<li>Based on Python 3.12 slim image</li>
<li>Uses recommended worker formula (2 × CPU + 1)</li>
<li>Configurable via environment variables</li>
</ul>
</li>
<li>
<p><strong>PROXY Protocol v2 Support</strong>: Extended PROXY protocol
implementation to support the binary v2 format in addition to the
existing text-based v1 format ([PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3451">#3451</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3451">benoitc/gunicorn#3451</a>))</p>
<ul>
<li>New <code>--proxy-protocol</code> modes: <code>off</code>,
<code>v1</code>, <code>v2</code>, <code>auto</code></li>
<li><code>auto</code> mode (default when enabled) detects v1 or v2
automatically</li>
<li>v2 binary format is more efficient and supports additional
metadata</li>
<li>Works with HAProxy, AWS NLB/ALB, and other PROXY protocol v2
sources</li>
</ul>
</li>
<li>
<p><strong>CIDR Network Support</strong>:
<code>--forwarded-allow-ips</code> and <code>--proxy-allow-from</code>
now accept CIDR notation (e.g., <code>192.168.0.0/16</code>) for
specifying trusted networks ([PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3449">#3449</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3449">benoitc/gunicorn#3449</a>))</p>
</li>
<li>
<p><strong>Socket Backlog Metric</strong>: New
<code>gunicorn.socket.backlog</code> gauge metric reports the current
socket backlog size on Linux systems ([PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3450">#3450</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3450">benoitc/gunicorn#3450</a>))</p>
</li>
<li>
<p><strong>InotifyReloader Enhancement</strong>: The inotify-based
reloader now watches newly imported modules, not just those loaded at
startup ([PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3447">#3447</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3447">benoitc/gunicorn#3447</a>))</p>
</li>
</ul>
<h2>Bug Fixes</h2>
<ul>
<li>Fix signal handling regression where SIGCLD alias caused
&quot;Unhandled signal: cld&quot; errors on Linux when workers fail
during boot (<a
href="https://github.com/benoitc/gunicorn/discussions/3453">#3453</a>)</li>
<li>Fix socket blocking mode on keepalive connections preventing SSL
handshake failures with async workers ([PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3452">#3452</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3452">benoitc/gunicorn#3452</a>))</li>
<li>Use smaller buffer size in <code>finish_body()</code> for faster
timeout detection on slow or abandoned connections ([PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3453">#3453</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3453">benoitc/gunicorn#3453</a>))</li>
<li>Handle <code>SSLWantReadError</code> in <code>finish_body()</code>
to prevent worker hangs during SSL renegotiation ([PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3448">#3448</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3448">benoitc/gunicorn#3448</a>))</li>
<li>Log SIGTERM as info level instead of warning to reduce noise in
orchestrated environments ([PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3446">#3446</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3446">benoitc/gunicorn#3446</a>))</li>
<li>Print exception details to stderr when worker fails to boot ([PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3443">#3443</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3443">benoitc/gunicorn#3443</a>))</li>
<li>Fix <code>unreader.unread()</code> to prepend data to buffer instead
of appending ([PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3442">#3442</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3442">benoitc/gunicorn#3442</a>))</li>
<li>Prevent <code>RecursionError</code> when pickling Config objects
([PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3441">#3441</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3441">benoitc/gunicorn#3441</a>))</li>
<li>Use proper exception chaining with <code>raise from</code> in
glogging.py ([PR <a
href="https://redirect.github.com/benoitc/gunicorn/issues/3440">#3440</a>](<a
href="https://redirect.github.com/benoitc/gunicorn/pull/3440">benoitc/gunicorn#3440</a>))</li>
</ul>
<h2>Installation</h2>
<pre lang="bash"><code>pip install gunicorn==24.1.0
&lt;/tr&gt;&lt;/table&gt; 
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="375e79e95b"><code>375e79e</code></a>
release: bump version to 24.1.1</li>
<li><a
href="ad0c12de98"><code>ad0c12d</code></a>
docs: add sponsors section to README</li>
<li><a
href="70200eef46"><code>70200ee</code></a>
chore: add GitHub Sponsors funding configuration</li>
<li><a
href="6841804116"><code>6841804</code></a>
docs: remove incorrect PR reference from Docker changelog entry</li>
<li><a
href="abce0ca9cb"><code>abce0ca</code></a>
docs: add 24.1.1 changelog entry for forwarded_allow_ips fix</li>
<li><a
href="e9a3f30a0f"><code>e9a3f30</code></a>
fix: keep forwarded_allow_ips as strings for backward compatibility (<a
href="https://redirect.github.com/benoitc/gunicorn/issues/3459">#3459</a>)</li>
<li><a
href="d73ff4b1d8"><code>d73ff4b</code></a>
docs: update main changelog with 24.1.0</li>
<li><a
href="53f2c31012"><code>53f2c31</code></a>
ci: allow docs deploy on workflow_dispatch</li>
<li><a
href="eab5f0b1a5"><code>eab5f0b</code></a>
ci: trigger Docker publish on tags with or without v prefix</li>
<li><a
href="a20d3fb220"><code>a20d3fb</code></a>
docs: add Docker image to 24.1.0 changelog</li>
<li>Additional commits viewable in <a
href="https://github.com/benoitc/gunicorn/compare/23.0.0...24.1.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=gunicorn&package-manager=uv&previous-version=23.0.0&new-version=24.1.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>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-27 04:11:27 +00:00
..
2025-12-21 16:15:51 +00:00
2025-12-20 19:32:33 +01:00