unicorn 4.7.0 - minor updates, license tweakv4.7.0
authorEric Wong <normalperson@yhbt.net>
Mon, 4 Nov 2013 06:28:56 +0000 (4 06:28 +0000)
committerEric Wong <normalperson@yhbt.net>
Mon, 4 Nov 2013 06:28:56 +0000 (4 06:28 +0000)
* support SO_REUSEPORT on new listeners (:reuseport)

  This allows users to start an independent instance of unicorn on
  a the same port as a running unicorn (as long as both instances
  use :reuseport).

  ref: https://lwn.net/Articles/542629/

* unicorn is now GPLv2-or-later and Ruby 1.8-licensed
  (instead of GPLv2-only, GPLv3-only, and Ruby 1.8-licensed)

  This changes nothing at the moment.  Once the FSF publishes the next
  version of the GPL, users may choose the newer GPL version without the
  unicorn BDFL approving it.  Two years ago when I got permission to add
  GPLv3 to the license options, I also got permission from all past
  contributors to approve future versions of the GPL.  So now I'm
  approving all future versions of the GPL for use with unicorn.

  Reasoning below:

  In case the GPLv4 arrives and I am not alive to approve/review it,
  the lesser of evils is have give blanket approval of all future GPL
  versions (as published by the FSF).  The worse evil is to be stuck
  with a license which cannot guarantee the Free-ness of this project
  in the future.

  This unfortunately means the FSF can theoretically come out with
  license terms I do not agree with, but the GPLv2 and GPLv3 will
  always be an option to all users.

  Note: we currently prefer GPLv3

Two improvements thanks to Ernest W. Durbin III:

* USR2 redirects fixed for Ruby 1.8.6 (broken since 4.1.0)
* unicorn(1) and unicorn_rails(1) enforces valid integer for -p/--port

A few more odd, minor tweaks and fixes:

* attempt to rename PID file when possible (on USR2)
* workaround reopen atomicity issues for stdio vs non-stdio
* improve handling of client-triggerable socket errors

GIT-VERSION-GEN

index 7524ad6..2326325 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/env ruby
-DEF_VER = "v4.6.3"
+DEF_VER = "v4.7.0"
 CONSTANT = "Unicorn::Const::UNICORN_VERSION"
 RVF = "lib/unicorn/version.rb"
 GVF = "GIT-VERSION-FILE"