Bump puma from 7.2.0 to 8.0.2
Closed
DE
5mo ago+3+3+0123456789-3-3-0123456789
Bumps puma from 7.2.0 to 8.0.2.
Release notes
Sourced from puma's releases.
v8.0.2
- Bugfixes
Security advisories
- CVE-2026-47736 / GHSA-qpgp-93vx-g8v8: Puma PROXY Protocol v1 Parser Allows Remote Memory Exhaustion
- CVE-2026-47737 / GHSA-2vqw-3mp8-cgmx: Puma PROXY Protocol v1 Accepts Repeated Protocol Headers on Persistent Connections
v8.0.1
Bugfixes
- Fix
prune_bundlerstripping user-configuredBUNDLE_*env vars (e.g.BUNDLE_WITHOUT) on re-exec, which caused workers to crash on boot (#3929)Performance
- Use blocks for debug logging to avoid creating log messages when debug is disabled (#3920)
Docs
v8.0.0 - Into the Arena
Read our Version 8 Upgrade Guide.
Features
- Add
env["puma.mark_as_io_bound"]API andmax_io_threadsconfig to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (#3816, #3894)- Add
singleandclusterDSL hooks for mode-specific configuration (#3621)- Add
on_forceoption toshutdown_debugto only dump thread backtraces on forced (non-graceful) shutdown (#3671)- Add API to dynamically update min and max thread counts at runtime via
update_thread_pool_min_maxandServerPluginControl(#3658)- Use SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (#3829)
Bugfixes
- Fix phased restart for
fork_workerto avoid forking from stale worker 0 when it has been replaced (#3853)Performance
Refactor
Docs
- Add gRPC guide for configuring gRPC lifecycle hooks in clustered mode (#3885)
- Add 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (#3900)
- Correct default values for
persistent_timeoutandworker_boot_timeoutin DSL docs (#3912)- Add file descriptor limit warning in test helper for contributors (#3893)
... (truncated)
Changelog
Sourced from puma's changelog.
8.0.2 / 2026-05-27
- Bugfixes
8.0.1 / 2026-04-27
Bugfixes
- Fix
prune_bundlerstripping user-configuredBUNDLE_*env vars (e.g.BUNDLE_WITHOUT) on re-exec, which caused workers to crash on boot (#3929)Performance
- Use blocks for debug logging to avoid creating log messages when debug is disabled (#3920)
Docs
8.0.0 / 2026-03-27
Features
- Add
env["puma.mark_as_io_bound"]API andmax_io_threadsconfig to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads (#3816, #3894)- Add
singleandclusterDSL hooks for mode-specific configuration (#3621)- Add
on_forceoption toshutdown_debugto only dump thread backtraces on forced (non-graceful) shutdown (#3671)- Add API to dynamically update min and max thread counts at runtime via
update_thread_pool_min_maxandServerPluginControl(#3658)- Use SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable (#3829)
Bugfixes
- Fix phased restart for
fork_workerto avoid forking from stale worker 0 when it has been replaced (#3853)Performance
Refactor
Docs
- Add gRPC guide for configuring gRPC lifecycle hooks in clustered mode (#3885)
- Add 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory (#3900)
- Correct default values for
persistent_timeoutandworker_boot_timeoutin DSL docs (#3912)- Add file descriptor limit warning in test helper for contributors (#3893)
Breaking changes
- Default production bind address changed from
0.0.0.0to::(IPv6) when a non-loopback IPv6 interface is available; falls back to0.0.0.0if IPv6 is unavailable (#3847)7.2.1 / 2026-05-27
- Bugfixes
... (truncated)
Commits
8085b75Release v8.0.2 (#3945)439c6138.0.2 backport (#3944)cee7e61Release v8.0.1 (#3932)f955cafFix prune_bundler stripping user-configured BUNDLE_* env vars on re-exec (#3929)97996aaci: test_error_logger.rb - fix TruffleRuby error (#3930)03825bcBuild(deps): Bump actions/github-script from 8 to 9 (#3925)053efaeReword v8 upgrade guide ipv6 bullet (#3928)b19f35aFix incorrect hook names in gRPC docs (#3923)eeabe4bUse blocks for debug logging to avoid creating messages if debug disabled (#3...08f63d4Release v8.0.0 (#3914)- Additional commits viewable in compare view
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 commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill 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 versionwill 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 dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Summary by cubic
Upgrade puma from 7.2.0 to 8.0.2 to pull in security fixes for the PROXY protocol parser and recent stability/perf improvements. This major bump also changes the default production bind to IPv6 when available.
- Migration
- If you need IPv4-only, explicitly bind to
0.0.0.0(or127.0.0.1) inconfig/puma.rb. - If using PROXY protocol v1, ensure your LB sends the header once per connection; repeated or oversized headers are now rejected.
- If you need IPv4-only, explicitly bind to