gitlab-puma 4.3.1.gitlab.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (80) hide show
  1. checksums.yaml +7 -0
  2. data/History.md +1537 -0
  3. data/LICENSE +26 -0
  4. data/README.md +291 -0
  5. data/bin/puma +10 -0
  6. data/bin/puma-wild +31 -0
  7. data/bin/pumactl +12 -0
  8. data/docs/architecture.md +37 -0
  9. data/docs/deployment.md +111 -0
  10. data/docs/images/puma-connection-flow-no-reactor.png +0 -0
  11. data/docs/images/puma-connection-flow.png +0 -0
  12. data/docs/images/puma-general-arch.png +0 -0
  13. data/docs/nginx.md +80 -0
  14. data/docs/plugins.md +38 -0
  15. data/docs/restart.md +41 -0
  16. data/docs/signals.md +96 -0
  17. data/docs/systemd.md +290 -0
  18. data/docs/tcp_mode.md +96 -0
  19. data/ext/puma_http11/PumaHttp11Service.java +19 -0
  20. data/ext/puma_http11/ext_help.h +15 -0
  21. data/ext/puma_http11/extconf.rb +28 -0
  22. data/ext/puma_http11/http11_parser.c +1044 -0
  23. data/ext/puma_http11/http11_parser.h +65 -0
  24. data/ext/puma_http11/http11_parser.java.rl +145 -0
  25. data/ext/puma_http11/http11_parser.rl +147 -0
  26. data/ext/puma_http11/http11_parser_common.rl +54 -0
  27. data/ext/puma_http11/io_buffer.c +155 -0
  28. data/ext/puma_http11/mini_ssl.c +553 -0
  29. data/ext/puma_http11/org/jruby/puma/Http11.java +226 -0
  30. data/ext/puma_http11/org/jruby/puma/Http11Parser.java +455 -0
  31. data/ext/puma_http11/org/jruby/puma/IOBuffer.java +72 -0
  32. data/ext/puma_http11/org/jruby/puma/MiniSSL.java +363 -0
  33. data/ext/puma_http11/puma_http11.c +502 -0
  34. data/lib/puma.rb +31 -0
  35. data/lib/puma/accept_nonblock.rb +29 -0
  36. data/lib/puma/app/status.rb +80 -0
  37. data/lib/puma/binder.rb +385 -0
  38. data/lib/puma/cli.rb +239 -0
  39. data/lib/puma/client.rb +494 -0
  40. data/lib/puma/cluster.rb +554 -0
  41. data/lib/puma/commonlogger.rb +108 -0
  42. data/lib/puma/configuration.rb +362 -0
  43. data/lib/puma/const.rb +242 -0
  44. data/lib/puma/control_cli.rb +289 -0
  45. data/lib/puma/detect.rb +15 -0
  46. data/lib/puma/dsl.rb +740 -0
  47. data/lib/puma/events.rb +156 -0
  48. data/lib/puma/io_buffer.rb +4 -0
  49. data/lib/puma/jruby_restart.rb +84 -0
  50. data/lib/puma/launcher.rb +475 -0
  51. data/lib/puma/minissl.rb +278 -0
  52. data/lib/puma/minissl/context_builder.rb +76 -0
  53. data/lib/puma/null_io.rb +44 -0
  54. data/lib/puma/plugin.rb +120 -0
  55. data/lib/puma/plugin/tmp_restart.rb +36 -0
  56. data/lib/puma/rack/builder.rb +301 -0
  57. data/lib/puma/rack/urlmap.rb +93 -0
  58. data/lib/puma/rack_default.rb +9 -0
  59. data/lib/puma/reactor.rb +400 -0
  60. data/lib/puma/runner.rb +192 -0
  61. data/lib/puma/server.rb +1053 -0
  62. data/lib/puma/single.rb +123 -0
  63. data/lib/puma/state_file.rb +31 -0
  64. data/lib/puma/tcp_logger.rb +41 -0
  65. data/lib/puma/thread_pool.rb +348 -0
  66. data/lib/puma/util.rb +124 -0
  67. data/lib/rack/handler/puma.rb +115 -0
  68. data/tools/docker/Dockerfile +16 -0
  69. data/tools/jungle/README.md +19 -0
  70. data/tools/jungle/init.d/README.md +61 -0
  71. data/tools/jungle/init.d/puma +421 -0
  72. data/tools/jungle/init.d/run-puma +18 -0
  73. data/tools/jungle/rc.d/README.md +74 -0
  74. data/tools/jungle/rc.d/puma +61 -0
  75. data/tools/jungle/rc.d/puma.conf +10 -0
  76. data/tools/jungle/upstart/README.md +61 -0
  77. data/tools/jungle/upstart/puma-manager.conf +31 -0
  78. data/tools/jungle/upstart/puma.conf +69 -0
  79. data/tools/trickletest.rb +44 -0
  80. metadata +147 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c4249da1f75e968f84766b223378a6aaf6dd022abf83d852b1c798a1a347f654
