xref: /aosp_15_r20/external/curl/docs/DEPRECATE.md (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Worker<!--
2*6236dae4SAndroid Build Coastguard WorkerCopyright (C) Daniel Stenberg, <[email protected]>, et al.
3*6236dae4SAndroid Build Coastguard Worker
4*6236dae4SAndroid Build Coastguard WorkerSPDX-License-Identifier: curl
5*6236dae4SAndroid Build Coastguard Worker-->
6*6236dae4SAndroid Build Coastguard Worker
7*6236dae4SAndroid Build Coastguard Worker# Items to be removed from future curl releases
8*6236dae4SAndroid Build Coastguard Worker
9*6236dae4SAndroid Build Coastguard WorkerIf any of these deprecated features is a cause for concern for you, please
10*6236dae4SAndroid Build Coastguard Workeremail the
11*6236dae4SAndroid Build Coastguard Worker[curl-library mailing list](https://lists.haxx.se/listinfo/curl-library)
12*6236dae4SAndroid Build Coastguard Workeras soon as possible and explain to us why this is a problem for you and
13*6236dae4SAndroid Build Coastguard Workerhow your use case cannot be satisfied properly using a workaround.
14*6236dae4SAndroid Build Coastguard Worker
15*6236dae4SAndroid Build Coastguard Worker## TLS libraries without 1.3 support
16*6236dae4SAndroid Build Coastguard Worker
17*6236dae4SAndroid Build Coastguard Workercurl drops support for TLS libraries without TLS 1.3 capability after May
18*6236dae4SAndroid Build Coastguard Worker2025.
19*6236dae4SAndroid Build Coastguard Worker
20*6236dae4SAndroid Build Coastguard WorkerIt requires that a curl build using the library should be able to negotiate
21*6236dae4SAndroid Build Coastguard Workerand use TLS 1.3, or else it is not good enough.
22*6236dae4SAndroid Build Coastguard Worker
23*6236dae4SAndroid Build Coastguard WorkerAs of May 2024, the libraries that need to get fixed to remain supported after
24*6236dae4SAndroid Build Coastguard WorkerMay 2025 are: BearSSL and Secure Transport.
25*6236dae4SAndroid Build Coastguard Worker
26*6236dae4SAndroid Build Coastguard Worker## Hyper
27*6236dae4SAndroid Build Coastguard Worker
28*6236dae4SAndroid Build Coastguard WorkerHyper is an alternative HTTP backend for curl. It uses the hyper library and
29*6236dae4SAndroid Build Coastguard Workercould in theory be used for HTTP/1, HTTP/2 and even HTTP/3 in the future with
30*6236dae4SAndroid Build Coastguard Workercurl.
31*6236dae4SAndroid Build Coastguard Worker
32*6236dae4SAndroid Build Coastguard WorkerThe original plan and goal was that we would add this HTTP alternative (using
33*6236dae4SAndroid Build Coastguard Workera memory-safe library) and that users could eventually build and use libcurl
34*6236dae4SAndroid Build Coastguard Workerexactly as previously but with parts of the core being more memory-safe.
35*6236dae4SAndroid Build Coastguard Worker
36*6236dae4SAndroid Build Coastguard WorkerThe hyper implementation ran into some snags and 10-15 tests and HTTP/2
37*6236dae4SAndroid Build Coastguard Workersupport have remained disabled with hyper. For these reasons, hyper support
38*6236dae4SAndroid Build Coastguard Workerhas remained tagged EXPERIMENTAL.
39*6236dae4SAndroid Build Coastguard Worker
40*6236dae4SAndroid Build Coastguard WorkerIt is undoubtedly hard work to fix these remaining problems, as they typically
41*6236dae4SAndroid Build Coastguard Workerrequire both rust and C knowledge in addition to deep HTTP familiarity. There
42*6236dae4SAndroid Build Coastguard Workerdoes not seem to be that many persons interested or available for this
43*6236dae4SAndroid Build Coastguard Workerchallenge. Meanwhile, there is little if any demand for hyper from existing
44*6236dae4SAndroid Build Coastguard Worker(lib)curl users.
45*6236dae4SAndroid Build Coastguard Worker
46*6236dae4SAndroid Build Coastguard WorkerFinally: having support for hyper in curl has a significant cost: we need to
47*6236dae4SAndroid Build Coastguard Workermaintain and develop a lot of functionality and tests twice to make sure
48*6236dae4SAndroid Build Coastguard Workerlibcurl works identically using either HTTP backend.
49*6236dae4SAndroid Build Coastguard Worker
50*6236dae4SAndroid Build Coastguard WorkerThe only way to keep hyper support in curl is to give it a good polish by
51*6236dae4SAndroid Build Coastguard Workersomeone with time, skill and energy to spend on this task.
52*6236dae4SAndroid Build Coastguard Worker
53*6236dae4SAndroid Build Coastguard WorkerUnless a significant overhaul has proven to be in progress, hyper support is
54*6236dae4SAndroid Build Coastguard Workerremoved from curl in January 2025.
55*6236dae4SAndroid Build Coastguard Worker
56*6236dae4SAndroid Build Coastguard Worker## Past removals
57*6236dae4SAndroid Build Coastguard Worker
58*6236dae4SAndroid Build Coastguard Worker - Pipelining
59*6236dae4SAndroid Build Coastguard Worker - axTLS
60*6236dae4SAndroid Build Coastguard Worker - PolarSSL
61*6236dae4SAndroid Build Coastguard Worker - NPN
62*6236dae4SAndroid Build Coastguard Worker - Support for systems without 64-bit data types
63*6236dae4SAndroid Build Coastguard Worker - NSS
64*6236dae4SAndroid Build Coastguard Worker - gskit
65*6236dae4SAndroid Build Coastguard Worker - MinGW v1
66*6236dae4SAndroid Build Coastguard Worker - NTLM_WB
67*6236dae4SAndroid Build Coastguard Worker - space-separated `NOPROXY` patterns
68