puma 6.4.3 → 8.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/History.md +448 -8
- data/README.md +110 -51
- data/docs/5.0-Upgrade.md +98 -0
- data/docs/6.0-Upgrade.md +56 -0
- data/docs/7.0-Upgrade.md +52 -0
- data/docs/8.0-Upgrade.md +100 -0
- data/docs/deployment.md +58 -23
- data/docs/fork_worker.md +11 -1
- data/docs/grpc.md +62 -0
- data/docs/images/favicon.svg +1 -0
- data/docs/images/running-puma.svg +1 -0
- data/docs/images/standard-logo.svg +1 -0
- data/docs/java_options.md +54 -0
- data/docs/jungle/README.md +1 -1
- data/docs/kubernetes.md +11 -16
- data/docs/plugins.md +6 -2
- data/docs/restart.md +2 -2
- data/docs/signals.md +21 -21
- data/docs/stats.md +11 -5
- data/docs/systemd.md +14 -5
- data/ext/puma_http11/extconf.rb +20 -32
- data/ext/puma_http11/http11_parser.java.rl +51 -65
- data/ext/puma_http11/mini_ssl.c +29 -9
- data/ext/puma_http11/org/jruby/puma/EnvKey.java +241 -0
- data/ext/puma_http11/org/jruby/puma/Http11.java +194 -101
- data/ext/puma_http11/org/jruby/puma/Http11Parser.java +71 -85
- data/ext/puma_http11/puma_http11.c +125 -118
- data/lib/puma/app/status.rb +11 -3
- data/lib/puma/binder.rb +22 -12
- data/lib/puma/cli.rb +11 -9
- data/lib/puma/client.rb +233 -136
- data/lib/puma/client_env.rb +171 -0
- data/lib/puma/cluster/worker.rb +24 -21
- data/lib/puma/cluster/worker_handle.rb +38 -8
- data/lib/puma/cluster.rb +74 -48
- data/lib/puma/cluster_accept_loop_delay.rb +91 -0
- data/lib/puma/commonlogger.rb +3 -3
- data/lib/puma/configuration.rb +197 -64
- data/lib/puma/const.rb +23 -12
- data/lib/puma/control_cli.rb +11 -7
- data/lib/puma/detect.rb +13 -0
- data/lib/puma/dsl.rb +483 -127
- data/lib/puma/error_logger.rb +7 -5
- data/lib/puma/events.rb +25 -10
- data/lib/puma/io_buffer.rb +8 -4
- data/lib/puma/jruby_restart.rb +0 -16
- data/lib/puma/launcher/bundle_pruner.rb +3 -5
- data/lib/puma/launcher.rb +76 -59
- data/lib/puma/log_writer.rb +17 -11
- data/lib/puma/minissl/context_builder.rb +1 -0
- data/lib/puma/minissl.rb +1 -1
- data/lib/puma/null_io.rb +26 -0
- data/lib/puma/plugin/systemd.rb +3 -3
- data/lib/puma/rack/urlmap.rb +1 -1
- data/lib/puma/reactor.rb +19 -13
- data/lib/puma/{request.rb → response.rb} +57 -209
- data/lib/puma/runner.rb +15 -17
- data/lib/puma/sd_notify.rb +1 -4
- data/lib/puma/server.rb +200 -104
- data/lib/puma/server_plugin_control.rb +32 -0
- data/lib/puma/single.rb +7 -4
- data/lib/puma/state_file.rb +3 -2
- data/lib/puma/thread_pool.rb +179 -96
- data/lib/puma/util.rb +0 -7
- data/lib/puma.rb +10 -0
- data/lib/rack/handler/puma.rb +11 -8
- data/tools/Dockerfile +15 -5
- metadata +26 -16
- data/ext/puma_http11/ext_help.h +0 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6c96b9615e3021ca787fdb02a91af1bcfc2c2201465efd375e94c0100d089ece
|
|
4
|
+
data.tar.gz: 620a8240509ff2acbac19e20b4d8f55aa7cef0b6fb8bef0836f31c848b9def67
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 88e2c0146d21143793a559dbb515ce22866266a5750acd0e55c9d84bbc41c536341e3602b34d4e192dad265102bc6bd93b0e300d1ee60806482aa9ba67e59e29
|
|
7
|
+
data.tar.gz: 6f5d132d87d2b78a3b240eec1029f7eab30ce22f5de1dfcbc1ba0bc2d253655b58594bd1104def34cb169a56aef4642666267dcadb347f2381e63179dddf1946
|
data/History.md
CHANGED
|
@@ -1,3 +1,268 @@
|
|
|
1
|
+
## 8.0.2 / 2026-05-27
|
|
2
|
+
|
|
3
|
+
* Bugfixes
|
|
4
|
+
* Anchor PROXY protocol v1 regex to string start and enforce max line length to prevent injection via crafted request bodies ([#3944])
|
|
5
|
+
* Parse PROXY protocol header only on the first request per connection to prevent spoofing on keep-alive connections ([#3944])
|
|
6
|
+
|
|
7
|
+
## 8.0.1 / 2026-04-27
|
|
8
|
+
|
|
9
|
+
* Bugfixes
|
|
10
|
+
* Fix `prune_bundler` stripping user-configured `BUNDLE_*` env vars (e.g. `BUNDLE_WITHOUT`) on re-exec, which caused workers to crash on boot ([#3929])
|
|
11
|
+
|
|
12
|
+
* Performance
|
|
13
|
+
* Use blocks for debug logging to avoid creating log messages when debug is disabled ([#3920])
|
|
14
|
+
|
|
15
|
+
* Docs
|
|
16
|
+
* Fix incorrect hook names in gRPC docs ([#3923])
|
|
17
|
+
* Reword v8 upgrade guide IPv6 bullet for clarity ([#3928])
|
|
18
|
+
|
|
19
|
+
## 8.0.0 / 2026-03-27
|
|
20
|
+
|
|
21
|
+
* Features
|
|
22
|
+
* 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])
|
|
23
|
+
* Add `single` and `cluster` DSL hooks for mode-specific configuration ([#3621])
|
|
24
|
+
* Add `on_force` option to `shutdown_debug` to only dump thread backtraces on forced (non-graceful) shutdown ([#3671])
|
|
25
|
+
* Add API to dynamically update min and max thread counts at runtime via `update_thread_pool_min_max` and `ServerPluginControl` ([#3658])
|
|
26
|
+
* Use SIGPWR for thread backtrace dumps on Linux/JRuby where SIGINFO is unavailable ([#3829])
|
|
27
|
+
|
|
28
|
+
* Bugfixes
|
|
29
|
+
* Fix phased restart for `fork_worker` to avoid forking from stale worker 0 when it has been replaced ([#3853])
|
|
30
|
+
|
|
31
|
+
* Performance
|
|
32
|
+
* JRuby HTTP parser improvements: pre-allocated header keys, perfect hash lookup, reduced memory copies ([#3838])
|
|
33
|
+
* Cache downcased header key in `str_headers` to avoid redundant `String#downcase` calls, reducing allocations by ~50% per response ([#3874])
|
|
34
|
+
|
|
35
|
+
* Refactor
|
|
36
|
+
* Collect `env` processing into dedicated `client_env.rb` module ([#3582])
|
|
37
|
+
* Move event to default configuration ([#3872])
|
|
38
|
+
|
|
39
|
+
* Docs
|
|
40
|
+
* Add gRPC guide for configuring gRPC lifecycle hooks in clustered mode ([#3885])
|
|
41
|
+
* Add 7.0 upgrade guide, move 5.0/6.0 upgrade guides to docs directory ([#3900])
|
|
42
|
+
* Correct default values for `persistent_timeout` and `worker_boot_timeout` in DSL docs ([#3912])
|
|
43
|
+
* Add file descriptor limit warning in test helper for contributors ([#3893])
|
|
44
|
+
|
|
45
|
+
* Breaking changes
|
|
46
|
+
* 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])
|
|
47
|
+
|
|
48
|
+
## 7.2.0 / 2026-01-20
|
|
49
|
+
|
|
50
|
+
* Features
|
|
51
|
+
* Add workers `:auto` ([#3827])
|
|
52
|
+
* Make it possible to restrict control server commands to stats ([#3787])
|
|
53
|
+
|
|
54
|
+
* Bugfixes
|
|
55
|
+
* Don't break if `WEB_CONCURRENCY` is set to a blank string ([#3837])
|
|
56
|
+
* Don't share server between worker 0 and descendants on refork ([#3602])
|
|
57
|
+
* Fix phase check race condition in `Puma::Cluster#check_workers` ([#3690])
|
|
58
|
+
* Fix advertising of CLI config before config files are loaded ([#3823])
|
|
59
|
+
|
|
60
|
+
* Performance
|
|
61
|
+
* 17% faster HTTP parsing through pre-interning env keys ([#3825])
|
|
62
|
+
* Implement `dsize` and `dcompact` functions for `Puma::HttpParser`, which makes Puma's C-extension GC-compactible ([#3828])
|
|
63
|
+
|
|
64
|
+
* Refactor
|
|
65
|
+
* Remove `NoMethodError` rescue in `Reactor#select_loop` ([#3831])
|
|
66
|
+
* Various cleanups in the C extension ([#3814])
|
|
67
|
+
* Monomorphize `handle_request` return ([#3802])
|
|
68
|
+
|
|
69
|
+
* Docs
|
|
70
|
+
* Change link to `docs/deployment.md` in `README.md` ([#3848])
|
|
71
|
+
* Fix formatting for each signal description in signals.md ([#3813])
|
|
72
|
+
* Update deployment and Kubernetes docs with Puma configuration tips ([#3807])
|
|
73
|
+
* Rename master to main ([#3809], [#3808], [#3800])
|
|
74
|
+
* Fix some minor typos in the docs ([#3804])
|
|
75
|
+
* Add `GOVERNANCE.md`, `MAINTAINERS` ([#3826])
|
|
76
|
+
* Remove Code Climate badge ([#3820])
|
|
77
|
+
* Add @joshuay03 to the maintainer list
|
|
78
|
+
|
|
79
|
+
* CI
|
|
80
|
+
* Use Minitest 6 where applicable ([#3859])
|
|
81
|
+
* Many test suite improvements and flake fixes ([#3861], [#3863], [#3860], [#3852], [#3857], [#3856], [#3845], [#3843], [#3842], [#3841], [#3822], [#3817], [#3764])
|
|
82
|
+
|
|
83
|
+
## 7.1.0 / 2025-10-16
|
|
84
|
+
|
|
85
|
+
* Features
|
|
86
|
+
* Introduce `after_worker_shutdown` hook ([#3707])
|
|
87
|
+
* Reintroduce keepalive "fast inline" behavior. Provides faster (8x on JRuby & 1.4x on Ruby) pipeline processing ([#3794])
|
|
88
|
+
|
|
89
|
+
* Bugfixes
|
|
90
|
+
* Skip reading zero bytes when request body is buffered ([#3795])
|
|
91
|
+
* Fix `PUMA_LOG_CONFIG=1` logging twice with prune_bundler enabled ([#3778])
|
|
92
|
+
* Fix prune_bundler not showing in `PUMA_LOG_CONFIG=1` output ([#3779])
|
|
93
|
+
* Guard ThreadPool method call, which may be nil during shutdown ([#3791], [#3790])
|
|
94
|
+
* Set `Thread.current.puma_server` in Thread init code, not every request ([#3774])
|
|
95
|
+
* Fix race condition while deleting pidfile ([#3657])
|
|
96
|
+
|
|
97
|
+
## 7.0.4 / 2025-09-23
|
|
98
|
+
|
|
99
|
+
* Bugfixes
|
|
100
|
+
* Fix SSL_shutdown error handling ([#3703])
|
|
101
|
+
* Strip whitespace from the beginnings of request header values. ([#3742])
|
|
102
|
+
|
|
103
|
+
* Performance
|
|
104
|
+
* puma_http11.c: Use interned UTF-8 strings for hash keys ([#3754])
|
|
105
|
+
* Move sleep cluster logic to its own class ([#3746], [#3740])
|
|
106
|
+
|
|
107
|
+
## 7.0.3 / 2025-09-13
|
|
108
|
+
|
|
109
|
+
* Performance
|
|
110
|
+
* server.rb - process_client - add ka to todo if readable & complete ([#3748])
|
|
111
|
+
|
|
112
|
+
* Bugfixes
|
|
113
|
+
* Convert PUMA_PERSISTENT_TIMEOUT to an Integer ([#3749])
|
|
114
|
+
|
|
115
|
+
## 7.0.2 / 2025-09-08
|
|
116
|
+
|
|
117
|
+
* Bugfixes
|
|
118
|
+
* bug: control_cli.rb - Fixup `pumactl` code to load puma.rb for `deprecate_method_change` ([#3736], [#3734])
|
|
119
|
+
* Replace sleep spin lock with condition variable ([#3729])
|
|
120
|
+
* Fix Puma not booting if queue_requests disabled ([#3731])
|
|
121
|
+
|
|
122
|
+
## 7.0.1 / 2025-09-06
|
|
123
|
+
|
|
124
|
+
* Bugfixes
|
|
125
|
+
* Add backward compatibility aliases for Events class methods ([#3725])
|
|
126
|
+
|
|
127
|
+
## 7.0.0 / 2025-09-03
|
|
128
|
+
|
|
129
|
+
* Breaking changes
|
|
130
|
+
* Set default `max_keep_alive` to 999 ([#3719])
|
|
131
|
+
* Increase `persistent_timeout` default to 65 seconds ([#3378])
|
|
132
|
+
* Raise an ArgumentError if no block given to hooks ([#3377])
|
|
133
|
+
* Don't set env['HTTP_VERSION'] for Rack > 3.1 ([#3711], [#3576])
|
|
134
|
+
* Runner.rb - remove `ruby_engine` method, deprecated Nov-2024 ([#3701])
|
|
135
|
+
* Config `preload_app!` is now the default for clustered mode ([#3297])
|
|
136
|
+
* Config instance must be `clamp`-d before reading any values ([#3297])
|
|
137
|
+
* Response headers set to lowercase ([#3704])
|
|
138
|
+
* Update minimum Ruby version to 3.0 ([#3698])
|
|
139
|
+
* Rename callback hooks ([#3438])
|
|
140
|
+
|
|
141
|
+
| Old hook name| New hook name|
|
|
142
|
+
|----------|----------|
|
|
143
|
+
| on_worker_boot | before_worker_boot |
|
|
144
|
+
| on_worker_shutdown | before_worker_shutdown |
|
|
145
|
+
| on_restart | before_restart |
|
|
146
|
+
| on_booted | after_booted |
|
|
147
|
+
| on_stopped | after_stopped |
|
|
148
|
+
| on_refork | before_refork |
|
|
149
|
+
| on_thread_start | before_thread_start |
|
|
150
|
+
| on_thread_exit | before_thread_exit |
|
|
151
|
+
| on_worker_fork | before_worker_fork |
|
|
152
|
+
|
|
153
|
+
* Features
|
|
154
|
+
* Fix long tail response problem with keepalive connections ([#3678]) (Previously released in 7.0.0.pre1, this was a high effort change)
|
|
155
|
+
* Introduce support for fiber-per-request. ([#3101])
|
|
156
|
+
* Add support for `rack.response_finished` ([#3681])
|
|
157
|
+
* Feature/support custom logger with request logs ([#3140])
|
|
158
|
+
|
|
159
|
+
* Bugfixes
|
|
160
|
+
* Fix error_logger inproperly logging `env[QUERY_STRING]` ([#3713], [#3625])
|
|
161
|
+
* Fix handling of invalid Transfer-Encoding header errors ([#3702])
|
|
162
|
+
* Fix socket leak on monitor wakeup `NoMethodError` in `Reactor#select_loop` ([#3696], [#3695])
|
|
163
|
+
* CI: puma_socket.rb fixup socket/request writes ([#3684])
|
|
164
|
+
* Warn when RUBY_MN_THREADS env var is set ([#3721])
|
|
165
|
+
* Improve the DSL `preload_app!` doc ([#3712])
|
|
166
|
+
* Fix the ability to focus individual tests ([#3705])
|
|
167
|
+
* Set env['rack.hijack'] to client.method(:full_hijack) ([#3073])
|
|
168
|
+
|
|
169
|
+
* Performance
|
|
170
|
+
* server.rb - initialize ivars `@reactor` and `@env_set_http_version` ([#3714])
|
|
171
|
+
|
|
172
|
+
* Refactor
|
|
173
|
+
* Simplify `Puma::DSL#process_hook` logic ([#3710])
|
|
174
|
+
* Dry up deprecation warnings and fix deprecation warnings when running CI. ([#3709], [#3708])
|
|
175
|
+
* Ensure and enforce that configs are loaded before options are accessed ([#3616])
|
|
176
|
+
|
|
177
|
+
## 7.0.0.pre1 / 2025-07-31
|
|
178
|
+
|
|
179
|
+
* Changed
|
|
180
|
+
* Fix long tail response problem with keepalive connections ([#3678])
|
|
181
|
+
|
|
182
|
+
## 6.6.1 / 2025-07-30
|
|
183
|
+
|
|
184
|
+
* Bugfixes
|
|
185
|
+
* Accept `to_path` to be `nil` on request bodies ([#3635])
|
|
186
|
+
* Fix single runner stats before the server start ([#3572])
|
|
187
|
+
* Fix incomplete worker boot state on refork ([#3601])
|
|
188
|
+
* Improve HttpParserError messages for better debugging ([#3586])
|
|
189
|
+
* Fix refork logs to distinguish from phased restarts ([#3598])
|
|
190
|
+
* Fix `rack.after_reply` so it doesn't interrupt chain on error ([#3680])
|
|
191
|
+
|
|
192
|
+
## 6.6.0 / 2025-01-29
|
|
193
|
+
|
|
194
|
+
* Features
|
|
195
|
+
* Option to turn off SIGUSR2 trapping ([#3570], [#3567])
|
|
196
|
+
* Shorten `ThreadPool` trimmer and reaper thread names ([#3383])
|
|
197
|
+
* Add after_refork hook ([#3386])
|
|
198
|
+
* Add busy threads stat ([#3517])
|
|
199
|
+
* Add a debug log before running each type of hook ([#3375])
|
|
200
|
+
* Allow alternative schemes in Binder ([#3348], [#3302])
|
|
201
|
+
* Avoid spawning `Threadpool#trim` thread if pool size is fixed ([#3384])
|
|
202
|
+
|
|
203
|
+
* Bugfixes
|
|
204
|
+
* Change `HttpParserError` to be subclass of `StandardError` ([#3590], [#3552])
|
|
205
|
+
* added test cases
|
|
206
|
+
* fix update phased restart symlink folder
|
|
207
|
+
|
|
208
|
+
* Performance
|
|
209
|
+
* Only ping worker 0 during phased restart if using fork worker ([#3568])
|
|
210
|
+
|
|
211
|
+
* Refactor
|
|
212
|
+
* Fix multi-delimiter split to get status app token ([#3505])
|
|
213
|
+
* Change ping to use const ([#3595])
|
|
214
|
+
* Fixup use of Puma::Const::PipeRequest constants ([#3565])
|
|
215
|
+
* Update DSL hook processing logic to be consistent ([#3376])
|
|
216
|
+
|
|
217
|
+
## 6.5.0 / 2024-11-23
|
|
218
|
+
|
|
219
|
+
* Features
|
|
220
|
+
* Print RUBY_DESCRIPTION when Puma starts ([#3407])
|
|
221
|
+
* Set the worker process count automatically when using WEB_CONCURRENCY=auto ([#3439], [#3437])
|
|
222
|
+
* Mark as ractor-safe ([#3486], [#3422])
|
|
223
|
+
* Add option `enable_keep_alive`. `true` mimics existing behavior, but now can use `false` to disable keepalive to reduce queue tail latency ([#3496])
|
|
224
|
+
* Add parameters to Puma methods to allow CI to change ENV in isolation ([#3485])
|
|
225
|
+
* Add `ssl_ciphersuites` option for TLSv1.3 ciphers ([#3359], [#3343])
|
|
226
|
+
* You can now use `--threads 5` or `threads 5` to config max/min threads with a single number (used to need to say `5:5`) ([#3309])
|
|
227
|
+
* Option to turn off systemd plugin ([#3425], [#3424])
|
|
228
|
+
* Add `on_stopped` hook ([#3411], [#3380])
|
|
229
|
+
|
|
230
|
+
* Bugfixes
|
|
231
|
+
* Handle blank environment variables when loading config ([#3539])
|
|
232
|
+
* lib/rack/handler/puma.rb - fix for rackup v1.0.1, adjust Gemfile ([#3532], [#3531])
|
|
233
|
+
* null_io.rb - add `external_encoding`, `set_encoding`, `binmode`, `binmode?` ([#3214])
|
|
234
|
+
* Implement NullIO#seek and #pos to mimic IO ([#3468])
|
|
235
|
+
* add support in rack handler & fix regression in binder for linux abstract namespace sockets ([#3508])
|
|
236
|
+
* Use actual thread local for `Puma::Server.current`. ([#3360])
|
|
237
|
+
* client.rb - fix request chunked body handling ([#3338], [#3337])
|
|
238
|
+
* Properly handle two requests seen in the initial buffer ([#3332])
|
|
239
|
+
* Fix response repeated status line when request is invalid or errors are raised ([#3308], [#3307])
|
|
240
|
+
* Fix child processes not being reaped when `Process.detach` used ([#3314], [#3313])
|
|
241
|
+
|
|
242
|
+
* JRuby
|
|
243
|
+
* Make HTTP length constants configurable ([#3518])
|
|
244
|
+
* Fixup jruby_restart.rb & launcher.rb to work with ARM64 macOS JRuby ([#3467])
|
|
245
|
+
|
|
246
|
+
* Performance
|
|
247
|
+
* Avoid checking if all workers reached timeout unless idle timeout is configured ([#3341])
|
|
248
|
+
* Request body - increase read size to 64 kB ([#3548])
|
|
249
|
+
* single mode skip wait_for_less_busy_worker ([#3325])
|
|
250
|
+
|
|
251
|
+
* Refactor
|
|
252
|
+
* A ton of CI/test improvements by @MSP-Greg, as usual.
|
|
253
|
+
* Add ThreadPool#stats and adjust Server#stats to use it ([#3527])
|
|
254
|
+
* normalize whitespace in worker stats string ([#3513])
|
|
255
|
+
* rack/handler/puma.rb - ssl - use `start_with?`, add test ([#3510])
|
|
256
|
+
* extconf.rb - add logging for OpenSSL versions ([#3370])
|
|
257
|
+
* Lazily require `Puma::Rack::Builder` ([#3340])
|
|
258
|
+
* Refactor: Constantize worker pipe request types ([#3318])
|
|
259
|
+
|
|
260
|
+
* Docs
|
|
261
|
+
* stats.md improvements ([#3514])
|
|
262
|
+
* control_cli.rb: Harmonize help message with bin/puma ([#3434])
|
|
263
|
+
* dsl.rb: Clarify a callback's argument ([#3435])
|
|
264
|
+
* lib/rack/handler/puma.rb - relocate and fixup module comment ([#3495])
|
|
265
|
+
|
|
1
266
|
## 6.4.3 / 2024-09-19
|
|
2
267
|
|
|
3
268
|
* Security
|
|
@@ -89,7 +354,7 @@
|
|
|
89
354
|
|
|
90
355
|
* Features
|
|
91
356
|
* Ability to supply a custom logger ([#2770], [#2511])
|
|
92
|
-
* Warn when
|
|
357
|
+
* Warn when cluster mode-only hooks are defined in single mode ([#3089])
|
|
93
358
|
* Adds the on_booted event ([#2709])
|
|
94
359
|
|
|
95
360
|
* Bugfixes
|
|
@@ -182,6 +447,9 @@
|
|
|
182
447
|
|
|
183
448
|
* Security
|
|
184
449
|
* Discards any headers using underscores if the non-underscore version also exists. Without this, an attacker could overwrite values set by intermediate proxies (e.g. X-Forwarded-For). ([CVE-2024-45614](https://github.com/puma/puma/security/advisories/GHSA-9hf4-67fc-4vf4)/GHSA-9hf4-67fc-4vf4)
|
|
450
|
+
* JRuby
|
|
451
|
+
* Must use at least Java >= 9 to compile. You can no longer build from source on Java 8.
|
|
452
|
+
|
|
185
453
|
|
|
186
454
|
## 5.6.8 / 2024-01-08
|
|
187
455
|
|
|
@@ -681,7 +949,7 @@ Each patchlevel release contains a separate security fix. We recommend simply up
|
|
|
681
949
|
* Fix Java 8 support ([#1773])
|
|
682
950
|
* Fix error `uninitialized constant Puma::Cluster` ([#1731])
|
|
683
951
|
* Fix `not_token` being able to be set to true ([#1803])
|
|
684
|
-
* Fix "Hang on SIGTERM with ruby 2.6 in
|
|
952
|
+
* Fix "Hang on SIGTERM with ruby 2.6 in cluster mode" (PR [#1741], [#1674], [#1720], [#1730], [#1755])
|
|
685
953
|
|
|
686
954
|
## 3.12.1 / 2019-03-19
|
|
687
955
|
|
|
@@ -1092,7 +1360,7 @@ Each patchlevel release contains a separate security fix. We recommend simply up
|
|
|
1092
1360
|
* 4 minor features:
|
|
1093
1361
|
|
|
1094
1362
|
* Listen to unix socket with provided backlog if any
|
|
1095
|
-
* Improves the
|
|
1363
|
+
* Improves the cluster mode stats to report worker stats
|
|
1096
1364
|
* Pass the env to the lowlevel_error handler. Fixes [#854]
|
|
1097
1365
|
* Treat path-like hosts as unix sockets. Fixes [#824]
|
|
1098
1366
|
|
|
@@ -1819,7 +2087,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
|
1819
2087
|
|
|
1820
2088
|
* 3 doc changes:
|
|
1821
2089
|
* Add note about on_worker_boot hook
|
|
1822
|
-
* Add some documentation for
|
|
2090
|
+
* Add some documentation for Cluster mode
|
|
1823
2091
|
* Added quotes to /etc/puma.conf
|
|
1824
2092
|
|
|
1825
2093
|
## 2.0.1 / 2013-04-30
|
|
@@ -2073,6 +2341,178 @@ be added back in a future date when a java Puma::MiniSSL is added.
|
|
|
2073
2341
|
* Bugfixes
|
|
2074
2342
|
* Your bugfix goes here <Most recent on the top, like GitHub> (#Github Number)
|
|
2075
2343
|
|
|
2344
|
+
[#3944]:https://github.com/puma/puma/pull/3944 "PR by Nate Berkopec, merged 2026-05-26"
|
|
2345
|
+
[#3929]:https://github.com/puma/puma/pull/3929 "PR by Joshua Young, merged 2026-04-26"
|
|
2346
|
+
[#3928]:https://github.com/puma/puma/pull/3928 "PR by Nate Berkopec, merged 2026-04-16"
|
|
2347
|
+
[#3923]:https://github.com/puma/puma/pull/3923 "PR by Joshua Young, merged 2026-04-10"
|
|
2348
|
+
[#3920]:https://github.com/puma/puma/pull/3920 "PR by Petrik de Heus, merged 2026-04-10"
|
|
2349
|
+
[#3912]:https://github.com/puma/puma/pull/3912 "PR by Bengt-Ove Hollaender, merged 2026-03-26"
|
|
2350
|
+
[#3900]:https://github.com/puma/puma/pull/3900 "PR by Nate Berkopec, merged 2026-03-26"
|
|
2351
|
+
[#3894]:https://github.com/puma/puma/pull/3894 "PR by Joshua Young, merged 2026-03-07"
|
|
2352
|
+
[#3893]:https://github.com/puma/puma/pull/3893 "PR by Sasha Stadnyk, merged 2026-03-22"
|
|
2353
|
+
[#3885]:https://github.com/puma/puma/pull/3885 "PR by Joshua Young, merged 2026-02-18"
|
|
2354
|
+
[#3874]:https://github.com/puma/puma/pull/3874 "PR by Hadrien Blanc, merged 2026-01-28"
|
|
2355
|
+
[#3872]:https://github.com/puma/puma/pull/3872 "PR by Nate Berkopec, merged 2026-01-27"
|
|
2356
|
+
[#3853]:https://github.com/puma/puma/pull/3853 "PR by Krzysztof Jablonski, merged 2026-03-09"
|
|
2357
|
+
[#3847]:https://github.com/puma/puma/pull/3847 "PR by Richard Schneeman, merged 2026-03-26"
|
|
2358
|
+
[#3838]:https://github.com/puma/puma/pull/3838 "PR by Charles Oliver Nutter, merged 2026-01-31"
|
|
2359
|
+
[#3829]:https://github.com/puma/puma/pull/3829 "PR by Nate Berkopec, merged 2026-01-27"
|
|
2360
|
+
[#3816]:https://github.com/puma/puma/pull/3816 "PR by Jean Boussier, merged 2026-03-07"
|
|
2361
|
+
[#3671]:https://github.com/puma/puma/pull/3671 "PR by Joshua Young, merged 2026-03-08"
|
|
2362
|
+
[#3658]:https://github.com/puma/puma/pull/3658 "PR by Yuki Nishijima, merged 2026-02-18"
|
|
2363
|
+
[#3621]:https://github.com/puma/puma/pull/3621 "PR by Joshua Young, merged 2026-02-22"
|
|
2364
|
+
[#3582]:https://github.com/puma/puma/pull/3582 "PR by MSP-Greg, merged 2026-02-22"
|
|
2365
|
+
[#3863]:https://github.com/puma/puma/pull/3863 "PR by Nate Berkopec, merged 2026-01-20"
|
|
2366
|
+
[#3861]:https://github.com/puma/puma/pull/3861 "PR by MSP-Greg, merged 2026-01-20"
|
|
2367
|
+
[#3860]:https://github.com/puma/puma/pull/3860 "PR by MSP-Greg, merged 2026-01-16"
|
|
2368
|
+
[#3859]:https://github.com/puma/puma/pull/3859 "PR by MSP-Greg, merged 2026-01-16"
|
|
2369
|
+
[#3857]:https://github.com/puma/puma/pull/3857 "PR by Aaron Patterson, merged 2026-01-12"
|
|
2370
|
+
[#3856]:https://github.com/puma/puma/pull/3856 "PR by MSP-Greg, merged 2026-01-12"
|
|
2371
|
+
[#3852]:https://github.com/puma/puma/pull/3852 "PR by Miłosz Bieniek, merged 2026-01-14"
|
|
2372
|
+
[#3848]:https://github.com/puma/puma/pull/3848 "PR by Miłosz Bieniek, merged 2025-12-27"
|
|
2373
|
+
[#3845]:https://github.com/puma/puma/pull/3845 "PR by MSP-Greg, merged 2025-12-19"
|
|
2374
|
+
[#3843]:https://github.com/puma/puma/pull/3843 "PR by MSP-Greg, merged 2025-12-18"
|
|
2375
|
+
[#3842]:https://github.com/puma/puma/pull/3842 "PR by MSP-Greg, merged 2025-12-18"
|
|
2376
|
+
[#3841]:https://github.com/puma/puma/pull/3841 "PR by MSP-Greg, merged 2025-12-18"
|
|
2377
|
+
[#3837]:https://github.com/puma/puma/pull/3837 "PR by John Bachir, merged 2026-01-09"
|
|
2378
|
+
[#3833]:https://github.com/puma/puma/pull/3833 "PR by Patrik Ragnarsson, merged 2025-11-25"
|
|
2379
|
+
[#3831]:https://github.com/puma/puma/pull/3831 "PR by Joshua Young, merged 2025-11-25"
|
|
2380
|
+
[#3828]:https://github.com/puma/puma/pull/3828 "PR by Jean Boussier, merged 2025-11-21"
|
|
2381
|
+
[#3827]:https://github.com/puma/puma/pull/3827 "PR by Nate Berkopec, merged 2026-01-20"
|
|
2382
|
+
[#3826]:https://github.com/puma/puma/pull/3826 "PR by Nate Berkopec, merged 2026-01-20"
|
|
2383
|
+
[#3825]:https://github.com/puma/puma/pull/3825 "PR by Jean Boussier, merged 2025-11-19"
|
|
2384
|
+
[#3823]:https://github.com/puma/puma/pull/3823 "PR by Joshua Young, merged 2025-11-18"
|
|
2385
|
+
[#3822]:https://github.com/puma/puma/pull/3822 "PR by Nate Berkopec, merged 2025-11-17"
|
|
2386
|
+
[#3820]:https://github.com/puma/puma/pull/3820 "PR by Nate Berkopec, merged 2025-11-19"
|
|
2387
|
+
[#3817]:https://github.com/puma/puma/pull/3817 "PR by Nate Berkopec, merged 2025-11-17"
|
|
2388
|
+
[#3814]:https://github.com/puma/puma/pull/3814 "PR by Jean Boussier, merged 2025-11-17"
|
|
2389
|
+
[#3813]:https://github.com/puma/puma/pull/3813 "PR by Masafumi Koba, merged 2025-11-17"
|
|
2390
|
+
[#3809]:https://github.com/puma/puma/pull/3809 "PR by Patrik Ragnarsson, merged 2025-10-26"
|
|
2391
|
+
[#3808]:https://github.com/puma/puma/pull/3808 "PR by Nymuxyzo, merged 2025-10-26"
|
|
2392
|
+
[#3807]:https://github.com/puma/puma/pull/3807 "PR by Nate Berkopec, merged 2025-10-28"
|
|
2393
|
+
[#3804]:https://github.com/puma/puma/pull/3804 "PR by Joe Rafaniello, merged 2025-10-21"
|
|
2394
|
+
[#3802]:https://github.com/puma/puma/pull/3802 "PR by Richard Schneeman, merged 2025-10-20"
|
|
2395
|
+
[#3800]:https://github.com/puma/puma/pull/3800 "PR by MSP-Greg, merged 2025-10-19"
|
|
2396
|
+
[#3787]:https://github.com/puma/puma/pull/3787 "PR by Stan Hu, merged 2025-10-17"
|
|
2397
|
+
[#3764]:https://github.com/puma/puma/pull/3764 "PR by MSP-Greg, merged 2025-10-17"
|
|
2398
|
+
[#3690]:https://github.com/puma/puma/pull/3690 "PR by Joshua Young, merged 2025-11-18"
|
|
2399
|
+
[#3602]:https://github.com/puma/puma/pull/3602 "PR by Joshua Young, merged 2025-11-28"
|
|
2400
|
+
|
|
2401
|
+
[#3707]:https://github.com/puma/puma/pull/3707 "PR by @nerdrew, merged 2025-10-02"
|
|
2402
|
+
[#3794]:https://github.com/puma/puma/pull/3794 "PR by @schneems, merged 2025-10-16"
|
|
2403
|
+
[#3795]:https://github.com/puma/puma/pull/3795 "PR by @MSP-Greg, merged 2025-10-16"
|
|
2404
|
+
[#3778]:https://github.com/puma/puma/pull/3778 "PR by @joshuay03, merged 2025-10-16"
|
|
2405
|
+
[#3779]:https://github.com/puma/puma/pull/3779 "PR by @joshuay03, merged 2025-10-16"
|
|
2406
|
+
[#3791]:https://github.com/puma/puma/pull/3791 "PR by @MSP-Greg, merged 2025-10-09"
|
|
2407
|
+
[#3790]:https://github.com/puma/puma/issues/3790 "Issue by @eric-wtfoxtrot, closed 2025-10-09"
|
|
2408
|
+
[#3774]:https://github.com/puma/puma/pull/3774 "PR by @MSP-Greg, merged 2025-10-16"
|
|
2409
|
+
[#3657]:https://github.com/puma/puma/pull/3657 "PR by @marksmith, merged 2025-10-16"
|
|
2410
|
+
[#3703]:https://github.com/puma/puma/pull/3703 "PR by @marshall-lee, merged 2025-09-20"
|
|
2411
|
+
[#3742]:https://github.com/puma/puma/pull/3742 "PR by @kenballus, merged 2025-09-18"
|
|
2412
|
+
[#3754]:https://github.com/puma/puma/pull/3754 "PR by @byroot, merged 2025-09-18"
|
|
2413
|
+
[#3746]:https://github.com/puma/puma/pull/3746 "PR by @schneems, merged 2025-09-18"
|
|
2414
|
+
[#3740]:https://github.com/puma/puma/issues/3740 "Issue by @joshuay03, closed 2025-09-18"
|
|
2415
|
+
[#3748]:https://github.com/puma/puma/pull/3748 "PR by @MSP-Greg, merged 2025-09-14"
|
|
2416
|
+
[#3749]:https://github.com/puma/puma/pull/3749 "PR by @schneems, merged 2025-09-14"
|
|
2417
|
+
[#3736]:https://github.com/puma/puma/pull/3736 "PR by @MSP-Greg, merged 2025-09-08"
|
|
2418
|
+
[#3734]:https://github.com/puma/puma/issues/3734 "Issue by @espen, closed 2025-09-08"
|
|
2419
|
+
[#3729]:https://github.com/puma/puma/pull/3729 "PR by @bensheldon, merged 2025-09-08"
|
|
2420
|
+
[#3731]:https://github.com/puma/puma/pull/3731 "PR by @stanhu, merged 2025-09-06"
|
|
2421
|
+
[#3725]:https://github.com/puma/puma/pull/3725 "PR by @tannakartikey, merged 2025-09-05"
|
|
2422
|
+
[#3719]:https://github.com/puma/puma/pull/3719 "PR by @schneems, merged 2025-09-03"
|
|
2423
|
+
[#3378]:https://github.com/puma/puma/pull/3378 "PR by @shayonj, merged 2025-08-19"
|
|
2424
|
+
[#3377]:https://github.com/puma/puma/pull/3377 "PR by @joshuay03, merged 2025-08-12"
|
|
2425
|
+
[#3711]:https://github.com/puma/puma/pull/3711 "PR by @MSP-Greg, merged 2025-08-28"
|
|
2426
|
+
[#3576]:https://github.com/puma/puma/issues/3576 "Issue by @pdalberti, closed 2025-08-28"
|
|
2427
|
+
[#3701]:https://github.com/puma/puma/pull/3701 "PR by @MSP-Greg, merged 2025-08-26"
|
|
2428
|
+
[#3297]:https://github.com/puma/puma/pull/3297 "PR by @joshuay03, merged 2025-08-26"
|
|
2429
|
+
[#3704]:https://github.com/puma/puma/pull/3704 "PR by @schneems, merged 2025-08-25"
|
|
2430
|
+
[#3698]:https://github.com/puma/puma/pull/3698 "PR by @schneems, merged 2025-08-21"
|
|
2431
|
+
[#3438]:https://github.com/puma/puma/pull/3438 "PR by @tannakartikey, merged 2025-08-25"
|
|
2432
|
+
[#3678]:https://github.com/puma/puma/pull/3678 "PR by @MSP-Greg, merged 2025-07-31"
|
|
2433
|
+
[#3101]:https://github.com/puma/puma/pull/3101 "PR by @ioquatix, merged 2025-08-25"
|
|
2434
|
+
[#3681]:https://github.com/puma/puma/pull/3681 "PR by @byroot, merged 2025-08-15"
|
|
2435
|
+
[#3140]:https://github.com/puma/puma/pull/3140 "PR by @phyzical, merged 2025-08-12"
|
|
2436
|
+
[#3713]:https://github.com/puma/puma/pull/3713 "PR by @MSP-Greg, merged 2025-08-29"
|
|
2437
|
+
[#3625]:https://github.com/puma/puma/pull/3625 "PR by @bhooshiek-narendiran, closed 2025-08-29"
|
|
2438
|
+
[#3702]:https://github.com/puma/puma/pull/3702 "PR by @marshall-lee, merged 2025-08-25"
|
|
2439
|
+
[#3696]:https://github.com/puma/puma/pull/3696 "PR by @joshuay03, merged 2025-08-22"
|
|
2440
|
+
[#3695]:https://github.com/puma/puma/issues/3695 "Issue by @joshuay03, closed 2025-08-22"
|
|
2441
|
+
[#3684]:https://github.com/puma/puma/pull/3684 "PR by @MSP-Greg, merged 2025-08-02"
|
|
2442
|
+
[#3721]:https://github.com/puma/puma/pull/3721 "PR by @schneems, merged 2025-09-03"
|
|
2443
|
+
[#3712]:https://github.com/puma/puma/pull/3712 "PR by @joshuay03, merged 2025-08-28"
|
|
2444
|
+
[#3705]:https://github.com/puma/puma/pull/3705 "PR by @schneems, merged 2025-08-25"
|
|
2445
|
+
[#3073]:https://github.com/puma/puma/pull/3073 "PR by @MSP-Greg, merged 2025-08-12"
|
|
2446
|
+
[#3714]:https://github.com/puma/puma/pull/3714 "PR by @MSP-Greg, merged 2025-08-29"
|
|
2447
|
+
[#3710]:https://github.com/puma/puma/pull/3710 "PR by @joshuay03, merged 2025-08-28"
|
|
2448
|
+
[#3709]:https://github.com/puma/puma/pull/3709 "PR by @MSP-Greg, merged 2025-08-28"
|
|
2449
|
+
[#3708]:https://github.com/puma/puma/issues/3708 "Issue by @schneems, closed 2025-08-28"
|
|
2450
|
+
[#3616]:https://github.com/puma/puma/pull/3616 "PR by @joshuay03, merged 2025-08-25"
|
|
2451
|
+
[#3635]:https://github.com/puma/puma/pull/3635 "PR by @LevitatingBusinessMan, merged 2025-05-08"
|
|
2452
|
+
[#3572]:https://github.com/puma/puma/pull/3572 "PR by @barthez, merged 2025-02-06"
|
|
2453
|
+
[#3601]:https://github.com/puma/puma/pull/3601 "PR by @joshuay03, merged 2025-01-31"
|
|
2454
|
+
[#3586]:https://github.com/puma/puma/pull/3586 "PR by @MSP-Greg, merged 2025-02-03"
|
|
2455
|
+
[#3598]:https://github.com/puma/puma/pull/3598 "PR by @joshuay03, merged 2025-01-31"
|
|
2456
|
+
[#3680]:https://github.com/puma/puma/pull/3680 "PR by @byroot, merged 2025-07-31"
|
|
2457
|
+
[#3570]:https://github.com/puma/puma/pull/3570 "PR by @mohamedhafez, merged 2024-12-30"
|
|
2458
|
+
[#3567]:https://github.com/puma/puma/issues/3567 "Issue by @mohamedhafez, closed 2024-12-30"
|
|
2459
|
+
[#3383]:https://github.com/puma/puma/pull/3383 "PR by @joshuay03, merged 2024-11-29"
|
|
2460
|
+
[#3386]:https://github.com/puma/puma/pull/3386 "PR by @Drakula2k, merged 2024-11-27"
|
|
2461
|
+
[#3517]:https://github.com/puma/puma/pull/3517 "PR by @jjb, merged 2024-11-26"
|
|
2462
|
+
[#3375]:https://github.com/puma/puma/pull/3375 "PR by @joshuay03, merged 2024-11-23"
|
|
2463
|
+
[#3348]:https://github.com/puma/puma/pull/3348 "PR by @tomurb, merged 2024-11-23"
|
|
2464
|
+
[#3302]:https://github.com/puma/puma/issues/3302 "Issue by @benburkert, closed 2024-11-23"
|
|
2465
|
+
[#3384]:https://github.com/puma/puma/pull/3384 "PR by @joshuay03, merged 2024-11-23"
|
|
2466
|
+
[#3590]:https://github.com/puma/puma/pull/3590 "PR by @MSP-Greg, merged 2025-01-01"
|
|
2467
|
+
[#3552]:https://github.com/puma/puma/issues/3552 "Issue by @utay, closed 2025-01-01"
|
|
2468
|
+
[#3568]:https://github.com/puma/puma/pull/3568 "PR by @joshuay03, merged 2024-12-11"
|
|
2469
|
+
[#3505]:https://github.com/puma/puma/pull/3505 "PR by @AnthonyClark, merged 2025-01-27"
|
|
2470
|
+
[#3595]:https://github.com/puma/puma/pull/3595 "PR by @nateberkopec, merged 2025-01-07"
|
|
2471
|
+
[#3565]:https://github.com/puma/puma/pull/3565 "PR by @MSP-Greg, merged 2024-11-28"
|
|
2472
|
+
[#3376]:https://github.com/puma/puma/pull/3376 "PR by @joshuay03, merged 2024-11-23"
|
|
2473
|
+
[#3407]:https://github.com/puma/puma/pull/3407 "PR by @JacobEvelyn, merged 2024-11-05"
|
|
2474
|
+
[#3439]:https://github.com/puma/puma/pull/3439 "PR by @codergeek121, merged 2024-11-04"
|
|
2475
|
+
[#3437]:https://github.com/puma/puma/issues/3437 "Issue by @rafaelfranca, closed 2024-11-04"
|
|
2476
|
+
[#3486]:https://github.com/puma/puma/pull/3486 "PR by @mohamedhafez, merged 2024-09-26"
|
|
2477
|
+
[#3422]:https://github.com/puma/puma/issues/3422 "Issue by @mohamedhafez, closed 2024-09-26"
|
|
2478
|
+
[#3496]:https://github.com/puma/puma/pull/3496 "PR by @slizco, merged 2024-09-26"
|
|
2479
|
+
[#3485]:https://github.com/puma/puma/pull/3485 "PR by @MSP-Greg, merged 2024-09-21"
|
|
2480
|
+
[#3359]:https://github.com/puma/puma/pull/3359 "PR by @willayton, merged 2024-04-11"
|
|
2481
|
+
[#3343]:https://github.com/puma/puma/issues/3343 "Issue by @willayton, closed 2024-04-11"
|
|
2482
|
+
[#3309]:https://github.com/puma/puma/pull/3309 "PR by @byroot, merged 2024-01-09"
|
|
2483
|
+
[#3425]:https://github.com/puma/puma/pull/3425 "PR by @mohamedhafez, merged 2024-07-14"
|
|
2484
|
+
[#3424]:https://github.com/puma/puma/issues/3424 "Issue by @mohamedhafez, closed 2024-07-14"
|
|
2485
|
+
[#3411]:https://github.com/puma/puma/pull/3411 "PR by @OuYangJinTing, merged 2024-06-15"
|
|
2486
|
+
[#3380]:https://github.com/puma/puma/pull/3380 "PR by @emilyst, closed 2024-06-15"
|
|
2487
|
+
[#3539]:https://github.com/puma/puma/pull/3539 "PR by @caius, merged 2024-11-20"
|
|
2488
|
+
[#3532]:https://github.com/puma/puma/pull/3532 "PR by @MSP-Greg, merged 2024-10-24"
|
|
2489
|
+
[#3531]:https://github.com/puma/puma/issues/3531 "Issue by @tagliala, closed 2024-10-24"
|
|
2490
|
+
[#3214]:https://github.com/puma/puma/pull/3214 "PR by @MSP-Greg, merged 2024-10-15"
|
|
2491
|
+
[#3468]:https://github.com/puma/puma/pull/3468 "PR by @foca, merged 2024-10-04"
|
|
2492
|
+
[#3508]:https://github.com/puma/puma/pull/3508 "PR by @MayCXC, merged 2024-10-02"
|
|
2493
|
+
[#3360]:https://github.com/puma/puma/pull/3360 "PR by @ioquatix, merged 2024-04-24"
|
|
2494
|
+
[#3338]:https://github.com/puma/puma/pull/3338 "PR by @MSP-Greg, merged 2024-04-11"
|
|
2495
|
+
[#3337]:https://github.com/puma/puma/issues/3337 "Issue by @skliew, closed 2024-04-11"
|
|
2496
|
+
[#3332]:https://github.com/puma/puma/pull/3332 "PR by @evanphx, merged 2024-02-18"
|
|
2497
|
+
[#3308]:https://github.com/puma/puma/pull/3308 "PR by @MSP-Greg, merged 2024-01-31"
|
|
2498
|
+
[#3307]:https://github.com/puma/puma/issues/3307 "Issue by @nateberkopec, closed 2024-01-31"
|
|
2499
|
+
[#3314]:https://github.com/puma/puma/pull/3314 "PR by @stanhu, merged 2024-01-26"
|
|
2500
|
+
[#3313]:https://github.com/puma/puma/issues/3313 "Issue by @stanhu, closed 2024-01-26"
|
|
2501
|
+
[#3518]:https://github.com/puma/puma/pull/3518 "PR by @roque86, merged 2024-11-15"
|
|
2502
|
+
[#3467]:https://github.com/puma/puma/pull/3467 "PR by @MSP-Greg, merged 2024-09-21"
|
|
2503
|
+
[#3341]:https://github.com/puma/puma/pull/3341 "PR by @joshuay03, merged 2024-03-11"
|
|
2504
|
+
[#3548]:https://github.com/puma/puma/pull/3548 "PR by @MSP-Greg, merged 2024-11-21"
|
|
2505
|
+
[#3325]:https://github.com/puma/puma/pull/3325 "PR by @OuYangJinTing, merged 2024-10-22"
|
|
2506
|
+
[#3527]:https://github.com/puma/puma/pull/3527 "PR by @MSP-Greg, merged 2024-10-26"
|
|
2507
|
+
[#3513]:https://github.com/puma/puma/pull/3513 "PR by @jjb, merged 2024-10-11"
|
|
2508
|
+
[#3510]:https://github.com/puma/puma/pull/3510 "PR by @MSP-Greg, merged 2024-10-03"
|
|
2509
|
+
[#3370]:https://github.com/puma/puma/pull/3370 "PR by @MSP-Greg, merged 2024-04-15"
|
|
2510
|
+
[#3340]:https://github.com/puma/puma/pull/3340 "PR by @joshuay03, merged 2024-03-10"
|
|
2511
|
+
[#3318]:https://github.com/puma/puma/pull/3318 "PR by @joshuay03, merged 2024-01-15"
|
|
2512
|
+
[#3514]:https://github.com/puma/puma/pull/3514 "PR by @jjb, merged 2024-10-11"
|
|
2513
|
+
[#3434]:https://github.com/puma/puma/pull/3434 "PR by @olleolleolle, merged 2024-09-19"
|
|
2514
|
+
[#3435]:https://github.com/puma/puma/pull/3435 "PR by @olleolleolle, merged 2024-09-19"
|
|
2515
|
+
[#3495]:https://github.com/puma/puma/pull/3495 "PR by @MSP-Greg, merged 2024-09-19"
|
|
2076
2516
|
[#3256]:https://github.com/puma/puma/pull/3256 "PR by @MSP-Greg, merged 2023-10-16"
|
|
2077
2517
|
[#3235]:https://github.com/puma/puma/pull/3235 "PR by @joshuay03, merged 2023-10-03"
|
|
2078
2518
|
[#3228]:https://github.com/puma/puma/issues/3228 "Issue by @davidalejandroaguilar, closed 2023-10-03"
|
|
@@ -2612,16 +3052,16 @@ be added back in a future date when a java Puma::MiniSSL is added.
|
|
|
2612
3052
|
[#1022]:https://github.com/puma/puma/issues/1022 "Issue by @AKovtunov, closed 2017-08-16"
|
|
2613
3053
|
[#958]:https://github.com/puma/puma/issues/958 "Issue by @lalitlogical, closed 2016-04-23"
|
|
2614
3054
|
[#782]:https://github.com/puma/puma/issues/782 "Issue by @Tonkpils, closed 2016-07-19"
|
|
2615
|
-
[#1010]:https://github.com/puma/puma/issues/1010 "Issue by @
|
|
3055
|
+
[#1010]:https://github.com/puma/puma/issues/1010 "Issue by @mirineumark, closed 2016-07-19"
|
|
2616
3056
|
[#959]:https://github.com/puma/puma/issues/959 "Issue by @mwpastore, closed 2016-04-22"
|
|
2617
|
-
[#840]:https://github.com/puma/puma/issues/840 "Issue by @
|
|
3057
|
+
[#840]:https://github.com/puma/puma/issues/840 "Issue by @marisawallace, closed 2016-04-07"
|
|
2618
3058
|
[#1007]:https://github.com/puma/puma/pull/1007 "PR by @willnet, merged 2016-06-24"
|
|
2619
3059
|
[#1014]:https://github.com/puma/puma/pull/1014 "PR by @szymon-jez, merged 2016-07-11"
|
|
2620
3060
|
[#1015]:https://github.com/puma/puma/pull/1015 "PR by @bf4, merged 2016-07-19"
|
|
2621
3061
|
[#1017]:https://github.com/puma/puma/pull/1017 "PR by @jorihardman, merged 2016-07-19"
|
|
2622
3062
|
[#954]:https://github.com/puma/puma/pull/954 "PR by @jf, merged 2016-04-12"
|
|
2623
3063
|
[#955]:https://github.com/puma/puma/pull/955 "PR by @jf, merged 2016-04-22"
|
|
2624
|
-
[#956]:https://github.com/puma/puma/pull/956 "PR by @
|
|
3064
|
+
[#956]:https://github.com/puma/puma/pull/956 "PR by @marisawallace, merged 2016-04-12"
|
|
2625
3065
|
[#960]:https://github.com/puma/puma/pull/960 "PR by @kmayer, merged 2016-04-15"
|
|
2626
3066
|
[#969]:https://github.com/puma/puma/pull/969 "PR by @frankwong15, merged 2016-05-10"
|
|
2627
3067
|
[#970]:https://github.com/puma/puma/pull/970 "PR by @willnet, merged 2016-04-26"
|
|
@@ -2682,7 +3122,7 @@ be added back in a future date when a java Puma::MiniSSL is added.
|
|
|
2682
3122
|
[#845]:https://github.com/puma/puma/pull/845 "PR by @deepj, merged 2016-01-28"
|
|
2683
3123
|
[#846]:https://github.com/puma/puma/pull/846 "PR by @sriedel, merged 2016-01-15"
|
|
2684
3124
|
[#850]:https://github.com/puma/puma/pull/850 "PR by @deepj, merged 2016-01-15"
|
|
2685
|
-
[#853]:https://github.com/puma/puma/pull/853 "PR by @
|
|
3125
|
+
[#853]:https://github.com/puma/puma/pull/853 "PR by @xuqiyong666, merged 2016-01-28"
|
|
2686
3126
|
[#857]:https://github.com/puma/puma/pull/857 "PR by @osheroff, merged 2016-01-15"
|
|
2687
3127
|
[#858]:https://github.com/puma/puma/pull/858 "PR by @mlarraz, merged 2016-01-28"
|
|
2688
3128
|
[#860]:https://github.com/puma/puma/pull/860 "PR by @osheroff, merged 2016-01-15"
|