Skip to content

build(deps): bump gunicorn from 22.0.0 to 25.3.0#18

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/gunicorn-25.3.0
Closed

build(deps): bump gunicorn from 22.0.0 to 25.3.0#18
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/gunicorn-25.3.0

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 22, 2026

⚠️ Dependabot is rebasing this PR ⚠️

Rebasing might not happen immediately, so don't worry if this takes some time.

Note: if you make any changes to this PR yourself, they will take precedence over the rebase.


Bumps gunicorn from 22.0.0 to 25.3.0.

Release notes

Sourced from gunicorn's releases.

Gunicorn 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)

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

Gunicorn 25.2.0

New Features

  • Fast HTTP Parser (gunicorn_h1c 0.4.1): Integrate new exception types and limit parameters from gunicorn_h1c 0.4.1 for both WSGI and ASGI workers
    • Requires gunicorn_h1c >= 0.4.1 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)

Bug Fixes

  • uWSGI Async Workers: Fix InvalidUWSGIHeader: incomplete header error when using gevent or gthread workers with uwsgi protocol behind nginx. (#3552, [PR #3554](benoitc/gunicorn#3554))

... (truncated)

Commits
  • 9bce72c Update changelog with missing 25.3.0 changes
  • 2a15fdb Fix pylint isinstance-second-argument-not-valid-type warning
  • 8d08aaa Fix --limit-request-line 0 to mean unlimited
  • d40a374 Fix pytest-asyncio configuration and treq_asgi hex escapes
  • da8bd48 Remove unused AsyncRequest class
  • b00f125 Integrate gunicorn_h1c 0.6.3 with InvalidChunkExtension support
  • bdb2ebd Reject chunk extensions with bare CR bytes (RFC 9112)
  • 7057fc9 Fix http_protocols documentation to use string syntax
  • d43acb8 Update to gunicorn_h1c >= 0.6.2 for asgi_headers support
  • cbd27e8 Merge pull request #3559 from benleembruggen/fix/http2-asgi-body-duplication
  • Additional commits viewable in compare view

@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Apr 22, 2026
@cursor
Copy link
Copy Markdown

cursor Bot commented Apr 22, 2026

PR Summary

Low Risk
Low-risk dependency bump, but it changes the production WSGI server version and could affect runtime behavior if deployment relies on Gunicorn-specific defaults or worker settings.

Overview
Updates the gunicorn dependency in requirements.txt from 22.0.0 to 25.3.0.

Reviewed by Cursor Bugbot for commit 3f494bf. Bugbot is set up for automated code reviews on this repo. Configure here.

@socket-security
Copy link
Copy Markdown

socket-security Bot commented Apr 22, 2026

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedgunicorn@​22.0.0 ⏵ 25.3.096 -1100100100100

View full report

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 77e66a6. Configure here.

Comment thread requirements.txt
Flask-Limiter==3.8.0
twilio==9.2.4
gunicorn==22.0.0
gunicorn==25.3.0
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lock files not updated, CI will fail

Medium Severity

requirements.txt bumps gunicorn to 25.3.0 but both requirements.lock and requirements-dev.lock still pin gunicorn==22.0.0. The CI workflow checks that lock files are updated whenever requirements.txt changes and will exit 1 if they diverge. Even if merged, CI installs from requirements-dev.lock, so the upgrade would have no effect in practice — production would still run gunicorn 22.0.0.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 77e66a6. Configure here.

Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 22.0.0 to 25.3.0.
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](benoitc/gunicorn@22.0.0...25.3.0)

---
updated-dependencies:
- dependency-name: gunicorn
  dependency-version: 25.3.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/pip/gunicorn-25.3.0 branch from 77e66a6 to 3f494bf Compare April 22, 2026 02:12
haasonsaas added a commit that referenced this pull request Apr 22, 2026
Consolidates four Dependabot major-bump PRs. Each was individually
reviewed against actual usage in the codebase and found low-risk:

  #13  flask-limiter    3.8.0  -> 4.1.1
       Only uses Limiter(key_func=..., default_limits=...) and
       get_remote_address — both stable across 3.x -> 4.x.
       Smoke-tested orbit_agent.sms_server import: OK.

  #15  pre-commit       3.8.0  -> 4.6.0
       Requires Python >=3.9; our matrix is 3.11/3.12. Config schema
       in .pre-commit-config.yaml is compatible as-is.

  #16  rich             13.7.1 -> 15.0.0
       Only uses rich.console.Console and rich.table.Table in
       orbit_agent/cli.py — both stable.

  #18  gunicorn         22.0.0 -> 25.3.0
       Used only via README's CLI example; no Python imports.

Also syncs .pre-commit-config.yaml hook revs to match the repo's
own pinned tool versions:
  black:  24.8.0 -> 26.3.1
  ruff:   0.6.3  -> 0.15.11
Previously the hooks installed older black/ruff than the repo uses,
which could produce different formatting locally vs in CI.

Verified on Python 3.12:
  - pytest -q: 16/16 pass
  - ruff check .: clean
  - black --check .: clean
  - orbit_agent.sms_server imports cleanly with Flask-Limiter 4.x

The 4 corresponding Dependabot PRs (#13, #15, #16, #18) will
close automatically once this merges.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@haasonsaas
Copy link
Copy Markdown
Contributor

Superseded by #21 (deps: batched major-version updates). All four majors are now on main; this PR is redundant.

@haasonsaas haasonsaas closed this Apr 22, 2026
@dependabot @github
Copy link
Copy Markdown
Contributor Author

dependabot Bot commented on behalf of github Apr 22, 2026

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot Bot deleted the dependabot/pip/gunicorn-25.3.0 branch April 22, 2026 02:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant