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