summary refs log tree commit homepage
diff options
authorEric Wong <>2010-06-08 08:50:37 +0000
committerEric Wong <>2010-06-08 08:50:37 +0000
commit6c1e66a3f3e9b15305f965f52fd8c35fbd8f8d5b (patch)
parent524f57bc1d5334a50bff0340e8b1c541fa6536e4 (diff)
Thanks to Augusto Becciu for finding a bug in the HTTP parser
that caused a TypeError (and 500) when a rare client set the
"Version:" header which conflicts with the HTTP_VERSION header
we parse in the first line of the request[1].

Horizontal tabs are now allowed as leading whitespace in header
values as according to RFC 2616 as pointed out by
IƱaki Baz Castillo[2].

Taking a hint from Rack 1.1, the "logger" configuration
parameter no longer requires a "close" method.  This means some
more Logger replacements may be used.

There's a new, optional, Unicorn (and maybe Passenger)-only
middleware, Unicorn::OobGC[2] that runs GC outside of the normal
request/response cycle to help out memory-hungry applications.
Thanks to Luke Melia for being brave enough to test and report
back on my big_app_gc.rb monkey patch[3] which lead up to this.

Rails 3 (beta) support:

  Using "unicorn" is still recommended as Rails 3 comes with
  a, but "unicorn_rails" is cleaned up a bit and
  *should* work as well as "unicorn" out-of-the-box.  Feedback
  is much appreciated.

Rubinius updates:

  USR2 binary upgrades are broken due to
  {TCPServer,UNIXServer}.for_fd[5][6] being broken

  Repeatedly hitting the server with signals in a tight
  loop is unusual and not recommended[7].

  There are some workarounds and general code cleanups for other
  issues[8], as well but things should generally work unless you
  need USR2 upgrades.  Feedback and reports would be greatly
  appreciated as usual.

MRI support:

  All tests (except old Rails) run and pass under 1.9.2-preview3.
  1.8.7 and 1.9.1 work well as usual and will continue to be
  supported indefinitely.

Lets hope this is the last release before 1.0.  Please report
any issues on the mailing list[9] or email us privately[a].
Don't send HTML mail.

[1] -
[2] -
[3] -
[4] -
[5] -
[6] -
[7] -
[8] -
[9] -
[a] -
3 files changed, 5 insertions, 3 deletions
index 7848366..ac6af1e 100755
@@ -1,7 +1,7 @@
diff --git a/GNUmakefile b/GNUmakefile
index ab0a118..51d8ca0 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -168,7 +168,7 @@ NEWS: GIT-VERSION-FILE .manifest
         $(RAKE) -s news_rdoc > $@+
         mv $@+ $@
-SINCE = 0.97.1
+SINCE = 0.99.0
 ChangeLog: LOG_VERSION = \
   $(shell git rev-parse -q "$(GIT_VERSION)" >/dev/null 2>&1 && \
           echo $(GIT_VERSION) || git describe)
diff --git a/lib/unicorn/const.rb b/lib/unicorn/const.rb
index 34df718..69f4d5f 100644
--- a/lib/unicorn/const.rb
+++ b/lib/unicorn/const.rb
@@ -7,7 +7,9 @@ module Unicorn
   # gave about a 3% to 10% performance improvement over using the strings directly.
   # Symbols did not really improve things much compared to constants.
   module Const
-    UNICORN_VERSION="0.99.0"
+    # The current version of Unicorn, currently 0.990.0
+    UNICORN_VERSION="0.990.0"
     DEFAULT_HOST = "" # default TCP listen host address
     DEFAULT_PORT = 8080      # default TCP listen port