Control Interface (gunicornc): Add interactive control interface for managing
running Gunicorn instances, similar to birdc for BIRD routing daemon
(PR #3505)
Unix socket-based communication with JSON protocol
Interactive mode with readline support and command history
Commands: show all/workers/dirty/config/stats/listeners
Fix ASGI streaming responses (SSE) hanging: add chunked transfer encoding for
HTTP/1.1 responses without Content-Length header. Without chunked encoding,
clients wait for connection close to determine end-of-response.
Changes
Update celery_alternative example to use FastAPI with native ASGI worker and
uvloop for async task execution
Testing
Add ASGI compliance test suite with Docker-based integration tests covering HTTP,
WebSocket, streaming, lifespan, framework integration (Starlette, FastAPI),
HTTP/2, and concurrency scenarios
Dirty Arbiters: Separate process pool for executing long-running, blocking
operations (AI model loading, heavy computation) without blocking HTTP workers
(PR #3460)
Inspired by Erlang's dirty schedulers
Asyncio-based with Unix socket IPC
Stateful workers that persist loaded resources
New settings: --dirty-app, --dirty-workers, --dirty-timeout, --dirty-threads, --dirty-graceful-timeout
uWSGI Protocol for ASGI Worker: The ASGI worker now supports receiving requests
via the uWSGI binary protocol from nginx
(PR #3467)
Bug Fixes
Fix HTTP/2 ALPN negotiation for gevent and eventlet workers when do_handshake_on_connect is False (the default). The TLS handshake is now
explicitly performed before checking selected_alpn_protocol().
Fix setproctitle initialization with systemd socket activation
(#3465)
Fix Expect: 100-continue handling: ignore the header for HTTP/1.0 requests
since 100-continue is only valid for HTTP/1.1+
(PR #3463)
Fix missing _expected_100_continue attribute in UWSGIRequest
Disable setproctitle on macOS to prevent segfaults during process title updates
Publish full exception traceback when the application fails to load
(#3462)
Fix ASGI: quick shutdown on SIGINT/SIGQUIT, graceful on SIGTERM
Deprecations
Eventlet Worker: The eventlet worker is deprecated and will be removed in
Gunicorn 26.0. Eventlet itself is no longer actively maintained.
Please migrate to gevent, gthread, or another supported worker type.
Fix forwarded_allow_ips and proxy_allow_ips 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., 192.168.1.1/24 where host bits are set)
(#3458, PR #3459)
Official Docker Image: Gunicorn now publishes official Docker images to GitHub Container Registry (PR #3454)
Available at ghcr.io/benoitc/gunicorn
Based on Python 3.12 slim image
Uses recommended worker formula (2 × CPU + 1)
Configurable via environment variables
PROXY Protocol v2 Support: Extended PROXY protocol implementation to support the binary v2 format in addition to the existing text-based v1 format (PR #3451)
New --proxy-protocol modes: off, v1, v2, auto
auto mode (default when enabled) detects v1 or v2 automatically
v2 binary format is more efficient and supports additional metadata
Works with HAProxy, AWS NLB/ALB, and other PROXY protocol v2 sources
CIDR Network Support: --forwarded-allow-ips and --proxy-allow-from now accept CIDR notation (e.g., 192.168.0.0/16) for specifying trusted networks (PR #3449)
Socket Backlog Metric: New gunicorn.socket.backlog gauge metric reports the current socket backlog size on Linux systems (PR #3450)
InotifyReloader Enhancement: The inotify-based reloader now watches newly imported modules, not just those loaded at startup (PR #3447)
Bug Fixes
Fix signal handling regression where SIGCLD alias caused "Unhandled signal: cld" errors on Linux when workers fail during boot (#3453)
Fix socket blocking mode on keepalive connections preventing SSL handshake failures with async workers (PR #3452)
Use smaller buffer size in finish_body() for faster timeout detection on slow or abandoned connections (PR #3453)
Handle SSLWantReadError in finish_body() to prevent worker hangs during SSL renegotiation (PR #3448)
Log SIGTERM as info level instead of warning to reduce noise in orchestrated environments (PR #3446)
Print exception details to stderr when worker fails to boot (PR #3443)
Fix unreader.unread() to prepend data to buffer instead of appending (PR #3442)
Prevent RecursionError when pickling Config objects (PR #3441)
Use proper exception chaining with raise from in glogging.py (PR #3440)
ASGI Worker (Beta): Native asyncio-based ASGI support for running async Python frameworks like FastAPI, Starlette, and Quart without external dependencies
HTTP/1.1 with keepalive connections
WebSocket support
Lifespan protocol for startup/shutdown hooks
Optional uvloop for improved performance
uWSGI Binary Protocol: Support for receiving requests from nginx via uwsgi_pass directive
Documentation Migration: Migrated to MkDocs with Material theme
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| [gunicorn](https://github.com/benoitc/gunicorn) ([changelog](https://gunicorn.org/news/)) | `==23.0.0` -> `==25.1.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>benoitc/gunicorn (gunicorn)</summary>
### [`v25.1.0`](https://github.com/benoitc/gunicorn/releases/tag/25.1.0): Gunicorn 25.1.0
[Compare Source](https://github.com/benoitc/gunicorn/compare/25.0.3...25.1.0)
##### New Features
- **Control Interface (gunicornc)**: Add interactive control interface for managing
running Gunicorn instances, similar to birdc for BIRD routing daemon
([PR #​3505](https://github.com/benoitc/gunicorn/pull/3505))
- Unix socket-based communication with JSON protocol
- Interactive mode with readline support and command history
- Commands: `show all/workers/dirty/config/stats/listeners`
- Worker management: `worker add/remove/kill`, `dirty add/remove`
- Server control: `reload`, `reopen`, `shutdown`
- New settings: `--control-socket`, `--control-socket-mode`, `--no-control-socket`
- New CLI tool: `gunicornc` for connecting to control socket
- See [Control Interface Guide](https://gunicorn.org/guides/gunicornc/) for details
- **Dirty Stash**: Add global shared state between workers via `dirty.stash`
([PR #​3503](https://github.com/benoitc/gunicorn/pull/3503))
- In-memory key-value store accessible by all workers
- Supports get, set, delete, clear, keys, and has operations
- Useful for sharing state like feature flags, rate limits, or cached data
- **Dirty Binary Protocol**: Implement efficient binary protocol for dirty arbiter IPC
using TLV (Type-Length-Value) encoding
([PR #​3500](https://github.com/benoitc/gunicorn/pull/3500))
- More efficient than JSON for binary data
- Supports all Python types: str, bytes, int, float, bool, None, list, dict
- Better performance for large payloads
- **Dirty TTIN/TTOU Signals**: Add dynamic worker scaling for dirty arbiters
([PR #​3504](https://github.com/benoitc/gunicorn/pull/3504))
- Send SIGTTIN to increase dirty workers
- Send SIGTTOU to decrease dirty workers
- Respects minimum worker constraints from app configurations
##### Changes
- **ASGI Worker**: Promoted from beta to stable
- **Dirty Arbiters**: Now marked as beta feature
##### Documentation
- Fix Markdown formatting in /configure documentation
### [`v25.0.3`](https://github.com/benoitc/gunicorn/releases/tag/25.0.3)
[Compare Source](https://github.com/benoitc/gunicorn/compare/25.0.2...25.0.3)
#### What's Changed
##### Bug Fixes
- Fix RuntimeError when StopIteration raised in ASGI coroutine ([#​3484](https://github.com/benoitc/gunicorn/issues/3484))
- Fix passing maxsplit in re.split() as positional argument (deprecated in Python 3.13)
##### Documentation
- Updated sponsorship section and homepage
**Full Changelog**: <https://github.com/benoitc/gunicorn/compare/25.0.2...25.0.3>
### [`v25.0.2`](https://github.com/benoitc/gunicorn/releases/tag/25.0.2)
[Compare Source](https://github.com/benoitc/gunicorn/compare/25.0.1...25.0.2)
#### What's Changed
##### Bug Fixes
- Fix ASGI concurrent request failures through nginx proxy
- Graceful disconnect handling for ASGI worker
- Lazy import dirty module for gevent compatibility
##### Other
- Increase CI timeout for signal tests on PyPy
- Remove trailing blank line in instrument/**init**.py
**Full Changelog**: <https://github.com/benoitc/gunicorn/compare/25.0.1...25.0.2>
### [`v25.0.1`](https://github.com/benoitc/gunicorn/releases/tag/25.0.1)
[Compare Source](https://github.com/benoitc/gunicorn/compare/25.0.0...25.0.1)
#### Bug Fixes
- Fix ASGI streaming responses (SSE) hanging: add chunked transfer encoding for
HTTP/1.1 responses without Content-Length header. Without chunked encoding,
clients wait for connection close to determine end-of-response.
#### Changes
- Update celery\_alternative example to use FastAPI with native ASGI worker and
uvloop for async task execution
#### Testing
- Add ASGI compliance test suite with Docker-based integration tests covering HTTP,
WebSocket, streaming, lifespan, framework integration (Starlette, FastAPI),
HTTP/2, and concurrency scenarios
### [`v25.0.0`](https://github.com/benoitc/gunicorn/releases/tag/25.0.0): Gunicorn 25.0.0
[Compare Source](https://github.com/benoitc/gunicorn/compare/24.1.1...25.0.0)
#### New Features
- **Dirty Arbiters**: Separate process pool for executing long-running, blocking
operations (AI model loading, heavy computation) without blocking HTTP workers
([PR #​3460](https://github.com/benoitc/gunicorn/pull/3460))
- Inspired by Erlang's dirty schedulers
- Asyncio-based with Unix socket IPC
- Stateful workers that persist loaded resources
- New settings: `--dirty-app`, `--dirty-workers`, `--dirty-timeout`,
`--dirty-threads`, `--dirty-graceful-timeout`
- Lifecycle hooks: `on_dirty_starting`, `dirty_post_fork`,
`dirty_worker_init`, `dirty_worker_exit`
- **Per-App Worker Allocation for Dirty Arbiters**: Control how many dirty workers
load each app for memory optimization with heavy models
([PR #​3473](https://github.com/benoitc/gunicorn/pull/3473))
- Set `workers` class attribute on DirtyApp (e.g., `workers = 2`)
- Or use config format `module:class:N` (e.g., `myapp:HeavyModel:2`)
- Requests automatically routed to workers with the target app
- New exception `DirtyNoWorkersAvailableError` for graceful error handling
- Example: 8 workers × 10GB model = 80GB → with `workers=2`: 20GB (75% savings)
- **HTTP/2 Support (Beta)**: Native HTTP/2 (RFC 7540) support for improved performance
with modern clients ([PR #​3468](https://github.com/benoitc/gunicorn/pull/3468))
- Multiplexed streams over a single connection
- Header compression (HPACK)
- Flow control and stream prioritization
- Works with gthread, gevent, and ASGI workers
- New settings: `--http-protocols`, `--http2-max-concurrent-streams`,
`--http2-initial-window-size`, `--http2-max-frame-size`, `--http2-max-header-list-size`
- Requires SSL/TLS and h2 library: `pip install gunicorn[http2]`
- New example: `examples/http2_gevent/` with Docker and tests
- **HTTP 103 Early Hints**: Support for RFC 8297 Early Hints to enable browsers to
preload resources before the final response
([PR #​3468](https://github.com/benoitc/gunicorn/pull/3468))
- WSGI: `environ['wsgi.early_hints'](headers)` callback
- ASGI: `http.response.informational` message type
- Works with both HTTP/1.1 and HTTP/2
- **uWSGI Protocol for ASGI Worker**: The ASGI worker now supports receiving requests
via the uWSGI binary protocol from nginx
([PR #​3467](https://github.com/benoitc/gunicorn/pull/3467))
#### Bug Fixes
- Fix HTTP/2 ALPN negotiation for gevent and eventlet workers when
`do_handshake_on_connect` is False (the default). The TLS handshake is now
explicitly performed before checking `selected_alpn_protocol()`.
- Fix setproctitle initialization with systemd socket activation
([#​3465](https://github.com/benoitc/gunicorn/issues/3465))
- Fix `Expect: 100-continue` handling: ignore the header for HTTP/1.0 requests
since 100-continue is only valid for HTTP/1.1+
([PR #​3463](https://github.com/benoitc/gunicorn/pull/3463))
- Fix missing `_expected_100_continue` attribute in UWSGIRequest
- Disable setproctitle on macOS to prevent segfaults during process title updates
- Publish full exception traceback when the application fails to load
([#​3462](https://github.com/benoitc/gunicorn/issues/3462))
- Fix ASGI: quick shutdown on SIGINT/SIGQUIT, graceful on SIGTERM
#### Deprecations
- **Eventlet Worker**: The `eventlet` worker is deprecated and will be removed in
Gunicorn 26.0. Eventlet itself is no longer actively maintained.
Please migrate to `gevent`, `gthread`, or another supported worker type.
#### Changes
- Remove obsolete Makefile targets
([PR #​3471](https://github.com/benoitc/gunicorn/pull/3471))
- Replace RST with markdown documentation format
### [`v24.1.1`](https://github.com/benoitc/gunicorn/releases/tag/24.1.1)
[Compare Source](https://github.com/benoitc/gunicorn/compare/24.1.0...24.1.1)
#### Bug Fixes
- Fix `forwarded_allow_ips` and `proxy_allow_ips` 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., `192.168.1.1/24` where host bits are set)
([#​3458](https://github.com/benoitc/gunicorn/issues/3458),
[PR #​3459](https://github.com/benoitc/gunicorn/pull/3459))
***
**Full Changelog**: <https://github.com/benoitc/gunicorn/compare/24.1.0...24.1.1>
### [`v24.1.0`](https://github.com/benoitc/gunicorn/releases/tag/24.1.0): Gunicorn 24.1.0
[Compare Source](https://github.com/benoitc/gunicorn/compare/24.0.0...24.1.0)
#### New Features
- **Official Docker Image**: Gunicorn now publishes official Docker images to GitHub Container Registry ([PR #​3454](https://github.com/benoitc/gunicorn/pull/3454))
- Available at `ghcr.io/benoitc/gunicorn`
- Based on Python 3.12 slim image
- Uses recommended worker formula (2 × CPU + 1)
- Configurable via environment variables
- **PROXY Protocol v2 Support**: Extended PROXY protocol implementation to support the binary v2 format in addition to the existing text-based v1 format ([PR #​3451](https://github.com/benoitc/gunicorn/pull/3451))
- New `--proxy-protocol` modes: `off`, `v1`, `v2`, `auto`
- `auto` mode (default when enabled) detects v1 or v2 automatically
- v2 binary format is more efficient and supports additional metadata
- Works with HAProxy, AWS NLB/ALB, and other PROXY protocol v2 sources
- **CIDR Network Support**: `--forwarded-allow-ips` and `--proxy-allow-from` now accept CIDR notation (e.g., `192.168.0.0/16`) for specifying trusted networks ([PR #​3449](https://github.com/benoitc/gunicorn/pull/3449))
- **Socket Backlog Metric**: New `gunicorn.socket.backlog` gauge metric reports the current socket backlog size on Linux systems ([PR #​3450](https://github.com/benoitc/gunicorn/pull/3450))
- **InotifyReloader Enhancement**: The inotify-based reloader now watches newly imported modules, not just those loaded at startup ([PR #​3447](https://github.com/benoitc/gunicorn/pull/3447))
#### Bug Fixes
- Fix signal handling regression where SIGCLD alias caused "Unhandled signal: cld" errors on Linux when workers fail during boot ([#​3453](https://github.com/benoitc/gunicorn/discussions/3453))
- Fix socket blocking mode on keepalive connections preventing SSL handshake failures with async workers ([PR #​3452](https://github.com/benoitc/gunicorn/pull/3452))
- Use smaller buffer size in `finish_body()` for faster timeout detection on slow or abandoned connections ([PR #​3453](https://github.com/benoitc/gunicorn/pull/3453))
- Handle `SSLWantReadError` in `finish_body()` to prevent worker hangs during SSL renegotiation ([PR #​3448](https://github.com/benoitc/gunicorn/pull/3448))
- Log SIGTERM as info level instead of warning to reduce noise in orchestrated environments ([PR #​3446](https://github.com/benoitc/gunicorn/pull/3446))
- Print exception details to stderr when worker fails to boot ([PR #​3443](https://github.com/benoitc/gunicorn/pull/3443))
- Fix `unreader.unread()` to prepend data to buffer instead of appending ([PR #​3442](https://github.com/benoitc/gunicorn/pull/3442))
- Prevent `RecursionError` when pickling Config objects ([PR #​3441](https://github.com/benoitc/gunicorn/pull/3441))
- Use proper exception chaining with `raise from` in glogging.py ([PR #​3440](https://github.com/benoitc/gunicorn/pull/3440))
#### Installation
```bash
pip install gunicorn==24.1.0
```
Or use the official Docker image:
```bash
docker pull ghcr.io/benoitc/gunicorn:24.1.0
```
### [`v24.0.0`](https://github.com/benoitc/gunicorn/releases/tag/24.0.0)
[Compare Source](https://github.com/benoitc/gunicorn/compare/23.0.0...24.0.0)
#### New Features
- **ASGI Worker (Beta)**: Native asyncio-based ASGI support for running async Python frameworks like FastAPI, Starlette, and Quart without external dependencies
- HTTP/1.1 with keepalive connections
- WebSocket support
- Lifespan protocol for startup/shutdown hooks
- Optional uvloop for improved performance
- **uWSGI Binary Protocol**: Support for receiving requests from nginx via `uwsgi_pass` directive
- **Documentation Migration**: Migrated to MkDocs with Material theme
#### Security
- **eventlet**: Require eventlet >= 0.40.3 (CVE-2021-21419, CVE-2025-58068)
- **gevent**: Require gevent >= 24.10.1 (CVE-2023-41419, CVE-2024-3219)
- **tornado**: Require tornado >= 6.5.0 (CVE-2025-47287)
#### Install
```
pip install gunicorn==24.0.0
```
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **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 [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi4xMy4wIiwidXBkYXRlZEluVmVyIjoiNDIuMTMuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
==23.0.0->==25.1.0Release Notes
benoitc/gunicorn (gunicorn)
v25.1.0: Gunicorn 25.1.0Compare Source
New Features
Control Interface (gunicornc): Add interactive control interface for managing
running Gunicorn instances, similar to birdc for BIRD routing daemon
(PR #3505)
show all/workers/dirty/config/stats/listenersworker add/remove/kill,dirty add/removereload,reopen,shutdown--control-socket,--control-socket-mode,--no-control-socketgunicorncfor connecting to control socketDirty Stash: Add global shared state between workers via
dirty.stash(PR #3503)
Dirty Binary Protocol: Implement efficient binary protocol for dirty arbiter IPC
using TLV (Type-Length-Value) encoding
(PR #3500)
Dirty TTIN/TTOU Signals: Add dynamic worker scaling for dirty arbiters
(PR #3504)
Changes
Documentation
v25.0.3Compare Source
What's Changed
Bug Fixes
Documentation
Full Changelog: https://github.com/benoitc/gunicorn/compare/25.0.2...25.0.3
v25.0.2Compare Source
What's Changed
Bug Fixes
Other
Full Changelog: https://github.com/benoitc/gunicorn/compare/25.0.1...25.0.2
v25.0.1Compare Source
Bug Fixes
HTTP/1.1 responses without Content-Length header. Without chunked encoding,
clients wait for connection close to determine end-of-response.
Changes
uvloop for async task execution
Testing
WebSocket, streaming, lifespan, framework integration (Starlette, FastAPI),
HTTP/2, and concurrency scenarios
v25.0.0: Gunicorn 25.0.0Compare Source
New Features
Dirty Arbiters: Separate process pool for executing long-running, blocking
operations (AI model loading, heavy computation) without blocking HTTP workers
(PR #3460)
--dirty-app,--dirty-workers,--dirty-timeout,--dirty-threads,--dirty-graceful-timeouton_dirty_starting,dirty_post_fork,dirty_worker_init,dirty_worker_exitPer-App Worker Allocation for Dirty Arbiters: Control how many dirty workers
load each app for memory optimization with heavy models
(PR #3473)
workersclass attribute on DirtyApp (e.g.,workers = 2)module:class:N(e.g.,myapp:HeavyModel:2)DirtyNoWorkersAvailableErrorfor graceful error handlingworkers=2: 20GB (75% savings)HTTP/2 Support (Beta): Native HTTP/2 (RFC 7540) support for improved performance
with modern clients (PR #3468)
--http-protocols,--http2-max-concurrent-streams,--http2-initial-window-size,--http2-max-frame-size,--http2-max-header-list-sizepip install gunicorn[http2]examples/http2_gevent/with Docker and testsHTTP 103 Early Hints: Support for RFC 8297 Early Hints to enable browsers to
preload resources before the final response
(PR #3468)
environ['wsgi.early_hints'](headers)callbackhttp.response.informationalmessage typeuWSGI Protocol for ASGI Worker: The ASGI worker now supports receiving requests
via the uWSGI binary protocol from nginx
(PR #3467)
Bug Fixes
Fix HTTP/2 ALPN negotiation for gevent and eventlet workers when
do_handshake_on_connectis False (the default). The TLS handshake is nowexplicitly performed before checking
selected_alpn_protocol().Fix setproctitle initialization with systemd socket activation
(#3465)
Fix
Expect: 100-continuehandling: ignore the header for HTTP/1.0 requestssince 100-continue is only valid for HTTP/1.1+
(PR #3463)
Fix missing
_expected_100_continueattribute in UWSGIRequestDisable setproctitle on macOS to prevent segfaults during process title updates
Publish full exception traceback when the application fails to load
(#3462)
Fix ASGI: quick shutdown on SIGINT/SIGQUIT, graceful on SIGTERM
Deprecations
eventletworker is deprecated and will be removed inGunicorn 26.0. Eventlet itself is no longer actively maintained.
Please migrate to
gevent,gthread, or another supported worker type.Changes
(PR #3471)
v24.1.1Compare Source
Bug Fixes
forwarded_allow_ipsandproxy_allow_ipsto remain as strings for backwardcompatibility with external tools like uvicorn. Network validation now uses strict
mode to detect invalid CIDR notation (e.g.,
192.168.1.1/24where host bits are set)(#3458,
PR #3459)
Full Changelog: https://github.com/benoitc/gunicorn/compare/24.1.0...24.1.1
v24.1.0: Gunicorn 24.1.0Compare Source
New Features
Official Docker Image: Gunicorn now publishes official Docker images to GitHub Container Registry (PR #3454)
ghcr.io/benoitc/gunicornPROXY Protocol v2 Support: Extended PROXY protocol implementation to support the binary v2 format in addition to the existing text-based v1 format (PR #3451)
--proxy-protocolmodes:off,v1,v2,autoautomode (default when enabled) detects v1 or v2 automaticallyCIDR Network Support:
--forwarded-allow-ipsand--proxy-allow-fromnow accept CIDR notation (e.g.,192.168.0.0/16) for specifying trusted networks (PR #3449)Socket Backlog Metric: New
gunicorn.socket.backloggauge metric reports the current socket backlog size on Linux systems (PR #3450)InotifyReloader Enhancement: The inotify-based reloader now watches newly imported modules, not just those loaded at startup (PR #3447)
Bug Fixes
finish_body()for faster timeout detection on slow or abandoned connections (PR #3453)SSLWantReadErrorinfinish_body()to prevent worker hangs during SSL renegotiation (PR #3448)unreader.unread()to prepend data to buffer instead of appending (PR #3442)RecursionErrorwhen pickling Config objects (PR #3441)raise fromin glogging.py (PR #3440)Installation
Or use the official Docker image:
v24.0.0Compare Source
New Features
ASGI Worker (Beta): Native asyncio-based ASGI support for running async Python frameworks like FastAPI, Starlette, and Quart without external dependencies
uWSGI Binary Protocol: Support for receiving requests from nginx via
uwsgi_passdirectiveDocumentation Migration: Migrated to MkDocs with Material theme
Security
Install
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ 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.
This PR has been generated by Renovate Bot.
a0f2d6eb04toe9261e5dc2e9261e5dc2toa741ca7fc6a741ca7fc6toe00315483ce00315483cto3d714934bc3d714934bcto9b1a81fd91Update dependency gunicorn to v25to Update dependency gunicorn to v25 - autoclosedPull request closed