|
| 1 | +v1.4.6 (as released in Apache httpd 2.4.20) |
| 2 | +-------------------------------------------------------------------------------- |
| 3 | + * incrementing keepalives on each request started so that logging %k gives |
| 4 | + increasing numbers per master http2 connection. New documented variables |
| 5 | + in env, usable in custom log formats: H2_PUSH, H2_PUSHED, H2_PUSHED_ON, |
| 6 | + H2_STREAM_ID and H2_STREAM_TAG. |
| 7 | + * more efficient passing of response bodies with less contention |
| 8 | + and file bucket forwarding. |
| 9 | + * fix for missing score board updates on request count, fix for memory leak |
| 10 | + on slave connection reuse. |
| 11 | + * disabling PUSH when client sends GOAWAY. Slave connections are reused for |
| 12 | + several requests, improved performance and better memory use. |
| 13 | + * fixes problem with wrong lifetime of file buckets on main connection. |
| 14 | + * fixes incorrect denial of requests without :authority header. |
| 15 | + * give control to async mpm for keepalive timeouts only when no streams are |
| 16 | + open and even if only after 1 sec delay. Under load, event mpm discards |
| 17 | + connections otherwise too quickly. |
| 18 | + * fixed possible read after free when streams were cancelled early by the |
| 19 | + client. |
| 20 | + * fixed possible deadlock during connection shutdown. Thanks to @FrankStolle |
| 21 | + for reporting and getting the necessary data. |
| 22 | + * fixed apr_uint64_t formatting in a log statement to user proper APR def, |
| 23 | + thanks to @Sp1l. |
| 24 | + * number of worker threads allowed to a connection is adjusting |
| 25 | + dynamically. Starting with 4, the number is doubled when streams can be |
| 26 | + served without block on http/2 connection flow. The number is halfed, when |
| 27 | + the server has to wait on client flow control grants. |
| 28 | + This can happen with a maximum frequency of 5 times per second. |
| 29 | + When a connection occupies too many workers, repeatable requests |
| 30 | + (GET/HEAD/OPTIONS) are cancelled and placed back in the queue. Should that |
| 31 | + not suffice and a stream is busy longer than the server timeout, the |
| 32 | + connection will be aborted with error code ENHANCE_YOUR_CALM. |
| 33 | + This does *not* limit the number of streams a client may open, rather the |
| 34 | + number of server threads a connection might use. |
| 35 | + * allowing link header to specify multiple "rel" values, space-separated |
| 36 | + inside a quoted string. Prohibiting push when Link parameter "nopush" is |
| 37 | + present. |
| 38 | + * reworked connection state handling. Idle connections accept a GOAWAY from |
| 39 | + the client without further reply. Otherwise the module makes a best effort |
| 40 | + to send one last GOAWAY to the client. |
| 41 | + * the values from standard directives Timeout and KeepAliveTimeout properly |
| 42 | + are applied to http/2 connections. |
| 43 | + * idle connections are returned to async mpms. new hook "pre_close_connection" |
| 44 | + used to send GOAWAY frame when not already done. Setting event mpm server |
| 45 | + config "by hand" for the main connection to the correct negotiated server. |
| 46 | + * keep-alive blocking reads are done with 1 second timeouts to check for MPM |
| 47 | + stopping. Will announce early GOAWAY and finish processing open streams, |
| 48 | + then close. |
| 49 | + * bytes read/written on slave connections are reported via the optional |
| 50 | + mod_logio functions. Fixes PR 58871. |
| 51 | + * connections how keep a "push diary" where hashes of already pushed resources |
| 52 | + are kept. See directive H2PushDiarySize for managing this. Push diaries can |
| 53 | + be initialized by clients via the "Cache-Digest" request header. |
| 54 | + This carries a base64url encoded. compressed Golomb set as described |
| 55 | + in https://datatracker.ietf.org/doc/draft-kazuho-h2-cache-digest/ |
| 56 | + Introduced a status handler for HTTP/2 connections, giving various counters |
| 57 | + and statistics about the current connection, plus its cache digest value |
| 58 | + in a JSON record. Not a replacement for more HTTP/2 in the server status. |
| 59 | + Configured as |
| 60 | + <Location "/http2-status"> |
| 61 | + SetHandler http2-status |
| 62 | + </Location> |
| 63 | + * Fixed flushing of last GOAWAY frame. Previously, that frame did not always |
| 64 | + reach the client, causing some to fail the next request. |
| 65 | + Fixed calculation of last stream id accepted as described in rfc7540. |
| 66 | + Reading in KEEPALIVE state now correctly shown in scoreboard. |
| 67 | + Fixed possible race in connection shutdown after review by Ylavic. |
| 68 | + Fixed segfault on connection shutdown, callback ran into a semi dismantled session. |
| 69 | + * Added support for experimental accept-push-policy draft |
| 70 | + (https://tools.ietf.org/html/draft-ruellan-http-accept-push-policy-00). Clients |
| 71 | + may now influence server pushes by sending accept-push-policy headers. |
| 72 | + * new r->subprocess_env variables HTTP2 and H2PUSH, set to "on" |
| 73 | + when available for request. |
| 74 | + * mod_status/scoreboard: showing connection protocol in new column, new |
| 75 | + ap_update_child_status methods for updating server/description. mod_ssl |
| 76 | + sets vhost negotiated by servername directly. |
| 77 | + |
1 | 78 | v1.2.8
|
2 | 79 | --------------------------------------------------------------------------------
|
3 | 80 | * Requests without ':authority' header, using 'Host' instead, are no longer
|
|
0 commit comments