Skip to content

Releases: icing/mod_h2

mod_h2 v2.0.2

09 Dec 13:58
Compare
Choose a tag to compare
  • When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    https://bz.apache.org/bugzilla/show_bug.cgi?id=65731.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.

mod_h2 v1.15.27

09 Dec 13:43
Compare
Choose a tag to compare
  • When reaching server limits, such as MaxRequestsPerChild, the HTTP/2 connection
    send a GOAWAY frame much too early on new connections, leading to invalid
    protocol state and a client failing the request. See PR65731 at
    https://bz.apache.org/bugzilla/show_bug.cgi?id=65731.
    The module now initializes the HTTP/2 protocol correctly and allows the
    client to submit one request before the shutdown via a GOAWAY frame
    is being announced.

mod_h2 v2.0.1

03 Dec 14:05
Compare
Choose a tag to compare
  • Improved information displayed in 'server-status' for H2 connections when
    Extended Status is enabled. Now one can see the last request that IO
    operations happened on and transferred IO stats are updated as well.
  • Fixed a bug that let to an infinite loop in v2.0.0 when the client closed
    the connection.
  • Fixing NULL dereference if server variable SSL_PROTOCOL is unset.
  • Setting DefaultRuntimeDir and PidFile in test configuration to override
    any platform defaults.
  • Disabling pollset use when compiling with APR version < 1.6.0

mod_h2 v2.0.0

17 Nov 12:57
Compare
Choose a tag to compare
  • HTTP/2 connections now use pollsets to monitor the status of the
    ongoing streams and their main connection.
  • Fixed a bug where, without 'H2SerializeHeaders' some errors, such
    as a input timeout, did not produce the correct response.
  • Added directove 'H2StreamTimeout' to configure a separate value for HTTP/2
    streams, overriding server's 'Timeout' configuration. [rpluem]
  • The HTTP/2 connection state handler, based on an experiment and draft
    at the IETF http working group (abandoned for some time), has been removed.
  • H2SerializeHeaders no longer has an effect. A warning is logged when it is
    set to "on". The switch enabled the internal writing of requests to be parsed
    by the internal HTTP/1.1 protocol handler and was introduced to avoid
    potential incompatibilities during the introduction of HTTP/2.
  • Removed the abort/redo of tasks when mood swings lower the active
    limit. This probably hurts the server more than it helps. Some
    setup, like proxied connections, can be slow to respond to the
    abort of a connection.
  • Fixed input handling for requests without body that nevertheless try
    to read one (e.g. mod_cgid handling) to deliver at least an EOS bucket
    before signalling an EOF.
  • A regression in v1.15.24 was fixed that could lead to httpd child
    processes not being terminated on a graceful reload or when reaching
    MaxConnectionsPerChild. When unprocessed h2 requests were queued at
    the time, these could stall. See #212.
  • Fixed an issue since 1.15.24 that "Server" headers in proxied requests
    were overwritten instead of preserved. [PR by @daum3ns]

mod_h2 v2.0.0-rc4

30 Sep 07:43
Compare
Choose a tag to compare
mod_h2 v2.0.0-rc4 Pre-release
Pre-release
  • fixing an uninitialized status code when pollsets are not used for streams.

mod_h2 v2.0.0-rc3

29 Sep 10:16
Compare
Choose a tag to compare
mod_h2 v2.0.0-rc3 Pre-release
Pre-release
  • Added an alternate implementation when polling of file descriptors is
    not supported by the OS. This is automatically detected via the APR
    header files, but can be enforces by adding '--disable-poll-streams'
    to the './configure' when building the module.
    This should allow the module to work on Windows again.

mod_h2 v2.0.0-rc2

28 Sep 11:22
Compare
Choose a tag to compare
mod_h2 v2.0.0-rc2 Pre-release
Pre-release
  • Switching from a thread-safe apr pollset (not supported under Windows) to
    a wakeable pollset implementation.
  • Adding a clear error in the logs if the pollset could not be created.

mod_h2 v2.0.0-rc1

28 Sep 07:23
Compare
Choose a tag to compare
mod_h2 v2.0.0-rc1 Pre-release
Pre-release

This is a rewrite of the HTTP/2 main connection handling to use APR
pollsets for dispatching requests and collecting responses. This
allows mod_h2 to be more responsive at less cpu cost and simplifies
connection state handling.

However, as a new implementation, this brings the risk of new bugs
and incompatibilities. It survives test suite and load tests. If you can
give it a run on your machine, feedback is appreciated!

  • HTTP/2 connections now use pollsets to monitor the status of the
    ongoing streams and their main connection.
  • Fixed a bug where, without 'H2SerializeHeaders' some errors, such
    as a input timeout, did not produce the correct response.
  • Added directive 'H2StreamTimeout' to configure a separate value for HTTP/2
    streams, overriding server's 'Timeout' configuration. [rpluem]
  • Removed work-arounds for older versions of libnghttp2 and checking
    during configure that at least version 1.15.0 is present. Which, due
    to its age, should not make a difference to anyone.
  • The HTTP/2 connection state handler, based on an experiment and draft
    at the IETF http working group (abandoned for some time), has been removed.
  • H2SerializeHeaders no longer has an effect. A warning is logged when it is
    set to "on". The switch enabled the internal writing of requests to be parsed
    by the internal HTTP/1.1 protocol handler and was introduced to avoid
    potential incompatibilities during the introduction of HTTP/2.
  • Removed the abort/redo of tasks when mood swings lower the active
    limit. This probably did hurt the server more than it helped. Some
    setup, like proxied connections, can be slow to respond to the
    abort of a connection.

mod_h2 v1.15.24

10 Sep 09:41
Compare
Choose a tag to compare
  • With Apache httpd 2.4.49 or newer, h2 idle workers are terminated on a graceful
    restar/shutdown immediately. This happens independant of any h2 connections being
    processed or not.
  • Switch to using OpenSSL EVP_* API to avoid deprecation warnings with
    OpenSSL 3.0. [@notroj]

mod_h2 v1.15.23

19 Jul 08:56
Compare
Choose a tag to compare
  • H2MinWorker is reduced automatically to 1 during graceful shutdown
    of a child process (e.g. server reload). This lets all ongoing requests
    continue, but shuts down unused threads early.
    The H2MaxWorkerIdleSeconds is also reduced to 1, so that any workers
    for ongoing tasks will close down fast.