Wang Mingyu
d06649721b
python3-gunicorn: upgrade 25.1.0 -> 25.3.0
...
Bug Fixes
==========
- HTTP/2 ASGI Body Duplication: Fix request body being received twice in HTTP/2
ASGI requests, causing JSON parsing errors with "Extra data" messages (#3558 )
- ASGI Chunked EOF Handling: Add finish() method to callback parser to handle
chunked encoding edge case where connection closes before final CRLF after
zero-chunk
- HTTP/2 Documentation: Fix http_protocols examples to use comma-separated
string instead of list syntax (#3561 )
- Chunked Encoding: Reject chunk extensions containing bare CR bytes per RFC
9112 (#3556 )
- Request Line Limit: Fix --limit-request-line 0 to mean unlimited as
documented, instead of using default maximum. Works with both Python and fast
C parser. (#3563 )
- uWSGI Async Workers: Fix InvalidUWSGIHeader: incomplete header error when
using gevent or gthread workers with uwsgi protocol behind nginx.
- FileWrapper Iterator Protocol: Add __iter__ and __next__ methods to
FileWrapper for full PEP 3333 compliance. Previously only supported old-style
__getitem__ iteration which broke code explicitly using iter() or next().
Security =============
- ASGI Parser Header Validation: Add security checks per RFC 9110/9112:
- Reject duplicate Content-Length headers
- Reject requests with both Content-Length and Transfer-Encoding
- Reject chunked transfer encoding in HTTP/1.0
- Reject stacked chunked encoding
- Validate Transfer-Encoding values
- Strict chunk size validation
Changes ==========
- Fast HTTP Parser: Update to gunicorn_h1c >= 0.6.3 for asgi_headers property
and InvalidChunkExtension validation for bare CR rejection
- ASGI PROXY Protocol: Add PROXY protocol v1/v2 support to callback parser
- Docker Images: Update to Python 3.14
New Features ============
- Fast HTTP Parser (gunicorn_h1c 0.6.0): Integrate new exception types and
limit parameters from gunicorn_h1c 0.6.0 for both WSGI and ASGI workers
- Requires gunicorn_h1c >= 0.6.0 for http_parser='fast'
- Falls back to Python parser in auto mode if version not met
- Proper HTTP status codes for limit errors (414, 431)
Performance ============
- ASGI HTTP Parser Optimizations: Improve ASGI worker HTTP parsing performance
- Callback-based parsing with direct bytearray buffer operations
- Use bytearray.find() directly instead of converting to bytes first
- Use index-based iteration for header parsing instead of list.pop(0) (O(1) vs
O(n))
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com >
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com >
2026-04-01 19:29:09 -07:00
..
2026-03-18 14:33:25 -07:00
2025-12-10 08:56:15 -08:00
2026-01-12 08:53:45 -08:00
2026-03-18 14:33:25 -07:00
2026-03-20 15:12:13 -07:00
2026-02-16 00:34:04 -08:00
2026-02-06 10:06:25 -08:00
2026-02-10 21:11:46 -08:00
2026-02-06 10:06:18 -08:00
2025-11-29 21:19:36 -08:00
2026-01-12 08:53:50 -08:00
2026-01-12 08:53:49 -08:00
2026-01-27 11:58:28 -08:00
2026-03-02 19:25:59 -08:00
2026-01-13 08:28:58 -08:00
2026-03-18 14:33:24 -07:00
2026-03-18 14:33:25 -07:00
2026-01-13 08:28:59 -08:00
2026-03-18 14:33:33 -07:00
2026-03-18 14:33:27 -07:00
2026-02-06 10:06:18 -08:00
2026-01-30 23:59:04 -08:00
2026-02-06 10:06:19 -08:00
2026-01-02 22:28:23 -08:00
2026-02-16 00:34:02 -08:00
2025-11-26 19:07:04 -08:00
2026-03-24 14:22:34 -07:00
2025-11-25 15:32:28 -08:00
2025-12-10 08:56:15 -08:00
2026-01-12 08:53:42 -08:00
2026-03-27 09:08:54 -07:00
2026-01-12 10:25:57 -08:00
2026-04-01 19:29:06 -07:00
2026-02-06 10:06:23 -08:00
2026-03-17 13:25:28 -07:00
2025-11-29 21:19:36 -08:00
2026-04-01 19:29:06 -07:00
2026-03-27 09:08:55 -07:00
2026-03-17 13:25:28 -07:00
2026-02-24 22:30:29 -08:00
2025-12-09 15:11:00 -08:00
2026-03-02 19:25:48 -08:00
2026-04-01 13:16:36 -07:00
2025-12-16 19:57:33 -08:00
2026-03-02 19:25:48 -08:00
2026-01-05 18:16:18 -08:00
2026-03-02 19:25:48 -08:00
2026-03-02 19:25:58 -08:00
2025-12-02 09:22:50 -08:00
2026-01-07 09:09:29 -08:00
2025-12-10 08:56:15 -08:00
2025-12-31 08:34:02 -08:00
2026-03-27 09:08:55 -07:00
2026-02-20 23:34:19 -08:00
2026-03-23 13:34:21 -07:00
2026-04-01 19:29:07 -07:00
2026-01-06 07:36:35 -08:00
2026-03-17 13:25:28 -07:00
2026-03-17 13:25:28 -07:00
2026-03-03 21:08:14 -08:00
2025-12-09 15:11:01 -08:00
2026-03-18 14:33:25 -07:00
2026-03-27 09:08:56 -07:00
2026-03-20 15:12:13 -07:00
2025-12-05 10:13:23 -08:00
2026-04-01 19:29:07 -07:00
2026-03-17 13:25:29 -07:00
2026-03-17 13:25:29 -07:00
2026-01-05 18:16:19 -08:00
2026-03-27 09:08:56 -07:00
2026-03-02 19:25:51 -08:00
2025-12-31 08:34:01 -08:00
2026-04-01 19:29:07 -07:00
2026-02-16 00:34:04 -08:00
2026-02-06 10:06:25 -08:00
2026-01-30 23:59:08 -08:00
2026-03-16 11:18:36 -07:00
2026-03-16 11:18:36 -07:00
2026-02-10 21:11:46 -08:00
2025-12-31 08:34:03 -08:00
2026-04-01 13:16:38 -07:00
2026-01-30 23:59:08 -08:00
2026-02-20 23:34:20 -08:00
2025-12-31 08:34:02 -08:00
2026-04-01 19:29:07 -07:00
2026-04-01 19:29:08 -07:00
2026-04-01 19:29:08 -07:00
2026-02-20 23:34:23 -08:00
2025-12-31 08:34:00 -08:00
2026-04-01 19:29:08 -07:00
2026-04-01 19:29:08 -07:00
2026-03-30 19:46:40 -07:00
2026-03-27 09:08:56 -07:00
2026-02-24 22:30:30 -08:00
2026-02-24 22:30:30 -08:00
2026-02-24 22:30:30 -08:00
2026-02-17 22:42:40 -08:00
2026-02-24 22:30:29 -08:00
2026-02-24 22:30:30 -08:00
2026-02-24 22:30:29 -08:00
2026-02-24 22:30:30 -08:00
2025-12-31 08:34:01 -08:00
2026-02-24 22:30:30 -08:00
2025-12-31 08:34:00 -08:00
2026-04-01 19:29:09 -07:00
2025-12-02 09:18:19 -08:00
2026-03-02 19:25:52 -08:00
2026-01-27 11:58:28 -08:00
2025-12-31 08:34:04 -08:00
2026-03-02 19:25:59 -08:00
2026-03-02 19:25:52 -08:00
2026-03-27 09:08:57 -07:00
2026-03-18 14:33:26 -07:00
2026-03-02 19:25:52 -08:00
2026-03-18 14:33:28 -07:00
2026-04-01 19:29:09 -07:00
2026-03-17 13:25:30 -07:00
2026-03-18 14:33:24 -07:00
2026-01-30 23:59:08 -08:00
2026-03-18 14:33:25 -07:00
2025-12-31 08:34:02 -08:00
2026-01-13 08:28:59 -08:00
2026-04-01 13:16:36 -07:00
2025-12-24 13:18:28 -08:00
2026-01-30 23:59:09 -08:00
2026-02-06 10:06:23 -08:00
2026-03-27 09:08:57 -07:00
2026-03-27 09:08:57 -07:00
2026-03-27 09:08:57 -07:00
2025-12-24 13:18:28 -08:00
2026-03-27 09:08:58 -07:00
2025-12-02 09:18:20 -08:00
2025-12-02 09:22:50 -08:00
2026-03-27 09:08:58 -07:00
2026-03-17 13:25:30 -07:00
2026-03-17 13:25:30 -07:00
2026-01-30 23:59:05 -08:00
2025-12-31 08:34:02 -08:00
2026-03-27 09:08:58 -07:00
2026-02-16 10:25:51 -08:00
2026-01-13 08:28:59 -08:00
2026-03-20 14:13:10 -07:00
2026-02-17 22:42:40 -08:00
2026-03-17 13:25:30 -07:00
2026-03-18 14:33:33 -07:00
2025-12-31 08:34:03 -08:00
2026-02-06 10:06:26 -08:00
2026-02-20 23:34:22 -08:00
2026-03-27 09:08:58 -07:00
2026-03-17 13:25:31 -07:00
2026-03-02 19:25:53 -08:00
2026-03-27 09:08:59 -07:00
2025-12-02 09:18:04 -08:00
2026-04-01 13:16:36 -07:00
2026-01-30 23:59:09 -08:00
2026-02-20 23:34:18 -08:00
2026-02-07 19:01:52 -08:00
2026-03-27 09:08:59 -07:00
2026-03-17 13:25:31 -07:00
2026-01-06 07:36:35 -08:00
2026-03-18 14:33:27 -07:00
2026-01-12 08:53:44 -08:00
2026-01-12 08:53:44 -08:00
2025-12-24 13:18:28 -08:00
2025-12-31 08:34:02 -08:00
2026-03-17 13:25:31 -07:00
2026-03-17 13:25:31 -07:00
2026-03-02 19:25:53 -08:00
2026-03-18 14:33:33 -07:00
2026-03-02 19:25:53 -08:00
2026-01-06 07:36:35 -08:00
2026-02-20 23:34:19 -08:00
2026-01-30 23:59:05 -08:00
2026-02-06 10:06:19 -08:00
2026-02-06 10:06:19 -08:00
2026-03-27 09:08:59 -07:00
2026-02-24 22:30:28 -08:00
2026-03-27 09:08:59 -07:00
2026-03-17 13:25:31 -07:00
2026-03-17 13:25:31 -07:00
2025-12-04 06:06:46 -08:00
2026-03-27 09:09:00 -07:00
2026-04-01 13:16:36 -07:00
2026-01-02 22:28:23 -08:00
2026-03-23 13:34:20 -07:00
2026-03-27 09:09:04 -07:00
2026-01-20 08:27:13 -08:00
2026-03-17 13:25:31 -07:00
2026-01-13 08:29:01 -08:00
2025-12-09 15:11:01 -08:00
2025-12-02 09:22:51 -08:00
2026-02-16 00:34:02 -08:00
2026-01-12 10:25:57 -08:00
2026-03-20 09:51:43 -07:00
2026-01-27 11:58:27 -08:00
2026-02-16 10:25:51 -08:00
2026-04-01 13:16:40 -07:00
2026-03-02 19:25:53 -08:00
2026-03-17 13:25:32 -07:00
2026-03-02 19:25:54 -08:00
2026-01-13 08:29:01 -08:00
2026-01-20 08:27:14 -08:00
2026-01-21 15:31:07 -08:00
2026-02-17 22:42:39 -08:00
2025-12-02 09:22:51 -08:00
2026-02-16 10:25:51 -08:00
2026-03-02 19:25:54 -08:00
2026-01-02 22:30:12 -08:00
2026-03-27 09:09:00 -07:00
2026-03-27 09:09:00 -07:00
2026-01-30 23:59:09 -08:00
2025-12-09 15:11:01 -08:00
2025-12-22 07:29:42 -08:00
2025-11-26 19:07:04 -08:00
2026-01-30 23:59:09 -08:00
2026-03-02 19:25:54 -08:00
2025-12-21 12:58:57 -08:00
2026-03-18 14:33:33 -07:00
2026-03-17 13:25:32 -07:00
2026-03-02 19:25:54 -08:00
2025-11-28 11:39:51 -08:00
2026-03-02 19:25:55 -08:00
2026-03-27 09:09:00 -07:00
2026-03-17 13:25:32 -07:00
2026-02-16 00:34:03 -08:00
2026-03-17 13:25:23 -07:00
2026-03-17 13:25:32 -07:00
2026-03-24 14:22:34 -07:00
2025-12-24 13:18:29 -08:00
2026-03-27 09:09:01 -07:00
2026-03-27 09:09:01 -07:00
2025-12-31 08:28:53 -08:00
2025-12-24 13:18:29 -08:00
2026-03-17 13:25:32 -07:00
2026-02-20 23:34:20 -08:00
2025-11-29 08:32:47 -08:00
2026-01-22 22:01:02 -08:00
2026-03-17 13:25:33 -07:00
2026-03-02 19:25:55 -08:00
2026-03-27 09:09:01 -07:00
2026-02-20 23:34:22 -08:00
2025-12-31 08:28:54 -08:00
2025-12-31 08:28:56 -08:00
2026-03-17 13:25:33 -07:00
2026-01-20 08:27:10 -08:00
2026-02-20 23:34:19 -08:00
2026-03-02 19:25:55 -08:00
2026-01-07 09:09:29 -08:00
2026-02-06 10:06:19 -08:00
2025-12-01 08:45:52 -08:00
2026-02-06 10:06:19 -08:00
2026-01-13 08:29:02 -08:00
2026-01-20 08:27:14 -08:00
2025-12-02 09:18:19 -08:00
2026-02-16 00:34:04 -08:00
2026-03-18 14:33:29 -07:00
2026-03-17 13:25:33 -07:00
2026-03-17 13:25:33 -07:00
2025-12-10 08:56:15 -08:00
2026-02-16 10:25:51 -08:00
2025-12-31 08:28:53 -08:00
2026-01-12 08:53:48 -08:00
2025-12-21 08:54:01 -08:00
2026-03-24 14:22:33 -07:00
2026-03-02 19:25:55 -08:00
2026-03-02 19:25:55 -08:00
2026-02-06 10:06:24 -08:00
2025-12-21 08:54:04 -08:00
2026-03-02 19:26:00 -08:00
2026-01-30 23:59:09 -08:00
2026-03-27 09:09:01 -07:00
2026-03-27 09:09:02 -07:00
2025-12-31 08:28:56 -08:00
2026-02-06 10:06:25 -08:00
2026-03-27 09:09:02 -07:00
2026-01-12 08:53:42 -08:00
2026-01-20 08:27:12 -08:00
2025-12-31 08:28:56 -08:00
2026-03-17 13:25:21 -07:00
2026-02-24 22:30:29 -08:00
2026-03-17 13:25:33 -07:00
2026-03-17 13:25:33 -07:00
2026-04-01 13:16:36 -07:00
2026-01-21 15:31:08 -08:00
2026-01-22 22:01:03 -08:00
2026-03-17 13:25:20 -07:00
2026-03-18 14:33:25 -07:00
2026-03-20 14:12:30 -07:00
2026-04-01 13:16:36 -07:00
2026-03-02 19:26:01 -08:00
2025-12-02 09:18:19 -08:00
2026-04-01 13:16:36 -07:00
2026-03-02 19:25:57 -08:00