From eb754596ea987e09fc9d72606213f3770a15677a Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Wed, 16 Feb 2022 11:22:25 +0100 Subject: [PATCH] docs/DEPRECATE: remove NPN support in August 2022 Closes #8458 --- docs/DEPRECATE.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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 -- 2.47.3