LATEST in rainbows-3.3.0 vs LATEST in rainbows-3.4.0

- old
+ new

@@ -1,40 +1,11 @@ -=== Rainbows! 3.3.0 - doc improvements and more / 2011-05-16 21:15 UTC +=== Rainbows 3.4.0 - minor updates and fixes / 2011-05-21 03:19 UTC - * improved documentation all around, suggestions/comments to further - improve documentation is greatly welcome at: rainbows-talk@rubyforge.org + SIGQUIT (graceful shutdown) now drops idle keepalive clients for + the concurrency models where maintaining an idle client is + relatively inexpensive: Coolio, CoolioThreadPool, + CoolioThreadSpawn, Epoll, EventMachine, XEpoll, + XEpollThreadPool, XEpollThreadSpawn. - * added GPLv3 option to the license (now (Ruby|GPLv2|GPLv3), though - Unicorn is still (Ruby|GPLv2) for now) - - * added client_header_buffer_size config directive (default 1K) - - * small default header buffer size (16K => 1K) to reduce memory usage, - Rails apps with cookie sessions may want to increase this (~2K) - - * all concurrency models default to 50 connections per process - - * all concurrency models with a secondary :pool_size parameter also - default to 50 (threads/fibers/whatever) - - * RLIMIT_NOFILE and RLIMIT_NPROC are automatically increased if needed - - * Rainbows::ThreadTimeout middleware rewritten, still not recommended, - lazy people should be using Unicorn anyways :) - - * Several experimental Linux-only edge-triggered epoll options: - XEpollThreadSpawn, XEpollThreadPool, XEpoll, and Epoll. - The latter two were in previous releases but never announced. - These require the "sleepy_penguin", "raindrops", and "sendfile" RubyGems - - === Deprecations - - * Rainbows::Fiber::IO* APIs all deprecated, Rainbows! will avoid - having any concurrency model-specific APIs in the future and - also avoid introducing new APIs for applications. - - * Fiber-based concurrency models are no longer recommended, they're - too fragile for most apps, use at your own risk (they'll continue to - be supported, however). Linux NPTL + Ruby 1.9 is pretty lightweight - and will be even lighter in Ruby 1.9.3 if you're careful with stack - usage in your C extensions. + Kgio.autopush now works properly for all multi-threaded + concurrency models (if you're using :tcp_nopush).