Release Notes: This release should fix ThreadSpawn green thread blocking issues under MRI 1.8. Excessive socket closing is avoided when using Thread* models with Sunshowers (or clients disconnecting during uploads). There is a new RevFiberSpawn concurrency model which combines Rev with the traditional FiberSpawn model.
Release Notes: This release introduces compatibility with Sunshowers, a library for Web Sockets. There are several small cleanups and fixes.
Release Notes: This release fixes a memory leak in the existing Revactor concurrency model. A new RevThreadPool concurrency model has been added, as well as small cleanups to exit handling in workers.
Release Notes: keepalive_timeout (default: 2 seconds) is now supported to disconnect idle connections. Several new concurrency models have been added, including NeverBlock, FiberSpawn, and FiberPool, all of which have only been lightly tested. RevThreadSpawn has lost streaming input support to become simpler and faster for the general cases. AppPool middleware is now compatible with all Fiber-based models, including Revactor and NeverBlock.
Release Notes: Client shutdowns/errors when streaming "rack.input" into the Rack application are quieter now. Rev and EventMachine workers now shut down correctly when the master dies. Worker processes now fail gracefully if log reopening fails. ThreadSpawn and ThreadPool models now load Unicorn classes in a thread-safe way. There's also an experimental RevThreadSpawn concurrency model which may be heavily reworked in the future.
Release Notes: Small bugfixes and compatibility improvements were made. This release mainly syncs against Unicorn 0.94.0 to pull in fixes and improvements.
Release Notes: Basic single-threaded EventMachine support is now included. It supports async_synatra via the "async.callback" Rack environment. It relies on the updated attach/watch API in EventMachine 0.12.10. Revactor 0.1.5 is now required, as this version adds the ability to listen on UNIX domain sockets.
Release Notes: 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. There are bugfixes to graceful shutdown support for all concurrency models. The Rev-based model also has a working heartbeat mechanism, and HTTP/1.1 pipelining support has been fixed.
Release Notes: This release adds barebones Rev support for network concurrency and Rainbows::AppPool middleware for application concurrency. Small Rack environment changes now allow apps to make better choices based on the network concurrency model. Bugfixes include better shutdown and error handling for all existing network models and OpenBSD compatibility. Per-client timeouts have also been deemed unnecessary and removed.
Release Notes: Ruby 1.8 support (and all 1.9 systems without Revactor) was fixed. Process-wide timeout handling for the ThreadSpawn concurrency model should now work properly. Small cleanups were made everywhere.