All Versions
144
Latest Version
Avg Release Cycle
33 days
Latest Release
997 days ago

Changelog History
Page 6

  • v3.12.0 Changes

    July 13, 2018
    • 5 features:

      • You can now specify which SSL ciphers the server should support, default is unchanged ([#1478])
      • The setting for Puma's max_threads is now in Puma.stats ([#1604])
      • Pool capacity is now in Puma.stats ([#1579])
      • Installs restricted to Ruby 2.2+ ([#1506])
      • --control is now deprecated in favor of --control-url ([#1487])
    • ๐Ÿ›  2 bugfixes:

      • 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])
      • In a test env puma now emits the stack on an exception ([#1557])
  • v3.11.4 Changes

    April 12, 2018
    • 2 features:
      • Manage puma as a service using rc.d ([#1529])
      • Server stats are now available from a top level method ([#1532])
    • ๐Ÿ›  5 bugfixes:
      • Fix parsing CLI options ([#1482])
      • Order of stderr and stdout is made before redirecting to a log file ([#1511])
      • Init.d fix of ps -p to check if pid exists ([#1545])
      • Early hints bugfix ([#1550])
      • Purge interrupt queue when closing socket fails ([#1553])
  • v3.11.3 Changes

    March 05, 2018
    • ๐Ÿ›  3 bugfixes:
      • Add closed? to MiniSSL::Socket for use in reactor ([#1510])
      • Handle EOFError at the toplevel of the server threads ([#1524]) ([#1507])
      • Deal with zero sized bodies when using SSL ([#1483])
  • v3.11.2 Changes

    January 19, 2018
    • ๐Ÿ›  1 bugfix:
      • Deal with read_nonblock returning nil early
  • v3.11.1 Changes

    January 18, 2018
    • ๐Ÿ›  1 bugfix:
      • Handle read_nonblock returning nil when the socket close (#1502)
  • v3.11.0 Changes

    November 20, 2017

    download

    2 features:

    • HTTP 103 Early Hints (#1403)

    - 421/451 status codes now have correct status messages attached (#1435)

    ๐Ÿ›  9 bugfixes:

    • Environment config files (/config/puma/.rb) load correctly (#1340)
    • Specify windows dependencies correctly (#1434, #1436)
    • puma/events required in test helper (#1418)
    • Correct control CLI's option help text (#1416)
    • Remove a warning for unused variable in mini_ssl (#1409)
    • Correct pumactl docs argument ordering (#1427)
    • Fix an uninitialized variable warning in server.rb (#1430)
    • Fix docs typo/error in Launcher init (#1429)

    - Deal with leading spaces in RUBYOPT (#1455)

    2 other:

  • v3.10.0 Changes

    August 17, 2017

    teapot

    3 features:

    • The status server has a new /gc and /gc-status command. (#1384)
    • The persistent and first data timeouts are now configurable (#1111)

    - Implemented RFC 2324 (#1392)

    ๐Ÿ›  12 bugfixes:

    • 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)
    • Fix hangups with SSL and persistent connections. (#1334)
    • Fix Rails double-binding to a port (#1383)
    • Fix incorrect thread names (#1368)
    • Fix issues with /etc/hosts and JRuby where localhost addresses were not correct. (#1318)
    • Fix compatibility with RUBYOPT="--enable-frozen-string-literal" (#1376)
    • Fixed some compiler warnings (#1388)
    • We actually run the integration tests in CI now (#1390)
    • No longer shipping unnecessary directories in the gemfile (#1391)
    • If RUBYOPT is nil, we no longer blow up on restart. (#1385)
    • Correct response to SIGINT (#1377)

    - Proper exit code returned when we receive a TERM signal (#1337)

    ๐Ÿ”จ 3 refactors:

    - Hoe has been removed (#1395)

    1 known issue:

    • Socket activation doesn't work in JRuby. Their fault, not ours. (#1367)
  • v3.9.1 Changes

    June 03, 2017
    • ๐Ÿ›  2 bugfixes:
      • Fixed compatibility with older Bundler versions ([#1314])
      • Some internal test/development cleanup ([#1311], [#1313])
  • v3.9.0 Changes

    June 01, 2017
    • 2 features:

      • The ENV is now reset to its original values when Puma restarts via USR1/USR2 ([#1260]) (MRI only, no JRuby support)
      • Puma will no longer accept more clients than the maximum number of threads. ([#1278])
    • ๐Ÿ›  9 bugfixes:

      • Reduce information leakage by preventing HTTP parse errors from writing environment hashes to STDERR ([#1306])
      • Fix SSL/WebSocket compatibility ([#1274])
      • HTTP headers with empty values are no longer omitted from responses. ([#1261])
      • Fix a Rack env key which was set to nil. ([#1259])
      • peercert has been implemented for JRuby ([#1248])
      • Fix port settings when using rails s ([#1277], [#1290])
      • Fix compat w/LibreSSL ([#1285])
      • Fix restarting Puma w/symlinks and a new Gemfile ([#1282])
      • Replace Dir.exists? with Dir.exist? ([#1294])
    • 1 known issue:

      • 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.
    • ๐Ÿ”จ 1 refactor:

      • Lots of test fixups from @grosser.
  • v3.8.2 Changes

    March 14, 2017
    • ๐Ÿ›  1 bugfix:
      • Deal with getsockopt with TCP_INFO failing for sockets that say they're TCP but aren't really. (#1241)