4
+ data.tar.gz: 449706411cb7021709240bfd9f20d8dd94a6a5fff4d8cf8dda1308be9d8a6b17
5
+ SHA512:
6
+ metadata.gz: 4a5f2b5aa8c6e8d6a1b73c85edc684b83068a95591afa8a9688daaef6330b8fa44d5e5e3e5225c172c71400a407bf8cdd00de0702b0f93b4a0e22ebae1d28775
7
+ data.tar.gz: 1324855884bafd56ff03bcd6fa190a4515680a1267ad30dfe27a4efe36e805274418256c8727675c7427c79c0639441c2fecfc8cfdff915098150c7304be57c0
data/History.md ADDED
@@ -0,0 +1,1537 @@
1
+ ## Master
2
+
3
+ * Features
4
+ * Inject small latency to make Puma to prefer workers that are more idle (#2079)
5
+
6
+ * Bugfixes
7
+ * Your bugfix goes here (#Github Number)
8
+
9
+ ## 4.3.1 and 3.12.2 / 2019-12-05
10
+
11
+ * Security
12
+ * Fix: a poorly-behaved client could use keepalive requests to monopolize Puma's reactor and create a denial of service attack. CVE-2019-16770.
13
+
14
+ ## 4.3.0 / 2019-11-07
15
+
16
+ * Features
17
+ * Strip whitespace at end of HTTP headers (#2010)
18
+ * Optimize HTTP parser for JRuby (#2012)
19
+ * Add SSL support for the control app and cli (#2046, #2052)
20
+
21
+ * Bugfixes
22
+ * Fix Errno::EINVAL when SSL is enabled and browser rejects cert (#1564)
23
+ * Fix pumactl defaulting puma to development if an environment was not specified (#2035)
24
+ * Fix closing file stream when reading pid from pidfile (#2048)
25
+ * Fix a typo in configuration option `--extra_runtime_dependencies` (#2050)
26
+
27
+ ## 4.2.1 / 2019-10-07
28
+
29
+ * 3 bugfixes
30
+ * Fix socket activation of systemd (pre-existing) unix binder files (#1842, #1988)
31
+ * Deal with multiple calls to bind correctly (#1986, #1994, #2006)
32
+ * Accepts symbols for `verify_mode` (#1222)
33
+
34
+ ## 4.2.0 / 2019-09-23
35
+
36
+ * 6 features
37
+ * Pumactl has a new -e environment option and reads `config/puma/<environment>.rb` config files (#1885)
38
+ * Semicolons are now allowed in URL paths (MRI only), useful for Angular or Redmine (#1934)
39
+ * Allow extra dependencies to be defined when using prune_bundler (#1105)
40
+ * Puma now reports the correct port when binding to port 0, also reports other listeners when binding to localhost (#1786)
41
+ * Sending SIGINFO to any Puma worker now prints currently active threads and their backtraces (#1320)
42
+ * Puma threads all now have their name set on Ruby 2.3+ (#1968)
43
+ * 4 bugfixes
44
+ * Fix some misbehavior with phased restart and externally SIGTERMed workers (#1908, #1952)
45
+ * Fix socket closing on error (#1941)
46
+ * Removed unnecessary SIGINT trap for JRuby that caused some race conditions (#1961)
47
+ * Fix socket files being left around after process stopped (#1970)
48
+ * Absolutely thousands of lines of test improvements and fixes thanks to @MSP-Greg
49
+
50
+ ## 4.1.1 / 2019-09-05
51
+
52
+ * 3 bugfixes
53
+ * Revert our attempt to not dup STDOUT/STDERR (#1946)
54
+ * Fix socket close on error (#1941)
55
+ * Fix workers not shutting down correctly (#1908)
56
+
57
+ ## 4.1.0 / 2019-08-08
58
+
59
+ * 4 features
60
+ * Add REQUEST_PATH on parse error message (#1831)
61
+ * You can now easily add custom log formatters with the `log_formatter` config option (#1816)
62
+ * Puma.stats now provides process start times (#1844)
63
+ * Add support for disabling TLSv1.1 (#1836)
64
+
65
+ * 7 bugfixes
66
+ * Fix issue where Puma was creating zombie process entries (#1887)
67
+ * Fix bugs with line-endings and chunked encoding (#1812)
68
+ * RACK_URL_SCHEME is now set correctly in all conditions (#1491)
69
+ * We no longer mutate global STDOUT/STDERR, particularly the sync setting (#1837)
70
+ * SSL read_nonblock no longer blocks (#1857)
71
+ * Swallow connection errors when sending early hints (#1822)
72
+ * Backtrace no longer dumped when invalid pumactl commands are run (#1863)
73
+
74
+ * 5 other
75
+ * Avoid casting worker_timeout twice (#1838)
76
+ * Removed a call to private that wasn't doing anything (#1882)
77
+ * README, Rakefile, docs and test cleanups (#1848, #1847, #1846, #1853, #1859, #1850, #1866, #1870, #1872, #1833, #1888)
78
+ * Puma.io has proper documentation now (https://puma.io/puma/)
79
+ * Added the Contributor Covenant CoC
80
+
81
+ * 1 known issue
82
+ * Some users are still experiencing issues surrounding socket activation and Unix sockets (#1842)
83
+
84
+ ## 4.0.1 / 2019-07-11
85
+
86
+ * 2 bugfixes
87
+ * Fix socket removed after reload - should fix problems with systemd socket activation. (#1829)
88
+ * 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)
89
+ * 1 other
90
+ * Removed unnecessary RUBY_VERSION checks. (#1827)
91
+
92
+ ## 4.0.0 / 2019-06-25
93
+
94
+ * 9 features
95
+ * Add support for disabling TLSv1.0 (#1562)
96
+ * Request body read time metric (#1569)
97
+ * Add out_of_band hook (#1648)
98
+ * Re-implement (native) IOBuffer for JRuby (#1691)
99
+ * Min worker timeout (#1716)
100
+ * Add option to suppress SignalException on SIGTERM (#1690)
101
+ * Allow mutual TLS CA to be set using `ssl_bind` DSL (#1689)
102
+ * Reactor now uses nio4r instead of `select` (#1728)
103
+ * Add status to pumactl with pidfile (#1824)
104
+
105
+ * 10 bugfixes
106
+ * Do not accept new requests on shutdown (#1685, #1808)
107
+ * Fix 3 corner cases when request body is chunked (#1508)
108
+ * Change pid existence check's condition branches (#1650)
109
+ * Don't call .stop on a server that doesn't exist (#1655)
110
+ * Implemented NID_X9_62_prime256v1 (P-256) curve over P-521 (#1671)
111
+ * Fix @notify.close can't modify frozen IOError (RuntimeError) (#1583)
112
+ * Fix Java 8 support (#1773)
113
+ * Fix error `uninitialized constant Puma::Cluster` (#1731)
114
+ * Fix `not_token` being able to be set to true (#1803)
115
+ * Fix "Hang on SIGTERM with ruby 2.6 in clustered mode" ([PR #1741], [#1674], [#1720], [#1730], [#1755])
116
+
117
+ [PR #1741]: https://github.com/puma/puma/pull/1741
118
+ [#1674]: https://github.com/puma/puma/issues/1674
119
+ [#1720]: https://github.com/puma/puma/issues/1720
120
+ [#1730]: https://github.com/puma/puma/issues/1730
121
+ [#1755]: https://github.com/puma/puma/issues/1755
122
+
123
+ ## 3.12.1 / 2019-03-19
124
+
125
+ * 1 features
126
+ * Internal strings are frozen (#1649)
127
+ * 3 bugfixes
128
+ * Fix chunked ending check (#1607)
129
+ * Rack handler should use provided default host (#1700)
130
+ * Better support for detecting runtimes that support `fork` (#1630)
131
+
132
+ ## 3.12.0 / 2018-07-13
133
+
134
+ * 5 features:
135
+ * You can now specify which SSL ciphers the server should support, default is unchanged (#1478)
136
+ * The setting for Puma's `max_threads` is now in `Puma.stats` (#1604)
137
+ * Pool capacity is now in `Puma.stats` (#1579)
138
+ * Installs restricted to Ruby 2.2+ (#1506)
139
+ * `--control` is now deprecated in favor of `--control-url` (#1487)
140
+
141
+ * 2 bugfixes:
142
+ * 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)
143
+ * In a test env puma now emits the stack on an exception (#1557)
144
+
145
+ ## 3.11.4 / 2018-04-12
146
+
147
+ * 2 features:
148
+ * Manage puma as a service using rc.d (#1529)
149
+ * Server stats are now available from a top level method (#1532)
150
+ * 5 bugfixes:
151
+ * Fix parsing CLI options (#1482)
152
+ * Order of stderr and stdout is made before redirecting to a log file (#1511)
153
+ * Init.d fix of `ps -p` to check if pid exists (#1545)
154
+ * Early hints bugfix (#1550)
155
+ * Purge interrupt queue when closing socket fails (#1553)
156
+
157
+ ## 3.11.3 / 2018-03-05
158
+
159
+ * 3 bugfixes:
160
+ * Add closed? to MiniSSL::Socket for use in reactor (#1510)
161
+ * Handle EOFError at the toplevel of the server threads (#1524) (#1507)
162
+ * Deal with zero sized bodies when using SSL (#1483)
163
+
164
+ ## 3.11.2 / 2018-01-19
165
+
166
+ * 1 bugfix:
167
+ * Deal with read\_nonblock returning nil early
168
+
169
+ ## 3.11.1 / 2018-01-18
170
+
171
+ * 1 bugfix:
172
+ * Handle read\_nonblock returning nil when the socket close (#1502)
173
+
174
+ ## 3.11.0 / 2017-11-20
175
+
176
+ * 2 features:
177
+ * HTTP 103 Early Hints (#1403)
178
+ * 421/451 status codes now have correct status messages attached (#1435)
179
+
180
+ * 9 bugfixes:
181
+ * Environment config files (/config/puma/<ENV>.rb) load correctly (#1340)
182
+ * Specify windows dependencies correctly (#1434, #1436)
183
+ * puma/events required in test helper (#1418)
184
+ * Correct control CLI's option help text (#1416)
185
+ * Remove a warning for unused variable in mini_ssl (#1409)
186
+ * Correct pumactl docs argument ordering (#1427)
187
+ * Fix an uninitialized variable warning in server.rb (#1430)
188
+ * Fix docs typo/error in Launcher init (#1429)
189
+ * Deal with leading spaces in RUBYOPT (#1455)
190
+
191
+ * 2 other:
192
+ * Add docs about internals (#1425, #1452)
193
+ * Tons of test fixes from @MSP-Greg (#1439, #1442, #1464)
194
+
195
+ ## 3.10.0 / 2017-08-17
196
+
197
+ * 3 features:
198
+ * The status server has a new /gc and /gc-status command. (#1384)
199
+ * The persistent and first data timeouts are now configurable (#1111)
200
+ * Implemented RFC 2324 (#1392)
201
+
202
+ * 12 bugfixes:
203
+ * 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)
204
+ * Fix hangups with SSL and persistent connections. (#1334)
205
+ * Fix Rails double-binding to a port (#1383)
206
+ * Fix incorrect thread names (#1368)
207
+ * Fix issues with /etc/hosts and JRuby where localhost addresses were not correct. (#1318)
208
+ * Fix compatibility with RUBYOPT="--enable-frozen-string-literal" (#1376)
209
+ * Fixed some compiler warnings (#1388)
210
+ * We actually run the integration tests in CI now (#1390)
211
+ * No longer shipping unnecessary directories in the gemfile (#1391)
212
+ * If RUBYOPT is nil, we no longer blow up on restart. (#1385)
213
+ * Correct response to SIGINT (#1377)
214
+ * Proper exit code returned when we receive a TERM signal (#1337)
215
+
216
+ * 3 refactors:
217
+ * Various test improvements from @grosser
218
+ * Rubocop (#1325)
219
+ * Hoe has been removed (#1395)
220
+
221
+ * 1 known issue:
222
+ * Socket activation doesn't work in JRuby. Their fault, not ours. (#1367)
223
+
224
+ ## 3.9.1 / 2017-06-03
225
+
226
+ * 2 bugfixes:
227
+ * Fixed compatibility with older Bundler versions (#1314)
228
+ * Some internal test/development cleanup (#1311, #1313)
229
+
230
+ ## 3.9.0 / 2017-06-01
231
+
232
+ * 2 features:
233
+ * The ENV is now reset to its original values when Puma restarts via USR1/USR2 (#1260) (MRI only, no JRuby support)
234
+ * Puma will no longer accept more clients than the maximum number of threads. (#1278)
235
+
236
+ * 9 bugfixes:
237
+ * Reduce information leakage by preventing HTTP parse errors from writing environment hashes to STDERR (#1306)
238
+ * Fix SSL/WebSocket compatibility (#1274)
239
+ * HTTP headers with empty values are no longer omitted from responses. (#1261)
240
+ * Fix a Rack env key which was set to nil. (#1259)
241
+ * peercert has been implemented for JRuby (#1248)
242
+ * Fix port settings when using rails s (#1277, #1290)
243
+ * Fix compat w/LibreSSL (#1285)
244
+ * Fix restarting Puma w/symlinks and a new Gemfile (#1282)
245
+ * Replace Dir.exists? with Dir.exist? (#1294)
246
+
247
+ * 1 known issue:
248
+ * 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.
249
+
250
+ * 1 refactor:
251
+ * Lots of test fixups from @grosser.
252
+
253
+ ## 3.8.2 / 2017-03-14
254
+
255
+ * 1 bugfix:
256
+ * Deal with getsockopt with TCP\_INFO failing for sockets that say they're TCP but aren't really. (#1241)
257
+
258
+ ## 3.8.1 / 2017-03-10
259
+
260
+ * 1 bugfix:
261
+ * Remove method call to method that no longer exists (#1239)
262
+
263
+ ## 3.8.0 / 2017-03-09
264
+
265
+ * 2 bugfixes:
266
+ * Port from rack handler does not take precedence over config file in Rails 5.1.0.beta2+ and 5.0.1.rc3+ (#1234)
267
+ * The `tmp/restart.txt` plugin no longer restricts the user from running more than one server from the same folder at a time (#1226)
268
+
269
+ * 1 feature:
270
+ * Closed clients are aborted to save capacity (#1227)
271
+
272
+ * 1 refactor:
273
+ * Bundler is no longer a dependency from tests (#1213)
274
+
275
+ ## 3.7.1 / 2017-02-20
276
+
277
+ * 2 bugfixes:
278
+ * Fix typo which blew up MiniSSL (#1182)
279
+ * Stop overriding command-line options with the config file (#1203)
280
+
281
+ ## 3.7.0 / 2017-01-04
282
+
283
+ * 6 minor features:
284
+ * Allow rack handler to accept ssl host. (#1129)
285
+ * Refactor TTOU processing. TTOU now handles multiple signals at once. (#1165)
286
+ * Pickup any remaining chunk data as the next request.
287
+ * Prevent short term thread churn - increased auto trim default to 30 seconds.
288
+ * Raise error when `stdout` or `stderr` is not writable. (#1175)
289
+ * Add Rack 2.0 support to gemspec. (#1068)
290
+
291
+ * 5 refactors:
292
+ * Compare host and server name only once per call. (#1091)
293
+ * Minor refactor on Thread pool (#1088)
294
+ * Removed a ton of unused constants, variables and files.
295
+ * Use MRI macros when allocating heap memory
296
+ * Use hooks for on\_booted event. (#1160)
297
+
298
+ * 14 bugfixes:
299
+ * Add eof? method to NullIO? (#1169)
300
+ * Fix Puma startup in provided init.d script (#1061)
301
+ * Fix default SSL mode back to none. (#1036)
302
+ * Fixed the issue of @listeners getting nil io (#1120)
303
+ * Make `get_dh1024` compatible with OpenSSL v1.1.0 (#1178)
304
+ * More gracefully deal with SSL sessions. Fixes #1002
305
+ * Move puma.rb to just autoloads. Fixes #1063
306
+ * MiniSSL: Provide write as <<. Fixes #1089
307
+ * Prune bundler should inherit fds (#1114)
308
+ * Replace use of Process.getpgid which does not behave as intended on all platforms (#1110)
309
+ * Transfer encoding header should be downcased before comparison (#1135)
310
+ * Use same write log logic for hijacked requests. (#1081)
311
+ * Fix `uninitialized constant Puma::StateFile` (#1138)
312
+ * Fix access priorities of each level in LeveledOptions (#1118)
313
+
314
+ * 3 others:
315
+
316
+ * Lots of tests added/fixed/improved. Switched to Minitest from Test::Unit. Big thanks to @frodsan.
317
+ * Lots of documentation added/improved.
318
+ * Add license indicators to the HTTP extension. (#1075)
319
+
320
+ ## 3.6.2 / 2016-11-22
321
+
322
+ * 1 bug fix:
323
+
324
+ * Revert #1118/Fix access priorities of each level in LeveledOptions. This
325
+ had an unintentional side effect of changing the importance of command line
326
+ options, such as -p.
327
+
328
+ ## 3.6.1 / 2016-11-21
329
+
330
+ * 8 bug fixes:
331
+
332
+ * Fix Puma start in init.d script.
333
+ * Fix default SSL mode back to none. Fixes #1036
334
+ * Fixed the issue of @listeners getting nil io, fix rails restart (#1120)
335
+ * More gracefully deal with SSL sessions. Fixes #1002
336
+ * Prevent short term thread churn.
337
+ * Provide write as <<. Fixes #1089
338
+ * Fix access priorities of each level in LeveledOptions - fixes TTIN.
339
+ * Stub description files updated for init.d.
340
+
341
+ * 2 new project committers:
342
+
343
+ * Nate Berkopec (@nateberkopec)
344
+ * Richard Schneeman (@schneems)
345
+
346
+ ## 3.6.0 / 2016-07-24
347
+
348
+ * 12 bug fixes:
349
+ * Add ability to detect a shutting down server. Fixes #932
350
+ * Add support for Expect: 100-continue. Fixes #519
351
+ * Check SSLContext better. Fixes #828
352
+ * Clarify behavior of '-t num'. Fixes #984
353
+ * Don't default to VERIFY_PEER. Fixes #1028
354
+ * Don't use ENV['PWD'] on windows. Fixes #1023
355
+ * Enlarge the scope of catching app exceptions. Fixes #1027
356
+ * Execute background hooks after daemonizing. Fixes #925
357
+ * Handle HUP as a stop unless there is IO redirection. Fixes #911
358
+ * Implement chunked request handling. Fixes #620
359
+ * Just rescue exception to return a 500. Fixes #1027
360
+ * Redirect IO in the jruby daemon mode. Fixes #778
361
+
362
+ ## 3.5.2 / 2016-07-20
363
+
364
+ * 1 bug fix:
365
+ * Don't let persistent_timeout be nil
366
+
367
+ * 1 PR merged:
368
+ * Merge pull request #1021 from benzrf/patch-1
369
+
370
+ ## 3.5.1 / 2016-07-20
371
+
372
+ * 1 bug fix:
373
+ * Be sure to only listen on host:port combos once. Fixes #1022
374
+
375
+ ## 3.5.0 / 2016-07-18
376
+
377
+ * 1 minor features:
378
+ * Allow persistent_timeout to be configured via the dsl.
379
+
380
+ * 9 bug fixes:
381
+ * Allow a bare % in a query string. Fixes #958
382
+ * Explicitly listen on all localhost addresses. Fixes #782
383
+ * Fix `TCPLogger` log error in tcp cluster mode.
384
+ * Fix puma/puma#968 Cannot bind SSL port due to missing verify_mode option
385
+ * Fix puma/puma#968 Default verify_mode to peer
386
+ * Log any exceptions in ThreadPool. Fixes #1010
387
+ * Silence connection errors in the reactor. Fixes #959
388
+ * Tiny fixes in hook documentation for #840
389
+ * It should not log requests if we want it to be quiet
390
+
391
+ * 5 doc fixes:
392
+ * Add How to stop Puma on Heroku using plugins to the example directory
393
+ * Provide both hot and phased restart in jungle script
394
+ * Update reference to the instances management script
395
+ * Update default number of threads
396
+ * Fix typo in example config
397
+
398
+ * 14 PRs merged:
399
+ * Merge pull request #1007 from willnet/patch-1
400
+ * Merge pull request #1014 from jeznet/patch-1
401
+ * Merge pull request #1015 from bf4/patch-1
402
+ * Merge pull request #1017 from jorihardman/configurable_persistent_timeout
403
+ * Merge pull request #954 from jf/master
404
+ * Merge pull request #955 from jf/add-request-info-to-standard-error-rescue
405
+ * Merge pull request #956 from maxkwallace/master
406
+ * Merge pull request #960 from kmayer/kmayer-plugins-heroku-restart
407
+ * Merge pull request #969 from frankwong15/master
408
+ * Merge pull request #970 from willnet/delete-blank-document
409
+ * Merge pull request #974 from rocketjob/feature/name_threads
410
+ * Merge pull request #977 from snow/master
411
+ * Merge pull request #981 from zach-chai/patch-1
412
+ * Merge pull request #993 from scorix/master
413
+
414
+ ## 3.4.0 / 2016-04-07
415
+
416
+ * 2 minor features:
417
+ * Add ability to force threads to stop on shutdown. Fixes #938
418
+ * Detect and commit seppuku when fork(2) fails. Fixes #529
419
+
420
+ * 3 unknowns:
421
+ * Ignore errors trying to update the backport tables. Fixes #788
422
+ * Invoke the lowlevel_error in more places to allow for exception tracking. Fixes #894
423
+ * Update the query string when an absolute URI is used. Fixes #937
424
+
425
+ * 5 doc fixes:
426
+ * Add Process Monitors section to top-level README
427
+ * Better document the hooks. Fixes #840
428
+ * docs/system.md sample config refinements and elaborations
429
+ * Fix typos at couple of places.
430
+ * Cleanup warnings
431
+
432
+ * 3 PRs merged:
433
+ * Merge pull request #945 from dekellum/systemd-docs-refined
434
+ * Merge pull request #946 from vipulnsward/rm-pid
435
+ * Merge pull request #947 from vipulnsward/housekeeping-typos
436
+
437
+ ## 3.3.0 / 2016-04-05
438
+
439
+ * 2 minor features:
440
+ * Allow overriding options of Configuration object
441
+ * Rename to inherit_ssl_listener like inherit_tcp|unix
442
+
443
+ * 2 doc fixes:
444
+ * Add docs/systemd.md (with socket activation sub-section)
445
+ * Document UNIX signals with cluster on README.md
446
+
447
+ * 3 PRs merged:
448
+ * Merge pull request #936 from prathamesh-sonpatki/allow-overriding-config-options
449
+ * Merge pull request #940 from kyledrake/signalsdoc
450
+ * Merge pull request #942 from dekellum/socket-activate-improve
451
+
452
+ ## 3.2.0 / 2016-03-20
453
+
454
+ * 1 deprecation removal:
455
+ * Delete capistrano.rb
456
+
457
+ * 3 bug fixes:
458
+ * Detect gems.rb as well as Gemfile
459
+ * Simplify and fix logic for directory to use when restarting for all phases
460
+ * Speed up phased-restart start
461
+
462
+ * 2 PRs merged:
463
+ * Merge pull request #927 from jlecour/gemfile_variants
464
+ * Merge pull request #931 from joneslee85/patch-10
465
+
466
+ ## 3.1.1 / 2016-03-17
467
+
468
+ * 4 bug fixes:
469
+ * Disable USR1 usage on JRuby
470
+ * Fixes #922 - Correctly define file encoding as UTF-8
471
+ * Set a more explicit SERVER_SOFTWARE Rack variable
472
+ * Show RUBY_ENGINE_VERSION if available. Fixes #923
473
+
474
+ * 3 PRs merged:
475
+ * Merge pull request #912 from tricknotes/fix-allow-failures-in-travis-yml
476
+ * Merge pull request #921 from swrobel/patch-1
477
+ * Merge pull request #924 from tbrisker/patch-1
478
+
479
+ ## 3.1.0 / 2016-03-05
480
+
481
+ * 1 minor feature:
482
+ * Add 'import' directive to config file. Fixes #916
483
+
484
+ * 5 bug fixes:
485
+ * Add 'fetch' to options. Fixes #913
486
+ * Fix jruby daemonization. Fixes #918
487
+ * Recreate the proper args manually. Fixes #910
488
+ * Require 'time' to get iso8601. Fixes #914
489
+
490
+ ## 3.0.2 / 2016-02-26
491
+
492
+ * 5 bug fixes:
493
+
494
+ * Fix 'undefined local variable or method `pid` for #<Puma::ControlCLI:0x007f185fcef968>' when execute pumactl with `--pid` option.
495
+ * Fix 'undefined method `windows?` for Puma:Module' when execute pumactl.
496
+ * Harden tmp_restart against errors related to the restart file
497
+ * Make `plugin :tmp_restart` behavior correct in Windows.
498
+ * fix uninitialized constant Puma::ControlCLI::StateFile
499
+
500
+ * 3 PRs merged:
501
+
502
+ * Merge pull request #901 from mitto/fix-pumactl-uninitialized-constant-statefile
503
+ * Merge pull request #902 from corrupt952/fix_undefined_method_and_variable_when_execute_pumactl
504
+ * Merge pull request #905 from Eric-Guo/master
505
+
506
+ ## 3.0.1 / 2016-02-25
507
+
508
+ * 1 bug fix:
509
+
510
+ * Removed the experimental support for async.callback as it broke
511
+ websockets entirely. Seems no server has both hijack and async.callback
512
+ and thus faye is totally confused what to do and doesn't work.
513
+
514
+ ## 3.0.0 / 2016-02-25
515
+
516
+ * 2 major changes:
517
+
518
+ * Ruby pre-2.0 is no longer supported. We'll do our best to not add
519
+ features that break those rubies but will no longer be testing
520
+ with them.
521
+ * Don't log requests by default. Fixes #852
522
+
523
+ * 2 major features:
524
+
525
+ * Plugin support! Plugins can interact with configuration as well
526
+ as provide augment server functionality!
527
+ * Experimental env['async.callback'] support
528
+
529
+ * 4 minor features:
530
+
531
+ * Listen to unix socket with provided backlog if any
532
+ * Improves the clustered stats to report worker stats
533
+ * Pass the env to the lowlevel_error handler. Fixes #854
534
+ * Treat path-like hosts as unix sockets. Fixes #824
535
+
536
+ * 5 bug fixes:
537
+
538
+ * Clean thread locals when using keepalive. Fixes #823
539
+ * Cleanup compiler warnings. Fixes #815
540
+ * Expose closed? for use by the reactor. Fixes #835
541
+ * Move signal handlers to separate method to prevent space leak. Fixes #798
542
+ * Signal not full on worker exit #876
543
+
544
+ * 5 doc fixes:
545
+
546
+ * Update README.md with various grammar fixes
547
+ * Use newest version of Minitest
548
+ * Add directory configuration docs, fix typo [ci skip]
549
+ * Remove old COPYING notice. Fixes #849
550
+
551
+ * 10 merged PRs:
552
+
553
+ * Merge pull request #871 from deepj/travis
554
+ * Merge pull request #874 from wallclockbuilder/master
555
+ * Merge pull request #883 from dadah89/igor/trim_only_worker
556
+ * Merge pull request #884 from uistudio/async-callback
557
+ * Merge pull request #888 from mlarraz/tick_minitest
558
+ * Merge pull request #890 from todd/directory_docs
559
+ * Merge pull request #891 from ctaintor/improve_clustered_status
560
+ * Merge pull request #893 from spastorino/add_missing_require
561
+ * Merge pull request #897 from zendesk/master
562
+ * Merge pull request #899 from kch/kch-readme-fixes
563
+
564
+ ## 2.16.0 / 2016-01-27
565
+
566
+ * 7 minor features:
567
+
568
+ * Add 'set_remote_address' config option
569
+ * Allow to run puma in silent mode
570
+ * Expose cli options in DSL
571
+ * Support passing JRuby keystore info in ssl_bind DSL
572
+ * Allow umask for unix:/// style control urls
573
+ * Expose `old_worker_count` in stats url
574
+ * Support TLS client auth (verify_mode) in jruby
575
+
576
+ * 7 bug fixes:
577
+
578
+ * Don't persist before_fork hook in state file
579
+ * Reload bundler before pulling in rack. Fixes #859
580
+ * Remove NEWRELIC_DISPATCHER env variable
581
+ * Cleanup C code
582
+ * Use Timeout.timeout instead of Object.timeout
583
+ * Make phased restarts faster
584
+ * Ignore the case of certain headers, because HTTP
585
+
586
+ * 1 doc changes:
587
+
588
+ * Test against the latest Ruby 2.1, 2.2, 2.3, head and JRuby 9.0.4.0 on Travis
589
+
590
+ * 12 merged PRs
591
+ * Merge pull request #822 from kwugirl/remove_NEWRELIC_DISPATCHER
592
+ * Merge pull request #833 from joemiller/jruby-client-tls-auth
593
+ * Merge pull request #837 from YuriSolovyov/ssl-keystore-jruby
594
+ * Merge pull request #839 from mezuka/master
595
+ * Merge pull request #845 from deepj/timeout-deprecation
596
+ * Merge pull request #846 from sriedel/strip_before_fork
597
+ * Merge pull request #850 from deepj/travis
598
+ * Merge pull request #853 from Jeffrey6052/patch-1
599
+ * Merge pull request #857 from zendesk/faster_phased_restarts
600
+ * Merge pull request #858 from mlarraz/fix_some_warnings
601
+ * Merge pull request #860 from zendesk/expose_old_worker_count
602
+ * Merge pull request #861 from zendesk/allow_control_url_umask
603
+
604
+ ## 2.15.3 / 2015-11-07
605
+
606
+ * 1 bug fix:
607
+
608
+ * Fix JRuby parser
609
+
610
+ ## 2.15.2 / 2015-11-06
611
+
612
+ * 2 bug fixes:
613
+ * ext/puma_http11: handle duplicate headers as per RFC
614
+ * Only set ctx.ca iff there is a params['ca'] to set with.
615
+
616
+ * 2 PRs merged:
617
+ * Merge pull request #818 from unleashed/support-duplicate-headers
618
+ * Merge pull request #819 from VictorLowther/fix-ca-and-verify_null-exception
619
+
620
+ ## 2.15.1 / 2015-11-06
621
+
622
+ * 1 bug fix:
623
+
624
+ * Allow older openssl versions
625
+
626
+ ## 2.15.0 / 2015-11-06
627
+
628
+ * 6 minor features:
629
+ * Allow setting ca without setting a verify mode
630
+ * Make jungle for init.d support rbenv
631
+ * Use SSL_CTX_use_certificate_chain_file for full chain
632
+ * cluster: add worker_boot_timeout option
633
+ * configuration: allow empty tags to mean no tag desired
634
+ * puma/cli: support specifying STD{OUT,ERR} redirections and append mode
635
+
636
+ * 5 bug fixes:
637
+ * Disable SSL Compression
638
+ * Fix bug setting worker_directory when using a symlink directory
639
+ * Fix error message in DSL that was slightly inaccurate
640
+ * Pumactl: set correct process name. Fixes #563
641
+ * thread_pool: fix race condition when shutting down workers
642
+
643
+ * 10 doc fixes:
644
+ * Add before_fork explanation in Readme.md
645
+ * Correct spelling in DEPLOYMENT.md
646
+ * Correct spelling in docs/nginx.md
647
+ * Fix spelling errors.
648
+ * Fix typo in deployment description
649
+ * Fix typos (it's -> its) in events.rb and server.rb
650
+ * fixing for typo mentioned in #803
651
+ * Spelling correction for README
652
+ * thread_pool: fix typos in comment
653
+ * More explicit docs for worker_timeout
654
+
655
+ * 18 PRs merged:
656
+ * Merge pull request #768 from nathansamson/patch-1
657
+ * Merge pull request #773 from rossta/spelling_corrections
658
+ * Merge pull request #774 from snow/master
659
+ * Merge pull request #781 from sunsations/fix-typo
660
+ * Merge pull request #791 from unleashed/allow_empty_tags
661
+ * Merge pull request #793 from robdimarco/fix-working-directory-symlink-bug
662
+ * Merge pull request #794 from peterkeen/patch-1
663
+ * Merge pull request #795 from unleashed/redirects-from-cmdline
664
+ * Merge pull request #796 from cschneid/fix_dsl_message
665
+ * Merge pull request #799 from annafw/master
666
+ * Merge pull request #800 from liamseanbrady/fix_typo
667
+ * Merge pull request #801 from scottjg/ssl-chain-file
668
+ * Merge pull request #802 from scottjg/ssl-crimes
669
+ * Merge pull request #804 from burningTyger/patch-2
670
+ * Merge pull request #809 from unleashed/threadpool-fix-race-in-shutdown
671
+ * Merge pull request #810 from vlmonk/fix-pumactl-restart-bug
672
+ * Merge pull request #814 from schneems/schneems/worker_timeout-docs
673
+ * Merge pull request #817 from unleashed/worker-boot-timeout
674
+
675
+ ## 2.14.0 / 2015-09-18
676
+
677
+ * 1 minor feature:
678
+ * Make building with SSL support optional
679
+
680
+ * 1 bug fix:
681
+ * Use Rack::Builder if available. Fixes #735
682
+
683
+ ## 2.13.4 / 2015-08-16
684
+
685
+ * 1 bug fix:
686
+ * Use the environment possible set by the config early and from
687
+ the config file later (if set).
688
+
689
+ ## 2.13.3 / 2015-08-15
690
+
691
+ Seriously, I need to revamp config with tests.
692
+
693
+ * 1 bug fix:
694
+ * Fix preserving options before cleaning for state. Fixes #769
695
+
696
+ ## 2.13.2 / 2015-08-15
697
+
698
+ The "clearly I don't have enough tests for the config" release.
699
+
700
+ * 1 bug fix:
701
+ * Fix another place binds wasn't initialized. Fixes #767
702
+
703
+ ## 2.13.1 / 2015-08-15
704
+
705
+ * 2 bug fixes:
706
+ * Fix binds being masked in config files. Fixes #765
707
+ * Use options from the config file properly in pumactl. Fixes #764
708
+
709
+ ## 2.13.0 / 2015-08-14
710
+
711
+ * 1 minor feature:
712
+ * Add before_fork hooks option.
713
+
714
+ * 3 bug fixes:
715
+ * Check for OPENSSL_NO_ECDH before using ECDH
716
+ * Eliminate logging overhead from JRuby SSL
717
+ * Prefer cli options over config file ones. Fixes #669
718
+
719
+ * 1 deprecation:
720
+ * Add deprecation warning to capistrano.rb. Fixes #673
721
+
722
+ * 4 PRs merged:
723
+ * Merge pull request #668 from kcollignon/patch-1
724
+ * Merge pull request #754 from nathansamson/before_boot
725
+ * Merge pull request #759 from BenV/fix-centos6-build
726
+ * Merge pull request #761 from looker/no-log
727
+
728
+ ## 2.12.3 / 2015-08-03
729
+
730
+ * 8 minor bugs fixed:
731
+ * Fix Capistrano 'uninitialized constant Puma' error.
732
+ * Fix some ancient and incorrect error handling code
733
+ * Fix uninitialized constant error
734
+ * Remove toplevel rack interspection, require rack on load instead
735
+ * Skip empty parts when chunking
736
+ * Switch from inject to each in config_ru_binds iteration
737
+ * Wrap SSLv3 spec in version guard.
738
+ * ruby 1.8.7 compatibility patches
739
+
740
+ * 4 PRs merged:
741
+ * Merge pull request #742 from deivid-rodriguez/fix_missing_require
742
+ * Merge pull request #743 from matthewd/skip-empty-chunks
743
+ * Merge pull request #749 from huacnlee/fix-cap-uninitialized-puma-error
744
+ * Merge pull request #751 from costi/compat_1_8_7
745
+
746
+ * 1 test fix:
747
+ * Add 1.8.7, rbx-1 (allow failures) to Travis.
748
+
749
+ ## 2.12.2 / 2015-07-17
750
+
751
+ * 2 bug fix:
752
+ * Pull over and use Rack::URLMap. Fixes #741
753
+ * Stub out peercert on JRuby for now. Fixes #739
754
+
755
+ ## 2.12.1 / 2015-07-16
756
+
757
+ * 2 bug fixes:
758
+ * Use a constant format. Fixes #737
759
+ * Use strerror for Windows sake. Fixes #733
760
+
761
+ * 1 doc change:
762
+ * typo fix: occured -> occurred
763
+
764
+ * 1 PR merged:
765
+ * Merge pull request #736 from paulanunda/paulanunda/typo-fix
766
+
767
+ ## 2.12.0 / 2015-07-14
768
+
769
+ * 13 bug fixes:
770
+ * Add thread reaping to thread pool
771
+ * Do not automatically use chunked responses when hijacked
772
+ * Do not suppress Content-Length on partial hijack
773
+ * Don't allow any exceptions to terminate a thread
774
+ * Handle ENOTCONN client disconnects when setting REMOTE_ADDR
775
+ * Handle very early exit of cluster mode. Fixes #722
776
+ * Install rack when running tests on travis to use rack/lint
777
+ * Make puma -v and -h return success exit code
778
+ * Make pumactl load config/puma.rb by default
779
+ * Pass options from pumactl properly when pruning. Fixes #694
780
+ * Remove rack dependency. Fixes #705
781
+ * Remove the default Content-Type: text/plain
782
+ * Add Client Side Certificate Auth
783
+
784
+ * 8 doc/test changes:
785
+ * Added example sourcing of environment vars
786
+ * Added tests for bind configuration on rackup file
787
+ * Fix example config text
788
+ * Update DEPLOYMENT.md
789
+ * Update Readme with example of custom error handler
790
+ * ci: Improve Travis settings
791
+ * ci: Start running tests against JRuby 9k on Travis
792
+ * ci: Convert to container infrastructure for travisci
793
+
794
+ * 2 ops changes:
795
+ * Check for system-wide rbenv
796
+ * capistrano: Add additional env when start rails
797
+
798
+ * 16 PRs merged:
799
+ * Merge pull request #686 from jjb/patch-2
800
+ * Merge pull request #693 from rob-murray/update-example-config
801
+ * Merge pull request #697 from spk/tests-bind-on-rackup-file
802
+ * Merge pull request #699 from deees/fix/require_rack_builder
803
+ * Merge pull request #701 from deepj/master
804
+ * Merge pull request #702 from Jimdo/thread-reaping
805
+ * Merge pull request #703 from deepj/travis
806
+ * Merge pull request #704 from grega/master
807
+ * Merge pull request #709 from lian/master
808
+ * Merge pull request #711 from julik/master
809
+ * Merge pull request #712 from yakara-ltd/pumactl-default-config
810
+ * Merge pull request #715 from RobotJiang/master
811
+ * Merge pull request #725 from rwz/master
812
+ * Merge pull request #726 from strenuus/handle-client-disconnect
813
+ * Merge pull request #729 from allaire/patch-1
814
+ * Merge pull request #730 from iamjarvo/container-infrastructure
815
+
816
+ ## 2.11.3 / 2015-05-18
817
+
818
+ * 5 bug fixes:
819
+ * Be sure to unlink tempfiles after a request. Fixes #690
820
+ * Coerce the key to a string before checking. (thar be symbols). Fixes #684
821
+ * Fix hang on bad SSL handshake
822
+ * Remove `enable_SSLv3` support from JRuby
823
+
824
+ * 1 PR merged:
825
+ * Merge pull request #698 from looker/hang-handshake
826
+
827
+ ## 2.11.2 / 2015-04-11
828
+
829
+ * 2 minor features:
830
+ * Add `on_worker_fork` hook, which allows to mimic Unicorn's behavior
831
+ * Add shutdown_debug config option
832
+
833
+ * 4 bug fixes:
834
+ * Fix the Config constants not being available in the DSL. Fixes #683
835
+ * Ignore multiple port declarations
836
+ * Proper 'Connection' header handling compatible with HTTP 1.[01] protocols
837
+ * Use "Puma" instead of "puma" to reporting to New Relic
838
+
839
+ * 1 doc fixes:
840
+ * Add Gitter badge.
841
+
842
+ * 6 PRs merged:
843
+ * Merge pull request #657 from schneems/schneems/puma-once-port
844
+ * Merge pull request #658 from Tomohiro/newrelic-dispatcher-default-update
845
+ * Merge pull request #662 from basecrm/connection-compatibility
846
+ * Merge pull request #664 from fxposter/on-worker-fork
847
+ * Merge pull request #667 from JuanitoFatas/doc/gemspec
848
+ * Merge pull request #672 from chulkilee/refactor
849
+
850
+ ## 2.11.1 / 2015-02-11
851
+
852
+ * 2 bug fixes:
853
+ * Avoid crash in strange restart conditions
854
+ * Inject the GEM_HOME that bundler into puma-wild's env. Fixes #653
855
+
856
+ * 2 PRs merged:
857
+ * Merge pull request #644 from bpaquet/master
858
+ * Merge pull request #646 from mkonecny/master
859
+
860
+ ## 2.11.0 / 2015-01-20
861
+
862
+ * 9 bug fixes:
863
+ * Add mode as an additional bind option to unix sockets. Fixes #630
864
+ * Advertise HTTPS properly after a hot restart
865
+ * Don't write lowlevel_error_handler to state
866
+ * Fix phased restart with stuck requests
867
+ * Handle spaces in the path properly. Fixes #622
868
+ * Set a default REMOTE_ADDR to avoid using peeraddr on unix sockets. Fixes #583
869
+ * Skip device number checking on jruby. Fixes #586
870
+ * Update extconf.rb to compile correctly on OS X
871
+ * redirect io right after daemonizing so startup errors are shown. Fixes #359
872
+
873
+ * 6 minor features:
874
+ * Add a configuration option that prevents puma from queueing requests.
875
+ * Add reload_worker_directory
876
+ * Add the ability to pass environment variables to the init script (for Jungle).
877
+ * Add the proctitle tag to the worker. Fixes #633
878
+ * Infer a proctitle tag based on the directory
879
+ * Update lowlevel error message to be more meaningful.
880
+
881
+ * 10 PRs merged:
882
+ * Merge pull request #478 from rubencaro/master
883
+ * Merge pull request #610 from kwilczynski/master
884
+ * Merge pull request #611 from jasonl/better-lowlevel-message
885
+ * Merge pull request #616 from jc00ke/master
886
+ * Merge pull request #623 from raldred/patch-1
887
+ * Merge pull request #628 from rdpoor/master
888
+ * Merge pull request #634 from deepj/master
889
+ * Merge pull request #637 from raskhadafi/patch-1
890
+ * Merge pull request #639 from ebeigarts/fix-phased-restarts
891
+ * Merge pull request #640 from codehotter/issue-612-dependent-requests-deadlock
892
+
893
+ ## 2.10.2 / 2014-11-26
894
+
895
+ * 1 bug fix:
896
+ * Conditionalize thread local cleaning, fixes perf degradation fix
897
+ The code to clean out all Thread locals adds pretty significant
898
+ overhead to a each request, so it has to be turned on explicitly
899
+ if a user needs it.
900
+
901
+ ## 2.10.1 / 2014-11-24
902
+
903
+ * 1 bug fix:
904
+ * Load the app after daemonizing because the app might start threads.
905
+
906
+ This change means errors loading the app are now reported only in the redirected
907
+ stdout/stderr.
908
+
909
+ If you're app has problems starting up, start it without daemon mode initially
910
+ to test.
911
+
912
+ ## 2.10.0 / 2014-11-23
913
+
914
+ * 3 minor features:
915
+ * Added on_worker_shutdown hook mechanism
916
+ * Allow binding to ipv6 addresses for ssl URIs
917
+ * Warn about any threads started during app preload
918
+
919
+ * 5 bug fixes:
920
+ * Clean out a threads local data before doing work
921
+ * Disable SSLv3. Fixes #591
922
+ * First change the directory to use the correct Gemfile.
923
+ * Only use config.ru binds if specified. Fixes #606
924
+ * Strongish cipher suite with FS support for some browsers
925
+
926
+ * 2 doc changes:
927
+ * Change umask examples to more permissive values
928
+ * fix typo in README.md
929
+
930
+ * 9 Merged PRs:
931
+ * Merge pull request #560 from raskhadafi/prune_bundler-bug
932
+ * Merge pull request #566 from sheltond/master
933
+ * Merge pull request #593 from andruby/patch-1
934
+ * Merge pull request #594 from hassox/thread-cleanliness
935
+ * Merge pull request #596 from burningTyger/patch-1
936
+ * Merge pull request #601 from sorentwo/friendly-umask
937
+ * Merge pull request #602 from 1334/patch-1
938
+ * Merge pull request #608 from Gu1/master
939
+ * Merge remote-tracking branch 'origin/pr/538'
940
+
941
+ ## 2.9.2 / 2014-10-25
942
+
943
+ * 8 bug fixes:
944
+ * Fix puma-wild handling a restart properly. Fixes #550
945
+ * JRuby SSL POODLE update
946
+ * Keep deprecated features warnings
947
+ * Log the current time when Puma shuts down.
948
+ * Fix cross-platform extension library detection
949
+ * Use the correct Windows names for OpenSSL.
950
+ * Better error logging during startup
951
+ * Fixing sexist error messages
952
+
953
+ * 6 PRs merged:
954
+ * Merge pull request #549 from bsnape/log-shutdown-time
955
+ * Merge pull request #553 from lowjoel/master
956
+ * Merge pull request #568 from mariuz/patch-1
957
+ * Merge pull request #578 from danielbuechele/patch-1
958
+ * Merge pull request #581 from alexch/slightly-better-logging
959
+ * Merge pull request #590 from looker/jruby_disable_sslv3
960
+
961
+ ## 2.9.1 / 2014-09-05
962
+
963
+ * 4 bug fixes:
964
+ * Cleanup the SSL related structures properly, fixes memory leak
965
+ * Fix thread spawning edge case.
966
+ * Force a worker check after a worker boots, don't wait 5sec. Fixes #574
967
+ * Implement SIGHUP for logs reopening
968
+
969
+ * 2 PRs merged:
970
+ * Merge pull request #561 from theoldreader/sighup
971
+ * Merge pull request #570 from havenwood/spawn-thread-edge-case
972
+
973
+ ## 2.9.0 / 2014-07-12
974
+
975
+ * 1 minor feature:
976
+ * Add SSL support for JRuby
977
+
978
+ * 3 bug fixes:
979
+ * Typo BUNDLER_GEMFILE -> BUNDLE_GEMFILE
980
+ * Use fast_write because we can't trust syswrite
981
+ * pumactl - do not modify original ARGV
982
+
983
+ * 4 doc fixes:
984
+ * BSD-3-Clause over BSD to avoid confusion
985
+ * Deploy doc: clarification of the GIL
986
+ * Fix typo in DEPLOYMENT.md
987
+ * Update README.md
988
+
989
+ * 6 PRs merged:
990
+ * Merge pull request #520 from misfo/patch-2
991
+ * Merge pull request #530 from looker/jruby-ssl
992
+ * Merge pull request #537 from vlmonk/patch-1
993
+ * Merge pull request #540 from allaire/patch-1
994
+ * Merge pull request #544 from chulkilee/bsd-3-clause
995
+ * Merge pull request #551 from jcxplorer/patch-1
996
+
997
+ ## 2.8.2 / 2014-04-12
998
+
999
+ * 4 bug fixes:
1000
+ * During upgrade, change directory in main process instead of workers.
1001
+ * Close the client properly on error
1002
+ * Capistrano: fallback from phased restart to start when not started
1003
+ * Allow tag option in conf file
1004
+
1005
+ * 4 doc fixes:
1006
+ * Fix Puma daemon service README typo
1007
+ * `preload_app!` instead of `preload_app`
1008
+ * add preload_app and prune_bundler to example config
1009
+ * allow changing of worker_timeout in config file
1010
+
1011
+ * 11 PRs merged:
1012
+ * Merge pull request #487 from ckuttruff/master
1013
+ * Merge pull request #492 from ckuttruff/master
1014
+ * Merge pull request #493 from alepore/config_tag
1015
+ * Merge pull request #503 from mariuz/patch-1
1016
+ * Merge pull request #505 from sammcj/patch-1
1017
+ * Merge pull request #506 from FlavourSys/config_worker_timeout
1018
+ * Merge pull request #510 from momer/rescue-block-handle-servers-fix
1019
+ * Merge pull request #511 from macool/patch-1
1020
+ * Merge pull request #514 from edogawaconan/refactor_env
1021
+ * Merge pull request #517 from misfo/patch-1
1022
+ * Merge pull request #518 from LongMan/master
1023
+
1024
+ ## 2.8.1 / 2014-03-06
1025
+
1026
+ * 1 bug fixes:
1027
+ * Run puma-wild with proper deps for prune_bundler
1028
+
1029
+ * 2 doc changes:
1030
+ * Described the configuration file finding behavior added in 2.8.0 and how to disable it.
1031
+ * Start the deployment doc
1032
+
1033
+ * 6 PRs merged:
1034
+ * Merge pull request #471 from arthurnn/fix_test
1035
+ * Merge pull request #485 from joneslee85/patch-9
1036
+ * Merge pull request #486 from joshwlewis/patch-1
1037
+ * Merge pull request #490 from tobinibot/patch-1
1038
+ * Merge pull request #491 from brianknight10/clarify-no-config
1039
+
1040
+ ## 2.8.0 / 2014-02-28
1041
+
1042
+ * 8 minor features:
1043
+ * Add ability to autoload a config file. Fixes #438
1044
+ * Add ability to detect and terminate hung workers. Fixes #333
1045
+ * Add booted_workers to stats response
1046
+ * Add config to customize the default error message
1047
+ * Add prune_bundler option
1048
+ * Add worker indexes, expose them via on_worker_boot. Fixes #440
1049
+ * Add pretty process name
1050
+ * Show the ruby version in use
1051
+
1052
+ * 7 bug fixes:
1053
+ * Added 408 status on timeout.
1054
+ * Be more hostile with sockets that write block. Fixes #449
1055
+ * Expect at_exit to exclusively remove the pidfile. Fixes #444
1056
+ * Expose latency and listen backlog via bind query. Fixes #370
1057
+ * JRuby raises IOError if the socket is there. Fixes #377
1058
+ * Process requests fairly. Fixes #406
1059
+ * Rescue SystemCallError as well. Fixes #425
1060
+
1061
+ * 4 doc changes:
1062
+ * Add 2.1.0 to the matrix
1063
+ * Add Code Climate badge to README
1064
+ * Create signals.md
1065
+ * Set the license to BSD. Fixes #432
1066
+
1067
+ * 14 PRs merged:
1068
+ * Merge pull request #428 from alexeyfrank/capistrano_default_hooks
1069
+ * Merge pull request #429 from namusyaka/revert-const_defined
1070
+ * Merge pull request #431 from mrb/master
1071
+ * Merge pull request #433 from alepore/process-name
1072
+ * Merge pull request #437 from ibrahima/master
1073
+ * Merge pull request #446 from sudara/master
1074
+ * Merge pull request #451 from pwiebe/status_408
1075
+ * Merge pull request #453 from joevandyk/patch-1
1076
+ * Merge pull request #470 from arthurnn/fix_458
1077
+ * Merge pull request #472 from rubencaro/master
1078
+ * Merge pull request #480 from jjb/docs-on-running-test-suite
1079
+ * Merge pull request #481 from schneems/master
1080
+ * Merge pull request #482 from prathamesh-sonpatki/signals-doc-cleanup
1081
+ * Merge pull request #483 from YotpoLtd/master
1082
+
1083
+ ## 2.7.1 / 2013-12-05
1084
+
1085
+ * 1 bug fix:
1086
+
1087
+ * Keep STDOUT/STDERR the right mode. Fixes #422
1088
+
1089
+ ## 2.7.0 / 2013-12-03
1090
+
1091
+ * 1 minor feature:
1092
+ * Adding TTIN and TTOU to increment/decrement workers
1093
+
1094
+ * N bug fixes:
1095
+ * Always use our Process.daemon because it's not busted
1096
+ * Add capistrano restart failback to start.
1097
+ * Change position of `cd` so that rvm gemset is loaded
1098
+ * Clarify some platform specifics
1099
+ * Do not close the pipe sockets when retrying
1100
+ * Fix String#byteslice for Ruby 1.9.1, 1.9.2
1101
+ * Fix compatibility with 1.8.7.
1102
+ * Handle IOError closed stream in IO.select
1103
+ * Increase the max URI path length to 2048 chars from 1024 chars
1104
+ * Upstart jungle use config/puma.rb instead
1105
+
1106
+ ## 2.6.0 / 2013-09-13
1107
+
1108
+ * 2 minor features:
1109
+ * Add support for event hooks
1110
+ ** Add a hook for state transitions
1111
+ * Add phased restart to capistrano recipe.
1112
+
1113
+ * 4 bug fixes:
1114
+ * Convince workers to stop by SIGKILL after timeout
1115
+ * Define RSTRING_NOT_MODIFIED for Rubinius performance
1116
+ * Handle BrokenPipe, StandardError and IOError in fat_wrote and break out
1117
+ * Return success status to the invoking environment
1118
+
1119
+ ## 2.5.1 / 2013-08-13
1120
+
1121
+ * 2 bug fixes:
1122
+
1123
+ * Keep jruby daemon mode from retrying on a hot restart
1124
+ * Extract version from const.rb in gemspec
1125
+
1126
+ ## 2.5.0 / 2013-08-08
1127
+
1128
+ * 2 minor features:
1129
+ * Allow configuring pumactl with config.rb
1130
+ * make `pumactl restart` start puma if not running
1131
+
1132
+ * 6 bug fixes:
1133
+ * Autodetect ruby managers and home directory in upstart script
1134
+ * Convert header values to string before sending.
1135
+ * Correctly report phased-restart availability
1136
+ * Fix pidfile creation/deletion race on jruby daemonization
1137
+ * Use integers when comparing thread counts
1138
+ * Fix typo in using lopez express (raw tcp) mode
1139
+
1140
+ * 6 misc changes:
1141
+ * Fix typo in phased-restart response
1142
+ * Uncomment setuid/setgid by default in upstart
1143
+ * Use Puma::Const::PUMA_VERSION in gemspec
1144
+ * Update upstart comments to reflect new commandline
1145
+ * Remove obsolete pumactl instructions; refer to pumactl for details
1146
+ * Make Bundler used puma.gemspec version agnostic
1147
+
1148
+ ## 2.4.1 / 2013-08-07
1149
+
1150
+ * 1 experimental feature:
1151
+ * Support raw tcp servers (aka Lopez Express mode)
1152
+
1153
+ ## 2.4.0 / 2013-07-22
1154
+
1155
+ * 5 minor features:
1156
+ * Add PUMA_JRUBY_DAEMON_OPTS to get around agent starting twice
1157
+ * Add ability to drain accept socket on shutdown
1158
+ * Add port to DSL
1159
+ * Adds support for using puma config file in capistrano deploys.
1160
+ * Make phased_restart fallback to restart if not available
1161
+
1162
+ * 10 bug fixes:
1163
+
1164
+ * Be sure to only delete the pid in the master. Fixes #334
1165
+ * Call out -C/--config flags
1166
+ * Change parser symbol names to avoid clash. Fixes #179
1167
+ * Convert thread pool sizes to integers
1168
+ * Detect when the jruby daemon child doesn't start properly
1169
+ * Fix typo in CLI help
1170
+ * Improve the logging output when hijack is used. Fixes #332
1171
+ * Remove unnecessary thread pool size conversions
1172
+ * Setup :worker_boot as an Array. Fixes #317
1173
+ * Use 127.0.0.1 as REMOTE_ADDR of unix client. Fixes #309
1174
+
1175
+
1176
+ ## 2.3.2 / 2013-07-08
1177
+
1178
+ * 1 bug fix:
1179
+
1180
+ * Move starting control server to after daemonization.
1181
+
1182
+ ## 2.3.1 / 2013-07-06
1183
+
1184
+ * 2 bug fixes:
1185
+
1186
+ * Include the right files in the Manifest.
1187
+ * Disable inheriting connections on restart on windows. Fixes #166
1188
+
1189
+ * 1 doc change:
1190
+ * Better document some platform constraints
1191
+
1192
+ ## 2.3.0 / 2013-07-05
1193
+
1194
+ * 1 major bug fix:
1195
+
1196
+ * Stabilize control server, add support in cluster mode
1197
+
1198
+ * 5 minor bug fixes:
1199
+
1200
+ * Add ability to cleanup stale unix sockets
1201
+ * Check status data better. Fixes #292
1202
+ * Convert raw IO errors to ConnectionError. Fixes #274
1203
+ * Fix sending Content-Type and Content-Length for no body status. Fixes #304
1204
+ * Pass state path through to `pumactl start`. Fixes #287
1205
+
1206
+ * 2 internal changes:
1207
+
1208
+ * Refactored modes into seperate classes that CLI uses
1209
+ * Changed CLI to take an Events object instead of stdout/stderr (API change)
1210
+
1211
+ ## 2.2.2 / 2013-07-02
1212
+
1213
+ * 1 bug fix:
1214
+
1215
+ * Fix restart_command in the config
1216
+
1217
+ ## 2.2.1 / 2013-07-02
1218
+
1219
+ * 1 minor feature:
1220
+
1221
+ * Introduce preload flag
1222
+
1223
+ * 1 bug fix:
1224
+
1225
+ * Pass custom restart command in JRuby
1226
+
1227
+ ## 2.2.0 / 2013-07-01
1228
+
1229
+ * 1 major feature:
1230
+
1231
+ * Add ability to preload rack app
1232
+
1233
+ * 2 minor bugfixes:
1234
+
1235
+ * Don't leak info when not in development. Fixes #256
1236
+ * Load the app, then bind the ports
1237
+
1238
+ ## 2.1.1 / 2013-06-20
1239
+
1240
+ * 2 minor bug fixes:
1241
+
1242
+ * Fix daemonization on jruby
1243
+ * Load the application before daemonizing. Fixes #285
1244
+
1245
+ ## 2.1.0 / 2013-06-18
1246
+
1247
+ * 3 minor features:
1248
+ * Allow listening socket to be configured via Capistrano variable
1249
+ * Output results from 'stat's command when using pumactl
1250
+ * Support systemd socket activation
1251
+
1252
+ * 15 bug fixes:
1253
+ * Deal with pipes closing while stopping. Fixes #270
1254
+ * Error out early if there is no app configured
1255
+ * Handle ConnectionError rather than the lowlevel exceptions
1256
+ * tune with `-C` config file and `on_worker_boot`
1257
+ * use `-w`
1258
+ * Fixed some typos in upstart scripts
1259
+ * Make sure to use bytesize instead of size (MiniSSL write)
1260
+ * Fix an error in puma-manager.conf
1261
+ * fix: stop leaking sockets on restart (affects ruby 1.9.3 or before)
1262
+ * Ignore errors on the cross-thread pipe. Fixes #246
1263
+ * Ignore errors while uncorking the socket (it might already be closed)
1264
+ * Ignore the body on a HEAD request. Fixes #278
1265
+ * Handle all engine data when possible. Fixes #251.
1266
+ * Handle all read exceptions properly. Fixes #252
1267
+ * Handle errors from the server better
1268
+
1269
+ * 3 doc changes:
1270
+ * Add note about on_worker_boot hook
1271
+ * Add some documentation for Clustered mode
1272
+ * Added quotes to /etc/puma.conf
1273
+
1274
+ ## 2.0.1 / 2013-04-30
1275
+
1276
+ * 1 bug fix:
1277
+
1278
+ * Fix not starting on JRuby properly
1279
+
1280
+ ## 2.0.0 / 2013-04-29
1281
+
1282
+ RailsConf 2013 edition!
1283
+
1284
+ * 2 doc changes:
1285
+ * Start with rackup -s Puma, NOT rackup -s puma.
1286
+ * Minor doc fixes in the README.md, Capistrano section
1287
+
1288
+ * 2 bug fixes:
1289
+ * Fix reading RACK_ENV properly. Fixes #234
1290
+ * Make cap recipe handle tmp/sockets; fixes #228
1291
+
1292
+ * 3 minor changes:
1293
+ * Fix capistrano recipe
1294
+ * Fix stdout/stderr logs to sync outputs
1295
+ * allow binding to IPv6 addresses
1296
+
1297
+ ## 2.0.0.b7 / 2013-03-18
1298
+
1299
+ * 5 minor enhancements:
1300
+
1301
+ * Add -q option for :start
1302
+ * Add -V, --version
1303
+ * Add default Rack handler helper
1304
+ * Upstart support
1305
+ * Set worker directory from configuration file
1306
+
1307
+ * 12 bug fixes:
1308
+
1309
+ * Close the binder in the right place. Fixes #192
1310
+ * Handle early term in workers. Fixes #206
1311
+ * Make sure that the default port is 80 when the request doesn't include HTTP_X_FORWARDED_PROTO.
1312
+ * Prevent Errno::EBADF errors on restart when running ruby 2.0
1313
+ * Record the proper @master_pid
1314
+ * Respect the header HTTP_X_FORWARDED_PROTO when the host doesn't include a port number.
1315
+ * Retry EAGAIN/EWOULDBLOCK during syswrite
1316
+ * Run exec properly to restart. Fixes #154
1317
+ * Set Rack run_once to false
1318
+ * Syncronize all access to @timeouts. Fixes #208
1319
+ * Write out the state post-daemonize. Fixes #189
1320
+ * Prevent crash when all workers are gone
1321
+
1322
+ ## 2.0.0.b6 / 2013-02-06
1323
+
1324
+ * 2 minor enhancements:
1325
+
1326
+ * Add hook for running when a worker boots
1327
+ * Advertise the Configuration object for apps to use.
1328
+
1329
+ * 1 bug fix:
1330
+
1331
+ * Change directory in working during upgrade. Fixes #185
1332
+
1333
+ ## 2.0.0.b5 / 2013-02-05
1334
+
1335
+ * 2 major features:
1336
+ * Add phased worker upgrade
1337
+ * Add support for the rack hijack protocol
1338
+
1339
+ * 2 minor features:
1340
+ * Add -R to specify the restart command
1341
+ * Add config file option to specify the restart command
1342
+
1343
+ * 5 bug fixes:
1344
+ * Cleanup pipes properly. Fixes #182
1345
+ * Daemonize earlier so that we don't lose app threads. Fixes #183
1346
+ * Drain the notification pipe. Fixes #176, thanks @cryo28
1347
+ * Move write_pid to after we daemonize. Fixes #180
1348
+ * Redirect IO properly and emit message for checkpointing
1349
+
1350
+ ## 2.0.0.b4 / 2012-12-12
1351
+
1352
+ * 4 bug fixes:
1353
+ * Properly check #syswrite's value for variable sized buffers. Fixes #170
1354
+ * Shutdown status server properly
1355
+ * Handle char vs byte and mixing syswrite with write properly
1356
+ * made MiniSSL validate key/cert file existence
1357
+
1358
+ ## 2.0.0.b3 / 2012-11-22
1359
+
1360
+ * 1 bug fix:
1361
+ * Package right files in gem
1362
+
1363
+ ## 2.0.0.b2 / 2012-11-18
1364
+ * 5 minor feature:
1365
+ * Now Puma is bundled with an capistrano recipe. Just require
1366
+ 'puma/capistrano' in you deploy.rb
1367
+ * Only inject CommonLogger in development mode
1368
+ * Add -p option to pumactl
1369
+ * Add ability to use pumactl to start a server
1370
+ * Add options to daemonize puma
1371
+
1372
+ * 7 bug fixes:
1373
+ * Reset the IOBuffer properly. Fixes #148
1374
+ * Shutdown gracefully on JRuby with Ctrl-C
1375
+ * Various methods to get newrelic to start. Fixes #128
1376
+ * fixing syntax error at capistrano recipe
1377
+ * Force ECONNRESET when read returns nil
1378
+ * Be sure to empty the drain the todo before shutting down. Fixes #155
1379
+ * allow for alternate locations for status app
1380
+
1381
+ ## 2.0.0.b1 / 2012-09-11
1382
+
1383
+ * 1 major feature:
1384
+ * Optional worker process mode (-w) to allow for process scaling in
1385
+ addition to thread scaling
1386
+
1387
+ * 1 bug fix:
1388
+ * Introduce Puma::MiniSSL to be able to properly control doing
1389
+ nonblocking SSL
1390
+
1391
+ NOTE: SSL support in JRuby is not supported at present. Support will
1392
+ be added back in a future date when a java Puma::MiniSSL is added.
1393
+
1394
+ ## 1.6.3 / 2012-09-04
1395
+
1396
+ * 1 bug fix:
1397
+ * Close sockets waiting in the reactor when a hot restart is performed
1398
+ so that browsers reconnect on the next request
1399
+
1400
+ ## 1.6.2 / 2012-08-27
1401
+
1402
+ * 1 bug fix:
1403
+ * Rescue StandardError instead of IOError to handle SystemCallErrors
1404
+ as well as other application exceptions inside the reactor.
1405
+
1406
+ ## 1.6.1 / 2012-07-23
1407
+
1408
+ * 1 packaging bug fixed:
1409
+ * Include missing files
1410
+
1411
+ ## 1.6.0 / 2012-07-23
1412
+
1413
+ * 1 major bug fix:
1414
+ * Prevent slow clients from starving the server by introducing a
1415
+ dedicated IO reactor thread. Credit for reporting goes to @meh.
1416
+
1417
+ ## 1.5.0 / 2012-07-19
1418
+
1419
+ * 7 contributors to this release:
1420
+ * Christian Mayer
1421
+ * Darío Javier Cravero
1422
+ * Dirkjan Bussink
1423
+ * Gianluca Padovani
1424
+ * Santiago Pastorino
1425
+ * Thibault Jouan
1426
+ * tomykaira
1427
+
1428
+ * 6 bug fixes:
1429
+ * Define RSTRING_NOT_MODIFIED for Rubinius
1430
+ * Convert status to integer. Fixes #123
1431
+ * Delete pidfile when stopping the server
1432
+ * Allow compilation with -Werror=format-security option
1433
+ * Fix wrong HTTP version for a HTTP/1.0 request
1434
+ * Use String#bytesize instead of String#length
1435
+
1436
+ * 3 minor features:
1437
+ * Added support for setting RACK_ENV via the CLI, config file, and rack app
1438
+ * Allow Server#run to run sync. Fixes #111
1439
+ * Puma can now run on windows
1440
+
1441
+ ## 1.4.0 / 2012-06-04
1442
+
1443
+ * 1 bug fix:
1444
+ * SCRIPT_NAME should be passed from env to allow mounting apps
1445
+
1446
+ * 1 experimental feature:
1447
+ * Add puma.socket key for direct socket access
1448
+
1449
+ ## 1.3.1 / 2012-05-15
1450
+
1451
+ * 2 bug fixes:
1452
+ * use #bytesize instead of #length for Content-Length header
1453
+ * Use StringIO properly. Fixes #98
1454
+
1455
+ ## 1.3.0 / 2012-05-08
1456
+
1457
+ * 2 minor features:
1458
+ * Return valid Rack responses (passes Lint) from status server
1459
+ * Add -I option to specify $LOAD_PATH directories
1460
+
1461
+ * 4 bug fixes:
1462
+ * Don't join the server thread inside the signal handle. Fixes #94
1463
+ * Make NullIO#read mimic IO#read
1464
+ * Only stop the status server if it's started. Fixes #84
1465
+ * Set RACK_ENV early in cli also. Fixes #78
1466
+
1467
+ * 1 new contributor:
1468
+ * Jesse Cooke
1469
+
1470
+ ## 1.2.2 / 2012-04-28
1471
+
1472
+ * 4 bug fixes:
1473
+
1474
+ * Report a lowlevel error to stderr
1475
+ * Set a fallback SERVER_NAME and SERVER_PORT
1476
+ * Keep the encoding of the body correct. Fixes #79
1477
+ * show error.to_s along with backtrace for low-level error
1478
+
1479
+ ## 1.2.1 / 2012-04-11
1480
+
1481
+ 1 bug fix:
1482
+
1483
+ * Fix rack.url_scheme for SSL servers. Fixes #65
1484
+
1485
+ ## 1.2.0 / 2012-04-11
1486
+
1487
+ 1 major feature:
1488
+
1489
+ * When possible, the internal restart does a "hot restart" meaning
1490
+ the server sockets remains open, so no connections are lost.
1491
+
1492
+ 1 minor feature:
1493
+
1494
+ * More helpful fallback error message
1495
+
1496
+ 6 bug fixes:
1497
+
1498
+ * Pass the proper args to unknown_error. Fixes #54, #58
1499
+ * Stop the control server before restarting. Fixes #61
1500
+ * Fix reporting https only on a true SSL connection
1501
+ * Set the default content type to 'text/plain'. Fixes #63
1502
+ * Use REUSEADDR. Fixes #60
1503
+ * Shutdown gracefully on SIGTERM. Fixes #53
1504
+
1505
+ 2 new contributors:
1506
+
1507
+ * Seamus Abshere
1508
+ * Steve Richert
1509
+
1510
+ ## 1.1.1 / 2012-03-30
1511
+
1512
+ 1 bugfix:
1513
+
1514
+ * Include puma/compat.rb in the gem (oops!)
1515
+
1516
+ ## 1.1.0 / 2012-03-30
1517
+
1518
+ 1 bugfix:
1519
+
1520
+ * Make sure that the unix socket has the perms 0777 by default
1521
+
1522
+ 1 minor feature:
1523
+
1524
+ * Add umask param to the unix:// bind to set the umask
1525
+
1526
+ ## 1.0.0 / 2012-03-29
1527
+
1528
+ * Released!
1529
+
1530
+ ## Ignore - this is for maintainers to copy-paste during release
1531
+ ## Master
1532
+
1533
+ * Features
1534
+ * Your feature goes here (#Github Number)
1535
+
1536
+ * Bugfixes
1537
+ * Your bugfix goes here (#Github Number)