Skip to content

trillium-http-v1.3.6

Choose a tag to compare

@github-actions github-actions released this 07 Jun 00:42
· 14 commits to main since this release

The theme of this release is improved HTTP/2 flow control, informed by in-the-wild peer behavior.

Changed

  • The default HTTP/2 initial stream receive window (HttpConfig::h2_initial_stream_window_size) is
    now 256 KiB, up from 0. A server accepts a request body up to this size on a newly-opened stream
    before the handler starts reading it; the previous default of 0 required the client to wait for
    the server to begin reading, which some peers never did, hanging the request. The window grows
    to h2_max_stream_recv_window_size once the handler reads the body.
  • HTTP/2 receive flow control is now enforced strictly: a client that sends more request-body data
    than the window it was granted is disconnected with a FLOW_CONTROL_ERROR (previously such
    overruns were tolerated). If h2_max_stream_recv_window_size is configured below
    h2_initial_stream_window_size it is raised to match it, with a warning logged.