Rainbows! 3.3.0 - doc improvements and morev3.3.0
authorEric Wong <normalperson@yhbt.net>
Mon, 16 May 2011 21:12:27 +0000 (14:12 -0700)
committerEric Wong <normalperson@yhbt.net>
Mon, 16 May 2011 21:12:27 +0000 (14:12 -0700)
commitbc4f5510cd0e5ccf85f077cca019bca70309bf01
tree328342d30a8ea14c076b0fcda04224ebce012c34
parentbcd0825fc77a2986aebb3f1f5a653a64faf6a8c5
Rainbows! 3.3.0 - doc improvements and more

* improved documentation all around, suggestions/comments to further
  improve documentation is greatly welcome at: rainbows-talk@rubyforge.org

* 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.
GIT-VERSION-GEN
lib/rainbows/const.rb