6.5.0 - Sky's Version
They say good things come to wait, and you've all had to wait a long time for 6.5.0 because @nateberkopec had another daughter: Sky!
-
Features
- Print RUBY_DESCRIPTION when Puma starts ([#3407])
- Set the worker process count automatically when using WEB_CONCURRENCY=auto ([#3439], [#3437])
- Mark as ractor-safe ([#3486], [#3422])
- Add option
enable_keep_alives
.true
(the default) mimics existing behavior, but now you can usefalse
to disable keepalive to reduce queue tail latency ([#3496]) - Add parameters to Puma methods to allow CI to change ENV in isolation ([#3485])
- Add
ssl_ciphersuites
option for TLSv1.3 ciphers ([#3359], [#3343]) - You can now use
--threads 5
orthreads 5
to config max/min threads with a single number (used to need to say5:5
) ([#3309]) - Option to turn off systemd plugin ([#3425], [#3424])
- Add
on_stopped
hook ([#3411], [#3380])
-
Bugfixes
- Handle blank environment variables when loading config ([#3539])
- lib/rack/handler/puma.rb - fix for rackup v1.0.1, adjust Gemfile ([#3532], [#3531])
- null_io.rb - add
external_encoding
,set_encoding
,binmode
,binmode?
([#3214]) - Implement NullIO#seek and #pos to mimic IO ([#3468])
- add support in rack handler & fix regression in binder for linux abstract namespace sockets ([#3508])
- Use actual thread local for
Puma::Server.current
. ([#3360]) - client.rb - fix request chunked body handling ([#3338], [#3337])
- Properly handle two requests seen in the initial buffer ([#3332])
- Fix response repeated status line when request is invalid or errors are raised ([#3308], [#3307])
- Fix child processes not being reaped when
Process.detach
used ([#3314], [#3313])
-
JRuby
-
Performance
-
Refactor
- A ton of CI/test improvements by @MSP-Greg, as usual.
- Add ThreadPool#stats and adjust Server#stats to use it ([#3527])
- normalize whitespace in worker stats string ([#3513])
- rack/handler/puma.rb - ssl - use
start_with?
, add test ([#3510]) - extconf.rb - add logging for OpenSSL versions ([#3370])
- Lazily require
Puma::Rack::Builder
([#3340]) - Refactor: Constantize worker pipe request types ([#3318])
-
Docs