about summary refs log tree commit homepage
path: root/rainbows.gemspec
DateCommit message (Collapse)
2011-08-20bump unicorn dependency version
We want the stricter parser the error log filtering in unicorn 4.1.0
2011-08-20update development wrongdoc dep to 1.6
Hopefully this points more folks to email us.
2011-06-28require kgio 2.5 for kgio_wait_readable(timeout)
Since kgio_wait_*able in kgio 2.5 takes an optional timeout argument, we no longer have to load the extra "io/wait" module. This saves us a small amount of some memory and also removes the extra ioctl(FIONREAD) syscall IO#wait enforces. Like IO#wait in Ruby 1.9.3dev, kgio_wait_readable may use ppoll() to wait on high-numbered file descriptors as efficiently as it waits on low-numbered descriptors.
2011-06-27bump dependencies (kgio, unicorn, raindrops)
We now rely on Unicorn 4.0.0. We'll use the latest kgio and raindrops versions anyways.
2011-06-10gemspec: add GPLv3 to commented-out licenses section
Reduces inconsistency.
2011-06-09update various RubyGem dependencies
Gotta keep using the latest and greatest.
2011-05-08require kgio 2.4.0
kgio 2.4.0 has some 1.9.3dev fixes which affect us
2011-04-21bump dependency to Unicorn 3.6.0
Might as well use the latest and greatest.
2011-03-15bump Unicorn dependency to 3.5.0
Latest and greatest :D
2011-02-07gemspec: remove unnecessary statements
No need for these
2011-02-04bump required Unicorn dependency for Kgio
We want to use the singleton methods in Kgio to reduce conditionals.
2011-02-04bump wrongdoc development dependency
1.5 is nicer than older versions
2011-01-05Bump unicorn dependency to 3.3.0
This means we can remove Time.now.httpdate in the next commit
2011-01-04*gemspec: fix build, we have no unit tests
2010-12-29Packaging cleanups, reinstate generated files for the tarball
2010-12-29Rainbows! 2.1.0 - Cool.io, bugfixes and more!
Cool.io (new version of Rev) support is explicitly added (it always worked before). ":Coolio" may be used in place of ":Rev" anywhere in your Rainbows! config file. There is a new "keepalive_requests" config directive to limit the number of requests a single connection may make (default: 100, same as nginx). This may be useful for better load-balancing characteristics. The old "Rev" prefixes remain supported as long as Cool.io remains compatible with Rev (likely forever). Bug fixes: * Rainbows::ThreadTimeout middleware with multiple clients * large, pipelined upload errors with Revactor+Coolio(Rev) * high CPU usage for maintaining idle keepalive on *Fiber* * needless ThreadPool wakeups * request env prematurely cleared keepalive requests, breaking some middlewares such as Clogger. * "close" not called on body if wrapper and sendfile used together Various code cleanups, and our RDoc website is JavaScript-free. See the ChangeLog or git for all changes.
2010-12-27initial cool.io support
Cool.io is the new name for Rev. We'll continue to support Rev until Cool.io breaks backwards compatibility. Rev may not be supported if Cool.io is.
2010-12-26bump Unicorn dependency
Unicorn 3.2.1 gives us an improved HttpParser#next? that preserves state until the next HttpParser#parse call.
2010-12-24doc: switch documentation generation to wrongdoc
It is a common base so we can share documentation tasks more easily with Unicorn and it ensures our RDoc no longer has JavaScript in it!
2010-12-09bump Unicorn dependency to 3.1.0
We'll be taking advantage of configurable client_buffer_body_size soon.
2010-11-19upgrade to Kgio 2.x and Unicorn 3.x
Kgio 2.0.0 has a superior API and less likely to conflict or blow up with other applications. Unicorn 3.x requires Kgio 2.x, too.
2010-10-27use Unicorn 2.0.0 final
Unicorn 2.0.0 has CPU wakeup reductions.
2010-10-26gemspec: bump development dependency of Isolate
Might as well go with the latest and greatest, it has saner defaults at least.
2010-10-21unicorn 2.x updates + kgio
We get basic internal API changes from Unicorn, code simplifications coming next.
2010-09-28start using kgio library
It removes the burden of byte slicing and setting file descriptor flags. In some cases, we can remove unnecessary peeraddr calls, too.
2010-08-28bump Unicorn dependency to 1.1.3
Unicorn 1.1.3 fixes potential race conditions during SIGUSR1 log reopening.
2010-07-11bump Unicorn dependency to 1.1.1
This avoids costant resolution problems on client EOF during input processing.
2010-07-10doc: make RDoc skip private methods
2010-07-08dev: bump isolate dependency to 2.1.0
2010-07-08bump unicorn dependencies
2010-06-18avoid needless HeaderHash#to_hash calls
HeaderHash objects can only be used as headers without violating Rack::Lint in Rack 1.1.0 or later.
2010-06-10bin/rainbows: sync up with latest Unicorn
This will allow us to be working_directory-aware as far as config.ru goes.
2010-06-08gemspec: bump unicorn dependency to 0.990.0
2010-06-03depend on Isolate ~> 2.0.2 for development
It's useful given all the Gems we support but don't have hard installation dependencies on.
2010-05-26gemspec: bump Unicorn dependency
no major internal changes until 2.0.0+
2010-05-04gemspec: bump Unicorn dependency
We expect no API changes in Unicorn for a while
2010-04-27gemspec: update comments for gem dependencies
2010-04-19Rainbows! 0.91.1 - use a less-broken parser from Unicorn v0.91.1
This release fixes a denial-of-service vector for deployments exposed directly to untrusted clients. The HTTP parser in Unicorn <= 0.97.0 would trip an assertion (killing the associated worker process) on invalid Content-Length headers instead of raising an exception. Since Rainbows! and Zbatery supports multiple clients per worker process, all clients connected to the worker process that hit the assertion would be aborted. Deployments behind nginx are _not_ affected by this bug, as nginx will reject clients that send invalid Content-Length headers. The status of deployments behind other HTTP-aware proxies is unknown. Deployments behind a non-HTTP-aware proxy (or no proxy at all) are certainly affected by this DoS. Users are strongly encouraged to upgrade as soon as possible, there are no other changes besides this bug fix from Rainbows! 0.91.0 nor Unicorn 0.97.0 This bug affects all previously released versions of Rainbows! and Zbatery.
2010-02-24switch to Unicorn.builder, depend on Unicorn 0.97.0+
The Unicorn.builder helper will help us avoid namespace conflicts inside config.ru, allowing us to pass tests. While we're at it, port some tests over from the latest unicorn.git for dealing with bad configs.
2010-02-13gemspec: 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.
2010-01-07Update docs + tests to reflect Rev 0.3.2 release
Rev 0.3.2 makes performance with Threads* under Ruby 1.8 tolerable.
2009-12-29gemspec: clamp down unicorn dependency to < 0.97.0
We may be making some changes to Unicorn 0.97.0 and allow us to share more code.
2009-12-22gemspec: loosen Unicorn dependency
Unicorn 0.96.x should be released once Rack 1.1 is out.
2009-11-29update gem dependency recommendations
2009-11-25Gemcutter prep, fix RubyGems capitalization
2009-11-15Rakefile: add raa_update task
2009-11-13bump versions since we depend on Unicorn::ClientShutdown
2009-11-05ev_core: remove Tempfile usage once again
We're simply too uncomfortable with the weird GC issues associated with Tempfile and having linked temporary files at all. Instead just depend on the #size-aware TmpIO class that Unicorn 0.94.0 provides for us.
2009-10-30bump Unicorn dependency to (consistently) pass tests
Unicorn 0.93.5 came to be so the heartbeat tests could pass consistently.
2009-10-27gemspec: bump up Unicorn dep version to 0.93.4
It's easier to support especially for Thread* models which are affected by the BSD stdio weirdness 0.93.4 works around.