summaryrefslogtreecommitdiff
path: root/RELEASE-NOTES
blob: 1f007c58da67d47b1a96a98c42ccfaf16217b3df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
curl and libcurl 7.79.0

 Public curl releases:         202
 Command line options:         242
 curl_easy_setopt() options:   290
 Public functions in libcurl:  85
 Contributors:                 2473

This release includes the following changes:

 o bearssl: support CURLOPT_CAINFO_BLOB [3]
 o http: consider cookies over localhost to be secure [24]

This release includes the following bugfixes:

 o ares: use ares_getaddrinfo() [51]
 o asyn-ares.c: move all version number checks to the top
 o auth: do not append zero-terminator to authorisation id in kerberos [32]
 o auth: properly handle byte order in kerberos security message [36]
 o auth: use sasl authzid option in kerberos [34]
 o auth: we do not support a security layer after kerberos authentication [35]
 o BINDINGS.md: update links to use https where available [50]
 o build: fix compiler warnings [39]
 o c-hyper: fix header value passed to debug callback [46]
 o c-hyper: initial step for 100-continue support [43]
 o c-hyper: initial support for "dumping" 1xx HTTP responses [40]
 o c-hyper: remove the hyper_executor_poll() loop from Curl_http [13]
 o CI/cirrus: reduce compile time with increased parallism [19]
 o CI: use GitHub Container Registry instead of Docker Hub [47]
 o codeql: fix error "Resource not accessible by integration" [61]
 o compressed.d: it's a request, not an order [21]
 o config: get rid of the unused HAVE_SIG_ATOMIC_T et. al.
 o configure.ac: revert bad nghttp2 library detection improvements [9]
 o configure: error out if both ngtcp2 and quiche are specified [30]
 o configure: tweak nghttp2 library name fix [2]
 o connect: remove superfluous conditional [23]
 o curl-openssl.m4: check lib64 for the pkg-config file [14]
 o curl.1: mention "global" flags [7]
 o curl: add warning for ignored data after quoted form parameter [60]
 o curl_url_get.3: clarify about path and query [45]
 o CURLMOPT_TIMERFUNCTION.3: remove misplaced "time" [5]
 o CURLOPT_DOH_URL.3: CURLOPT_OPENSOCKETFUNCTION is not inherited [8]
 o CURLOPT_SSL_CTX_*.3: tidy up the example [15]
 o docs/MQTT: update state of username/password support [4]
 o easy: use a custom implementation of wcsdup on Windows [31]
 o examples/cookie_interface: avoid printfing time_t directly [18]
 o examples/cookie_interface: fix scan-build printf warning [16]
 o examples/ephiperfifo.c: simplify signal handler [42]
 o getparameter: fix the --local-port number parser [58]
 o happy-eyeballs-timeout-ms.d: polish the wording [10]
 o hostip: Make Curl_ipv6works function independent of getaddrinfo [26]
 o http2: revert call the handle-closed function correctly on closed stream [25]
 o http_proxy: clear 'sending' when the outgoing request is sent [6]
 o http_proxy: fix user-agent and custom headers for CONNECT with hyper [38]
 o limit-rate.d: clarify base unit [17]
 o mbedTLS: initial 3.0.0 support [33]
 o mbedtls_threadlock: fix unused variable warning [11]
 o ngtcp2: compile with the latest ngtcp2 and nghttp3 [12]
 o ngtcp2: remove the acked_crypto_offset struct field init [64]
 o ngtcp2: replace deprecated functions with nghttp3_conn_shutdown_stream_read [28]
 o ngtcp2: reset the oustanding send buffer again when drained [53]
 o ngtcp2: rework the return value handling of ngtcp2_conn_writev_stream [29]
 o ngtcp2: utilize crypto API functions to simplify [52]
 o openssl: when creating a new context, there cannot be an old one [48]
 o output.d: add method to suppress response bodies [49]
 o progress: fix a compile warning on some systems [54]
 o sectransp: support CURLINFO_CERTINFO [63]
 o test1565: fix windows build errors [27]
 o tests/*server.pl: flush output before executing subprocess [41]
 o tests/*server.py: remove pidfile on server termination [1]
 o tests/runtests.pl: cleanup copy&paste mistakes and unused code
 o tests/server/*.c: align handling of portfile argument and file [56]
 o tests: make three tests pass until 2037 [22]
 o tool/tests: fix potential year 2038 issues [20]
 o tool_operate: Fix --fail-early with parallel transfers [62]
 o vtls: fix typo in schannel_verify.c [44]
 o winbuild/README.md: clarify GEN_PDB option
 o x509asn1: fix heap over-read when parsing x509 certificates [37]

This release includes the following known bugs:

 o see docs/KNOWN_BUGS (https://curl.se/docs/knownbugs.html)

This release would not have looked like this without help, code, reports and
advice from friends like these:

  Aleksandr Krotov, Alex Crichton, April King, Artur Sinila, Barry Pollard,
  Bastian Krause, Benau on github, Bernhard M. Wiedemann, Bin Lan,
  Brian Carpenter, Carlo Marcelo Arenas Belón, Christian Weisgerber,
  Colin O'Dell, Dan Fandrich, Daniel Gustafsson, Daniel Stenberg,
  Daniel Woelfel, Dan Jacobson, David Cook, Emil Engler, Gambit Communications,
  Gergely Nagy, Ikko Ashimine, Gleb Ivanovsky, Jan Verbeek, Jeff Mears,
  Jeremy Falcon, Josh Soref, Marc Hörsken, Michael Kaufmann, Michał Antoniak,
  modbw on github, Oleg Pudeyev, Patrick Monnerat, Ray Satiro, Rui Pinheiro,
  Sergey Markelov, Tatsuhiro Tsujikawa, Viktor Szakats, Vincent Grande,
  z2-2z on github, zloi-user on github,
  (42 contributors)

References to bug reports and discussions on issues:

 [1] = https://curl.se/bug/?i=7506
 [2] = https://curl.se/bug/?i=7485
 [3] = https://curl.se/bug/?i=7468
 [4] = https://curl.se/bug/?i=7474
 [5] = https://curl.se/bug/?i=7470
 [6] = https://curl.se/bug/?i=7155
 [7] = https://curl.se/bug/?i=7457
 [8] = https://curl.se/bug/?i=7441
 [9] = https://curl.se/bug/?i=7514
 [10] = https://curl.se/bug/?i=7433
 [11] = https://curl.se/bug/?i=7393
 [12] = https://curl.se/bug/?i=7541
 [13] = https://curl.se/bug/?i=7499
 [14] = https://curl.se/bug/?i=7503
 [15] = https://curl.se/bug/?i=7500
 [16] = https://curl.se/bug/?i=7497
 [17] = https://curl.se/bug/?i=7439
 [18] = https://curl.se/bug/?i=7490
 [19] = https://curl.se/bug/?i=7505
 [20] = https://curl.se/bug/?i=7466
 [21] = https://curl.se/bug/?i=7516
 [22] = https://curl.se/bug/?i=7512
 [23] = https://curl.se/bug/?i=7511
 [24] = https://curl.se/bug/?i=6733
 [25] = https://curl.se/bug/?i=7400
 [26] = https://curl.se/bug/?i=7529
 [27] = https://curl.se/bug/?i=7527
 [28] = https://curl.se/bug/?i=7546
 [29] = https://curl.se/bug/?i=7546
 [30] = https://curl.se/bug/?i=7545
 [31] = https://curl.se/bug/?i=7540
 [32] = https://curl.se/bug/?i=7008
 [33] = https://curl.se/bug/?i=7428
 [34] = https://curl.se/bug/?i=7008
 [35] = https://curl.se/bug/?i=7008
 [36] = https://curl.se/bug/?i=7008
 [37] = https://curl.se/bug/?i=7536
 [38] = https://curl.se/bug/?i=7598
 [39] = https://curl.se/bug/?i=7528
 [40] = https://curl.se/bug/?i=7597
 [41] = https://curl.se/bug/?i=7530
 [42] = https://curl.se/bug/?i=7310
 [43] = https://curl.se/bug/?i=7568
 [44] = https://curl.se/bug/?i=7566
 [45] = https://curl.se/bug/?i=7563
 [46] = https://curl.se/bug/?i=7567
 [47] = https://curl.se/bug/?i=7587
 [48] = https://curl.se/bug/?i=7585
 [49] = https://curl.se/bug/?i=7560
 [50] = https://curl.se/bug/?i=7558
 [51] = https://curl.se/bug/?i=7364
 [52] = https://curl.se/bug/?i=7551
 [53] = https://curl.se/bug/?i=7538
 [54] = https://curl.se/bug/?i=7549
 [56] = https://curl.se/bug/?i=7574
 [58] = https://curl.se/bug/?i=7582
 [60] = https://curl.se/bug/?i=7394
 [61] = https://curl.se/bug/?i=7575
 [62] = https://curl.se/bug/?i=6939
 [63] = https://curl.se/bug/?i=4130
 [64] = https://curl.se/bug/?i=7578