Skip to content

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

Merged
depfu[bot] merged 1 commit intomainfrom
depfu/update/puma-8.0.0
Apr 10, 2026
Merged

[ruby] Update puma 7.2.0 → 8.0.0 (major)#1490
depfu[bot] merged 1 commit intomainfrom
depfu/update/puma-8.0.0

Conversation

@depfu
Copy link
Copy Markdown
Contributor

@depfu depfu bot commented Apr 10, 2026

Here is everything you need to know about this upgrade. 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 merged commit 46620ea into main Apr 10, 2026
3 checks passed
@depfu depfu bot deleted the depfu/update/puma-8.0.0 branch April 10, 2026 02:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants