Files | Admin

Notes:

Release Name: 0.9.0

Notes:
Rainbows! is an HTTP server for sleepy Rack applications.  It is based on
Unicorn, but designed to handle applications that expect long
request/response times and/or slow clients.  For Rack applications not
heavily bound by slow external network dependencies, consider Unicorn
instead as it simpler and easier to debug.

* http://rainbows.rubyforge.org/
* rainbows-talk@rubyforge.org
* git://git.bogomips.org/rainbows.git

Changes:

This release introduces compatibility with Sunshowers, a library
for Web Sockets, see http://rainbows.rubyforge.org/sunshowers
for more information.  Several small cleanups and fixes.

Eric Wong (20):
      add RevThreadPool to README
      rev: do not initialize a Rev::Loop in master process
      rainbows.1: update headers
      do not log IOError raised during app processing
      move "async.callback" constant to EvCore
      larger thread  pool default sizes ({Rev,}ThreadPool)
      ev_core: no need to explicitly close TmpIOs
      EventMachine: allow usage as a base class
      NeverBlock: resync with recent our EM-related expansion
      RevThread*: move warning message to a saner place
      EventMachineDefer: preliminary (and) broken version
      TODO: add EM Deferrables
      RevThread*: remove needless nil assignment
      README: HTML5 Web Sockets may not be supported, yet...
      env["hack.io"] for Fiber*, Revactor, Thread* models
      EventMachineDefer is experimental
      README: add Sunshowers reference
      Rakefile: resync with Unicorn
      doc/comparison: add Web Sockets to comparison
      README updates



