Bump puma from 4.3.5 to 4.3.6
Bumps puma from 4.3.5 to 4.3.6.
Release notes
Sourced from puma's releases.
v4.3.6
https://github.com/puma/puma/compare/v4.3.5...4.3.6
A quick fix for a build error on Mac OS and a JSON require fix for those using phased restart.
Changelog
Sourced from puma's changelog.
5.0.0
... (truncated)
Features
- EXPERIMENTAL: Add
fork_worker
option andrefork
command for reduced memory usage by forking from a worker process instead of the master process. (#2099)- EXPERIMENTAL: Added
wait_for_less_busy_worker
config. This may reduce latency on MRI through inserting a small delay before re-listening on the socket if worker is busy (#2079).- EXPERIMENTAL: Added
nakayoshi_fork
option. Reduce memory usage in preloaded cluster-mode apps by GCing before fork and compacting, where available. (#2093, #2256)- Added pumactl
thread-backtraces
command to print thread backtraces (#2054)- Added incrementing
requests_count
toPuma.stats
. (#2106)- Increased maximum URI path length from 2048 to 8192 bytes (#2167, #2344)
lowlevel_error_handler
is now called during a forced threadpool shutdown, and if a callable with 3 arguments is set, we now also pass the status code (#2203)- Faster phased restart and worker timeout (#2220)
- Added
state_permission
to config DSL to set state file permissions (#2238)- Added
Puma.stats_hash
, which returns a stats in Hash instead of a JSON string (#2086, #2253)rack.multithread
andrack.multiprocess
now dynamically resolved bymax_thread
andworkers
respectively (#2288)Deprecations, Removals and Breaking API Changes
--control
has been removed. Use--control-url
(#1487)worker_directory
has been removed. Usedirectory
.- min_threads now set by environment variables PUMA_MIN_THREADS and MIN_THREADS. (#2143)
- max_threads now set by environment variables PUMA_MAX_THREADS and MAX_THREADS. (#2143)
- max_threads default to 5 in MRI or 16 for all other interpreters. (#2143)
- preload by default if workers > 1 (#2143)
- Puma::Plugin.workers_supported? has been removed. Use Puma.forkable? instead. (#2143)
tcp_mode
has been removed without replacement. (#2169)- Daemonization has been removed without replacement. (#2170)
- Changed #connected_port to #connected_ports (#2076)
- Configuration:
environment
is read fromRAILS_ENV
, ifRACK_ENV
can't be found (#2022)- Log binding on http:// for TCP bindings to make it clickable
Bugfixes
- Fix JSON loading issues on phased-restarts (#2269)
- Improve shutdown reliability (#2312, #2338)
- Close client http connections made to an ssl server with TLSv1.3 (#2116)
- Do not set user_config to quiet by default to allow for file config (#2074)
- Always close SSL connection in Puma::ControlCLI (#2211)
- Windows update extconf.rb for use with ssp and varied Ruby/MSYS2 combinations (#2069)
- Ensure control server Unix socket is closed on shutdown (#2112)
- Preserve
BUNDLE_GEMFILE
env var when usingprune_bundler
(#1893)- Send 408 request timeout even when queue requests is disabled (#2119)
- Rescue IO::WaitReadable instead of EAGAIN for blocking read (#2121)
- Ensure
BUNDLE_GEMFILE
is unspecified in workers if unspecified in master when usingprune_bundler
(#2154)- Rescue and log exceptions in hooks defined by users (on_worker_boot, after_worker_fork etc) (#1551)
- Read directly from the socket in #read_and_drop to avoid raising further SSL errors (#2198)
- Set
Connection: closed
header when queue requests is disabled (#2216)- Pass queued requests to thread pool on server shutdown (#2122)
- Fixed a few minor concurrency bugs in ThreadPool that may have affected non-GVL Rubies (#2220)
- Fix
out_of_band
hook never executed if the number of worker threads is > 1 (#2177)- Fix ThreadPool#shutdown timeout accuracy (#2221)
- Fix
UserFileDefaultOptions#fetch
to properly usedefault
(#2233)- Improvements to
out_of_band
hook (#2234)