Skip to content

[ruby] Update puma 7.2.0 → 8.0.0 (major)#5695

Open
depfu[bot] wants to merge 1 commit intodevelopfrom
depfu/update/puma-8.0.0
Open

[ruby] Update puma 7.2.0 → 8.0.0 (major)#5695
depfu[bot] wants to merge 1 commit intodevelopfrom
depfu/update/puma-8.0.0

Conversation

@depfu
Copy link
Copy Markdown
Contributor

@depfu depfu Bot commented Apr 16, 2026

Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.

What changed?

✳️ puma (7.2.0 → 8.0.0) · Repo · Changelog

Release Notes

8.0.0

image

Read our Version 8 Upgrade Guide.

  • Features

    • Add env["puma.mark_as_io_bound"] API and max_io_threads config to allow IO-bound requests to exceed the thread pool max, enabling better handling of mixed workloads ([#3816], [#3894])
    • Add single and cluster DSL hooks for mode-specific configuration ([#3621])
    • Add on_force option to shutdown_debug to 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_max and ServerPluginControl ([#3658])
    • Use SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable ([#3829])
  • Bugfixes

    • Fix phased restart for fork_worker to avoid forking from stale worker 0 when it has been replaced ([#3853])
  • Performance

    • JRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies ([#3838])
    • Cache downcased header key in str_headers to avoid redundant String#downcase calls, reducing allocations by ~50% per response ([#3874])
  • Refactor

    • Collect env processing into dedicated client_env.rb module ([#3582])
    • Move event to default configuration ([#3872])
  • 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_timeout and worker_boot_timeout in 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.0 to :: (IPv6) when a non-loopback IPv6 interface is available; falls back to 0.0.0.0 if IPv6 is unavailable ([#3847])

Does any of this look wrong? Please let us know.

Commits

See the full diff on Github. The new version differs by 45 commits:


Depfu Status

Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.

All Depfu comment commands
@​depfu rebase
Rebases against your default branch and redoes this update
@​depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@​depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@​depfu cancel merge
Cancels automatic merging of this PR
@​depfu close
Closes this PR and deletes the branch
@​depfu reopen
Restores the branch and reopens this PR (if it's closed)
@​depfu pause
Ignores all future updates for this dependency and closes this PR
@​depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@​depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)

@depfu depfu Bot added the dependencies Pull requests that update a dependency file label Apr 16, 2026
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.

0 participants