Changes: Documentation/comparison.haml | 15 +++++++- Documentation/rainbows.1.txt | 6 +- GIT-VERSION-GEN | 2 +- GNUmakefile | 2 +- README | 10 +++-- Rakefile | 33 +++++++++++++++- TODO | 2 + lib/rainbows.rb | 3 +- lib/rainbows/base.rb | 1 + lib/rainbows/const.rb | 8 +++- lib/rainbows/error.rb | 3 +- lib/rainbows/ev_core.rb | 4 +- lib/rainbows/event_machine.rb | 13 +++--- lib/rainbows/event_machine_defer.rb | 59 +++++++++++++++++++++++++++++ lib/rainbows/fiber/base.rb | 1 + lib/rainbows/http_server.rb | 7 +++- lib/rainbows/never_block.rb | 14 ++++--- lib/rainbows/never_block/event_machine.rb | 6 +++ lib/rainbows/rev/core.rb | 3 +- lib/rainbows/rev/deferred_response.rb | 8 +-- lib/rainbows/rev/master.rb | 4 -- lib/rainbows/rev/thread.rb | 4 +- lib/rainbows/rev_thread_pool.rb | 2 +- lib/rainbows/revactor.rb | 1 + t/simple-http_EventMachineDefer.ru | 11 +++++ 25 files changed, 180 insertions(+), 42 deletions(-) commit 5f39d4824b9eff01801c6c8fec98eb77e18426de Author: Eric Wong Date: Sun Dec 13 14:46:22 2009 -0800 Rainbows! 0.9.0 This release introduces compatibility with Sunshowers, a library for Web Sockets, see http://rainbows.rubyforge.org/sunshowers for more information. Several small cleanups and fixes. Eric Wong (20): add RevThreadPool to README rev: do not initialize a Rev::Loop in master process rainbows.1: update headers do not log IOError raised during app processing move "async.callback" constant to EvCore larger thread pool default sizes ({Rev,}ThreadPool) ev_core: no need to explicitly close TmpIOs EventMachine: allow usage as a base class NeverBlock: resync with recent our EM-related expansion RevThread*: move warning message to a saner place EventMachineDefer: preliminary (and) broken version TODO: add EM Deferrables RevThread*: remove needless nil assignment README: HTML5 Web Sockets may not be supported, yet... env["hack.io"] for Fiber*, Revactor, Thread* models EventMachineDefer is experimental README: add Sunshowers reference Rakefile: resync with Unicorn doc/comparison: add Web Sockets to comparison README updates commit 7d14629de1d758d0323a0093dac9007d08f9318f Author: Eric Wong Date: Sun Dec 13 13:25:11 2009 -0800 README updates commit 6cf215fd9e9d38586277ce6d82500a23ca6c67b1 Author: Eric Wong Date: Sun Dec 13 12:39:29 2009 -0800 doc/comparison: add Web Sockets to comparison commit 613cf0e32e6060befaae848a0f7d994565f293af Author: Eric Wong Date: Sun Dec 13 12:39:01 2009 -0800 Rakefile: resync with Unicorn * cleanup NEWS.atom.xml feed * add freshmeat update task commit 33a65633ee9ba4b9b7383124af09eb399616df54 Author: Eric Wong Date: Sun Dec 13 12:34:53 2009 -0800 README: add Sunshowers reference commit 24482ae3cc22f0b99e87e27f62b9ac03a7263bea Author: Eric Wong Date: Sat Dec 12 23:50:02 2009 -0800 EventMachineDefer is experimental Not enough time or interest at the moment to get this fully working... commit 42fbb5d3a6c6488c2015bd81f1a00f1873cfb819 Author: Eric Wong Date: Fri Dec 11 02:59:32 2009 -0800 env["hack.io"] for Fiber*, Revactor, Thread* models This exposes a client IO object directly to the underlying application. commit 1e08dbab5683904ebeab01391eb6cd632ed9732e Author: Eric Wong Date: Thu Dec 10 18:24:29 2009 -0800 README: HTML5 Web Sockets may not be supported, yet... commit 19c38d8e10646164bffb0bb0fd67803dd9cc558a Author: Eric Wong Date: Wed Dec 9 19:39:37 2009 -0800 RevThread*: remove needless nil assignment We no longer explicitly close @input commit c8af6a998e42ee81d880c99442c6be96015ffbfb Author: Eric Wong Date: Tue Dec 8 01:25:55 2009 -0800 TODO: add EM Deferrables EM.defer and EM Deferrables aren't the same thing, guess we'll have to figure out how to support both. commit 067b54ff7950084fc729df04a748e02361d46dc1 Author: Eric Wong Date: Tue Dec 8 00:50:34 2009 -0800 EventMachineDefer: preliminary (and) broken version There's a good chunk of tests that fail with this, still. Worse, I haven't been able to figure out what's wrong since it looks like it would involve looking at C++ code... commit d2aba3d27fcff72b4db9d3f164247923d1ebd244 Author: Eric Wong Date: Tue Dec 8 00:48:50 2009 -0800 RevThread*: move warning message to a saner place Don't expect RevThreadPool to work with Rev <= 0.3.1, either. commit c0df78a84bde010034970effee30700fd502a401 Author: Eric Wong Date: Tue Dec 8 00:46:38 2009 -0800 NeverBlock: resync with recent our EM-related expansion The last change to our EventMachine support code broke our (lightly-tested) NeverBlock support badly. commit c4996358a9cd949757f297dfdcc2a71306fc285f Author: Eric Wong Date: Sun Dec 6 13:03:30 2009 -0800 EventMachine: allow usage as a base class We'll be adding EventMachine-based concurrency models. commit 89fa9d73f7976c1e52f53e3e6ccac177cb3251fe Author: Eric Wong Date: Sat Dec 5 20:42:16 2009 -0800 ev_core: no need to explicitly close TmpIOs Just let the GC deal with it commit ca15225e266a84489d8b05adaa948b3912280094 Author: Eric Wong Date: Sat Dec 5 17:37:24 2009 -0800 larger thread pool default sizes ({Rev,}ThreadPool) This matches what EM sets for its built-in thread pool commit ed1d5f187de90105b1d01d3d8711eba14115ccf0 Author: Eric Wong Date: Sat Dec 5 15:01:28 2009 -0800 move "async.callback" constant to EvCore Rev/Packet-based models may support it in the future commit 2783d3b69784231a36243c30a56aeefa6b39c181 Author: Eric Wong Date: Fri Dec 4 01:29:48 2009 -0800 do not log IOError raised during app processing A client disconnect could possibly trigger IOError on close whereas EOFError does not occur. commit 845143b4c9be43f4f52be297bdfdf6750e2239e5 Author: Eric Wong Date: Fri Dec 4 01:26:00 2009 -0800 rainbows.1: update headers manpage was blatantly copied from the Unicorn one but headers were never updated. commit f8ba20423edbe23acb772a9e908d9695ebd92d56 Author: Eric Wong Date: Fri Dec 4 00:58:45 2009 -0800 rev: do not initialize a Rev::Loop in master process It may make it harder to switch between concurrency models with SIGHUP this way... commit a3df52bd02d9dae07492db6394d574462bd80768 Author: Eric Wong Date: Wed Dec 2 01:08:20 2009 -0800 add RevThreadPool to README