Release Notes: This release depends on Unicorn 0.96.1 for an updated Unicorn::HttpParser to avoid leaking memory. 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 set up the parser object to be freed by the Ruby garbage collector.
Release Notes: This release contains minor bugfixes and compatibility improvements for ThreadSpawn, ThreadPool, and EventMachine users. Excessive error messages from spurious wakeups using ThreadSpawn or ThreadPool under most platforms were silenced. Only Ruby 1.9 users under Linux were unaffected by this bug. EventMachine users may now use EM::Deferrable objects in responses, vastly improving compatibility with existing async_sinatra apps.
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.