From: Daniel Stenberg Date: Wed, 16 Feb 2022 10:22:25 +0000 (+0100) Subject: docs/DEPRECATE: remove NPN support in August 2022 X-Git-Tag: curl-7_82_0~54 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eb754596ea987e09fc9d72606213f3770a15677a;p=thirdparty%2Fcurl.git docs/DEPRECATE: remove NPN support in August 2022 Closes #8458 --- diff --git a/docs/DEPRECATE.md b/docs/DEPRECATE.md index 02c48bce51..8b7e37dfa3 100644 --- a/docs/DEPRECATE.md +++ b/docs/DEPRECATE.md @@ -19,6 +19,26 @@ We remove support for building curl with the NSS TLS library in August 2022. Starting in 7.82.0, building curl to use NSS configure requires the additional flag --with-nss-deprecated in an attempt to highlight these plans. +## NPN + +We make selecting NPN a no-op starting in August 2022. + +**Next Protocol Negotiation** is a TLS extension that was created and used for +agreeing to use the SPDY protocol (the precursor to HTTP/2) for HTTPS. In the +early days of HTTP/2, before the spec was finalized and shipped, the protocol +could be enabled using this extension with some servers. + +curl supports the NPN extension with some TLS backends since then, with a +command line option `--npn` and in libcurl with `CURLOPT_SSL_ENABLE_NPN`. + +HTTP/2 proper is made to use the ALPN (Application-Layer Protocol Negotiation) +extension and the NPN extension has no purposes anymore. The HTTP/2 spec was +published in May 2015. + +Today, use of NPN in the wild should be extremely rare and most likely totally +extinct. Chrome removed NPN support in Chrome 51, shipped in +June 2016. Removed in Firefox 53, April 2017. + ## past removals - Pipelining