HTTP/2 C library and tools

Nghttp2 v0.7.0

We just released nghttp2 v0.7.0. The library documentation is still based on h2-14. nghttp, nghttpd, nghttpx and h2load additionally advertise h2-16 ALPN token to interop with the implementations which require h2-16.

We added some new APIs. The custom memory allocator nghttp2_mem was introduced in this release. We have also added several initialization fucntions to use this allocator. The new nghttp2_session_set_next_stream_id() and nghttp2_session_get_next_stream_id() functions have been added. nghttp2_session_set_next_stream_id() sets next outgoing stream ID, while nghttp2_session_get_next_stream_id() returns the next outgoing stream ID. These fucntions are useful when streams are used as anchors in dependency tree and leave them idle.

Now nghttp, nghttpd, nghttpx and h2load applications use libev instead of libevent. Libevent is still required to build source files under examples directory.

nghttp has supported the feature to reading files from stdin to upload to a server for quite some time, but it only supported files and did not work with non-file (e.g., echo -n "foo" | nghttp -d- Kazuho Oku contributed the patch to fix this issue.