puma 3.0.0.rc1 → 5.0.0.beta1
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puma might be problematic. Click here for more details.
- checksums.yaml +5 -5
- data/{History.txt → History.md} +703 -70
- data/LICENSE +23 -20
- data/README.md +173 -163
- data/docs/architecture.md +37 -0
- data/{DEPLOYMENT.md → docs/deployment.md} +28 -6
- data/docs/fork_worker.md +31 -0
- data/docs/images/puma-connection-flow-no-reactor.png +0 -0
- data/docs/images/puma-connection-flow.png +0 -0
- data/docs/images/puma-general-arch.png +0 -0
- data/docs/jungle/README.md +13 -0
- data/docs/jungle/rc.d/README.md +74 -0
- data/docs/jungle/rc.d/puma +61 -0
- data/docs/jungle/rc.d/puma.conf +10 -0
- data/{tools → docs}/jungle/upstart/README.md +0 -0
- data/{tools → docs}/jungle/upstart/puma-manager.conf +0 -0
- data/{tools → docs}/jungle/upstart/puma.conf +1 -1
- data/docs/nginx.md +2 -2
- data/docs/plugins.md +38 -0
- data/docs/restart.md +41 -0
- data/docs/signals.md +57 -3
- data/docs/systemd.md +228 -0
- data/ext/puma_http11/PumaHttp11Service.java +2 -2
- data/ext/puma_http11/extconf.rb +16 -0
- data/ext/puma_http11/http11_parser.c +287 -468
- data/ext/puma_http11/http11_parser.h +1 -0
- data/ext/puma_http11/http11_parser.java.rl +21 -37
- data/ext/puma_http11/http11_parser.rl +10 -9
- data/ext/puma_http11/http11_parser_common.rl +4 -4
- data/ext/puma_http11/mini_ssl.c +159 -10
- data/ext/puma_http11/org/jruby/puma/Http11.java +108 -116
- data/ext/puma_http11/org/jruby/puma/Http11Parser.java +99 -132
- data/ext/puma_http11/org/jruby/puma/MiniSSL.java +30 -6
- data/ext/puma_http11/puma_http11.c +6 -38
- data/lib/puma.rb +25 -5
- data/lib/puma/accept_nonblock.rb +7 -1
- data/lib/puma/app/status.rb +53 -26
- data/lib/puma/binder.rb +150 -119
- data/lib/puma/cli.rb +56 -38
- data/lib/puma/client.rb +277 -80
- data/lib/puma/cluster.rb +326 -130
- data/lib/puma/commonlogger.rb +21 -20
- data/lib/puma/configuration.rb +160 -161
- data/lib/puma/const.rb +50 -47
- data/lib/puma/control_cli.rb +104 -63
- data/lib/puma/detect.rb +13 -1
- data/lib/puma/dsl.rb +463 -114
- data/lib/puma/events.rb +22 -13
- data/lib/puma/io_buffer.rb +9 -5
- data/lib/puma/jruby_restart.rb +2 -59
- data/lib/puma/launcher.rb +195 -105
- data/lib/puma/minissl.rb +110 -4
- data/lib/puma/minissl/context_builder.rb +76 -0
- data/lib/puma/null_io.rb +9 -14
- data/lib/puma/plugin.rb +32 -12
- data/lib/puma/plugin/tmp_restart.rb +19 -6
- data/lib/puma/rack/builder.rb +7 -5
- data/lib/puma/rack/urlmap.rb +11 -8
- data/lib/puma/rack_default.rb +2 -0
- data/lib/puma/reactor.rb +242 -32
- data/lib/puma/runner.rb +41 -30
- data/lib/puma/server.rb +265 -183
- data/lib/puma/single.rb +22 -63
- data/lib/puma/state_file.rb +9 -2
- data/lib/puma/thread_pool.rb +179 -68
- data/lib/puma/util.rb +3 -11
- data/lib/rack/handler/puma.rb +60 -11
- data/tools/Dockerfile +16 -0
- data/tools/trickletest.rb +1 -2
- metadata +35 -99
- data/COPYING +0 -55
- data/Gemfile +0 -13
- data/Manifest.txt +0 -79
- data/Rakefile +0 -158
- data/docs/config.md +0 -0
- data/ext/puma_http11/io_buffer.c +0 -155
- data/lib/puma/capistrano.rb +0 -94
- data/lib/puma/compat.rb +0 -18
- data/lib/puma/convenient.rb +0 -23
- data/lib/puma/daemon_ext.rb +0 -31
- data/lib/puma/delegation.rb +0 -11
- data/lib/puma/java_io_buffer.rb +0 -45
- data/lib/puma/rack/backports/uri/common_18.rb +0 -56
- data/lib/puma/rack/backports/uri/common_192.rb +0 -52
- data/lib/puma/rack/backports/uri/common_193.rb +0 -29
- data/lib/puma/tcp_logger.rb +0 -32
- data/puma.gemspec +0 -52
- data/tools/jungle/README.md +0 -9
- data/tools/jungle/init.d/README.md +0 -54
- data/tools/jungle/init.d/puma +0 -394
- data/tools/jungle/init.d/run-puma +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: d624c4973e123e4b085bd0080a85d76c996f26743dde5d8e55ca4f3971e6d77a
|
4
|
+
data.tar.gz: 8f3ebe99584b845456708a73ae5305b012058c09af0a5e75bead0322c1c8501c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1dbaeeb104fa56b185b1b647fc865a3b25eb621dba523dba15d056bef66137279fbb57545330ab3f486e610a88ed487f3ccf2e6f0b9c75de12522dc9db9b0029
|
7
|
+
data.tar.gz: 1b2f86bb5275f3764b891da8c3bc3643e1544d7209385aae8d87b5aa572945ceb627ef70df23060bc27abc9714b16377b8fa371b3ac3a10738e76cbd69f88841
|
data/{History.txt → History.md}
RENAMED
@@ -1,4 +1,628 @@
|
|
1
|
-
|
1
|
+
## 5.0.0
|
2
|
+
|
3
|
+
* Features
|
4
|
+
* EXPERIMENTAL: Add `fork_worker` option and `refork` command for reduced memory usage by forking from a worker process instead of the master process. (#2099)
|
5
|
+
* 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).
|
6
|
+
* EXPERIMENTAL: Added `nakayoshi_fork` option. Reduce memory usage in preloaded cluster-mode apps by GCing before fork and compacting, where available. (#2093, #2256)
|
7
|
+
* Added pumactl `thread-backtraces` command to print thread backtraces (#2054)
|
8
|
+
* Added incrementing `requests_count` to `Puma.stats`. (#2106)
|
9
|
+
* Increased maximum URI path length from 2048 to 8196 bytes (#2167)
|
10
|
+
* `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)
|
11
|
+
* Faster phased restart and worker timeout (#2220)
|
12
|
+
* Added `state_permission` to config DSL to set state file permissions (#2238)
|
13
|
+
* Added `Puma.stats_hash`, which returns a stats in Hash instead of a JSON string (#2086, #2253)
|
14
|
+
|
15
|
+
* Deprecations, Removals and Breaking API Changes
|
16
|
+
* `--control` has been removed. Use `--control-url` (#1487)
|
17
|
+
* `worker_directory` has been removed. Use `directory`.
|
18
|
+
* min_threads now set by environment variables PUMA_MIN_THREADS and MIN_THREADS. (#2143)
|
19
|
+
* max_threads now set by environment variables PUMA_MAX_THREADS and MAX_THREADS. (#2143)
|
20
|
+
* max_threads default to 5 in MRI or 16 for all other interpreters. (#2143)
|
21
|
+
* preload by default if workers > 1 (#2143)
|
22
|
+
* Puma::Plugin.workers_supported? has been removed. Use Puma.forkable? instead. (#2143)
|
23
|
+
* `tcp_mode` has been removed without replacement. (#2169)
|
24
|
+
* Daemonization has been removed without replacement. (#2170)
|
25
|
+
* Changed #connected_port to #connected_ports (#2076)
|
26
|
+
* Configuration: `environment` is read from `RAILS_ENV`, if `RACK_ENV` can't be found (#2022)
|
27
|
+
|
28
|
+
* Bugfixes
|
29
|
+
* Do not set user_config to quiet by default to allow for file config (#2074)
|
30
|
+
* Always close SSL connection in Puma::ControlCLI (#2211)
|
31
|
+
* Windows update extconf.rb for use with ssp and varied Ruby/MSYS2 combinations (#2069)
|
32
|
+
* Ensure control server Unix socket is closed on shutdown (#2112)
|
33
|
+
* Preserve `BUNDLE_GEMFILE` env var when using `prune_bundler` (#1893)
|
34
|
+
* Send 408 request timeout even when queue requests is disabled (#2119)
|
35
|
+
* Rescue IO::WaitReadable instead of EAGAIN for blocking read (#2121)
|
36
|
+
* Ensure `BUNDLE_GEMFILE` is unspecified in workers if unspecified in master when using `prune_bundler` (#2154)
|
37
|
+
* Rescue and log exceptions in hooks defined by users (on_worker_boot, after_worker_fork etc) (#1551)
|
38
|
+
* Read directly from the socket in #read_and_drop to avoid raising further SSL errors (#2198)
|
39
|
+
* Set `Connection: closed` header when queue requests is disabled (#2216)
|
40
|
+
* Pass queued requests to thread pool on server shutdown (#2122)
|
41
|
+
* Fixed a few minor concurrency bugs in ThreadPool that may have affected non-GVL Rubies (#2220)
|
42
|
+
* Fix `out_of_band` hook never executed if the number of worker threads is > 1 (#2177)
|
43
|
+
* Fix ThreadPool#shutdown timeout accuracy (#2221)
|
44
|
+
* Fix `UserFileDefaultOptions#fetch` to properly use `default` (#2233)
|
45
|
+
* Improvements to `out_of_band` hook (#2234)
|
46
|
+
* Prefer the rackup file specified by the CLI (#2225)
|
47
|
+
|
48
|
+
* Refactor
|
49
|
+
* Remove unused loader argument from Plugin initializer (#2095)
|
50
|
+
* Simplify `Configuration.random_token` and remove insecure fallback (#2102)
|
51
|
+
* Simplify `Runner#start_control` URL parsing (#2111)
|
52
|
+
* Removed the IOBuffer extension and replaced with Ruby (#1980)
|
53
|
+
* Update `Rack::Handler::Puma.run` to use `**options` (#2189)
|
54
|
+
* ThreadPool concurrency refactoring (#2220)
|
55
|
+
* JSON parse cluster worker stats instead of regex (#2124)
|
56
|
+
* Support parallel tests in verbose progress reporting (#2223)
|
57
|
+
|
58
|
+
## 4.3.3 and 3.12.4 / 2020-02-28
|
59
|
+
|
60
|
+
* Bugfixes
|
61
|
+
* Fix: Fixes a problem where we weren't splitting headers correctly on newlines (#2132)
|
62
|
+
* Security
|
63
|
+
* Fix: Prevent HTTP Response splitting via CR in early hints. CVE-2020-5249.
|
64
|
+
|
65
|
+
## 4.3.2 and 3.12.3 / 2020-02-27 (YANKED)
|
66
|
+
|
67
|
+
* Security
|
68
|
+
* Fix: Prevent HTTP Response splitting via CR/LF in header values. CVE-2020-5247.
|
69
|
+
|
70
|
+
## 4.3.1 and 3.12.2 / 2019-12-05
|
71
|
+
|
72
|
+
* Security
|
73
|
+
* Fix: a poorly-behaved client could use keepalive requests to monopolize Puma's reactor and create a denial of service attack. CVE-2019-16770.
|
74
|
+
|
75
|
+
## 4.3.0 / 2019-11-07
|
76
|
+
|
77
|
+
* Features
|
78
|
+
* Strip whitespace at end of HTTP headers (#2010)
|
79
|
+
* Optimize HTTP parser for JRuby (#2012)
|
80
|
+
* Add SSL support for the control app and cli (#2046, #2052)
|
81
|
+
|
82
|
+
* Bugfixes
|
83
|
+
* Fix Errno::EINVAL when SSL is enabled and browser rejects cert (#1564)
|
84
|
+
* Fix pumactl defaulting puma to development if an environment was not specified (#2035)
|
85
|
+
* Fix closing file stream when reading pid from pidfile (#2048)
|
86
|
+
* Fix a typo in configuration option `--extra_runtime_dependencies` (#2050)
|
87
|
+
|
88
|
+
## 4.2.1 / 2019-10-07
|
89
|
+
|
90
|
+
* 3 bugfixes
|
91
|
+
* Fix socket activation of systemd (pre-existing) unix binder files (#1842, #1988)
|
92
|
+
* Deal with multiple calls to bind correctly (#1986, #1994, #2006)
|
93
|
+
* Accepts symbols for `verify_mode` (#1222)
|
94
|
+
|
95
|
+
## 4.2.0 / 2019-09-23
|
96
|
+
|
97
|
+
* 6 features
|
98
|
+
* Pumactl has a new -e environment option and reads `config/puma/<environment>.rb` config files (#1885)
|
99
|
+
* Semicolons are now allowed in URL paths (MRI only), useful for Angular or Redmine (#1934)
|
100
|
+
* Allow extra dependencies to be defined when using prune_bundler (#1105)
|
101
|
+
* Puma now reports the correct port when binding to port 0, also reports other listeners when binding to localhost (#1786)
|
102
|
+
* Sending SIGINFO to any Puma worker now prints currently active threads and their backtraces (#1320)
|
103
|
+
* Puma threads all now have their name set on Ruby 2.3+ (#1968)
|
104
|
+
* 4 bugfixes
|
105
|
+
* Fix some misbehavior with phased restart and externally SIGTERMed workers (#1908, #1952)
|
106
|
+
* Fix socket closing on error (#1941)
|
107
|
+
* Removed unnecessary SIGINT trap for JRuby that caused some race conditions (#1961)
|
108
|
+
* Fix socket files being left around after process stopped (#1970)
|
109
|
+
* Absolutely thousands of lines of test improvements and fixes thanks to @MSP-Greg
|
110
|
+
|
111
|
+
## 4.1.1 / 2019-09-05
|
112
|
+
|
113
|
+
* 3 bugfixes
|
114
|
+
* Revert our attempt to not dup STDOUT/STDERR (#1946)
|
115
|
+
* Fix socket close on error (#1941)
|
116
|
+
* Fix workers not shutting down correctly (#1908)
|
117
|
+
|
118
|
+
## 4.1.0 / 2019-08-08
|
119
|
+
|
120
|
+
* 4 features
|
121
|
+
* Add REQUEST_PATH on parse error message (#1831)
|
122
|
+
* You can now easily add custom log formatters with the `log_formatter` config option (#1816)
|
123
|
+
* Puma.stats now provides process start times (#1844)
|
124
|
+
* Add support for disabling TLSv1.1 (#1836)
|
125
|
+
|
126
|
+
* 7 bugfixes
|
127
|
+
* Fix issue where Puma was creating zombie process entries (#1887)
|
128
|
+
* Fix bugs with line-endings and chunked encoding (#1812)
|
129
|
+
* RACK_URL_SCHEME is now set correctly in all conditions (#1491)
|
130
|
+
* We no longer mutate global STDOUT/STDERR, particularly the sync setting (#1837)
|
131
|
+
* SSL read_nonblock no longer blocks (#1857)
|
132
|
+
* Swallow connection errors when sending early hints (#1822)
|
133
|
+
* Backtrace no longer dumped when invalid pumactl commands are run (#1863)
|
134
|
+
|
135
|
+
* 5 other
|
136
|
+
* Avoid casting worker_timeout twice (#1838)
|
137
|
+
* Removed a call to private that wasn't doing anything (#1882)
|
138
|
+
* README, Rakefile, docs and test cleanups (#1848, #1847, #1846, #1853, #1859, #1850, #1866, #1870, #1872, #1833, #1888)
|
139
|
+
* Puma.io has proper documentation now (https://puma.io/puma/)
|
140
|
+
* Added the Contributor Covenant CoC
|
141
|
+
|
142
|
+
* 1 known issue
|
143
|
+
* Some users are still experiencing issues surrounding socket activation and Unix sockets (#1842)
|
144
|
+
|
145
|
+
## 4.0.1 / 2019-07-11
|
146
|
+
|
147
|
+
* 2 bugfixes
|
148
|
+
* Fix socket removed after reload - should fix problems with systemd socket activation. (#1829)
|
149
|
+
* Add extconf tests for DTLS_method & TLS_server_method, use in minissl.rb. Should fix "undefined symbol: DTLS_method" when compiling against old OpenSSL versions. (#1832)
|
150
|
+
* 1 other
|
151
|
+
* Removed unnecessary RUBY_VERSION checks. (#1827)
|
152
|
+
|
153
|
+
## 4.0.0 / 2019-06-25
|
154
|
+
|
155
|
+
* 9 features
|
156
|
+
* Add support for disabling TLSv1.0 (#1562)
|
157
|
+
* Request body read time metric (#1569)
|
158
|
+
* Add out_of_band hook (#1648)
|
159
|
+
* Re-implement (native) IOBuffer for JRuby (#1691)
|
160
|
+
* Min worker timeout (#1716)
|
161
|
+
* Add option to suppress SignalException on SIGTERM (#1690)
|
162
|
+
* Allow mutual TLS CA to be set using `ssl_bind` DSL (#1689)
|
163
|
+
* Reactor now uses nio4r instead of `select` (#1728)
|
164
|
+
* Add status to pumactl with pidfile (#1824)
|
165
|
+
|
166
|
+
* 10 bugfixes
|
167
|
+
* Do not accept new requests on shutdown (#1685, #1808)
|
168
|
+
* Fix 3 corner cases when request body is chunked (#1508)
|
169
|
+
* Change pid existence check's condition branches (#1650)
|
170
|
+
* Don't call .stop on a server that doesn't exist (#1655)
|
171
|
+
* Implemented NID_X9_62_prime256v1 (P-256) curve over P-521 (#1671)
|
172
|
+
* Fix @notify.close can't modify frozen IOError (RuntimeError) (#1583)
|
173
|
+
* Fix Java 8 support (#1773)
|
174
|
+
* Fix error `uninitialized constant Puma::Cluster` (#1731)
|
175
|
+
* Fix `not_token` being able to be set to true (#1803)
|
176
|
+
* Fix "Hang on SIGTERM with ruby 2.6 in clustered mode" ([PR #1741], [#1674], [#1720], [#1730], [#1755])
|
177
|
+
|
178
|
+
[PR #1741]: https://github.com/puma/puma/pull/1741
|
179
|
+
[#1674]: https://github.com/puma/puma/issues/1674
|
180
|
+
[#1720]: https://github.com/puma/puma/issues/1720
|
181
|
+
[#1730]: https://github.com/puma/puma/issues/1730
|
182
|
+
[#1755]: https://github.com/puma/puma/issues/1755
|
183
|
+
|
184
|
+
## 3.12.1 / 2019-03-19
|
185
|
+
|
186
|
+
* 1 features
|
187
|
+
* Internal strings are frozen (#1649)
|
188
|
+
* 3 bugfixes
|
189
|
+
* Fix chunked ending check (#1607)
|
190
|
+
* Rack handler should use provided default host (#1700)
|
191
|
+
* Better support for detecting runtimes that support `fork` (#1630)
|
192
|
+
|
193
|
+
## 3.12.0 / 2018-07-13
|
194
|
+
|
195
|
+
* 5 features:
|
196
|
+
* You can now specify which SSL ciphers the server should support, default is unchanged (#1478)
|
197
|
+
* The setting for Puma's `max_threads` is now in `Puma.stats` (#1604)
|
198
|
+
* Pool capacity is now in `Puma.stats` (#1579)
|
199
|
+
* Installs restricted to Ruby 2.2+ (#1506)
|
200
|
+
* `--control` is now deprecated in favor of `--control-url` (#1487)
|
201
|
+
|
202
|
+
* 2 bugfixes:
|
203
|
+
* Workers will no longer accept more web requests than they have capacity to process. This prevents an issue where one worker would accept lots of requests while starving other workers (#1563)
|
204
|
+
* In a test env puma now emits the stack on an exception (#1557)
|
205
|
+
|
206
|
+
## 3.11.4 / 2018-04-12
|
207
|
+
|
208
|
+
* 2 features:
|
209
|
+
* Manage puma as a service using rc.d (#1529)
|
210
|
+
* Server stats are now available from a top level method (#1532)
|
211
|
+
* 5 bugfixes:
|
212
|
+
* Fix parsing CLI options (#1482)
|
213
|
+
* Order of stderr and stdout is made before redirecting to a log file (#1511)
|
214
|
+
* Init.d fix of `ps -p` to check if pid exists (#1545)
|
215
|
+
* Early hints bugfix (#1550)
|
216
|
+
* Purge interrupt queue when closing socket fails (#1553)
|
217
|
+
|
218
|
+
## 3.11.3 / 2018-03-05
|
219
|
+
|
220
|
+
* 3 bugfixes:
|
221
|
+
* Add closed? to MiniSSL::Socket for use in reactor (#1510)
|
222
|
+
* Handle EOFError at the toplevel of the server threads (#1524) (#1507)
|
223
|
+
* Deal with zero sized bodies when using SSL (#1483)
|
224
|
+
|
225
|
+
## 3.11.2 / 2018-01-19
|
226
|
+
|
227
|
+
* 1 bugfix:
|
228
|
+
* Deal with read\_nonblock returning nil early
|
229
|
+
|
230
|
+
## 3.11.1 / 2018-01-18
|
231
|
+
|
232
|
+
* 1 bugfix:
|
233
|
+
* Handle read\_nonblock returning nil when the socket close (#1502)
|
234
|
+
|
235
|
+
## 3.11.0 / 2017-11-20
|
236
|
+
|
237
|
+
* 2 features:
|
238
|
+
* HTTP 103 Early Hints (#1403)
|
239
|
+
* 421/451 status codes now have correct status messages attached (#1435)
|
240
|
+
|
241
|
+
* 9 bugfixes:
|
242
|
+
* Environment config files (/config/puma/<ENV>.rb) load correctly (#1340)
|
243
|
+
* Specify windows dependencies correctly (#1434, #1436)
|
244
|
+
* puma/events required in test helper (#1418)
|
245
|
+
* Correct control CLI's option help text (#1416)
|
246
|
+
* Remove a warning for unused variable in mini_ssl (#1409)
|
247
|
+
* Correct pumactl docs argument ordering (#1427)
|
248
|
+
* Fix an uninitialized variable warning in server.rb (#1430)
|
249
|
+
* Fix docs typo/error in Launcher init (#1429)
|
250
|
+
* Deal with leading spaces in RUBYOPT (#1455)
|
251
|
+
|
252
|
+
* 2 other:
|
253
|
+
* Add docs about internals (#1425, #1452)
|
254
|
+
* Tons of test fixes from @MSP-Greg (#1439, #1442, #1464)
|
255
|
+
|
256
|
+
## 3.10.0 / 2017-08-17
|
257
|
+
|
258
|
+
* 3 features:
|
259
|
+
* The status server has a new /gc and /gc-status command. (#1384)
|
260
|
+
* The persistent and first data timeouts are now configurable (#1111)
|
261
|
+
* Implemented RFC 2324 (#1392)
|
262
|
+
|
263
|
+
* 12 bugfixes:
|
264
|
+
* Not really a Puma bug, but @NickolasVashchenko created a gem to workaround a Ruby bug that some users of Puma may be experiencing. See README for more. (#1347)
|
265
|
+
* Fix hangups with SSL and persistent connections. (#1334)
|
266
|
+
* Fix Rails double-binding to a port (#1383)
|
267
|
+
* Fix incorrect thread names (#1368)
|
268
|
+
* Fix issues with /etc/hosts and JRuby where localhost addresses were not correct. (#1318)
|
269
|
+
* Fix compatibility with RUBYOPT="--enable-frozen-string-literal" (#1376)
|
270
|
+
* Fixed some compiler warnings (#1388)
|
271
|
+
* We actually run the integration tests in CI now (#1390)
|
272
|
+
* No longer shipping unnecessary directories in the gemfile (#1391)
|
273
|
+
* If RUBYOPT is nil, we no longer blow up on restart. (#1385)
|
274
|
+
* Correct response to SIGINT (#1377)
|
275
|
+
* Proper exit code returned when we receive a TERM signal (#1337)
|
276
|
+
|
277
|
+
* 3 refactors:
|
278
|
+
* Various test improvements from @grosser
|
279
|
+
* Rubocop (#1325)
|
280
|
+
* Hoe has been removed (#1395)
|
281
|
+
|
282
|
+
* 1 known issue:
|
283
|
+
* Socket activation doesn't work in JRuby. Their fault, not ours. (#1367)
|
284
|
+
|
285
|
+
## 3.9.1 / 2017-06-03
|
286
|
+
|
287
|
+
* 2 bugfixes:
|
288
|
+
* Fixed compatibility with older Bundler versions (#1314)
|
289
|
+
* Some internal test/development cleanup (#1311, #1313)
|
290
|
+
|
291
|
+
## 3.9.0 / 2017-06-01
|
292
|
+
|
293
|
+
* 2 features:
|
294
|
+
* The ENV is now reset to its original values when Puma restarts via USR1/USR2 (#1260) (MRI only, no JRuby support)
|
295
|
+
* Puma will no longer accept more clients than the maximum number of threads. (#1278)
|
296
|
+
|
297
|
+
* 9 bugfixes:
|
298
|
+
* Reduce information leakage by preventing HTTP parse errors from writing environment hashes to STDERR (#1306)
|
299
|
+
* Fix SSL/WebSocket compatibility (#1274)
|
300
|
+
* HTTP headers with empty values are no longer omitted from responses. (#1261)
|
301
|
+
* Fix a Rack env key which was set to nil. (#1259)
|
302
|
+
* peercert has been implemented for JRuby (#1248)
|
303
|
+
* Fix port settings when using rails s (#1277, #1290)
|
304
|
+
* Fix compat w/LibreSSL (#1285)
|
305
|
+
* Fix restarting Puma w/symlinks and a new Gemfile (#1282)
|
306
|
+
* Replace Dir.exists? with Dir.exist? (#1294)
|
307
|
+
|
308
|
+
* 1 known issue:
|
309
|
+
* A bug in MRI 2.2+ can result in IOError: stream closed. See #1206. This issue has existed since at least Puma 3.6, and probably further back.
|
310
|
+
|
311
|
+
* 1 refactor:
|
312
|
+
* Lots of test fixups from @grosser.
|
313
|
+
|
314
|
+
## 3.8.2 / 2017-03-14
|
315
|
+
|
316
|
+
* 1 bugfix:
|
317
|
+
* Deal with getsockopt with TCP\_INFO failing for sockets that say they're TCP but aren't really. (#1241)
|
318
|
+
|
319
|
+
## 3.8.1 / 2017-03-10
|
320
|
+
|
321
|
+
* 1 bugfix:
|
322
|
+
* Remove method call to method that no longer exists (#1239)
|
323
|
+
|
324
|
+
## 3.8.0 / 2017-03-09
|
325
|
+
|
326
|
+
* 2 bugfixes:
|
327
|
+
* Port from rack handler does not take precedence over config file in Rails 5.1.0.beta2+ and 5.0.1.rc3+ (#1234)
|
328
|
+
* The `tmp/restart.txt` plugin no longer restricts the user from running more than one server from the same folder at a time (#1226)
|
329
|
+
|
330
|
+
* 1 feature:
|
331
|
+
* Closed clients are aborted to save capacity (#1227)
|
332
|
+
|
333
|
+
* 1 refactor:
|
334
|
+
* Bundler is no longer a dependency from tests (#1213)
|
335
|
+
|
336
|
+
## 3.7.1 / 2017-02-20
|
337
|
+
|
338
|
+
* 2 bugfixes:
|
339
|
+
* Fix typo which blew up MiniSSL (#1182)
|
340
|
+
* Stop overriding command-line options with the config file (#1203)
|
341
|
+
|
342
|
+
## 3.7.0 / 2017-01-04
|
343
|
+
|
344
|
+
* 6 minor features:
|
345
|
+
* Allow rack handler to accept ssl host. (#1129)
|
346
|
+
* Refactor TTOU processing. TTOU now handles multiple signals at once. (#1165)
|
347
|
+
* Pickup any remaining chunk data as the next request.
|
348
|
+
* Prevent short term thread churn - increased auto trim default to 30 seconds.
|
349
|
+
* Raise error when `stdout` or `stderr` is not writable. (#1175)
|
350
|
+
* Add Rack 2.0 support to gemspec. (#1068)
|
351
|
+
|
352
|
+
* 5 refactors:
|
353
|
+
* Compare host and server name only once per call. (#1091)
|
354
|
+
* Minor refactor on Thread pool (#1088)
|
355
|
+
* Removed a ton of unused constants, variables and files.
|
356
|
+
* Use MRI macros when allocating heap memory
|
357
|
+
* Use hooks for on\_booted event. (#1160)
|
358
|
+
|
359
|
+
* 14 bugfixes:
|
360
|
+
* Add eof? method to NullIO? (#1169)
|
361
|
+
* Fix Puma startup in provided init.d script (#1061)
|
362
|
+
* Fix default SSL mode back to none. (#1036)
|
363
|
+
* Fixed the issue of @listeners getting nil io (#1120)
|
364
|
+
* Make `get_dh1024` compatible with OpenSSL v1.1.0 (#1178)
|
365
|
+
* More gracefully deal with SSL sessions. Fixes #1002
|
366
|
+
* Move puma.rb to just autoloads. Fixes #1063
|
367
|
+
* MiniSSL: Provide write as <<. Fixes #1089
|
368
|
+
* Prune bundler should inherit fds (#1114)
|
369
|
+
* Replace use of Process.getpgid which does not behave as intended on all platforms (#1110)
|
370
|
+
* Transfer encoding header should be downcased before comparison (#1135)
|
371
|
+
* Use same write log logic for hijacked requests. (#1081)
|
372
|
+
* Fix `uninitialized constant Puma::StateFile` (#1138)
|
373
|
+
* Fix access priorities of each level in LeveledOptions (#1118)
|
374
|
+
|
375
|
+
* 3 others:
|
376
|
+
|
377
|
+
* Lots of tests added/fixed/improved. Switched to Minitest from Test::Unit. Big thanks to @frodsan.
|
378
|
+
* Lots of documentation added/improved.
|
379
|
+
* Add license indicators to the HTTP extension. (#1075)
|
380
|
+
|
381
|
+
## 3.6.2 / 2016-11-22
|
382
|
+
|
383
|
+
* 1 bug fix:
|
384
|
+
|
385
|
+
* Revert #1118/Fix access priorities of each level in LeveledOptions. This
|
386
|
+
had an unintentional side effect of changing the importance of command line
|
387
|
+
options, such as -p.
|
388
|
+
|
389
|
+
## 3.6.1 / 2016-11-21
|
390
|
+
|
391
|
+
* 8 bug fixes:
|
392
|
+
|
393
|
+
* Fix Puma start in init.d script.
|
394
|
+
* Fix default SSL mode back to none. Fixes #1036
|
395
|
+
* Fixed the issue of @listeners getting nil io, fix rails restart (#1120)
|
396
|
+
* More gracefully deal with SSL sessions. Fixes #1002
|
397
|
+
* Prevent short term thread churn.
|
398
|
+
* Provide write as <<. Fixes #1089
|
399
|
+
* Fix access priorities of each level in LeveledOptions - fixes TTIN.
|
400
|
+
* Stub description files updated for init.d.
|
401
|
+
|
402
|
+
* 2 new project committers:
|
403
|
+
|
404
|
+
* Nate Berkopec (@nateberkopec)
|
405
|
+
* Richard Schneeman (@schneems)
|
406
|
+
|
407
|
+
## 3.6.0 / 2016-07-24
|
408
|
+
|
409
|
+
* 12 bug fixes:
|
410
|
+
* Add ability to detect a shutting down server. Fixes #932
|
411
|
+
* Add support for Expect: 100-continue. Fixes #519
|
412
|
+
* Check SSLContext better. Fixes #828
|
413
|
+
* Clarify behavior of '-t num'. Fixes #984
|
414
|
+
* Don't default to VERIFY_PEER. Fixes #1028
|
415
|
+
* Don't use ENV['PWD'] on windows. Fixes #1023
|
416
|
+
* Enlarge the scope of catching app exceptions. Fixes #1027
|
417
|
+
* Execute background hooks after daemonizing. Fixes #925
|
418
|
+
* Handle HUP as a stop unless there is IO redirection. Fixes #911
|
419
|
+
* Implement chunked request handling. Fixes #620
|
420
|
+
* Just rescue exception to return a 500. Fixes #1027
|
421
|
+
* Redirect IO in the jruby daemon mode. Fixes #778
|
422
|
+
|
423
|
+
## 3.5.2 / 2016-07-20
|
424
|
+
|
425
|
+
* 1 bug fix:
|
426
|
+
* Don't let persistent_timeout be nil
|
427
|
+
|
428
|
+
* 1 PR merged:
|
429
|
+
* Merge pull request #1021 from benzrf/patch-1
|
430
|
+
|
431
|
+
## 3.5.1 / 2016-07-20
|
432
|
+
|
433
|
+
* 1 bug fix:
|
434
|
+
* Be sure to only listen on host:port combos once. Fixes #1022
|
435
|
+
|
436
|
+
## 3.5.0 / 2016-07-18
|
437
|
+
|
438
|
+
* 1 minor features:
|
439
|
+
* Allow persistent_timeout to be configured via the dsl.
|
440
|
+
|
441
|
+
* 9 bug fixes:
|
442
|
+
* Allow a bare % in a query string. Fixes #958
|
443
|
+
* Explicitly listen on all localhost addresses. Fixes #782
|
444
|
+
* Fix `TCPLogger` log error in tcp cluster mode.
|
445
|
+
* Fix puma/puma#968 Cannot bind SSL port due to missing verify_mode option
|
446
|
+
* Fix puma/puma#968 Default verify_mode to peer
|
447
|
+
* Log any exceptions in ThreadPool. Fixes #1010
|
448
|
+
* Silence connection errors in the reactor. Fixes #959
|
449
|
+
* Tiny fixes in hook documentation for #840
|
450
|
+
* It should not log requests if we want it to be quiet
|
451
|
+
|
452
|
+
* 5 doc fixes:
|
453
|
+
* Add How to stop Puma on Heroku using plugins to the example directory
|
454
|
+
* Provide both hot and phased restart in jungle script
|
455
|
+
* Update reference to the instances management script
|
456
|
+
* Update default number of threads
|
457
|
+
* Fix typo in example config
|
458
|
+
|
459
|
+
* 14 PRs merged:
|
460
|
+
* Merge pull request #1007 from willnet/patch-1
|
461
|
+
* Merge pull request #1014 from jeznet/patch-1
|
462
|
+
* Merge pull request #1015 from bf4/patch-1
|
463
|
+
* Merge pull request #1017 from jorihardman/configurable_persistent_timeout
|
464
|
+
* Merge pull request #954 from jf/master
|
465
|
+
* Merge pull request #955 from jf/add-request-info-to-standard-error-rescue
|
466
|
+
* Merge pull request #956 from maxkwallace/master
|
467
|
+
* Merge pull request #960 from kmayer/kmayer-plugins-heroku-restart
|
468
|
+
* Merge pull request #969 from frankwong15/master
|
469
|
+
* Merge pull request #970 from willnet/delete-blank-document
|
470
|
+
* Merge pull request #974 from rocketjob/feature/name_threads
|
471
|
+
* Merge pull request #977 from snow/master
|
472
|
+
* Merge pull request #981 from zach-chai/patch-1
|
473
|
+
* Merge pull request #993 from scorix/master
|
474
|
+
|
475
|
+
## 3.4.0 / 2016-04-07
|
476
|
+
|
477
|
+
* 2 minor features:
|
478
|
+
* Add ability to force threads to stop on shutdown. Fixes #938
|
479
|
+
* Detect and commit seppuku when fork(2) fails. Fixes #529
|
480
|
+
|
481
|
+
* 3 unknowns:
|
482
|
+
* Ignore errors trying to update the backport tables. Fixes #788
|
483
|
+
* Invoke the lowlevel_error in more places to allow for exception tracking. Fixes #894
|
484
|
+
* Update the query string when an absolute URI is used. Fixes #937
|
485
|
+
|
486
|
+
* 5 doc fixes:
|
487
|
+
* Add Process Monitors section to top-level README
|
488
|
+
* Better document the hooks. Fixes #840
|
489
|
+
* docs/system.md sample config refinements and elaborations
|
490
|
+
* Fix typos at couple of places.
|
491
|
+
* Cleanup warnings
|
492
|
+
|
493
|
+
* 3 PRs merged:
|
494
|
+
* Merge pull request #945 from dekellum/systemd-docs-refined
|
495
|
+
* Merge pull request #946 from vipulnsward/rm-pid
|
496
|
+
* Merge pull request #947 from vipulnsward/housekeeping-typos
|
497
|
+
|
498
|
+
## 3.3.0 / 2016-04-05
|
499
|
+
|
500
|
+
* 2 minor features:
|
501
|
+
* Allow overriding options of Configuration object
|
502
|
+
* Rename to inherit_ssl_listener like inherit_tcp|unix
|
503
|
+
|
504
|
+
* 2 doc fixes:
|
505
|
+
* Add docs/systemd.md (with socket activation sub-section)
|
506
|
+
* Document UNIX signals with cluster on README.md
|
507
|
+
|
508
|
+
* 3 PRs merged:
|
509
|
+
* Merge pull request #936 from prathamesh-sonpatki/allow-overriding-config-options
|
510
|
+
* Merge pull request #940 from kyledrake/signalsdoc
|
511
|
+
* Merge pull request #942 from dekellum/socket-activate-improve
|
512
|
+
|
513
|
+
## 3.2.0 / 2016-03-20
|
514
|
+
|
515
|
+
* 1 deprecation removal:
|
516
|
+
* Delete capistrano.rb
|
517
|
+
|
518
|
+
* 3 bug fixes:
|
519
|
+
* Detect gems.rb as well as Gemfile
|
520
|
+
* Simplify and fix logic for directory to use when restarting for all phases
|
521
|
+
* Speed up phased-restart start
|
522
|
+
|
523
|
+
* 2 PRs merged:
|
524
|
+
* Merge pull request #927 from jlecour/gemfile_variants
|
525
|
+
* Merge pull request #931 from joneslee85/patch-10
|
526
|
+
|
527
|
+
## 3.1.1 / 2016-03-17
|
528
|
+
|
529
|
+
* 4 bug fixes:
|
530
|
+
* Disable USR1 usage on JRuby
|
531
|
+
* Fixes #922 - Correctly define file encoding as UTF-8
|
532
|
+
* Set a more explicit SERVER_SOFTWARE Rack variable
|
533
|
+
* Show RUBY_ENGINE_VERSION if available. Fixes #923
|
534
|
+
|
535
|
+
* 3 PRs merged:
|
536
|
+
* Merge pull request #912 from tricknotes/fix-allow-failures-in-travis-yml
|
537
|
+
* Merge pull request #921 from swrobel/patch-1
|
538
|
+
* Merge pull request #924 from tbrisker/patch-1
|
539
|
+
|
540
|
+
## 3.1.0 / 2016-03-05
|
541
|
+
|
542
|
+
* 1 minor feature:
|
543
|
+
* Add 'import' directive to config file. Fixes #916
|
544
|
+
|
545
|
+
* 5 bug fixes:
|
546
|
+
* Add 'fetch' to options. Fixes #913
|
547
|
+
* Fix jruby daemonization. Fixes #918
|
548
|
+
* Recreate the proper args manually. Fixes #910
|
549
|
+
* Require 'time' to get iso8601. Fixes #914
|
550
|
+
|
551
|
+
## 3.0.2 / 2016-02-26
|
552
|
+
|
553
|
+
* 5 bug fixes:
|
554
|
+
|
555
|
+
* Fix 'undefined local variable or method `pid` for #<Puma::ControlCLI:0x007f185fcef968>' when execute pumactl with `--pid` option.
|
556
|
+
* Fix 'undefined method `windows?` for Puma:Module' when execute pumactl.
|
557
|
+
* Harden tmp_restart against errors related to the restart file
|
558
|
+
* Make `plugin :tmp_restart` behavior correct in Windows.
|
559
|
+
* fix uninitialized constant Puma::ControlCLI::StateFile
|
560
|
+
|
561
|
+
* 3 PRs merged:
|
562
|
+
|
563
|
+
* Merge pull request #901 from mitto/fix-pumactl-uninitialized-constant-statefile
|
564
|
+
* Merge pull request #902 from corrupt952/fix_undefined_method_and_variable_when_execute_pumactl
|
565
|
+
* Merge pull request #905 from Eric-Guo/master
|
566
|
+
|
567
|
+
## 3.0.1 / 2016-02-25
|
568
|
+
|
569
|
+
* 1 bug fix:
|
570
|
+
|
571
|
+
* Removed the experimental support for async.callback as it broke
|
572
|
+
websockets entirely. Seems no server has both hijack and async.callback
|
573
|
+
and thus faye is totally confused what to do and doesn't work.
|
574
|
+
|
575
|
+
## 3.0.0 / 2016-02-25
|
576
|
+
|
577
|
+
* 2 major changes:
|
578
|
+
|
579
|
+
* Ruby pre-2.0 is no longer supported. We'll do our best to not add
|
580
|
+
features that break those rubies but will no longer be testing
|
581
|
+
with them.
|
582
|
+
* Don't log requests by default. Fixes #852
|
583
|
+
|
584
|
+
* 2 major features:
|
585
|
+
|
586
|
+
* Plugin support! Plugins can interact with configuration as well
|
587
|
+
as provide augment server functionality!
|
588
|
+
* Experimental env['async.callback'] support
|
589
|
+
|
590
|
+
* 4 minor features:
|
591
|
+
|
592
|
+
* Listen to unix socket with provided backlog if any
|
593
|
+
* Improves the clustered stats to report worker stats
|
594
|
+
* Pass the env to the lowlevel_error handler. Fixes #854
|
595
|
+
* Treat path-like hosts as unix sockets. Fixes #824
|
596
|
+
|
597
|
+
* 5 bug fixes:
|
598
|
+
|
599
|
+
* Clean thread locals when using keepalive. Fixes #823
|
600
|
+
* Cleanup compiler warnings. Fixes #815
|
601
|
+
* Expose closed? for use by the reactor. Fixes #835
|
602
|
+
* Move signal handlers to separate method to prevent space leak. Fixes #798
|
603
|
+
* Signal not full on worker exit #876
|
604
|
+
|
605
|
+
* 5 doc fixes:
|
606
|
+
|
607
|
+
* Update README.md with various grammar fixes
|
608
|
+
* Use newest version of Minitest
|
609
|
+
* Add directory configuration docs, fix typo [ci skip]
|
610
|
+
* Remove old COPYING notice. Fixes #849
|
611
|
+
|
612
|
+
* 10 merged PRs:
|
613
|
+
|
614
|
+
* Merge pull request #871 from deepj/travis
|
615
|
+
* Merge pull request #874 from wallclockbuilder/master
|
616
|
+
* Merge pull request #883 from dadah89/igor/trim_only_worker
|
617
|
+
* Merge pull request #884 from uistudio/async-callback
|
618
|
+
* Merge pull request #888 from mlarraz/tick_minitest
|
619
|
+
* Merge pull request #890 from todd/directory_docs
|
620
|
+
* Merge pull request #891 from ctaintor/improve_clustered_status
|
621
|
+
* Merge pull request #893 from spastorino/add_missing_require
|
622
|
+
* Merge pull request #897 from zendesk/master
|
623
|
+
* Merge pull request #899 from kch/kch-readme-fixes
|
624
|
+
|
625
|
+
## 2.16.0 / 2016-01-27
|
2
626
|
|
3
627
|
* 7 minor features:
|
4
628
|
|
@@ -38,13 +662,13 @@
|
|
38
662
|
* Merge pull request #860 from zendesk/expose_old_worker_count
|
39
663
|
* Merge pull request #861 from zendesk/allow_control_url_umask
|
40
664
|
|
41
|
-
|
665
|
+
## 2.15.3 / 2015-11-07
|
42
666
|
|
43
667
|
* 1 bug fix:
|
44
668
|
|
45
669
|
* Fix JRuby parser
|
46
670
|
|
47
|
-
|
671
|
+
## 2.15.2 / 2015-11-06
|
48
672
|
|
49
673
|
* 2 bug fixes:
|
50
674
|
* ext/puma_http11: handle duplicate headers as per RFC
|
@@ -54,13 +678,13 @@
|
|
54
678
|
* Merge pull request #818 from unleashed/support-duplicate-headers
|
55
679
|
* Merge pull request #819 from VictorLowther/fix-ca-and-verify_null-exception
|
56
680
|
|
57
|
-
|
681
|
+
## 2.15.1 / 2015-11-06
|
58
682
|
|
59
683
|
* 1 bug fix:
|
60
684
|
|
61
685
|
* Allow older openssl versions
|
62
686
|
|
63
|
-
|
687
|
+
## 2.15.0 / 2015-11-06
|
64
688
|
|
65
689
|
* 6 minor features:
|
66
690
|
* Allow setting ca without setting a verify mode
|
@@ -109,7 +733,7 @@
|
|
109
733
|
* Merge pull request #814 from schneems/schneems/worker_timeout-docs
|
110
734
|
* Merge pull request #817 from unleashed/worker-boot-timeout
|
111
735
|
|
112
|
-
|
736
|
+
## 2.14.0 / 2015-09-18
|
113
737
|
|
114
738
|
* 1 minor feature:
|
115
739
|
* Make building with SSL support optional
|
@@ -117,33 +741,33 @@
|
|
117
741
|
* 1 bug fix:
|
118
742
|
* Use Rack::Builder if available. Fixes #735
|
119
743
|
|
120
|
-
|
744
|
+
## 2.13.4 / 2015-08-16
|
121
745
|
|
122
746
|
* 1 bug fix:
|
123
747
|
* Use the environment possible set by the config early and from
|
124
748
|
the config file later (if set).
|
125
749
|
|
126
|
-
|
750
|
+
## 2.13.3 / 2015-08-15
|
127
751
|
|
128
752
|
Seriously, I need to revamp config with tests.
|
129
753
|
|
130
754
|
* 1 bug fix:
|
131
755
|
* Fix preserving options before cleaning for state. Fixes #769
|
132
756
|
|
133
|
-
|
757
|
+
## 2.13.2 / 2015-08-15
|
134
758
|
|
135
759
|
The "clearly I don't have enough tests for the config" release.
|
136
760
|
|
137
761
|
* 1 bug fix:
|
138
762
|
* Fix another place binds wasn't initialized. Fixes #767
|
139
763
|
|
140
|
-
|
764
|
+
## 2.13.1 / 2015-08-15
|
141
765
|
|
142
766
|
* 2 bug fixes:
|
143
767
|
* Fix binds being masked in config files. Fixes #765
|
144
768
|
* Use options from the config file properly in pumactl. Fixes #764
|
145
769
|
|
146
|
-
|
770
|
+
## 2.13.0 / 2015-08-14
|
147
771
|
|
148
772
|
* 1 minor feature:
|
149
773
|
* Add before_fork hooks option.
|
@@ -162,7 +786,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
162
786
|
* Merge pull request #759 from BenV/fix-centos6-build
|
163
787
|
* Merge pull request #761 from looker/no-log
|
164
788
|
|
165
|
-
|
789
|
+
## 2.12.3 / 2015-08-03
|
166
790
|
|
167
791
|
* 8 minor bugs fixed:
|
168
792
|
* Fix Capistrano 'uninitialized constant Puma' error.
|
@@ -183,13 +807,13 @@ The "clearly I don't have enough tests for the config" release.
|
|
183
807
|
* 1 test fix:
|
184
808
|
* Add 1.8.7, rbx-1 (allow failures) to Travis.
|
185
809
|
|
186
|
-
|
810
|
+
## 2.12.2 / 2015-07-17
|
187
811
|
|
188
812
|
* 2 bug fix:
|
189
813
|
* Pull over and use Rack::URLMap. Fixes #741
|
190
814
|
* Stub out peercert on JRuby for now. Fixes #739
|
191
815
|
|
192
|
-
|
816
|
+
## 2.12.1 / 2015-07-16
|
193
817
|
|
194
818
|
* 2 bug fixes:
|
195
819
|
* Use a constant format. Fixes #737
|
@@ -201,7 +825,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
201
825
|
* 1 PR merged:
|
202
826
|
* Merge pull request #736 from paulanunda/paulanunda/typo-fix
|
203
827
|
|
204
|
-
|
828
|
+
## 2.12.0 / 2015-07-14
|
205
829
|
|
206
830
|
* 13 bug fixes:
|
207
831
|
* Add thread reaping to thread pool
|
@@ -250,7 +874,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
250
874
|
* Merge pull request #729 from allaire/patch-1
|
251
875
|
* Merge pull request #730 from iamjarvo/container-infrastructure
|
252
876
|
|
253
|
-
|
877
|
+
## 2.11.3 / 2015-05-18
|
254
878
|
|
255
879
|
* 5 bug fixes:
|
256
880
|
* Be sure to unlink tempfiles after a request. Fixes #690
|
@@ -261,7 +885,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
261
885
|
* 1 PR merged:
|
262
886
|
* Merge pull request #698 from looker/hang-handshake
|
263
887
|
|
264
|
-
|
888
|
+
## 2.11.2 / 2015-04-11
|
265
889
|
|
266
890
|
* 2 minor features:
|
267
891
|
* Add `on_worker_fork` hook, which allows to mimic Unicorn's behavior
|
@@ -284,7 +908,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
284
908
|
* Merge pull request #667 from JuanitoFatas/doc/gemspec
|
285
909
|
* Merge pull request #672 from chulkilee/refactor
|
286
910
|
|
287
|
-
|
911
|
+
## 2.11.1 / 2015-02-11
|
288
912
|
|
289
913
|
* 2 bug fixes:
|
290
914
|
* Avoid crash in strange restart conditions
|
@@ -294,7 +918,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
294
918
|
* Merge pull request #644 from bpaquet/master
|
295
919
|
* Merge pull request #646 from mkonecny/master
|
296
920
|
|
297
|
-
|
921
|
+
## 2.11.0 / 2015-01-20
|
298
922
|
|
299
923
|
* 9 bug fixes:
|
300
924
|
* Add mode as an additional bind option to unix sockets. Fixes #630
|
@@ -327,7 +951,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
327
951
|
* Merge pull request #639 from ebeigarts/fix-phased-restarts
|
328
952
|
* Merge pull request #640 from codehotter/issue-612-dependent-requests-deadlock
|
329
953
|
|
330
|
-
|
954
|
+
## 2.10.2 / 2014-11-26
|
331
955
|
|
332
956
|
* 1 bug fix:
|
333
957
|
* Conditionalize thread local cleaning, fixes perf degradation fix
|
@@ -335,7 +959,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
335
959
|
overhead to a each request, so it has to be turned on explicitly
|
336
960
|
if a user needs it.
|
337
961
|
|
338
|
-
|
962
|
+
## 2.10.1 / 2014-11-24
|
339
963
|
|
340
964
|
* 1 bug fix:
|
341
965
|
* Load the app after daemonizing because the app might start threads.
|
@@ -346,7 +970,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
346
970
|
If you're app has problems starting up, start it without daemon mode initially
|
347
971
|
to test.
|
348
972
|
|
349
|
-
|
973
|
+
## 2.10.0 / 2014-11-23
|
350
974
|
|
351
975
|
* 3 minor features:
|
352
976
|
* Added on_worker_shutdown hook mechanism
|
@@ -375,7 +999,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
375
999
|
* Merge pull request #608 from Gu1/master
|
376
1000
|
* Merge remote-tracking branch 'origin/pr/538'
|
377
1001
|
|
378
|
-
|
1002
|
+
## 2.9.2 / 2014-10-25
|
379
1003
|
|
380
1004
|
* 8 bug fixes:
|
381
1005
|
* Fix puma-wild handling a restart properly. Fixes #550
|
@@ -395,7 +1019,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
395
1019
|
* Merge pull request #581 from alexch/slightly-better-logging
|
396
1020
|
* Merge pull request #590 from looker/jruby_disable_sslv3
|
397
1021
|
|
398
|
-
|
1022
|
+
## 2.9.1 / 2014-09-05
|
399
1023
|
|
400
1024
|
* 4 bug fixes:
|
401
1025
|
* Cleanup the SSL related structures properly, fixes memory leak
|
@@ -407,7 +1031,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
407
1031
|
* Merge pull request #561 from theoldreader/sighup
|
408
1032
|
* Merge pull request #570 from havenwood/spawn-thread-edge-case
|
409
1033
|
|
410
|
-
|
1034
|
+
## 2.9.0 / 2014-07-12
|
411
1035
|
|
412
1036
|
* 1 minor feature:
|
413
1037
|
* Add SSL support for JRuby
|
@@ -431,7 +1055,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
431
1055
|
* Merge pull request #544 from chulkilee/bsd-3-clause
|
432
1056
|
* Merge pull request #551 from jcxplorer/patch-1
|
433
1057
|
|
434
|
-
|
1058
|
+
## 2.8.2 / 2014-04-12
|
435
1059
|
|
436
1060
|
* 4 bug fixes:
|
437
1061
|
* During upgrade, change directory in main process instead of workers.
|
@@ -458,7 +1082,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
458
1082
|
* Merge pull request #517 from misfo/patch-1
|
459
1083
|
* Merge pull request #518 from LongMan/master
|
460
1084
|
|
461
|
-
|
1085
|
+
## 2.8.1 / 2014-03-06
|
462
1086
|
|
463
1087
|
* 1 bug fixes:
|
464
1088
|
* Run puma-wild with proper deps for prune_bundler
|
@@ -474,7 +1098,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
474
1098
|
* Merge pull request #490 from tobinibot/patch-1
|
475
1099
|
* Merge pull request #491 from brianknight10/clarify-no-config
|
476
1100
|
|
477
|
-
|
1101
|
+
## 2.8.0 / 2014-02-28
|
478
1102
|
|
479
1103
|
* 8 minor features:
|
480
1104
|
* Add ability to autoload a config file. Fixes #438
|
@@ -517,13 +1141,13 @@ The "clearly I don't have enough tests for the config" release.
|
|
517
1141
|
* Merge pull request #482 from prathamesh-sonpatki/signals-doc-cleanup
|
518
1142
|
* Merge pull request #483 from YotpoLtd/master
|
519
1143
|
|
520
|
-
|
1144
|
+
## 2.7.1 / 2013-12-05
|
521
1145
|
|
522
1146
|
* 1 bug fix:
|
523
1147
|
|
524
1148
|
* Keep STDOUT/STDERR the right mode. Fixes #422
|
525
1149
|
|
526
|
-
|
1150
|
+
## 2.7.0 / 2013-12-03
|
527
1151
|
|
528
1152
|
* 1 minor feature:
|
529
1153
|
* Adding TTIN and TTOU to increment/decrement workers
|
@@ -540,7 +1164,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
540
1164
|
* Increase the max URI path length to 2048 chars from 1024 chars
|
541
1165
|
* Upstart jungle use config/puma.rb instead
|
542
1166
|
|
543
|
-
|
1167
|
+
## 2.6.0 / 2013-09-13
|
544
1168
|
|
545
1169
|
* 2 minor features:
|
546
1170
|
* Add support for event hooks
|
@@ -553,14 +1177,14 @@ The "clearly I don't have enough tests for the config" release.
|
|
553
1177
|
* Handle BrokenPipe, StandardError and IOError in fat_wrote and break out
|
554
1178
|
* Return success status to the invoking environment
|
555
1179
|
|
556
|
-
|
1180
|
+
## 2.5.1 / 2013-08-13
|
557
1181
|
|
558
1182
|
* 2 bug fixes:
|
559
1183
|
|
560
1184
|
* Keep jruby daemon mode from retrying on a hot restart
|
561
1185
|
* Extract version from const.rb in gemspec
|
562
1186
|
|
563
|
-
|
1187
|
+
## 2.5.0 / 2013-08-08
|
564
1188
|
|
565
1189
|
* 2 minor features:
|
566
1190
|
* Allow configuring pumactl with config.rb
|
@@ -582,12 +1206,12 @@ The "clearly I don't have enough tests for the config" release.
|
|
582
1206
|
* Remove obsolete pumactl instructions; refer to pumactl for details
|
583
1207
|
* Make Bundler used puma.gemspec version agnostic
|
584
1208
|
|
585
|
-
|
1209
|
+
## 2.4.1 / 2013-08-07
|
586
1210
|
|
587
1211
|
* 1 experimental feature:
|
588
1212
|
* Support raw tcp servers (aka Lopez Express mode)
|
589
1213
|
|
590
|
-
|
1214
|
+
## 2.4.0 / 2013-07-22
|
591
1215
|
|
592
1216
|
* 5 minor features:
|
593
1217
|
* Add PUMA_JRUBY_DAEMON_OPTS to get around agent starting twice
|
@@ -610,13 +1234,13 @@ The "clearly I don't have enough tests for the config" release.
|
|
610
1234
|
* Use 127.0.0.1 as REMOTE_ADDR of unix client. Fixes #309
|
611
1235
|
|
612
1236
|
|
613
|
-
|
1237
|
+
## 2.3.2 / 2013-07-08
|
614
1238
|
|
615
1239
|
* 1 bug fix:
|
616
1240
|
|
617
1241
|
* Move starting control server to after daemonization.
|
618
1242
|
|
619
|
-
|
1243
|
+
## 2.3.1 / 2013-07-06
|
620
1244
|
|
621
1245
|
* 2 bug fixes:
|
622
1246
|
|
@@ -626,7 +1250,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
626
1250
|
* 1 doc change:
|
627
1251
|
* Better document some platform constraints
|
628
1252
|
|
629
|
-
|
1253
|
+
## 2.3.0 / 2013-07-05
|
630
1254
|
|
631
1255
|
* 1 major bug fix:
|
632
1256
|
|
@@ -645,13 +1269,13 @@ The "clearly I don't have enough tests for the config" release.
|
|
645
1269
|
* Refactored modes into seperate classes that CLI uses
|
646
1270
|
* Changed CLI to take an Events object instead of stdout/stderr (API change)
|
647
1271
|
|
648
|
-
|
1272
|
+
## 2.2.2 / 2013-07-02
|
649
1273
|
|
650
1274
|
* 1 bug fix:
|
651
1275
|
|
652
1276
|
* Fix restart_command in the config
|
653
1277
|
|
654
|
-
|
1278
|
+
## 2.2.1 / 2013-07-02
|
655
1279
|
|
656
1280
|
* 1 minor feature:
|
657
1281
|
|
@@ -661,7 +1285,7 @@ The "clearly I don't have enough tests for the config" release.
|
|
661
1285
|
|
662
1286
|
* Pass custom restart command in JRuby
|
663
1287
|
|
664
|
-
|
1288
|
+
## 2.2.0 / 2013-07-01
|
665
1289
|
|
666
1290
|
* 1 major feature:
|
667
1291
|
|
@@ -672,14 +1296,14 @@ The "clearly I don't have enough tests for the config" release.
|
|
672
1296
|
* Don't leak info when not in development. Fixes #256
|
673
1297
|
* Load the app, then bind the ports
|
674
1298
|
|
675
|
-
|
1299
|
+
## 2.1.1 / 2013-06-20
|
676
1300
|
|
677
1301
|
* 2 minor bug fixes:
|
678
1302
|
|
679
1303
|
* Fix daemonization on jruby
|
680
1304
|
* Load the application before daemonizing. Fixes #285
|
681
1305
|
|
682
|
-
|
1306
|
+
## 2.1.0 / 2013-06-18
|
683
1307
|
|
684
1308
|
* 3 minor features:
|
685
1309
|
* Allow listening socket to be configured via Capistrano variable
|
@@ -708,13 +1332,13 @@ The "clearly I don't have enough tests for the config" release.
|
|
708
1332
|
* Add some documentation for Clustered mode
|
709
1333
|
* Added quotes to /etc/puma.conf
|
710
1334
|
|
711
|
-
|
1335
|
+
## 2.0.1 / 2013-04-30
|
712
1336
|
|
713
1337
|
* 1 bug fix:
|
714
1338
|
|
715
1339
|
* Fix not starting on JRuby properly
|
716
1340
|
|
717
|
-
|
1341
|
+
## 2.0.0 / 2013-04-29
|
718
1342
|
|
719
1343
|
RailsConf 2013 edition!
|
720
1344
|
|
@@ -731,7 +1355,7 @@ RailsConf 2013 edition!
|
|
731
1355
|
* Fix stdout/stderr logs to sync outputs
|
732
1356
|
* allow binding to IPv6 addresses
|
733
1357
|
|
734
|
-
|
1358
|
+
## 2.0.0.b7 / 2013-03-18
|
735
1359
|
|
736
1360
|
* 5 minor enhancements:
|
737
1361
|
|
@@ -756,7 +1380,7 @@ RailsConf 2013 edition!
|
|
756
1380
|
* Write out the state post-daemonize. Fixes #189
|
757
1381
|
* Prevent crash when all workers are gone
|
758
1382
|
|
759
|
-
|
1383
|
+
## 2.0.0.b6 / 2013-02-06
|
760
1384
|
|
761
1385
|
* 2 minor enhancements:
|
762
1386
|
|
@@ -767,7 +1391,7 @@ RailsConf 2013 edition!
|
|
767
1391
|
|
768
1392
|
* Change directory in working during upgrade. Fixes #185
|
769
1393
|
|
770
|
-
|
1394
|
+
## 2.0.0.b5 / 2013-02-05
|
771
1395
|
|
772
1396
|
* 2 major features:
|
773
1397
|
* Add phased worker upgrade
|
@@ -784,7 +1408,7 @@ RailsConf 2013 edition!
|
|
784
1408
|
* Move write_pid to after we daemonize. Fixes #180
|
785
1409
|
* Redirect IO properly and emit message for checkpointing
|
786
1410
|
|
787
|
-
|
1411
|
+
## 2.0.0.b4 / 2012-12-12
|
788
1412
|
|
789
1413
|
* 4 bug fixes:
|
790
1414
|
* Properly check #syswrite's value for variable sized buffers. Fixes #170
|
@@ -792,12 +1416,12 @@ RailsConf 2013 edition!
|
|
792
1416
|
* Handle char vs byte and mixing syswrite with write properly
|
793
1417
|
* made MiniSSL validate key/cert file existence
|
794
1418
|
|
795
|
-
|
1419
|
+
## 2.0.0.b3 / 2012-11-22
|
796
1420
|
|
797
1421
|
* 1 bug fix:
|
798
1422
|
* Package right files in gem
|
799
1423
|
|
800
|
-
|
1424
|
+
## 2.0.0.b2 / 2012-11-18
|
801
1425
|
* 5 minor feature:
|
802
1426
|
* Now Puma is bundled with an capistrano recipe. Just require
|
803
1427
|
'puma/capistrano' in you deploy.rb
|
@@ -815,7 +1439,7 @@ RailsConf 2013 edition!
|
|
815
1439
|
* Be sure to empty the drain the todo before shutting down. Fixes #155
|
816
1440
|
* allow for alternate locations for status app
|
817
1441
|
|
818
|
-
|
1442
|
+
## 2.0.0.b1 / 2012-09-11
|
819
1443
|
|
820
1444
|
* 1 major feature:
|
821
1445
|
* Optional worker process mode (-w) to allow for process scaling in
|
@@ -828,32 +1452,32 @@ RailsConf 2013 edition!
|
|
828
1452
|
NOTE: SSL support in JRuby is not supported at present. Support will
|
829
1453
|
be added back in a future date when a java Puma::MiniSSL is added.
|
830
1454
|
|
831
|
-
|
1455
|
+
## 1.6.3 / 2012-09-04
|
832
1456
|
|
833
1457
|
* 1 bug fix:
|
834
1458
|
* Close sockets waiting in the reactor when a hot restart is performed
|
835
1459
|
so that browsers reconnect on the next request
|
836
1460
|
|
837
|
-
|
1461
|
+
## 1.6.2 / 2012-08-27
|
838
1462
|
|
839
1463
|
* 1 bug fix:
|
840
1464
|
* Rescue StandardError instead of IOError to handle SystemCallErrors
|
841
1465
|
as well as other application exceptions inside the reactor.
|
842
1466
|
|
843
|
-
|
1467
|
+
## 1.6.1 / 2012-07-23
|
844
1468
|
|
845
1469
|
* 1 packaging bug fixed:
|
846
1470
|
* Include missing files
|
847
1471
|
|
848
|
-
|
1472
|
+
## 1.6.0 / 2012-07-23
|
849
1473
|
|
850
1474
|
* 1 major bug fix:
|
851
1475
|
* Prevent slow clients from starving the server by introducing a
|
852
1476
|
dedicated IO reactor thread. Credit for reporting goes to @meh.
|
853
1477
|
|
854
|
-
|
1478
|
+
## 1.5.0 / 2012-07-19
|
855
1479
|
|
856
|
-
* 7
|
1480
|
+
* 7 contributors to this release:
|
857
1481
|
* Christian Mayer
|
858
1482
|
* Darío Javier Cravero
|
859
1483
|
* Dirkjan Bussink
|
@@ -875,7 +1499,7 @@ be added back in a future date when a java Puma::MiniSSL is added.
|
|
875
1499
|
* Allow Server#run to run sync. Fixes #111
|
876
1500
|
* Puma can now run on windows
|
877
1501
|
|
878
|
-
|
1502
|
+
## 1.4.0 / 2012-06-04
|
879
1503
|
|
880
1504
|
* 1 bug fix:
|
881
1505
|
* SCRIPT_NAME should be passed from env to allow mounting apps
|
@@ -883,13 +1507,13 @@ be added back in a future date when a java Puma::MiniSSL is added.
|
|
883
1507
|
* 1 experimental feature:
|
884
1508
|
* Add puma.socket key for direct socket access
|
885
1509
|
|
886
|
-
|
1510
|
+
## 1.3.1 / 2012-05-15
|
887
1511
|
|
888
1512
|
* 2 bug fixes:
|
889
1513
|
* use #bytesize instead of #length for Content-Length header
|
890
1514
|
* Use StringIO properly. Fixes #98
|
891
1515
|
|
892
|
-
|
1516
|
+
## 1.3.0 / 2012-05-08
|
893
1517
|
|
894
1518
|
* 2 minor features:
|
895
1519
|
* Return valid Rack responses (passes Lint) from status server
|
@@ -901,10 +1525,10 @@ be added back in a future date when a java Puma::MiniSSL is added.
|
|
901
1525
|
* Only stop the status server if it's started. Fixes #84
|
902
1526
|
* Set RACK_ENV early in cli also. Fixes #78
|
903
1527
|
|
904
|
-
* 1 new
|
1528
|
+
* 1 new contributor:
|
905
1529
|
* Jesse Cooke
|
906
1530
|
|
907
|
-
|
1531
|
+
## 1.2.2 / 2012-04-28
|
908
1532
|
|
909
1533
|
* 4 bug fixes:
|
910
1534
|
|
@@ -913,13 +1537,13 @@ be added back in a future date when a java Puma::MiniSSL is added.
|
|
913
1537
|
* Keep the encoding of the body correct. Fixes #79
|
914
1538
|
* show error.to_s along with backtrace for low-level error
|
915
1539
|
|
916
|
-
|
1540
|
+
## 1.2.1 / 2012-04-11
|
917
1541
|
|
918
1542
|
1 bug fix:
|
919
1543
|
|
920
1544
|
* Fix rack.url_scheme for SSL servers. Fixes #65
|
921
1545
|
|
922
|
-
|
1546
|
+
## 1.2.0 / 2012-04-11
|
923
1547
|
|
924
1548
|
1 major feature:
|
925
1549
|
|
@@ -937,20 +1561,20 @@ be added back in a future date when a java Puma::MiniSSL is added.
|
|
937
1561
|
* Fix reporting https only on a true SSL connection
|
938
1562
|
* Set the default content type to 'text/plain'. Fixes #63
|
939
1563
|
* Use REUSEADDR. Fixes #60
|
940
|
-
* Shutdown
|
1564
|
+
* Shutdown gracefully on SIGTERM. Fixes #53
|
941
1565
|
|
942
|
-
2 new
|
1566
|
+
2 new contributors:
|
943
1567
|
|
944
1568
|
* Seamus Abshere
|
945
1569
|
* Steve Richert
|
946
1570
|
|
947
|
-
|
1571
|
+
## 1.1.1 / 2012-03-30
|
948
1572
|
|
949
1573
|
1 bugfix:
|
950
1574
|
|
951
1575
|
* Include puma/compat.rb in the gem (oops!)
|
952
1576
|
|
953
|
-
|
1577
|
+
## 1.1.0 / 2012-03-30
|
954
1578
|
|
955
1579
|
1 bugfix:
|
956
1580
|
|
@@ -960,6 +1584,15 @@ be added back in a future date when a java Puma::MiniSSL is added.
|
|
960
1584
|
|
961
1585
|
* Add umask param to the unix:// bind to set the umask
|
962
1586
|
|
963
|
-
|
1587
|
+
## 1.0.0 / 2012-03-29
|
964
1588
|
|
965
1589
|
* Released!
|
1590
|
+
|
1591
|
+
## Ignore - this is for maintainers to copy-paste during release
|
1592
|
+
## Master
|
1593
|
+
|
1594
|
+
* Features
|
1595
|
+
* Your feature goes here (#Github Number)
|
1596
|
+
|
1597
|
+
* Bugfixes
|
1598
|
+
* Your bugfix goes here (#Github Number)
|