Files | Admin

Notes:

Release Name: 0.90.2

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 depends on Unicorn 0.96.1 for an updated
Unicorn::HttpParser to avoid leaking memory.

The HttpParser in Unicorn <= 0.96.0 did not setup the parser
object properly to be freed by the garbage collector.

While this bug did not affect Unicorn itself, Rainbows!
allocates a new Unicorn::HttpParser object for every new client
connection and Unicorn did not properly setup the parser object
to be freed by the Ruby garbage collector.

There are also minor cosmetic cleanups and fixes:

Eric Wong (10):
      http_response: disallow blank, multi-value headers
      Fix "rainbows -h" and "rainbows -v"
      Update docs + tests to reflect Rev 0.3.2 release
      local.mk.sample: bump Rack dependency
      Merge branch 'rack-1.1'
      add Cramp integration tests
      Rakefile: autoload Gem
      t/bin/*: encoding should be the first line after shebang
      gemspec: bump dependency on Unicorn to avoid leak
      Rainbows! 0.90.2



Changes: Documentation/comparison.haml | 7 +-- GIT-VERSION-GEN | 2 +- Rakefile | 4 +- bin/rainbows | 17 ++++---- lib/rainbows/const.rb | 2 +- lib/rainbows/http_response.rb | 3 +- lib/rainbows/rev_thread_pool.rb | 5 +- lib/rainbows/rev_thread_spawn.rb | 5 +- local.mk.sample | 17 +++++++- rainbows.gemspec | 6 ++- t/GNUmakefile | 13 ++++-- t/bin/content-md5-put | 2 +- t/bin/unused_listen | 1 + t/bin/utee | 2 +- t/cramp/README | 3 + t/cramp/streaming.ru | 28 ++++++++++++++ t/t0500-cramp-streaming.sh | 77 ++++++++++++++++++++++++++++++++++++++ 17 files changed, 158 insertions(+), 36 deletions(-) commit 8ed2fecb89161c0d913a737c2a951b11d249b908 Author: Eric Wong Date: Sat Feb 13 01:00:14 2010 -0800 Rainbows! 0.90.2 This release depends on Unicorn 0.96.1 for an updated Unicorn::HttpParser to avoid leaking memory. The HttpParser in Unicorn <= 0.96.0 did not setup the parser object properly to be freed by the garbage collector. While this bug did not affect Unicorn itself, Rainbows! allocates a new Unicorn::HttpParser object for every new client connection and Unicorn did not properly setup the parser object to be freed by the Ruby garbage collector. There are also minor cosmetic cleanups and fixes: Eric Wong (10): http_response: disallow blank, multi-value headers Fix "rainbows -h" and "rainbows -v" Update docs + tests to reflect Rev 0.3.2 release local.mk.sample: bump Rack dependency Merge branch 'rack-1.1' add Cramp integration tests Rakefile: autoload Gem t/bin/*: encoding should be the first line after shebang gemspec: bump dependency on Unicorn to avoid leak Rainbows! 0.90.2 commit c761c155d839a6e032a3e630ae577bf863c3bcc4 Author: Eric Wong Date: Sat Feb 13 00:53:34 2010 -0800 gemspec: bump dependency on Unicorn to avoid leak The HTTP parser in Unicorn <= 0.96.0 did not use the Ruby API correctly. While this bug did not affect Unicorn itself, Rainbows! allocates a new Unicorn::HttpParser object for every client connection and Unicorn did not properly setup the parser object to be freed. commit 71b8fff3d8d171c9770bb8c69767341c10d9c962 Author: Eric Wong Date: Mon Feb 8 15:09:11 2010 -0800 t/bin/*: encoding should be the first line after shebang Ruby 1.9 will complain otherwise commit 9e01161030e68f0740e7821791fef4e38f828f1a Author: Eric Wong Date: Mon Feb 1 19:44:33 2010 -0800 Rakefile: autoload Gem easier to manage for cases where rake isn't a gem itself commit 0b6fe07c10278266e2f428a4355b7edfc13781cd Author: Eric Wong Date: Fri Jan 8 16:44:44 2010 -0800 add Cramp integration tests Tested with cramp-0.7 and eventmachine 0.12.10 commit 23bf8da0774b21d8c55786b4b386faba4b53c97f Merge: ef16157 fddbfa6 Author: Eric Wong Date: Fri Jan 8 00:07:38 2010 -0800 Merge branch 'rack-1.1' * rack-1.1: http_response: disallow blank, multi-value headers commit ef16157cd049743ba0b0cc237b6289bdd503a66e Author: Eric Wong Date: Fri Jan 8 00:07:22 2010 -0800 local.mk.sample: bump Rack dependency commit 5624bcde20a73fb91ca515afc01245d87fac2479 Author: Eric Wong Date: Thu Jan 7 23:37:35 2010 -0800 Update docs + tests to reflect Rev 0.3.2 release Rev 0.3.2 makes performance with Threads* under Ruby 1.8 tolerable. commit 1e902098533a4a66e8d6782b00703aa9a5eaa5f7 Author: Eric Wong Date: Wed Jan 6 14:43:36 2010 -0800 Fix "rainbows -h" and "rainbows -v" Do not identify ourselves as "Unicorn", especially not for -v. Also "ENVIRONMENT" should be "RACK_ENV". commit fddbfa6929569685bcb92f54f6938df97bccd575 Author: Eric Wong Date: Tue Jan 5 17:48:13 2010 -0800 http_response: disallow blank, multi-value headers The HeaderHash optimizations in Rack 1.1 interact badly with Rails 2.3.5 (and possibly other frameworks/apps) which set multi-value "Set-Cookie" headers without relying on the proper methods provided by Rack::Utils. While this is an issue with Rails not using properly, there may be similar apps that make this mistake and Rack::Lint does not guard against it. Rack-ML-Ref: <20100105235845.GB3377@dcvr.yhbt.net>