Revert "Update to 7.44.0"
[platform/upstream/curl.git] / docs / ROADMAP.md
1 curl the next few years - perhaps
2 =================================
3
4 Roadmap of things Daniel Stenberg and Steve Holme want to work on next. It is
5 intended to serve as a guideline for others for information, feedback and
6 possible participation.
7
8 New stuff - libcurl
9 -------------------
10
11 1. http2 test suite
12
13 2. http2 multiplexing/pipelining
14
15 3. SPDY
16
17 4. SRV records
18
19 5. HTTPS to proxy
20
21 6. make sure there's an easy handle passed in to `curl_formadd()`,
22    `curl_formget()` and `curl_formfree()` by adding replacement functions and
23    deprecating the old ones to allow custom mallocs and more
24
25 7. add support for third-party SASL libraries such as Cyrus SASL - may need to
26    move existing native and SSPI based authentication into vsasl folder after
27    reworking HTTP and SASL code
28
29 8. SASL authentication in LDAP
30
31 9. Simplify the SMTP email interface so that programmers don't have to
32    construct the body of an email that contains all the headers, alternative
33    content, images and attachments - maintain raw interface so that
34    programmers that want to do this can
35
36 10. Allow the email protocols to return the capabilities before
37     authenticating. This will allow an application to decide on the best
38     authentication mechanism
39
40 11. Allow Windows threading model to be replaced by Win32 pthreads port
41
42 12. Implement a dynamic buffer size to allow SFTP to use much larger buffers
43     and possibly allow the size to be customizable by applications. Use less
44     memory when handles are not in use?
45
46 New stuff - curl
47 ----------------
48
49 1. Embed a language interpreter (lua?). For that middle ground where curl
50    isn’t enough and a libcurl binding feels “too much”. Build-time conditional
51    of course.
52
53 2. Simplify the SMTP command line so that the headers and multi-part content
54    don't have to be constructed before calling curl
55
56 Improve
57 -------
58
59 1. build for windows (considered hard by many users)
60
61 2. curl -h output (considered overwhelming to users)
62
63 3. we have > 160 command line options, is there a way to redo things to
64    simplify or improve the situation as we are likely to keep adding
65    features/options in the future too
66
67 4. docs (considered "bad" by users but how do we make it better?)
68
69   - split up `curl_easy_setopt.3`
70   - split up curl.1
71
72 5. authentication framework (consider merging HTTP and SASL authentication to
73    give one API for protocols to call)
74
75 6. Perform some of the clean up from the TODO document, removing old
76    definitions and such like that are currently earmarked to be removed years
77    ago
78
79 Remove
80 ------
81
82 1. cmake support (nobody maintains it)
83
84 2. makefile.vc files as there is no point in maintaining two sets of Windows
85    makefiles. Note: These are currently being used by the Windows autobuilds