Releases: icing/mod_h2
mod_h[ttp]2 v1.2.3
- connection timeout handling when requests do not report back
- setting correct server config for event mpm on main connection, so that
timeouts, keepalives use the correct values - fixes event hack to match changes in structures
mod_h[ttp]2 v1.2.2
- removed unused code, avoid errors on -Wall
mod_h[ttp]2 v1.2.1
- fixed compilation error because of stupid own log2n function
- fixed cache digest calculation to spit out same values as Kazuho Oku's
reference implementation (https://github.com/kazuho/h2-cache-digest).
mod_h[ttp]2 v1.2.0
- Each connection now has a push diary where already pushed resources are
recorded (as 64-bit subsets sha256 URL hashes). The maximum size of a diary
can be configured with the new directive 'H2PushDiarySize'. The default is 256. - The module recognizes the request header 'Cache-Digest', carrying a base64url
encoded set of hash values using Golomb set encoding as described in
https://datatracker.ietf.org/doc/draft-kazuho-h2-cache-digest/
This is highly experimental and will most likely change in format and
interpretation as the draft evolves. For now, this value is used to replace
the current push diary. This allows clients to inform the server about
which resources they already have cached. - module configuration now looks to the crypto library (because it wants SHA256
from it). If it is not found, a replacement hash is used, however this is
not interoperable with cache digests from clients, e.g. hits will be missed. - the module has a new handler named "http2-status" which exposes certain
properties and statistics of the current HTTP/2 connection. It can be
configured just like:
<Location "/http2-status">
SetHandler http2-status
</Location>
The usual precautions about exposing some internals of your server to the
outside world apply. Just as for "server-status"."
- Due to more test cases and new functions, more bugs have been exposed,
examined and exterminated.
mod_http2 v1.1.0
-
GOAWAY will be sent when a HTTP/2 connection is shutdown, whenever the
connection still allows it. Calculation of the last stream id has been
corrected to include streams started, not only streams finished processing. -
several issues fixed with new fuzzing tests that simulate random closes
and delays/timeouts -
H2SessionExtraFiles are now shared between all sessions in the same process.
It now works like this:
H2MaxWorkers * H2SessionFiles is assumed to be the total number of file
handles that can be safely used for HTTP/2 transfers without other parts
of the server running out of handles. This number is shared between all
HTTP/2 connections in the same server process.
The default is set to 2. With H2MaxWorkers on most platforms/mpms
defaulting to 25 that gives a maximum of 50 handles that can be invoved in
transfers.I think I have to write a blog post one day of how this works and affects
performance. tl;dr the more handles http2 may use, the faster static files
can be served. -
KeepAlive is now correctly visible on the server status page for HTTP/2
connections. (Would like more info there, need to extend the scoreboard
for it.) -
KeepAlive connections are not set aside in async MPMs such as event. This
is a very desirable feature, but I could not get it to work reliably with
the existing MPM interface. Will work on that for the next Apache release.
(The main problem is that event will silently close such connections and
http2 has no chance to send a last GOAWAY frame. That makes clients fail
requests which they have just started.)
mod_h[ttp]2 v1.0.18
- fixed race condition in connnection shutdown that could cause indefinite
hang, fixed cleanup of http2 worker threads, thanks to Yann Ylavic (@ylavic)
mod_h[ttp]2 v1.0.17
- H2Timeout and H2KeepAliveTimeout default to their HTTP/1 Apache counterparts, namely Timeout and KeepAliveTimeout. Some fixes in timeout calculations.
- Interworking with async MPM modules, e.g.
event
has to be considered unstable for now. users report connection closing way to early, confusing clients and failing requests. Working on this. Thanks to everyone for keeping your patience while testing.
mod_h[ttp]2 v1.0.16
- simplified connection shutdown and worker join for robustness
- improved performance for small requests due to less locking
- http2 connections work in event with normal server
KeepAliveTimeout
setting
mod_h[ttp]2 v1.0.15
- fixed busy loops on random connection errors
- fixed connection state for event MPM that shutdown child with 'G' status
- changed default for H2KeepAliveTimeout. For async MPMs (event), will leave
keepalive handling to the MPM. For sync (worker, prefork), will default to
whatever is set for H2Timeout.
mod_h[ttp]2 v1.0.14
- Fixed segfault during connection shutdown
- added support for
accept-push-policy
header, see draft by ruellan