Releases: h2o/h2o
H2O version 1.3.1
This is a bug fix release. It fixes the following issues in version 1.3.0.
H2O version 1.3.0
This is a major release with improvements and bug fixes.
- [core] enable TCP fast-open #356 (Tatsuhiko Kubo)
- [core] improve virtual-host lookup logic #293 #296 (Kazuho Oku)
- [core] fix content being mis-sent for HEAD requests #300 #302 (Kazuho Oku)
- [doc] bundle documents #292 (Kazuho Oku)
- [fastcgi] add FastCGI support #346 #359 #360 #364 (Kazuho Oku)
- [file] support for
If-Range
requests #345 (Justin Zhu) - [file] send 503 (not 403) in case if too many files are open #304 (Kazuho Oku)
- [http2] add
http2-reprioritize-blocking-assets
directive to optimize first-paint time on Chrome #349 (Kazuho Oku) - [http2] fix incompliant behavior when the number of stream exceeds the negotiated maximum #341 #352 (Kazuho Oku)
- [proxy] fix potential use-after-free issue in case upstream name is resolved using getaddrinfo #307 (Kazuho Oku)
- [proxy] increase default I/O timeout from 5 to 30 seconds fb5c016 (Kazuho Oku)
- [redirect] support internal redirect #364 (Kazuho Oku)
- [SSL] fix assertion failure during handshake #316 (Kazuho Oku)
- [SSL] fix assertion failure when receiving a corrupt TLS record (http2 only) #297 (Kazuho Oku)
- [SSL] fix build error on OpenSUSE using libressl #337 (Kazuho Oku)
- [SSL] select ALPN protocol based on server-side preference #335 (Justin Zhu)
- [libh2o] build shared libraries as well #324 (pyos)
- [libh2o] build libh2o-evloop #327 (Laurentiu Nicola)
- [misc] emit stacktrace in case of fatal error (Linux only) #331 (Kazuho Oku)
- [misc] improve NetBSD compatibility #289 (Kazuho Oku)
- [misc] fix file descriptor leaks #336 (Kazuho Oku)
H2O version 1.2.0
This is a major release with improvements and bug fixes.
As of version 1.2, H2O bundles all the dependencies (expect cmake
used for building the application).
Among the bugs being fixed includes a heap overrun in the proxy module. Users using the proxy module is recommended to upgrade the server to 1.2.0.
Changes:
- [core] bundle libyaml #248 (Kazuho Oku)
- [core] implement master-worker process mode and daemon mode (bundles Server::Starter) #258 #270 (Kazuho Oku)
- [file] more mime-types by default #250 #254 #280 (Tatsuhiko Kubo, George Liu, Kazuho Oku)
- [file][http1] fix connection being closed if the length of content is zero #276 (Kazuho Oku)
- [headers] fix heap overrun during configuration #251 (Kazuho Oku)
- [http2] do not delay sending PUSH_PROMISE #221 (Kazuho Oku)
- [http2] reduce memory footprint under high load #271 (Kazuho Oku)
- [http2] fix incorrect error sent when number of streams exceed the limit #268 (Kazuho Oku)
- [proxy] fix heap overrun when building request sent to upstream #266 #269 (Moto Ishizawa, Kazuho Oku)
- [proxy] fix laggy response in case the length of content is zero #274 #276 (Kazuho Oku)
- [SSL] fix potential stall while reading data from client #268 (Kazuho Oku)
- [SSL] bundle LibreSSL #236 #272 (Kazuho Oku)
- [SSL] obtain source-level compatibility with BoringSSL #228 (Kazuho Oku)
- [SSL] add directive
listen.ssl.cipher-preference
for controlling the selection logic of cipher-suites #233 (Kazuho Oku) - [SSL] disable TLS compression #252 (bisho)
- [libh2o] fix C++ compatibility (do not use empty struct) #225 (Kazuho Oku)
- [libh2o] search external dependencies using pkg-config #227 (Kazuho Oku)
- [misc] fix GCC version detection bug used for controlling compiler warnings #224 (Kazuho Oku)
- [misc] check merory allocation failures in socket pool #265 (Tatsuhiko Kubo)
H2O version 1.1.1
H2O version 1.1.0
Announcement: H2O version 1.1.0 released with bug fixes and enhancements in proxy etc.
Changes:
- [core][file] send redirects appending
/
as abs-path redirects #209 (Kazuho Oku) - [headers] add directives for manipulating response headers #204 (Kazuho Oku)
- [http2] do not send a corrupt response if header value is longer than 126 bytes #193 (Kazuho Oku)
- [http2] fix interoperability issue with nghttp2 0.7.5 and above 5c42eb1 (Kazuho Oku)
- [proxy] send
via
header to upstream #191 (Kazuho Oku) - [proxy] resolve hostname asynchronously #207 (Kazuho Oku)
- [proxy] distribute load between upstream servers (using
rand()
) #208 (Kazuho Oku) - [proxy] fix a bug that may cause a corrupt
location
header being forwarded #190 (Kazuho Oku) - [reproxy] add support for
x-reproxy-url
header #187 #197 (Daisuke Maki, Kazuho Oku)
H2O version 1.0.1
The release includes fixes of stability issues of reverse proxy (#186 #188 #189). Upgrade is recommended for users using H2O as a reverse proxy, though whether or not the issue affects the user depends on the configuration and the implementation of the upstream HTTP server.
Changes:
- [core] change backlog size from 65,536 to 65,535 #183 (Tatsuhiko Kubo)
- [http2] fix assertion failure in HPACK encoder #186 (Kazuho Oku)
- [http2] add
extern
to some global variables that were not marked as such #178 (Kazuho Oku) - [proxy] close persistent upstream connection if client abruptly closes the stream #188 (Kazuho Oku)
- [proxy] fix internal state corruption in case upstream sends response headers divided into multiple packets #189 (Kazuho Oku)
- [SSL] add host header to OCSP request #176 (Masaaki Hirose)
- [libh2o] do not require header files under
deps/
when using libh2o #173 (Kazuho Oku) - [libh2o] fix compile error in examples when compiled with
H2O_USE_LIBUV=0
#177 (Kazuho Oku) - [libh2o] in example, add missing / after the reference path #180 (Matthieu Garrigues)
- [misc] fix invalid HTML in sample page #175 (Deepak Prakash)
H2O version 1.0.0
Announcement: H2O, the new HTTP server goes version 1.0.0 as HTTP/2 gets finalized
Changes:
- [core] add redirect handler #150 (Kazuho Oku)
- [core] add
pid-file
directive for specifying the pid file #164 (Kazuho Oku) - [core] connections accepted by host-specific listeners should not be handled by handlers of other hosts #163 (Kazuho Oku)
- [core] (FreeBSD) fix a bug that prevented the standalone server from booting when run as root #160 (Kazuho Oku)
- [core] switch to pipe-based interthread messaging #154 (Kazuho Oku)
- [core] use kqueue on all BSDs #156 (Kazuho Oku)
- [access-log] more logging directives: %H, %m, %q, %U, %V, %v #158 (Kazuho Oku)
- [access-log] bugfix: header values were not logged when specified using uppercase letters #157 (Kazuho Oku)
- [file] add application/json to defalt MIME-types #159 (Tatsuhiko Kubo)
- [http2] add support for the finalized version of HTTP/2 #166 (Kazuho Oku)
- [http2] fix issues reported by h2spec v0.0.6 #165 (Kazuho Oku)
- [proxy] merge the cookie headers before sending to upstream #161 (Kazuho Oku)
- [proxy] simplify the configuration directives (and make persistent upstream connections as default) #162 (Kazuho Oku)
- [SSL] add configuration directive to preload DH params #148 (Jeff Marrison)
- [libh2o] separate versioning scheme using H2O_LIBRARY_VERSION_* #167 (Kazuho Oku)
H2O version 0.9.2
Announcement: H2O version 0.9.2 released incl. support for HTTP2 server-push, state-of-art prioritization of streams
Changes:
- [core] graceful shutdown on SIGTERM #119 (Kazuho Oku)
- [core] less TCP errors under high load #81 (Kazuho Oku)
- [file] add support for HEAD requests #110 (Mark Hoersken)
- [http1] MSIE workaround (send
Cache-Control: private
in place of Vary) #114 (Kazuho Oku) - [http2] support server-push #133 (Kazuho Oku)
- [http2] fix spurious RST_STREAMS being sent #132 (Kazuho Oku)
- [http2] weight-based distribution of bandwidth #135 (Kazuho Oku)
- [proxy] added configuration directive
proxy.preserve-host
#112 (Masahiro Nagano) - [proxy] sends X-Forwarded-For and X-Forwarded-Proto headers #112 (Masahiro Nagano)
- [proxy] stability improvements #61 (Kazuho Oku)
- [misc] adjustments to make the source code more analyzer-friendly #113,#117 (Nick Desaulniers, Maks Naumov)
H2O version 0.9.1
Announcement: H2O version 0.9.1 released with support for HTTP2 dependency-based prioritization
Changes:
- added configuration directives: ssl/cipher-suite, ssl/ocsp-update-interval, ssl/ocsp-max-failures, expires, file.send-gzip
- [http2] added support for draft-16 (draft-14 is also supported)
- [http2] dependency-based prioritization
- [http2] improved conformance to the specification
- [SSL] OCSP stapling (automatically enabled by default)
- [SSL] fix compile error with OpenSSL below version 1.0.1
- [file] content negotiation (serving .gz files)
- [expires] added support for Cache-Control: max-age
- [libh2o] libh2o and the header files installed by
make install
- [libh2o] fix compile error when used from C++
- automatically setuids to nobody when run as root and if
user
directive is not set - automatically raises RLIMIT_NOFILE
- uses all CPU cores by default
- now compiles on NetBSD and other BSD-based systems
H2O version 0.9.0
Announcement: Initial release of H2O, and why HTTPD performance will matter in 2015
Changes:
- initial release