Unicorn Changelog

New in version 4.8.3

October 16th, 2014
  • This release updates documentation to reflect the migration of the mailing list to a new public-inbox instance. This is necessary due to the impending RubyForge shutdown on May 15, 2014.

New in version 4.8.2 (February 6th, 2014)

  • We close SELF_PIPE in the worker immediately, but signal handlers do not get setup immediately. So prevent workers from erroring out due to invalid SELF_PIPE.

New in version 4.8.1 (January 29th, 2014)

  • Fix races/error handling in worker SIGQUIT handler

New in version 4.8.0 (January 11th, 2014)

  • This release contains fairly major internal workings of master-to-worker notifications. The master process no longer sends signals to workers for most tasks. This works around some compatibility issues with some versions of the "pg" gem (and potentially any other code which may not handle EINTR properly). One extra benefit is it also helps stray workers notice a rare, unexpected master death more easily. Workers continue to (and will always) accept existing signals for compatibility with tools/scripts which may signal workers.
  • PID file are always written early (even on upgrade) again to avoid breaking strange monitoring setups which use PID files. Keep in mind we have always discouraged monitoring based on PID files as they are fragile.
  • We now avoid bubbling IOError to the Rack app on premature client disconnects when streaming the input body. This is usually not a problem with nginx, but may be on some LAN setups without nginx).
  • GNUmakefile: add "check" target for running all tests. "check" rolls off the fingers of users familiar with GNU Automake more easily. The "test-all" target is preserved for compatibility.

New in version 4.7.0 (November 5th, 2013)

  • support SO_REUSEPORT on new listeners (:reuseport)
  • unicorn is now GPLv2-or-later and Ruby 1.8-licensed (instead of GPLv2-only, GPLv3-only, and Ruby 1.8-licensed)
  • 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
  • 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

New in version 4.6.3 (June 21st, 2013)

  • Fix --no-default-middleware option.

New in version 4.6.2 (February 26th, 2013)

  • This release fixes a bug in Unicorn::HttpParser#filter_body which affected some configurations of Rainbows! There is also a minor size reduction in the DSO.

New in version 4.6.1 (February 21st, 2013)

  • Unicorn::Const::UNICORN_VERSION is now auto-generated from GIT-VERSION-GEN and always correct. Minor cleanups for hijacking.

New in version 4.6.0 (February 7th, 2013)

  • This pre-release adds hijacking support for Rack 1.5 users. See Rack documentation for more information about hijacking. There is also a new --no-default-middleware/-N option for the `unicorn' command to ignore RACK_ENV within unicorn thanks to Lin Jen-Shin.
  • There are only documentation and test-portability updates since 4.6.0pre1, no code changes.