about summary refs log tree commit homepage
tag namev0.3.0 (54972d8580556e9d0858ad5275ccad0f6d0b7f5f)
tag date2009-10-19 11:21:14 -0700
tagged byEric Wong <normalperson@yhbt.net>
tagged objectcommit 25c0b000d5...
Rainbows! 0.3.0
The major feature of this release is the new DeferredResponse
middleware for the Rev-based concurrency model.  It should be
transparently compatible with non-Rev models, as well.  As a
pleasant side effect, this change also allows large files to be
streamed to the client with Rev as the socket becomes writable
instead of slurping the entire file into an IO::Buffer first.

Bugfixes to graceful shutdowns support for all concurrency
models.  The Rev-based model also gets a working heartbeat
mechanism (oops!) and fixed HTTP/1.1 pipelining support.

Eric Wong (38):
      app_pool: note it being currently broken with Revactor
      Revactor tests can sleep more easily
      tests: sleep.ru handles "Expect: 100-continue"
      Fix graceful shutdown handling of Thread* models harder
      DRY setting of rack.multithread
      test-lib: dbgcat adds headers with key name
      use timeout correctly to join threads on SIGQUIT
      Rev: simplification to error handling
      tests: sleep.ru slurps rack.input stream
      refactor graceful shutdowns again, harder
      tests: introduce require_for_model function
      tests: add unbuffered tee(1)-like helper
      tests: rack.input trailer tests for all models
      tests: fix issues with non-portable shell constructs
      tests: fix random_blob dependency
      tests: factor out a common parser error "library"
      tests: DRY setting of the "model" environment var
      tests: DRY Ruby requires based on model
      test-lib: quiet down pipefail error message
      tests: DRY require tests for Rev/Revactor
      rev: handle fully-buffered, pipelined requests
      rev: avoid stack overflow through pipelining
      tests: common basic HTTP tests for all models
      tests: rack.input hammer concurrency testing
      tests: for log reopening for all concurrency models
      http_response: filter out X-Rainbows-* headers
      rev: fix heartbeat timeouts
      revactor: switch to a 1 second heartbeat
      rev: async response bodies with DevFdResponse middleware
      tests: more reliable error checking
      tests: DWIM FIFO creation
      tests: predictable and simpler tempfile management
      rev: AsyncResponse => DeferredResponse API cleanup
      rev: update documentation for this model
      TUNING: update documentation notes
      TODO: update with new items
      local.mk.sample: sync with BDFL's version
      Rainbows! 0.3.0