NEWS in yahns-0.0.1 vs NEWS in yahns-0.0.2

- old
+ new

@@ -1,4 +1,134 @@ +# 0.0.2 / 2013-11-06 + +yahns 0.0.2 - barely working! + + +Lots of bugfixes and tweaks, but everything appears to mostly work +for Rack and HTTP. We are self-hosting our site: + + http://yahns.yhbt.net/README + (And if you can't access it, I screwed something up!) + +There is a yahns-rackup(1) wrapper for quick-starting Rack +applications without having to read any documentation, +as it works exactly like rackup(1) (just leave "-s/--server" +out) + +New manpages: yahns(1), yahns_config(5), yahns-rackup(1) + +Eric Wong (110): + test/helper: correctly handle exit code in test runner + log: workaround atomicity issues for stdio vs non-stdio descriptors + tests: improve output to show RUBY_DESCRIPTION and full path + tests: support disabling parallelization env + test_output_buffering: workaround a rbx bug + socket_helper: do not log sizes on rbx for now + config: do not set cloexec on stdout/stderr + test_wbuf: avoid floating point arg to read_nonblock + rework shutdown for systems w/o rb_thread_fd_close + SIGUSR2 uses fork + exec again instead of Process.spawn + wip for EADDRINUSE failure + test_bin: shutdown socket when not inheriting + README: update with support status for MRI/RBX + server: skip killing acceptors on rbx for now + server (cleanup): avoid interning word for log message + server: abort loudly if we have old threads running + reinstate retry delay for binding new listeners + test/helper: Dir.mktmpdir works without blocks + rework acceptor thread shutdown (again) + server (minor cleanup): use Symbol#to_proc + test_server: remove skipped multi-process balance test + tests: do not lose exceptions on quit timeouts + tests: enforce close_on_exec on all client sockets + server: switch abort to raise on BUG + config: implement atfork handlers + test/server_helper: fix undefined variable + favor client timeout if lower than desperate timeout + tests: enable checks for desperate client expiry + implement + test Expect: 100-continue handling + quitter: save one syscall and implement for non-eventfd + enforce FD_CLOEXEC on all pipes, including tests + test_expect_100: cleanup unused var + http_client: reduce the size of the yahns_step method + output_buffering handles odd EAGAIN cases + fix output buffer corner-case for static files + tests: increase mkserver use to reduce LoC + fix SIGCHLD w/o workers + PID file renames + test_client_expire: disable output buffering in test + StreamFile and TmpIO attempt expiry on EMFILE/ENFILE + server: avoid metaclass for acceptors + support SO_REUSEPORT on new listeners (:reuseport) + doc: ignore RDoc for all internal classes + rack: leave RACK_ENV unset by us + associate private/anonymous queues correctly + queue_epoll: remove check for closed descriptor + config: disallow defining new, named queues inside app + doc: preliminary manpages for yahns(1), yahns_config(5) + config: comment for atfork_* hook definitions + implement user switching + configurator: validate :reuseport for boolean-ess + config: working_directory is only called at top-level + server: fix out-of-date comment regarding bind/pid order + config: reject negative float for client_expire_ratio + lower client_body_buffer_size to 8K (from 114K) + implement client_timeout for streaming inputs + gem: install manpages in the RubyGems package + stream_input: use thread-local rbuf to avoid some garbage + test output_buffering with hijacked responses + test_input: close client when we're done with it + allow multiple blocking threads per listen socket + acceptor: account for inheriting dead descriptors + server: fix incorrect receiver of method call + socket_helper: account for undefined options + test for binding Unix stream sockets + Rack hijack issues EPOLL_CTL_DEL + config: raise ArgumentError for consistency + tests for SIGTTIN and SIGTTOU + use Hash#each instead of Hash#each_pair + add test for working_directory config parameter + test_unix_socket: remember to close IO when done + test for overriding rack.errors destination + test_server: improve working_directory test robustness + fdmap: prevent possible/theoretical race + implement shutdown_timeout and expiry on graceful shutdown + doc: fix client_timeout documentation in yahns_config + implement before_exec hook + comment to explain YAHNS_FD env + remove "worker_" prefix from atfork hooks + remove arity enforcement for atfork_* hooks + allow atfork_* hooks inside app blocks for ease-of-management + doc: disambiguate threads: option for listen directive + yahns-rackup launcher + enable client expiry for non-TCP sockets + config: allow Float for timeouts + tests: more intelligent waiting for output buffering + doc: add HACKING/INSTALL docs + minitest dependency + wbuf: bypass buffering if buffers are caught up + wbuf: reset FS (sendfile) buffer if caught up + wbuf: only enable bypass if we've truncated + input and output buffers support tmpdir: arguments + tests: further speed up output buffering test + test trysendfile usage with UNIX sockets + client_expire_generic: drop kgio_write wrapper + remove unnecessary map(&:to_s) before Array#join + account for truncated/expanded static files + http: do not drop Content-Range from response headers + worker-less server should not waitpid indiscriminately + stream_file: only close FDs we opened ourselves + tests: smaller buffer for big header test + add extras for exec_cgi and try_gzip_static + http_response: fix app-controlled close + test + examples: flesh out the example configs a bit + README: add disclaimer + server: improve shutdown messages + extras: add README + extras: add autoindex module + extras: add proxy_pass Rack app + rackup_handler: fix ordering of working_directory + worker: avoid double SIGQUIT on unexpected parent death + server: log error instead of raising for leftover socks + # 0.0.1 / 2013-10-20 yahns 0.0.1 - many small fixes and test coverage