HTTP/2 C library and tools

Nghttp2 v0.7.12

We released nghttp2 v0.7.12.

This release fixes the bug that nghttp2_session_set_next_stream_id() accepts invalid stream ID as paremter. It also fixes the installation issue where libnghttp2_asio header files are installed even if build configuration disables it.

We did some optimization in HPACK code, and it is a bit faster than the previous version. We also made compressor encode “authorization” and “cookie” header fields with small values with never indexing representation automatically.

For documentation, previously some hyperlinks in man pages of bundled application pointed to wrong direction. Now they are corrected.

For libnghttp2_asio client library, error_cb is now called when error occurred in libnghttp2 code or async read/write code.

Previously nghttp uses its own dependency priority scheme by default and switches to Firefox style one if --idle-dep option is used. Now we rewrite --idle-dep feature, and now we closely mimics Firefox’s behaviour (not entirely the same, of course), and now it is the default priority scheme for nghttp. So we removed --idle-dep option.

With -s option, nghttp shows some statistics of request/response times. Now stream ID is included there.

nghttp also gets --no-push option to disable server push (for HTTP/2 expert, this sends SETTINGS_ENABLE_PUSH with 0 value).