Skip to content

Releases: puma/puma

v5.0.0.beta2

05 Sep 22:33
b08afd3
Compare
Choose a tag to compare
v5.0.0.beta2 Pre-release
Pre-release

This is the final beta release before 5.0.0.

Differences versus 5.0.0.beta1 are these additional bugfixes:

  • Fixed a typo re: maximum URI path length #2344
  • rack.multithread and rack.multiprocess now dynamically resolved by max_thread and workers respectively (#2288)
  • Log binding on http:// for TCP bindings to make it clickable
  • Fix JSON loading issues on phased-restarts (#2269)
  • Improve shutdown reliability (#2312, #2338)
  • Close client http connections made to an ssl server with TLSv1.3 (#2116)
  • Fix for spawning subprocesses with fork_worker option (#2267)
  • Set CONTENT_LENGTH for chunked requests (#2287)
  • JRuby - Add Puma::MiniSSL::Engine#init? and #teardown methods, run all SSL tests (#2317)
  • Improve shutdown reliability (#2312)
  • Resolve issue with threadpool waiting counter decrement when thread is killed
  • Constrain rake-compiler version to 0.9.4 to fix ClassNotFound exception when using MiniSSL with Java8.
  • Fix recursive prune_bundler (#2319).
  • Ensure that TCP_CORK is usable
  • Fix corner case when request body is chunked (#2326)

v4.3.6

05 Sep 21:08
3e3647a
Compare
Choose a tag to compare

v4.3.5...4.3.6

A quick fix for a build error on Mac OS and a JSON require fix for those using phased restart.

  • Explicitly include ctype.h to fix compilation warning and build error on macOS with Xcode 12 (#2304)
  • Don't require json at boot (#2269)

v5.0.0.beta1

05 Sep 22:35
c1963c0
Compare
Choose a tag to compare
v5.0.0.beta1 Pre-release
Pre-release
Version 5.0.0.beta1

v4.3.0 - Mysterious Traveller

07 Nov 21:10
d20242b
Compare
Choose a tag to compare

0000492109

Mysterious Traveller

  • Features

    • Strip whitespace at end of HTTP headers (#2010)
    • Optimize HTTP parser for JRuby (#2012)
    • Add SSL support for the control app and cli (#2046, #2052)
  • Bugfixes

    • Fix Errno::EINVAL when SSL is enabled and browser rejects cert (#1564)
    • Fix pumactl defaulting puma to development if an environment was not specified (#2035)
    • Fix closing file stream when reading pid from pidfile (#2048)
    • Fix a typo in configuration option --extra_runtime_dependencies (#2050)

4.2.1

07 Oct 09:50
2d46f0b
Compare
Choose a tag to compare
  • 3 bugfixes
    • Fix socket activation of systemd (pre-existing) unix binder files (#1842, #1988)
    • Deal with multiple calls to bind correctly (#1986, #1994, #2006)
    • Accepts symbols for verify_mode (#1222)

4.2.0 - Distant Airhorns

23 Sep 09:17
120f247
Compare
Choose a tag to compare
  • 6 features
    • Pumactl has a new -e environment option and reads config/puma/.rb config files (#1885)
    • Semicolons are now allowed in URL paths (MRI only), useful for Angular or Redmine (#1934)
    • Allow extra dependencies to be defined when using prune_bundler (#1105)
    • Puma now reports the correct port when binding to port 0, also reports other listeners when binding to localhost (#1786)
    • Sending SIGINFO to any Puma worker now prints currently active threads and their backtraces (#1320)
    • Puma threads all now have their name set on Ruby 2.3+ (#1968)
  • 4 bugfixes
    • Fix some misbehavior with phased restart and externally SIGTERMed workers (#1908, #1952)
    • Fix socket closing on error (#1941)
    • Removed unnecessary SIGINT trap for JRuby that caused some race conditions (#1961)
    • Fix socket files being left around after process stopped (#1970)
  • Absolutely thousands of lines of test improvements and fixes thanks to @MSP-Greg

air-horn-sound-s-econd-air-horn-sound-me-this-23916124

4.1.1

09 Sep 12:24
e324a12
Compare
Choose a tag to compare

3 bugfixes

  • Revert our attempt to not dup STDOUT/STDERR (#1946)
  • Fix socket close on error (#1941)
  • Fix workers not shutting down correctly (#1908)

4.1.0 - Fourth and One

08 Aug 19:31
736117c
Compare
Choose a tag to compare
  • 4 features

    • Add REQUEST_PATH on parse error message (#1831)
    • You can now easily add custom log formatters with the log_formatter config option (#1816)
    • Puma.stats now provides process start times (#1844)
    • Add support for disabling TLSv1.1 (#1836)
  • 7 bugfixes

    • Fix issue where Puma was creating zombie process entries (#1887)
    • Fix bugs with line-endings and chunked encoding (#1812)
    • RACK_URL_SCHEME is now set correctly in all conditions (#1491)
    • We no longer mutate global STDOUT/STDERR, particularly the sync setting (#1837)
    • SSL read_nonblock no longer blocks (#1857)
    • Swallow connection errors when sending early hints (#1822)
    • Backtrace no longer dumped when invalid pumactl commands are run (#1863)
  • 5 other

  • 1 known issue

    • Some users are still experiencing issues surrounding socket activation and Unix sockets (#1842)

Codename: Fourth and One

why-dont-coaches-go-for-it-on-4th-down

v4.0.1

11 Jul 17:53
1c9da36
Compare
Choose a tag to compare
  • 2 bugfixes
    • Fix socket removed after reload - should fix problems with systemd socket activation. (#1829)
    • 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)
  • 1 other
    • Removed unnecessary RUBY_VERSION checks. (#1827)

v4.0.0 - 4 Fast 4 Furious

25 Jun 17:47
f5d7600
Compare
Choose a tag to compare

9 feature

  • Add support for disabling TLSv1.0 (#1562)
  • Request body read time metric (#1569)
  • Add out_of_band hook (#1648)
  • Re-implement (native) IOBuffer for JRuby (#1691)
  • Min worker timeout (#1716)
  • Add option to suppress SignalException on SIGTERM (#1690)
  • Allow mutual TLS CA to be set using ssl_bind DSL (#1689)
  • Reactor now uses nio4r instead of select (#1728)

9 bugfixes

  • Do not accept new requests on shutdown (#1685, #1808)
  • Fix 3 corner cases when request body is chunked (#1508)
  • Change pid existence check's condition branches (#1650)
  • Don't call .stop on a server that doesn't exist (#1655)
  • Implemented NID_X9_62_prime256v1 (P-256) curve over P-521 (#1671)
  • Fix @notify.close can't modify frozen IOError (RuntimeError) (#1583)
  • Fix Java 8 support (#1773)
  • Fix error uninitialized constant Puma::Cluster (#1731)
  • Fix not_token being able to be set to true (#1803)