NEWS in rainbows-0.1.1 vs NEWS in rainbows-0.2.0
- old
+ new
@@ -1,4 +1,89 @@
+=== 0.2.0 / 2009-10-15 08:01 UTC
+
+ This release adds preliminary Rev support for network
+ concurrency under Ruby 1.8 and Ruby 1.9. There are caveats to
+ this model and reading the RDoc for Rainbows::Rev is
+ recommended.
+
+ Rainbows::AppPool Rack middleware is now available to limit
+ application concurrency on a per-process basis independently of
+ network concurrency. See the RDoc for this class for further
+ details.
+
+ Per-client timeouts have been removed, see
+ http://mid.gmane.org/20091013062602.GA13128@dcvr.yhbt.net
+ for the reasoning.
+
+ Rack environment changes:
+
+ * "rack.multithread" is now only true for models with "Thread"
+ in their name. Enabling thread-safe (but not reentrant) code
+ may actually be harmful for Revactor.
+
+ * "rainbows.model" is now exposed so the application can easily
+ figure out which network concurrency model is in use.
+
+ Bugfixes include better shutdown and error handling for all
+ existing models, OpenBSD compatibility for the per-process
+ heartbeat (same as found in unicorn v0.93.3).
+
+ Eric Wong (54):
+ add SIGNALS doc to RDoc
+ SIGNALS: add Rainbows!-specific notes
+ doc: better "Rainbows!" RDoc examples and linkage
+ tests: generate random_blob once for all tests
+ tests: move trash files to their own trash/ directory
+ t0000: basic test includes keepalive + pipelining
+ tests: simplify temporary file management
+ tests: add dbgcat() utility method
+ fchmod heartbeat flips between 0/1
+ tests: add revactor pipelining/keepalive test
+ thread_spawn: trap EAGAIN on accept_nonblock
+ thread_spawn: more robust loop
+ thread_spawn: non-blocking accept() shouldn't EINTR
+ tests: enable pipefail shell option if possible
+ README for test suite
+ tests: TEST_OPTS => SH_TEST_OPTS
+ tests: update TRACER examples in makefile
+ tests: create a bad exit code by default
+ thread_spawn: clean up nuking of timed-out threads
+ factor out common listen loop error handling
+ graceful exit on trap TypeError from IO.select
+ expand and share init_worker_process
+ revactor: break on EBADF in the accepting actors
+ revactor: cleanups and remove redundancy
+ No need to be halving timeout, already done for us
+ revactor: graceful death of keepalive clients
+ revactor: continue fchmod beat in graceful exit
+ cleanup thread models, threads no longer time out
+ revactor: fix graceful shutdown timeouts
+ Fix graceful shutdowns for threaded models
+ SIGINT/SIGTERM shuts down instantly in workers
+ tests: check for common exceptions with "Error"
+ DEPLOY: update with notes on DoS potential
+ tests: add reopen logs test for revactor
+ vs Unicorn: use diagrams for concurrency models
+ vs Unicorn: fix wording to be consistent with diagrams
+ vs Unicorn: fix copy+paste errors and grammar fail
+ README: alter reply conventions for the mailing list
+ preliminary Rev support
+ local.mk.sample: use ksh93 as default $(SHELL)
+ rack.multithread is only true for Thread* models
+ Rev: general module documentation + caveats
+ Rev: fix error handling for parser errors
+ t3003: set executable bit
+ documentation updates (mostly on network models)
+ rack: expose "rainbows.model" in Rack environment
+ tests: enforce rack.multithread and rainbows.model
+ README: update URLs
+ README: update with Rev model caveats
+ Add Rainbows::AppPool Rack middleware
+ t4003: chmod +x
+ local.mk.sample: use rev 0.3.1 instead
+ README: link to AppPool and extra note about Rev model
+ Rainbows! 0.2.0
+
=== 0.1.1 / 2009-10-06 03:51 UTC
Fixed Ruby 1.8 support (and all 1.9 systems without Revactor).
Process-wide timeout handling for the ThreadSpawn concurrency
model should now work properly. Small cleanups everywhere.