Today, I have tagged version 1.6.0 of the H2O HTTP/2 server.
Full list of changes can be found in the release note, but following are the significant ones as I believe.
Error pages are now customizable #606
Finally, error pages can be customized.
You can specify any URL; the contents of the specified URL will be sent to the client when returning an error response. Please consult the document of the errordoc handler for more information.
Support for WebSocket #581
Thanks to Justin Zhu, H2O standalone server is now capable of proxying WebSocket connections.
The feature is considered experimental for the time being and you would need to turn it on explicitly if you need to use it. We will turn the feature on by default in future releases.
Smart file descriptor caching #596
The standalone server now caches open file descriptors, so that serving small static files is significantly faster in version 1.6 when compared to 1.5.
Website administrators need not worry about stale files getting served; the cached file descriptors are closed every once the event loop is being run. In other words, requests that arrive after a file is being modified are guaranteed to have the modified version being served.
Hopefully I will post a benchmark covering the changes in an upcoming blogpost.
HTTP/2 push triggered by mruby is processed ASAP #593
In prior releases, pushed responses were not sent until the response to the request that triggered the push become ready. In 1.6.0, the behavior has been changes so that push triggered by mruby is actually sent while the request is processed by an application server.
The change has noticeable positive impact on user experience, please consult Optimizing performance of multi-tier web applications using HTTP/2 push.
PS. and if you are interested in using H2O with a certificate issued by Let's Encrypt, please refer to Using H2O with Let's Encrypt.