nghttp2.org

HTTP/2 C library and tools

Nghttp2 v1.65.0

We have released nghttp2 v1.65.0.

Do not download the archive files generated by GitHub. They do not work. Please download the signed and versioned tar balls, such as nghttp2-1.65.0.tar.gz.

lib

RFC 7540 Priorities implementation has been removed. Here is the summary of the behavioral changes in the public API functions:

  • nghttp2_session_change_stream_priority: This function is noop. It always returns 0.
  • nghttp2_session_create_idle_stream: This function is noop. It always returns 0.
  • nghttp2_submit_request: pri_spec is ignored.
  • nghttp2_submit_request2: pri_spec is ignored.
  • nghttp2_submit_headers: pri_spec is ignored.
  • nghttp2_submit_priority: This function is noop. It always returns
  • nghttp2_stream_get_parent: This function always returns NULL.
  • nghttp2_stream_get_next_sibling: This function always returns NULL.
  • nghttp2_stream_get_previous_sibling: This function always returns NULL.
  • nghttp2_stream_get_first_child: This function always returns NULL.
  • nghttp2_stream_get_weight: This function always returns NGHTTP2_DEFAULT_WEIGHT.
  • nghttp2_stream_get_sum_dependency_weight: This function always returns 0.

nghttp2_option_set_server_fallback_rfc7540_priorities and nghttp2_option_set_no_closed_streams have also been deprecated, and have no effect.

QNX build support has been added.

cmake

Disable src tests if BUILD_TESTING is OFF.

src

url-parser has been replaced with urlparse.

h2load

Account for bytes on closing connections.

nghttp

nghttp now does not create the initial dependency tree. --no-dep and --no-rfc7540-pri options have been deprecated.

nghttp now always sends NGHTTP2_SETTINGS_NO_RFC7540_PRIORITIES HTTP/2 setting. --extpri option has been added to set priority for a given URI.

nghttpd

This change deprecates --no-rfc7540-pri option. SETTINGS_NO_RFC7540_PRIORITIES HTTP/2 setting is now always sent.