=== unicorn 5.3.0.pre1 / 2017-03-24 00:25 UTC

  A largish release with several new features.

  Simon Eskildsen contributed heavily using TCP_INFO under Linux
  to implement the (now 5 year old) check_client_connection feature:

    https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-check_client_connection
    https://bogomips.org/unicorn-public/?q=s:check_client_connection&d:..20170324&x=t

  This also led to FreeBSD and OpenBSD portability improvements in
  one of our dependencies, raindrops:

     https://bogomips.org/raindrops-public/20170323024829.GA5190@dcvr/T/#u

  Jeremy Evans contributed several new features.  First he
  implemented after_worker_exit to aid debugging:

    https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-after_worker_exit
    https://bogomips.org/unicorn-public/?q=s:after_worker_exit&d:..20170324&x=t#t

  And then security-related features to isolate workers.  Workers
  may now chroot to drop access to the master filesystem, and the
  new after_worker_ready configuration hook now exists to aid with
  chroot support in workers:

    https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-after_worker_ready
    https://bogomips.org/unicorn/Unicorn/Worker.html#method-i-user
    https://bogomips.org/unicorn-public/?q=s:after_worker_ready&d:..20170324&x=t#t
    https://bogomips.org/unicorn-public/?q=s:chroot&d:..20170324&x=t#t

  Additionally, workers may run in a completely different VM space
  (nullifying preload_app and any CoW savings) with the new
  worker_exec option:

    https://bogomips.org/unicorn/Unicorn/Configurator.html#method-i-worker_exec
    https://bogomips.org/unicorn-public/?q=s:worker_exec&d:..20170324&x=t#t

  There are also several improvements to FreeBSD and OpenBSD
  support with the addition of these features.

  34 changes since 5.2.0 (2016-10-31):

  Eric Wong (27):
        drop rb_str_set_len compatibility replacement
        TUNING: document THP caveat for Linux users
        tee_input: simplify condition for IO#write
        remove response_start_sent
        http_request: freeze constant strings passed IO#write
        Revert "remove response_start_sent"
        t/t0012-reload-empty-config.sh: access ivars directly if needed
        t0011-active-unix-socket.sh: fix race condition in test
        new test for check_client_connection
        revert signature change to HttpServer#process_client
        support "struct tcp_info" on non-Linux and Ruby 2.2+
        unicorn_http: reduce rb_global_variable calls
        oob_gc: rely on opt_aref_with optimization on Ruby 2.2+
        http_request: reduce insn size for check_client_connection
        freebsd: avoid EINVAL when setting accept filter
        test-lib: expr(1) portability fix
        tests: keep disabled tests defined
        test_exec: SO_KEEPALIVE value only needs to be true
        doc: fix links to raindrops project
        http_request: support proposed Raindrops::TCP states on non-Linux
        ISSUES: expand on mail archive info + subscription disclaimer
        test_ccc: use a pipe to synchronize test
        doc: remove private email support address
        input: update documentation and hide internals.
        http_server: initialize @pid ivar
        gemspec: remove olddoc from build dependency
        doc: add version annotations for new features

  Jeremy Evans (6):
        Add after_worker_exit configuration option
        Fix code example in after_worker_exit documentation
        Add support for chroot to Worker#user
        Add after_worker_ready configuration option
        Add worker_exec configuration option
        Don't pass a block for fork when forking workers

  Simon Eskildsen (1):
        check_client_connection: use tcp state on linux

