|tag name||v1.13.0 (9161a91537d7eee9b483fab97af7307e3ec130f5)|
|tag date||2016-08-05 07:26:39 +0000|
|tagged by||Eric Wong <firstname.lastname@example.org>|
|tagged object||commit 30140c431b...|
yahns 1.13.0 - some user-visible improvements...
And probably a billion new regressions! yahns now allows users to skip the Rack::Head, Rack::Chunked and Rack::ContentLength middlewares to ease migrating from/to other real-world Rack HTTP servers. Most notably, our chunked encoding implementation is a bit faster than Rack::Chunked by taking advantage of the writev(2) syscall: https://email@example.com/ There's also rack 2.x fixes in the test case and extras/ section (these incompatibilities did not affect existing users unless they use the wonky extras/ section). There's also some graceful shutdown fixes, the process title is now changed to display the number of live FDs. Of course, there's the usual round of documentation improvements which are systemd and OpenSSL setup-related this time around. However, the majority of changes (proxy_*, wbuf_lite), affect currently-unadvertised functionality which is subject to removal or incompatible config changes. However, they are used to serve our mailing list archives at: https://yhbt.net/yahns-public/ 49 changes since yahns 1.12.5: proxy_pass: simplify writing request bodies upstream proxy_pass: hoist out proxy_res_headers method proxy_pass: simplify proxy_http_response proxy_pass: split out body and trailer reading in response proxy_pass: trim down proxy_response_finish, too proxy_pass: split out req_res into a separate file proxy_pass: fix resumes after complete buffering is unblocked proxy_pass: X-Forwarded-For appends to existing list proxy_pass: pass entire object to proxy_http_response proxy_pass: support "proxy_buffering: false" proxy_pass: remove unnecessary rescue req_res: store proxy_pass object here, instead proxy_pass: redo "proxy_buffering: false" wbuf: remove needless "busy" parameter Merge branch 'maint' extras/try_gzip_static: do not show backtrace on syscall errors wbuf: remove tmpdir parameter wbuf_lite: fix write retries for OpenSSL sockets test_proxy_pass_no_buffering: fix racy test queue_*: check for closed IO objects cleanup graceful shutdown handling proxy_pass: more descriptive error messages proxy_pass: fix HTTP/1.0 backends on EOF w/o buffering wbuf_common: reset offset counter when done extras/try_gzip_static: resolve symlinks test_ssl: remove unnecessary priv_key DH parameter openssl_client: wrap shutdown for graceful termination proxy_pass: keep trailer buffer on blocked client writes proxy_pass: avoid TOCTTOU race when unbuffering, too proxy_pass: avoid accessing logger in env after hijacking proxy_pass: avoid stuck responses in "proxy_buffering: false" extras: include status messages in responses update init and add systemd examples test_proxy_pass_no_buffering: exclude rb/ru files, too wbuf_lite: use StringIO instead of TmpIO wbuf_lite: truncate StringIO when done wbuf_lite: prevent clobbering responses wbuf_lite: unify EOF error handling wbuf_lite: reset sf_offset/sf_count consistently wbuf_lite: clear @busy flag when re-arming http_response: drop bodies for non-compliant responses fix rack 2.x compatibility bugs doc: add session cache usage to OpenSSL example test: skip some buffering tests on non-default values response: drop clients after HTTP responses of unknown length response: reduce stack overhead for parameter passing response: support auto-chunking for HTTP/1.1 Revert "document Rack::Chunked/ContentLength semi-requirements" extras/exec_cgi: fix for HTTPoxy vulnerability