about summary refs log tree commit homepage
diff options
authorEric Wong <e@80x24.org>2015-11-25 00:45:50 +0000
committerEric Wong <e@80x24.org>2015-11-25 00:58:17 +0000
commit74ea80becf0802694c99730799ce64f53ca1c70f (patch)
parent4d8edc0200b6adae01549331d1a6e483e5e837b8 (diff)
This release syncs with unicorn 5 and drops some old compatibility
cruft from old releases.  Performance should be roughly unchanged
for Ruby 2.2 users while older Rubies (1.9.3 - 2.1) will see
minor, probably unnoticeable performance regressions.


* The horrible, proprietary (:P) "Status:" response header is
  finally gone, saving at least 16 precious bytes in every HTTP
  response.  This should make it easier to write custom HTTP clients
  which are compatible across all HTTP servers.  It will hopefully
  make migrating between different Rack servers easier for new

* Ruby 1.8 support removed.  Ruby 1.9.3 is currently the earliest
  supported version.  However, expect minor, likely-unnoticeable
  performance regressions if you use Ruby 2.1 or earlier.  Going
  forward, Rainbows! will favor the latest version (currently 2.2) of
  the mainline Ruby implementation, potentially sacrificing
  performance on older Rubies.

New features:

* sd_listen_fds(3) emulation added for systemd compatibility.
  You may now stop using PID files and other process monitoring
  software when using systemd.

* Newly-set TCP socket options are now applied to inherited sockets.

* Dynamic changes in the application to Rack::Utils::HTTP_STATUS
  hash is now supported; allowing users to set custom status lines
  in Rack to be reflected in unicorn.  This feature causes a minor
  performance regression, but is made up for Ruby 2.2 users with
  other optimizations.

* The monotonic clock is used under Ruby 2.1+, making the
  timeout feature immune to system clock changes.

As Rainbows! may be used anonymously without registration, the
project is committed to supporting anonymous and pseudonymous
help requests, contributions and feedback via plain-text mail to:


The mail submission port (587) is open to those behind firewalls
and allows access via Tor and anonymous remailers.
Archives are accessible via:

* http://bogomips.org/rainbows-public/
* nntp://news.public-inbox.org/inbox.comp.lang.ruby.rainbows
* nntp://news.gmane.org/gmane.comp.lang.ruby.rainbows.general

and mirrored to various other places, so you do not even need
to use a valid address when posting.

18 changes since Rainbows! 4.7.0

      README: remove Zbatery references
      http_parser: handle keepalive_requests internally
      kill the moronic Status: header
      reflect changes in Rack::Utils::HTTP_STATUS_CODES
      reduce constant lookup dependencies
      http_parser: workaround hijack changes in unicorn 5
      http_server: add master_pid attribute
      stream_response_epoll: remove hijack_prepare call
      bump to unicorn 5.0.1, use monotonic clock
      add .gitattributes for Ruby method detection
      response: avoid garbage string entirely
      tiny bytecode reductions for cold paths
      Ruby 1.9.3+-only cleanups
      revactor: remove fcntl dependency
      response: simplify regexp
      t0105: fix test reliability
      fix Rainbows.now definition for old Rubies
      fix broken constant lookups in unmaintained bits
2 files changed, 4 insertions, 3 deletions
index 9a064f3..fec5bcd 100755
@@ -1,5 +1,5 @@
 #!/usr/bin/env ruby
-DEF_VER = "v4.7.0"
+DEF_VER = "v5.0.0"
 RVF = "lib/rainbows/version.rb"
diff --git a/README b/README
index 7b149ba..100a81a 100644
--- a/README
+++ b/README
@@ -164,9 +164,10 @@ and we'll try our best to fix it.
 All feedback (bug reports, user/development discussion, patches, pull
 requests) go to the mailing list.  Patches must be sent inline
 (git format-patch -M + git send-email).  No subscription is necessary
-to post on the mailing list.  No top posting.  Address replies +To:+
-the mailing list.
+to post on the mailing list.  No top posting.
 * email: mailto:rainbows-public@bogomips.org
 * subscribe: mailto:rainbows-public+subscribe@bogomips.org
 * archives: http://bogomips.org/rainbows-public/
+  nntp://news.public-inbox.org/inbox.comp.lang.ruby.rainbows
+  nntp://news.gmane.org/gmane.comp.lang.ruby.rainbows.general