We have released nghttp2 v1.34.0.
lib
libnghttp2 now supports extended CONNECT method and :protocol pseudo
header field defined in RFC 8441.
To enable this functionality on server side, send
NGHTTP2_SETTINGS_ENABLE_CONNECT_PROTOCOL using
nghttp2_submit_settings().
nghttpx
nghttpx now supports “Bootstrapping WebSockets with HTTP/2” defined in RFC 8441 for both frontend and backend HTTP/2 connections.
read-timeout and write-timeout parameters have been added to
--backend option to specify read/write timeouts per pattern which
override values set by --backend-read-timeout and
--backend-write-timeout options.
This release fixes stability issues in neverbleed with OpenSSL 1.1.1.
mruby has been updated to version 1.4.1.
env.tls_handshake_finished has been added to mruby scripting to know
whether TLS handshake has been completed or not. This might be useful
to decide that 0-RTT data should be processed or not.
--tls13-ciphers and --tls-client-ciphers options have been added
to configure TLSv1.3 ciphers.
nghttpx now adds Early-Data header field to the request header field when request is included in 0-RTT packet, and TLS handshake has not been completed yet. Early-Data header field is defined in RFC 8470.
nghttpx now supports TLSv1.3 0-RTT data. By default, it accepts 0-RTT
data, but postpones the request until TLS handshake completes. The
new option --tls-no-postpone-early-data makes nghttpx not to
postpone request and adds Early-Data header field to backend request.
It is important to make sure that all backends must recognize
Early-Data header field to mitigate reply attack.
To enable 0-RTT data and most of the TLSv1.3 features, OpenSSL 1.1.1 is required.