forked from curl/curl-www
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path_changes.html
12021 lines (11778 loc) · 819 KB
/
_changes.html
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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#include "_doctype.html"
<html lang="en">
<head> <title>curl - Changes</title>
#include "css.t"
</head>
#define CURL_CHANGES
#define CURL_URL changes.html
#include "_menu.html"
#include "setup.t"
WHERE3(Docs, "/docs/", Releases, "/docs/reldocs.html", Changelog)
<a name="changes"></a>
TITLE(Changelog)
<div class="relatedbox">
<b>Related:</b>
<br><a href="/snapshots/">Daily Snapshots</a>
<br><a href="/source.html">Source repo</a>
<br><a href="/docs/security.html">Security</a>
<br><a href="/docs/vulnerabilities.html">Vulnerabilities</a>
<br><a href="/docs/releases.html">Releaselog</a>
<br><a href="/dev/release-notes.html">Pending Release Notes</a>
</div>
#if 0
<a name="9_19_19"></a>
SUBTITLE(-- Fixed in 7.20.0 - February 9 2011)
<p> Changes:
<ul class="changes">
CHG change
</ul>
<p> Bugfixes:
<ul class="bugfixes">
BGF fix
</ul>
#endif
#define CHG <li>
#define BGF <li>
#define RELEASEVIDEO(desc,video) \
<div style="height: 3em; line-height: 3em; font-size: 120%;"> \
<a href=video> \
<img src="pix/play.svg" alt="Play video" height="100%" style="float: left; margin-right: 1em;"> desc </a> \
</div>
<a name="8_0_1"></a>
SUBTITLE(Fixed in 8.0.1 - March 20 2023)
<p> Bugfixes:
<ul class="bugfixes">
BGF <a href="https://curl.se/bug/?i=10795">fix crash in curl_easy_cleanup</a>
</ul>
<a name="8_0_0"></a>
SUBTITLE(Fixed in 8.0.0 - March 20 2023)
<p>
RELEASEVIDEO(curl 8.0.0 release video, "https://youtu.be/LToOQEMcKoo")
<p> Changes:
<ul class="changes">
CHG <a href="https://curl.se/bug/?i=10597">build: remove support for curl_off_t < 8 bytes</a>
</ul>
<p> Bugfixes:
<ul class="bugfixes">
BGF <a href="https://curl.se/bug/?i=10270">.cirrus.yml: Bump to FreeBSD 13.2</a>
BGF <a href="https://curl.se/bug/?i=9995">aws_sigv4: fall back to UNSIGNED-PAYLOAD for sign_as_s3</a>
BGF <a href="https://curl.se/bug/?i=10589">BINDINGS: add Fortran binding</a>
BGF <a href="https://curl.se/bug/?i=9843">build: drop the use of XC_AMEND_DISTCLEAN</a>
BGF <a href="https://curl.se/bug/?i=10745">build: fix stdint/inttypes detection with non-autotools</a>
BGF <a href="https://curl.se/bug/?i=10622">cf-socket: fix handling of remote addr for accepted tcp sockets</a>
BGF <a href="https://curl.se/bug/?i=10626">cf-socket: if socket is already connected, return CURLE_OK</a>
BGF <a href="https://curl.se/bug/?i=10759">cf-socket: use port 80 when resolving name for local bind</a>
BGF <a href="https://curl.se/bug/?i=10742">CI: don't run CI jobs if only another CI was changed</a>
BGF <a href="https://curl.se/bug/?i=10508">CI: update ngtcp2 and nghttp2 for pytest</a>
BGF <a href="https://curl.se/bug/?i=10756">cmake: delete unused HAVE__STRTOI64</a>
BGF <a href="https://curl.se/bug/?i=6284">cmake: fix enabling LDAPS on Windows</a>
BGF <a href="https://curl.se/bug/?i=6178">cmake: skip CA-path/bundle auto-detection in cross-builds</a>
BGF <a href="https://curl.se/bug/?i=10670">connect: fix time_connect and time_appconnect timer statistics</a>
BGF <a href="https://curl.se/bug/?i=10677">cookie: don't load cookies again when flushing</a>
BGF cookie: parse without sscanf()
BGF <a href="https://curl.se/bug/?i=10726">curl.h: require gcc 12.1 for the deprecation magic</a>
BGF <a href="https://curl.se/bug/?i=10491">curl: make -w's %{stderr} use the file set with --stderr</a>
BGF <a href="https://curl.se/bug/?i=10729">curl_path: create the new path with dynbuf</a>
BGF <a href="https://curl.se/bug/?i=10456">CURLOPT_PIPEWAIT: allow waited reuse also for subsequent connections</a>
BGF <a href="https://curl.se/bug/?i=10723">CURLOPT_PROXY.3: curl+NSS does not handle HTTPS over unix domain socket</a>
BGF <a href="https://curl.se/bug/?i=10732">CURLSHOPT_SHARE.3: HSTS sharing is not thread-safe</a>
BGF <a href="https://curl.se/bug/?i=10667">DEPRECATE: the original legacy mingw version 1</a>
BGF <a href="https://curl.se/bug/?i=10710">doc: fix compiler warning in libcurl.m4</a>
BGF <a href="https://curl.se/bug/?i=10566">docs/cmdline-opts: mark all global options</a>
BGF <a href="https://curl.se/bug/?i=10719">docs/SECURITY-PROCESS.md: updates</a>
BGF <a href="https://curl.se/bug/?i=10701">docs: extend the URL API descriptions</a>
BGF <a href="https://curl.se/bug/?i=10687">docs: note '--data-urlencode' option</a>
BGF <a href="https://curl.se/bug/?i=10645">DYNBUF.md: note Curl_dyn_add* calls Curl_dyn_free on failure</a>
BGF <a href="https://curl.se/bug/?i=10628">easy: remove infof() debug leftover from curl_easy_recv</a>
BGF <a href="https://curl.se/bug/?i=10619">examples/http3.c: use CURL_HTTP_VERSION_3</a>
BGF <a href="https://curl.se/bug/?i=10666">ftp: active mode with SSL, add the filter</a>
BGF <a href="https://curl.se/bug/?i=10730">ftp: add more conditions for connection reuse</a>
BGF <a href="https://curl.se/bug/?i=10639">ftp: allocate the wildcard struct on demand</a>
BGF <a href="https://curl.se/bug/?i=10590">ftp: make the EPSV response parser not use sscanf</a>
BGF <a href="https://curl.se/bug/?i=10590">ftp: replace sscanf for MDTM 213 response parsing</a>
BGF <a href="https://curl.se/bug/?i=10590">ftp: replace sscanf for PASV parsing</a>
BGF <a href="https://curl.se/bug/?i=10718">gssapi: align `gss_OID_desc` to silence ld warnings on macOS ventura</a>
BGF <a href="https://curl.se/bug/?i=10704">headers: make curl_easy_header and nextheader return different buffers</a>
BGF <a href="https://curl.se/bug/?i=10601">hostip: avoid sscanf and extra buffer copies</a>
BGF <a href="https://curl.se/bug/?i=10715">http2: fix error handling during parallel operations</a>
BGF <a href="https://curl.se/bug/?i=10634">http2: fix for http2-prior-knowledge when reusing connections</a>
BGF <a href="https://curl.se/bug/?i=10693">http2: fix handling of RST and GOAWAY to recognize partial transfers</a>
BGF <a href="https://curl.se/bug/?i=10449">http2: fix upload busy loop</a>
BGF <a href="https://curl.se/bug/?i=10740">http: don't send 100-continue for short PUT requests</a>
BGF <a href="https://curl.se/bug/?i=10633">http: fix unix domain socket use in https connects</a>
BGF <a href="https://curl.se/bug/?i=10585">http: rewrite the status line parser without sscanf</a>
BGF <a href="https://curl.se/bug/?i=10602">http_proxy: parse the status line without sscanf</a>
BGF <a href="https://curl.se/bug/?i=10617">idn: return error if the conversion ends up with a blank host</a>
BGF <a href="https://curl.se/bug/?i=10599">krb5: avoid sscanf for parsing</a>
BGF <a href="https://curl.se/bug/?i=10665">lib1560: test parsing URLs with ridiculously large fields</a>
BGF <a href="https://curl.se/bug/?i=10760">lib2305: deal with CURLE_AGAIN</a>
BGF lib517: verify time stamps without leading zeroes plus some more
BGF <a href="https://curl.se/bug/?i=10738">lib: silence clang/gcc -Wvla warnings in brotli headers</a>
BGF <a href="https://curl.se/bug/?i=10764">lib: skip Curl_llist_destroy calls</a>
BGF <a href="https://curl.se/bug/?i=10629">libcurl-errors.3: add the CURLHcode errors from curl_easy_header.3</a>
BGF <a href="https://curl.se/bug/?i=10721">libssh2: only set the memory callbacks when debugging</a>
BGF <a href="https://curl.se/bug/?i=10777">libssh2: remove unused variable from libssh2's struct</a>
BGF <a href="https://curl.se/bug/?i=10778">libssh: use dynbuf instead of realloc</a>
BGF <a href="https://curl.se/bug/?i=10681">Makefile.mk: delete redundant `HAVE_LDAP_SSL` macro</a>
BGF <a href="https://curl.se/bug/?i=10747">Makefile.mk: fix -g option in debug mode</a>
BGF <a href="https://curl.se/bug/?i=10623">mqtt: on send error, return error</a>
BGF <a href="https://curl.se/bug/?i=10750">multi: make multi_perform ignore/unignore signals less often</a>
BGF <a href="https://curl.se/bug/?i=10762">multi: remove PENDING + MSGSENT handles from the main linked list</a>
BGF <a href="https://curl.se/bug/?i=10507">ngtcp2-gnutls.yml: bump to gnutls 3.8.0</a>
BGF <a href="https://curl.se/bug/?i=10593">ngtcp2: fix unwanted close of file descriptor 0</a>
BGF <a href="https://curl.se/bug/?i=10630">page-footer: add explanation for three missing exit codes</a>
BGF <a href="https://curl.se/bug/?i=10547">parsedate: parse strings without using sscanf()</a>
BGF <a href="https://curl.se/bug/?i=10547">parsedate: replace sscanf( for time stamp parsing</a>
BGF <a href="https://curl.se/bug/?i=10603">quic/schannel: fix compiler warnings</a>
BGF <a href="https://curl.se/bug/?i=10672">rand: use arc4random as fallback when available</a>
BGF <a href="https://curl.se/bug/?i=10638">rate.d: single URLs make no sense in --rate example</a>
BGF RELEASE-PROCEDURE.md: update coming release dates
BGF <a href="https://curl.se/bug/?i=10605">rtsp: avoid sscanf for parsing</a>
BGF <a href="https://curl.se/bug/?i=10077">runtests: use a hash table for server port numbers</a>
BGF <a href="https://curl.se/bug/?i=10574">sectransp: fix compiler warning c89 mixed code/declaration</a>
BGF <a href="https://curl.se/bug/?i=10632">sectransp: make read_cert() use a dynbuf when loading</a>
BGF <a href="https://curl.se/bug/?i=10717">secure-transport: fix recv return code handling</a>
BGF <a href="https://curl.se/bug/?i=10501">select: stop treating POLLRDBAND as an error</a>
BGF <a href="https://curl.se/bug/?i=10635">setopt: move the CURLOPT_CHUNK_DATA pointer to the set struct</a>
BGF <a href="https://curl.se/bug/?i=10646">socket: detect "dead" connections better, e.g. not fit for reuse</a>
BGF <a href="https://curl.se/bug/?i=7229">src: silence wmain() warning for all build methods</a>
BGF <a href="https://curl.se/bug/?i=10728">telnet: only accept option arguments in ascii</a>
BGF <a href="https://curl.se/bug/?i=10596">telnet: parse NEW_ENVIRON without sscanf</a>
BGF <a href="https://curl.se/bug/?i=10596">telnet: parse telnet options without sscanf</a>
BGF <a href="https://curl.se/bug/?i=10596">telnet: parse the WS= argument without sscanf</a>
BGF <a href="https://curl.se/bug/?i=10662">test1470: test socks proxy using unix sockets and connect to https</a>
BGF <a href="https://curl.se/bug/?i=10651">test1960: verify CURL_SOCKOPT_ALREADY_CONNECTED</a>
BGF <a href="https://curl.se/bug/?i=10513">test2600: detect when ALARM_TIMEOUT is in use and adjust</a>
BGF <a href="https://curl.se/bug/?i=10782">test422: verify --next used without a prior URL</a>
BGF <a href="https://curl.se/bug/?i=10699">tests/http: add pytest to GHA and improve tests</a>
BGF <a href="https://curl.se/bug/?i=10713">tests: add `cookies` features</a>
BGF tests: add timeout, SLOWDOWN and DELAY keywords to tests
BGF <a href="https://curl.se/bug/?i=10688">tests: fix gnutls-serv check</a>
BGF tests: fix MSVC unreachable code warnings in unit tests
BGF <a href="https://curl.se/bug/?i=10722">tests: hack to build most unit tests under cmake</a>
BGF <a href="https://curl.se/bug/?i=10568">tests: HTTP server fixups</a>
BGF tests: keep cmake unit tests names in sync
BGF tests: make CPPFLAGS common to all unit tests
BGF <a href="https://curl.se/bug/?i=10749">tests: make first.c the same for both lib tests and unit tests</a>
BGF <a href="https://curl.se/bug/?i=10077">tests: support for imaps/pop3s/smtps protocols</a>
BGF tests: sync option lists in runtests.pl & its man page
BGF <a href="https://curl.se/bug/?i=10077">tests: test secure mail protocols with explicit SSL requests</a>
BGF tests: use AM_CPPFILES to modify flags in unit tests
BGF <a href="https://curl.se/bug/?i=10692">tests: use dynamic ports numbers in pytest suite</a>
BGF <a href="https://curl.se/bug/?i=10675">tool: dump headers even if file is write-only</a>
BGF <a href="https://curl.se/bug/?i=10673">tool: improve --stderr handling</a>
BGF <a href="https://curl.se/bug/?i=10564">tool_getparam: don't add a new node for just --no-remote-name</a>
BGF <a href="https://curl.se/bug/?i=10782">tool_getparam: error if --next is used without a prior URL</a>
BGF <a href="https://curl.se/bug/?i=10570">tool_operate: avoid fclose(NULL) on bad header dump file</a>
BGF <a href="https://curl.se/bug/?i=10558">tool_operate: propagate error codes for missing URL after --next</a>
BGF <a href="https://curl.se/bug/?i=10573">tool_progress: shut off progress meter for --silent in parallel</a>
BGF <a href="https://curl.se/bug/?i=10704">tool_writeout_json. fix the output for duplicate header names</a>
BGF <a href="https://curl.se/bug/?i=10611">transfer: limit Windows SO_SNDBUF updates to once a second</a>
BGF <a href="https://curl.se/bug/?i=10694">url: fix cookielist memleak when curl_easy_reset</a>
BGF <a href="https://curl.se/bug/?i=10690">url: fix logic in connection reuse to deny reuse on "unclean" connections</a>
BGF <a href="https://curl.se/bug/?i=10735">url: fix the SSH connection reuse check</a>
BGF <a href="https://curl.se/bug/?i=10731">url: only reuse connections with same GSS delegation</a>
BGF <a href="https://curl.se/bug/?i=10727">url: remove dummy protocol handler</a>
BGF <a href="https://curl.se/bug/?i=10711">urlapi: '%' is illegal in host names</a>
BGF <a href="https://curl.se/bug/?i=10708">urlapi: avoid mutating internals in getter routine</a>
BGF <a href="https://curl.se/bug/?i=10660">urlapi: parse IPv6 literals without ENABLE_IPV6</a>
BGF <a href="https://curl.se/bug/?i=10708">urlapi: take const args in _dup and _get functions</a>
BGF wildcard: remove files and move functions into ftplistparser.c
BGF <a href="https://curl.se/bug/?i=10576">winbuild: fix makefile clean</a>
BGF <a href="https://curl.se/bug/?i=10739">wolfssl: add quic/ngtcp2 detection in cmake, and fix builds</a>
BGF <a href="https://curl.se/bug/?i=10716">wolfSSL: ressurect the BIO `io_result`</a>
BGF <a href="https://curl.se/bug/?i=10615">ws: keep the socket non-blocking</a>
BGF <a href="https://curl.se/bug/?i=10614">x509asn1.c: use correct format specifier for infof() call</a>
BGF <a href="https://curl.se/bug/?i=10689">x509asn1: use plain %x, not %lx, when the arg is an int</a>
</ul>
<a name="7_88_1"></a>
SUBTITLE(Fixed in 7.88.1 - February 20 2023)
<p>
RELEASEVIDEO(curl 7.88.1 release video, "https://youtu.be/COhD51bgjPY")
<p> Bugfixes:
<ul class="bugfixes">
BGF <a href="https://curl.se/bug/?i=10542">build-openssl.bat: keep OpenSSL 3 engine binaries</a>
BGF <a href="https://curl.se/bug/?i=10353">cmake: fix Windows check for CryptAcquireContext</a>
BGF <a href="https://curl.se/bug/?i=10514">connnect: fix timeout handling to use full duration</a>
BGF <a href="https://curl.se/bug/?i=10535">curl: make --silent work stand-alone</a>
BGF <a href="https://curl.se/bug/?i=10543">curl_setup: Suppress OpenSSL 3 deprecation warnings</a>
BGF <a href="https://curl.se/bug/?i=10557">CURLOPT_WS_OPTIONS.3: fix the availability version</a>
BGF <a href="https://curl.se/bug/?i=10553">GHA: update rustls dependency to 0.9.2</a>
BGF <a href="https://curl.se/bug/?i=10529">http2: buffer/pausedata and output flush fix.</a>
BGF <a href="https://curl.se/bug/?i=10530">http2: set drain on stream end</a>
BGF <a href="https://curl.se/bug/?i=10516">http: include stdint.h more readily</a>
BGF <a href="https://curl.se/bug/?i=10528">krb5: silence cast-align warning</a>
BGF <a href="https://curl.se/bug/?i=10552">lib1560: add IPv6 canonicalization tests</a>
BGF <a href="https://curl.se/bug/?i=10539">os400: correct Curl_os400_sendto()</a>
BGF <a href="https://curl.se/bug/?i=10555">remote-header-name.d: mention that filename* is not supported</a>
BGF <a href="https://curl.se/bug/?i=10518">runtests: fix "uninitialized value $port"</a>
BGF <a href="https://curl.se/bug/?i=10538">setopt: allow HTTP3 when HTTP2 is not defined</a>
BGF <a href="https://curl.se/bug/?i=10561">socketpair: allow EWOULDBLOCK when reading the pair check bytes</a>
BGF <a href="https://curl.se/bug/?i=10537">socks: allow using DoH to resolve host names</a>
BGF <a href="https://curl.se/bug/?i=10519">tests-httpd: add proxy tests</a>
BGF <a href="https://curl.se/bug/?i=10522">tests: make sure gnuserv-tls has SRP support before using it</a>
BGF <a href="https://curl.se/bug/?i=10509">tests: make the telnet server shut down a socket gracefully</a>
BGF <a href="https://curl.se/bug/?i=10527">tool_getparam: make --get a true boolean</a>
BGF <a href="https://curl.se/bug/?i=10532">tool_operate: allow debug builds to set buffersize</a>
BGF <a href="https://curl.se/bug/?i=10541">urlapi: do the port number extraction without using sscanf()</a>
BGF <a href="https://curl.se/bug/?i=10549">urldata: remove `now` from struct SingleRequest - not needed</a>
</ul>
<a name="7_88_0"></a>
SUBTITLE(Fixed in 7.88.0 - February 15 2023)
<p>
RELEASEVIDEO(curl 7.88.0 release video, "https://youtu.be/9zff4hWOxPE")
<p> Changes:
<ul class="changes">
CHG <a href="https://curl.se/bug/?i=10264">curl.h: add CURL_HTTP_VERSION_3ONLY</a>
CHG <a href="https://curl.se/bug/?i=10138">share: add sharing of HSTS cache among handles</a>
CHG <a href="https://curl.se/bug/?i=10264">src: add --http3-only</a>
CHG tool_operate: share HSTS between handles
CHG <a href="https://curl.se/bug/?i=10109">urlapi: add CURLU_PUNYCODE</a>
CHG <a href="https://curl.se/bug/?i=10019">writeout: add %{certs} and %{num_certs}</a>
</ul>
<p> Bugfixes:
<ul class="bugfixes">
BGF <a href="https://curl.se/bug/?i=10343">cf-socket: fix build when not HAVE_GETPEERNAME</a>
BGF <a href="https://curl.se/bug/?i=10213">cf-socket: keep sockaddr local in the socket filters</a>
BGF <a href="https://curl.se/bug/?i=10157">cfilters:Curl_conn_get_select_socks: use the first non-connected filter</a>
BGF <a href="https://curl.se/bug/?i=10326">CI: add a workflow to automatically label pull requests</a>
BGF <a href="https://curl.se/bug/?i=10317">CI: add pytest GHA to CI test/tests-httpd on a HTTP/3 setup</a>
BGF CI: Retry failed downloads to reduce spurious failures
BGF <a href="https://curl.se/bug/?i=10493">CI: update wolfssl / wolfssh to 5.5.4 / 1.4.12</a>
BGF <a href="https://curl.se/bug/?i=10128">cmake: bump requirement to 3.7</a>
BGF <a href="https://curl.se/bug/?i=10211">cmake: check for sendmsg</a>
BGF <a href="https://curl.se/bug/?i=10341">cmake: delete redundant macro definition `SECURITY_WIN32`</a>
BGF <a href="https://curl.se/bug/?i=10471">cmake: fix dev warning due to mismatched arg</a>
BGF <a href="https://curl.se/bug/?i=10155">cmake: fix the snprintf detection</a>
BGF <a href="https://curl.se/bug/?i=10314">cmake: remove deprecated symbols check</a>
BGF <a href="https://curl.se/bug/?i=10214">cmake: set SOVERSION also for macOS</a>
BGF <a href="https://curl.se/bug/?i=10272">cmake: use list APPEND syntax for CMAKE_REQUIRED_DEFINITIONS</a>
BGF <a href="https://curl.se/bug/?i=10497">cmdline-opts/Makefile: on error, do not leave a partial</a>
BGF <a href="https://curl.se/bug/?i=10386">CODEOWNERS: remove the peeps mentioned as CI owners</a>
BGF <a href="https://curl.se/bug/?i=10284">connect: fix access of pointer before NULL check</a>
BGF <a href="https://curl.se/bug/?i=10344">connect: fix build when not ENABLE_IPV6</a>
BGF <a href="https://curl.se/bug/?i=10312">connect: fix strategy testing for attempts, timeouts and happy-eyeball</a>
BGF <a href="https://curl.se/bug/?i=10349">connections: introduce http/3 happy eyeballs</a>
BGF <a href="https://curl.se/bug/?i=10492">content_encoding: do not reset stage counter for each header</a>
BGF <a href="https://curl.se/bug/?i=10478">CONTRIBUTE: More formally specify the commit description</a>
BGF <a href="https://curl.se/bug/?i=10383">cookies: fp is always not NULL</a>
BGF <a href="https://curl.se/bug/?i=10345">copyright.pl: cease doing year verifications</a>
BGF <a href="https://curl.se/bug/?i=10205">copyright: update all copyright lines and remove year ranges</a>
BGF <a href="https://curl.se/bug/?i=10490">curl.1: make help, version and manual sections "custom"</a>
BGF <a href="https://curl.se/bug/?i=10256">curl.h: allow up to 10M buffer size</a>
BGF <a href="https://curl.se/bug/?i=10189">curl.h: mark CURLSSLBACKEND_MESALINK as deprecated</a>
BGF curl/websockets.h: extend the websocket frame struct
BGF <a href="https://curl.se/bug/?i=10278">curl: output warning at --verbose output for debug-enabled version</a>
BGF <a href="https://curl.se/bug/?i=10373">curl_free.3: fix return type of `curl_free`</a>
BGF <a href="https://curl.se/bug/?i=10188">curl_global_sslset.3: clarify the openssl situation</a>
BGF <a href="https://curl.se/bug/?i=10271">curl_log: for failf/infof and debug logging implementations</a>
BGF <a href="https://curl.se/bug/?i=10409">curl_setup: Disable by default recv-before-send in Windows</a>
BGF <a href="https://curl.se/bug/?i=10306">curl_version_info.3: fix typo</a>
BGF curl_ws_send.3: clarify how to send multi-frame messages
BGF <a href="https://curl.se/bug/?i=10233">CURLOPT_HEADERDATA.3: warn DLL users must set write function</a>
BGF <a href="https://curl.se/bug/?i=10328">CURLOPT_READFUNCTION.3: the callback 'size' arg is always 1</a>
BGF <a href="https://curl.se/bug/?i=10390">CURLOPT_WRITEFUNCTION.3: fix memory leak in example</a>
BGF <a href="https://curl.se/bug/?i=10298">dict: URL decode the entire path always</a>
BGF <a href="https://curl.se/bug/?i=10201">docs/DEPRECATE.md: deprecate gskit</a>
BGF <a href="https://curl.se/bug/?i=10171">docs: add link to GitHub Discussions</a>
BGF <a href="https://curl.se/bug/?i=10126">docs: mention indirect effects of --insecure</a>
BGF <a href="https://curl.se/bug/?i=10313">docs: POSTFIELDSIZE must be set to -1 with read function</a>
BGF <a href="https://curl.se/bug/?i=10397">doh: ifdef IPv6 code</a>
BGF <a href="https://curl.se/bug/?i=10275">easyoptions: fix header printing in generation script</a>
BGF <a href="https://curl.se/bug/?i=10376">escape: hex decode with a lookup-table</a>
BGF <a href="https://curl.se/bug/?i=10377">escape: use table lookup when adding %-codes to output</a>
BGF <a href="https://curl.se/bug/?i=10197">examples: remove the curlgtk.c example</a>
BGF <a href="https://curl.se/bug/?i=10398">fopen: remove unnecessary assignment</a>
BGF <a href="https://curl.se/bug/?i=10178">ftpserver: lower the DATA connect timeout to speed up torture tests</a>
BGF <a href="https://curl.se/bug/?i=10415">GHA/macos.yml: bump to gcc-12</a>
BGF <a href="https://curl.se/bug/?i=10356">GHA/macos: use Xcode_14.0.1 for cmake builds</a>
BGF <a href="https://curl.se/bug/?i=10230">GHA: add job on Slackware 15.0</a>
BGF <a href="https://curl.se/bug/?i=10494">GHA: bump ngtcp2 workflow dependencies</a>
BGF <a href="https://curl.se/bug/?i=10448">GHA: enable websockets in the torture job</a>
BGF <a href="https://curl.se/bug/?i=10241">GHA: move the quiche job here from zuul</a>
BGF <a href="https://curl.se/bug/?i=10257">GHA: use designated ngtcp2 and its dependencies versions</a>
BGF <a href="https://curl.se/bug/?i=10165">haxproxy: send before TLS handhshake</a>
BGF <a href="https://curl.se/bug/?i=10455">header.d: add a header file example</a>
BGF <a href="https://curl.se/bug/?i=10258">hsts.d: explain hsts more</a>
BGF hsts: handle adding the same host name again
BGF <a href="https://curl.se/bug/?i=10433">HTTP/[23]: continue upload when state.drain is set</a>
BGF <a href="https://curl.se/bug/?i=10432">http2: aggregate small SETTINGS/PRIO/WIN_UPDATE frames</a>
BGF http2: fix compiler warning due to uninitialized variable
BGF <a href="https://curl.se/bug/?i=10444">http2: minor buffer and error path fixes</a>
BGF <a href="https://curl.se/bug/?i=10203">http2: when using printf %.*s, the length arg must be 'int'</a>
BGF <a href="https://curl.se/bug/?i=10168">HTTP3: mention what needs to be in place to remove EXPERIMENTAL label</a>
BGF <a href="https://curl.se/bug/?i=10185">http: add additional condition for including stdint.h</a>
BGF <a href="https://curl.se/bug/?i=10187">http: decode transfer encoding first</a>
BGF <a href="https://curl.se/bug/?i=10399">http: fix "part of conditional expression is always false"</a>
BGF <a href="https://curl.se/bug/?i=10159">http: remove the trace message "Mark bundle... multiuse"</a>
BGF <a href="https://curl.se/bug/?i=10400">http_aws_sigv4: remove typecasts from HMAC_SHA256 macro</a>
BGF <a href="https://curl.se/bug/?i=10194">http_proxy: do not assign data->req.p.http use local copy</a>
BGF <a href="https://curl.se/bug/?i=10321">INSTALL: document how to use multiple TLS backends</a>
BGF <a href="https://curl.se/bug/?i=10182">lib670: make test.h the first include</a>
BGF <a href="https://curl.se/bug/?i=10141">lib: connect/h2/h3 refactor</a>
BGF <a href="https://curl.se/bug/?i=10307">lib: fix typos</a>
BGF <a href="https://curl.se/bug/?i=10220">lib: fix typos in comments which repeat a word</a>
BGF <a href="https://curl.se/bug/?i=10143">libssh2: try sha2 algos for hostkey methods</a>
BGF <a href="https://curl.se/bug/?i=10295">libtest: add a sleep macro for Windows</a>
BGF <a href="https://curl.se/bug/?i=10195">Linux CI: update some dependecies to latest tag</a>
BGF <a href="https://curl.se/bug/?i=10164">Makefile.mk: fix wolfssl and mbedtls default paths</a>
BGF <a href="https://curl.se/bug/?i=10434">man pages: call the custom user pointer 'clientp' consistently</a>
BGF <a href="https://curl.se/bug/?i=10110">md4: fix build with GnuTLS + OpenSSL v1</a>
BGF <a href="https://curl.se/bug/?i=10137">misc: fix grammar and spelling</a>
BGF <a href="https://curl.se/bug/?i=10437">misc: fix spelling</a>
BGF <a href="https://curl.se/bug/?i=10186">misc: reduce struct and struct field sizes</a>
BGF <a href="https://curl.se/bug/?i=10136">msh3: add support for request payload</a>
BGF <a href="https://curl.se/bug/?i=10125">msh3: update to v0.5 Release</a>
BGF <a href="https://curl.se/bug/?i=10192">msh3: update to v0.6</a>
BGF <a href="https://curl.se/bug/?i=9086">multi: stop sending empty HTTP/3 UDP datagrams on Windows</a>
BGF <a href="https://curl.se/bug/?i=10179">multihandle: turn bool struct fields into bits</a>
BGF <a href="https://curl.se/bug/?i=10222">ngtcp2: add CURLOPT_SSL_CTX_FUNCTION support for openssl+wolfssl</a>
BGF <a href="https://curl.se/bug/?i=10210">ngtcp2: fix the build without 'sendmsg'</a>
BGF <a href="https://curl.se/bug/?i=10469">ngtcp2: replace removed define and stop using removed function</a>
BGF <a href="https://curl.se/bug/?i=10461">no-clobber.d: only use long form options in man page text</a>
BGF <a href="https://curl.se/bug/?i=10209">noproxy: support for space-separated names is deprecated</a>
BGF <a href="https://curl.se/bug/?i=10225">nss: implement data_pending method</a>
BGF <a href="https://curl.se/bug/?i=10445">openldap: fix missing sasl symbols at build in specific configs</a>
BGF <a href="https://curl.se/bug/?i=10360">openssl: adapt to boringssl's error code type</a>
BGF <a href="https://curl.se/bug/?i=10244">openssl: don't ignore CA paths when using Windows CA store (redux)</a>
BGF <a href="https://curl.se/bug/?i=10299">openssl: don't log raw record headers</a>
BGF <a href="https://curl.se/bug/?i=10285">openssl: make the BIO_METHOD a local variable in the connection filter</a>
BGF <a href="https://curl.se/mail/lib-2023-01/0070.html">openssl: only use CA_BLOB if verifying peer</a>
BGF <a href="https://curl.se/bug/?i=10151">openssl: remove attached easy handles from SSL instances</a>
BGF <a href="https://curl.se/bug/?i=10432">openssl: store the CA after first send (ClientHello)</a>
BGF <a href="https://curl.se/bug/?i=10266">os400: fixes to make-lib.sh and initscript.sh</a>
BGF <a href="https://curl.se/bug/?i=10416">packages: remove Android, update README</a>
BGF release-notes.pl: check fixes/closes lines better
BGF <a href="https://curl.se/bug/?i=10163">Revert "x509asn1: avoid freeing unallocated pointers"</a>
BGF <a href="https://curl.se/bug/?i=10206">runtest.pl: add expected fourth return value</a>
BGF <a href="https://curl.se/bug/?i=10114">runtests: tear down http2/http3 servers when https server is stopped</a>
BGF <a href="https://curl.se/bug/?i=10208">runtests: consider warnings fatal and error on them</a>
BGF <a href="https://curl.se/bug/?i=10236">runtests: fix detection of TLS backends</a>
BGF runtests: make 'mbedtls' a testable feature
BGF <a href="https://curl.se/bug/?i=10463">rustls: improve error messages</a>
BGF scripts/delta: show percent of number of files changed since last tag
BGF scripts: fix Appveyor job detection in cijobs.pl
BGF <a href="https://curl.se/bug/?i=10219">scripts: set file mode +x on all perl and shell scripts</a>
BGF <a href="https://curl.se/bug/?i=10227">sectransp: fix for incomplete read/writes</a>
BGF <a href="https://curl.se/bug/?i=10118">SECURITY-PROCESS.md: document severity levels</a>
BGF <a href="https://curl.se/bug/?i=10472">setopt: Address undefined behaviour by checking for null</a>
BGF <a href="https://curl.se/bug/?i=10255">setopt: move the SHA256 opt within #ifdef libssh2</a>
BGF <a href="https://curl.se/bug/?i=10421">setopt: use >, not >=, when checking if uarg is larger than uint-max</a>
BGF <a href="https://curl.se/bug/?i=10484">smb: return error on upload without size</a>
BGF <a href="https://curl.se/bug/?i=10144">socketpair: allow localhost MITM sniffers</a>
BGF <a href="https://curl.se/bug/?i=10132">strdup: name it Curl_strdup</a>
BGF <a href="https://curl.se/bug/?i=10305">system.h: assume OS400 is always built with ILEC compiler</a>
BGF <a href="https://curl.se/bug/?i=10193">test1560: use a UTF8-using locale when run</a>
BGF test2304: remove stdout verification
BGF <a href="https://curl.se/bug/?i=10175">tests-httpd: basic infra to run curl against an apache httpd</a>
BGF <a href="https://curl.se/bug/?i=10114">tests: add 3 new HTTP/2 test cases, plus https: support for nghttpx</a>
BGF <a href="https://curl.se/bug/?i=10495">tests: add tests for HTTP/2 and HTTP/3 to verify the header API</a>
BGF <a href="https://curl.se/bug/?i=10135">tests: avoid use of sha1 in certificates</a>
BGF <a href="https://curl.se/bug/?i=10322">tls: fixes for wolfssl + openssl combo builds</a>
BGF <a href="https://curl.se/bug/?i=10276">tool_getparam: fix hiding of command line secrets</a>
BGF <a href="https://curl.se/bug/?i=10124">tool_operate: fix `CURLOPT_SOCKS5_GSSAPI_NEC` type</a>
BGF <a href="https://curl.se/bug/?i=10414">tool_operate: fix error codes during DOS filename sanitize</a>
BGF <a href="https://curl.se/bug/?i=10130">tool_operate: fix error codes on bad URL & OOM</a>
BGF <a href="https://curl.se/bug/?i=10224">tool_operate: fix headerfile writing</a>
BGF <a href="https://curl.se/bug/?i=10357">tool_operate: repair --rate</a>
BGF <a href="https://curl.se/bug/?i=10172">transfer: break the read loop when RECV is cleared</a>
BGF <a href="https://curl.se/bug/?i=10148">typecheck: accept expressions for option/info parameters</a>
BGF <a href="https://curl.se/bug/?i=10407">url: fix part of conditional expression is always true</a>
BGF <a href="https://curl.se/bug/?i=10384">urlapi: avoid Curl_dyn_addf() for hex outputs</a>
BGF <a href="https://curl.se/bug/?i=10408">urlapi: fix part of conditional expression is always true: qlen</a>
BGF <a href="https://curl.se/bug/?i=10385">urlapi: skip path checks if path is just "/"</a>
BGF <a href="https://curl.se/bug/?i=10403">urlapi: skip the extra dedotdot alloc if no dot in path</a>
BGF <a href="https://curl.se/bug/?i=10181">urldata: cease storing TLS auth type</a>
BGF <a href="https://curl.se/bug/?i=10139">urldata: make 'ftp_create_missing_dirs' depend on FTP || SFTP</a>
BGF <a href="https://curl.se/bug/?i=10140">urldata: make set.http200aliases conditional on HTTP being present</a>
BGF <a href="https://curl.se/bug/?i=10133">urldata: move the cookefilelist to the 'set' struct</a>
BGF <a href="https://curl.se/bug/?i=10147">urldata: remove unused struct fields, made more conditional</a>
BGF <a href="https://curl.se/bug/?i=10451">vquic: stabilization and improvements</a>
BGF <a href="https://curl.se/bug/?i=10273">vtls: fix hostname handling in filters</a>
BGF <a href="https://curl.se/bug/?i=10336">vtls: manage current easy handle in nested cfilter calls</a>
BGF vtls: use ALPN HTTP/1.0 when HTTP/1.0 is used
BGF <a href="https://curl.se/bug/?i=10332">winbuild: document that arm64 is supported</a>
BGF <a href="https://curl.se/bug/?i=10261">windows: always use curl's basename() implementation</a>
BGF <a href="https://curl.se/bug/?i=10440">wolfssl: remove deprecated post-quantum algorithms</a>
BGF <a href="https://curl.se/bug/?i=10071">workflows/linux.yml: merge 3 common packages</a>
BGF <a href="https://curl.se/bug/?i=10395">write-out.d: add 'since version' to %{header_json} documentation</a>
BGF <a href="https://curl.se/bug/?i=10323">write-out.d: clarify Windows % symbol escaping</a>
BGF <a href="https://curl.se/bug/?i=10289">ws: fix autoping handling</a>
BGF <a href="https://curl.se/bug/?i=10413">ws: fix multiframe send handling</a>
BGF <a href="https://curl.se/bug/?i=10438">ws: fix recv of larger frames</a>
BGF <a href="https://curl.se/bug/?i=10347">ws: remove bad assert</a>
BGF <a href="https://curl.se/bug/?i=10366">ws: unstick connect-only shutdown</a>
BGF <a href="https://curl.se/bug/?i=10439">ws: use %Ou for outputting curl_off_t with info()</a>
BGF <a href="https://curl.se/bug/?i=10238">x509asn1: fix compile errors and warnings</a>
BGF <a href="https://curl.se/bug/?i=10368">zuul: stop using this CI service</a>
</ul>
<a name="7_87_0"></a>
SUBTITLE(Fixed in 7.87.0 - December 21 2022)
<p>
RELEASEVIDEO(curl 7.87.0 release video, "https://youtu.be/PvvgmBbAzn8")
<p> Changes:
<ul class="changes">
CHG <a href="https://curl.se/bug/?i=9691">curl: add --url-query</a>
CHG <a href="https://curl.se/bug/?i=2975">CURLOPT_QUICK_EXIT: don't wait for DNS thread on exit</a>
CHG <a href="https://curl.se/bug/?i=9874">lib: add CURL_WRITEFUNC_ERROR to signal write callback error</a>
CHG <a href="https://curl.se/bug/?i=9620">openssl: reduce CA certificate bundle reparsing by caching</a>
CHG <a href="https://curl.se/bug/?i=9583">version: add a feature names array to curl_version_info_data</a>
</ul>
<p> Bugfixes:
<ul class="bugfixes">
BGF <a href="https://curl.se/bug/?i=10095">altsvc: fix rejection of negative port numbers</a>
BGF <a href="https://curl.se/bug/?i=9804">aws_sigv4: consult x-%s-content-sha256 for payload hash</a>
BGF <a href="https://curl.se/bug/?i=10008">aws_sigv4: fix typos in aws_sigv4.c</a>
BGF <a href="https://curl.se/bug/?i=10024">base64: better alloc size</a>
BGF <a href="https://curl.se/bug/?i=10026">base64: encode without using snprintf</a>
BGF <a href="https://curl.se/bug/?i=10032">base64: faster base64 decoding</a>
BGF <a href="https://curl.se/bug/?i=9985">build: assume assert.h is always available</a>
BGF <a href="https://curl.se/bug/?i=9986">build: assume errno.h is always available</a>
BGF <a href="https://curl.se/bug/?i=8853">c-hyper: CONNECT respones are not server responses</a>
BGF <a href="https://curl.se/bug/?i=8896">c-hyper: fix multi-request mechanism</a>
BGF <a href="https://curl.se/bug/?i=10051">CI: Change FreeBSD image from 12.3 to 12.4</a>
BGF <a href="https://curl.se/bug/?i=10052">CI: LGTM.com will be shut down in December 2022</a>
BGF ci: Remove zuul fuzzing job as it's superseded by CIFuzz
BGF <a href="https://curl.se/bug/?i=9921">cmake: check for cross-compile, not for toolchain</a>
BGF <a href="https://curl.se/bug/?i=9017">CMake: fix build with `CURL_USE_GSSAPI`</a>
BGF <a href="https://curl.se/bug/?i=9783">cmake: really enable warnings with clang</a>
BGF <a href="https://curl.se/bug/?i=10023">cmake: set the soname on the shared library</a>
BGF <a href="https://curl.se/bug/?i=9899">cmdline-opts/gen.pl: fix the linkifier</a>
BGF cmdline-opts/page-footer: remove long option nroff formatting
BGF <a href="https://curl.se/bug/?i=10042">config-mac: define HAVE_SYS_IOCTL_H</a>
BGF <a href="https://curl.se/bug/?i=10029">config-mac: fix typo: size_T -> size_t</a>
BGF <a href="https://curl.se/bug/?i=10039">config-mac: remove HAVE_SYS_SELECT_H</a>
BGF <a href="https://curl.se/bug/?i=9712">config-win32: fix SIZEOF_OFF_T for MSVC and old MinGW</a>
BGF <a href="https://curl.se/bug/?i=9847">configure: require fork for NTLM-WB</a>
BGF <a href="https://curl.se/bug/?i=10064">contributors.sh: actually use $CURLWWW instead of just setting it</a>
BGF <a href="https://curl.se/bug/?i=9863">cookie: compare cookie prefixes case insensitively</a>
BGF <a href="https://curl.se/bug/?i=9930">cookie: expire cookies at once when max-age is negative</a>
BGF <a href="https://curl.se/bug/?i=10017">cookie: open cookie jar as a binary file</a>
BGF <a href="https://curl.se/bug/?i=9989">curl-openssl.m4: do not add $prefix/include/openssl to CPPFLAGS</a>
BGF <a href="https://curl.se/bug/?i=9883">curl-rustls.m4: on macOS, rustls also needs the Security framework</a>
BGF <a href="https://curl.se/bug/?i=10006">curl.h: include <sys/select.h> on SerenityOS</a>
BGF <a href="https://curl.se/bug/?i=10036">curl.h: name all public function parameters</a>
BGF <a href="https://curl.se/bug/?i=10062">curl.h: reword comment to not use deprecated option</a>
BGF <a href="https://curl.se/bug/?i=9969">curl: override the numeric locale and set "C" by force</a>
BGF <a href="https://sourceforge.net/p/curl/bugs/846/">curl: timeout in the read callback</a>
BGF <a href="https://curl.se/bug/?i=9968">curl_endian: remove Curl_write64_le from header</a>
BGF <a href="https://curl.se/bug/?i=9973">curl_get_line: allow last line without newline char</a>
BGF <a href="https://curl.se/bug/?i=9844">curl_path: do not add '/' if homedir ends with one</a>
BGF <a href="https://curl.se/bug/?i=10101">curl_url_get.3: remove spurious backtick</a>
BGF <a href="https://curl.se/bug/?i=10099">curl_url_set.3: document CURLU_DISALLOW_USER</a>
BGF <a href="https://curl.se/bug/?i=10089">curl_url_set.3: fix typo</a>
BGF <a href="https://curl.se/bug/?i=9799">CURLMOPT_SOCKETFUNCTION.3: clarify CURL_POLL_REMOVE</a>
BGF <a href="https://curl.se/bug/?i=10063">CURLOPT_COOKIEFILE.3: advice => advise</a>
BGF <a href="https://curl.se/mail/lib-2022-11/0016.html">CURLOPT_DEBUGFUNCTION.3: do not assume nul-termination in example</a>
BGF <a href="https://curl.se/bug/?i=10106">CURLOPT_DEBUGFUNCTION.3: emphasize that incoming data is "raw"</a>
BGF <a href="https://curl.se/bug/?i=9849">CURLOPT_POST.3: Explain setting to 0 changes request type</a>
BGF <a href="https://curl.se/bug/?i=10081">docs/curl_ws_send: Fixed typo in websocket docs</a>
BGF <a href="https://curl.se/bug/?i=9820">docs/EARLY-RELEASE.md: how to determine an early release</a>
BGF <a href="https://curl.se/bug/?i=10040">docs/examples: spell correction ('Retrieve')</a>
BGF <a href="https://curl.se/bug/?i=9944">docs/INSTALL.md: expand on static builds</a>
BGF <a href="https://curl.se/bug/?i=9936">docs/WEBSOCKET.md: explain the URL use</a>
BGF <a href="https://curl.se/bug/?i=9848">docs: add missing parameters for --retry flag</a>
BGF <a href="https://curl.se/bug/?i=9959">docs: add more "SEE ALSO" links to CA related pages</a>
BGF <a href="https://curl.se/bug/?i=9818">docs: explain the noproxy CIDR notation support</a>
BGF <a href="https://curl.se/bug/?i=10085">docs: extend the dump-header documentation</a>
BGF <a href="https://curl.se/bug/?i=9832">docs: remove performance note in CURLOPT_SSL_VERIFYPEER</a>
BGF <a href="https://curl.se/bug/?i=9953">examples/10-at-a-time: fix possible skipped final transfers</a>
BGF <a href="https://curl.se/bug/?i=9960">examples: update descriptions</a>
BGF <a href="https://curl.se/bug/?i=9772">ftp: support growing files with CURLOPT_IGNORE_CONTENT_LENGTH</a>
BGF <a href="https://curl.se/bug/?i=9834">gen.pl: do not generate CURLHELP bitmask lines > 79 characters</a>
BGF <a href="https://curl.se/bug/?i=9928">GHA: clarify workflows permissions, set least possible privilege</a>
BGF <a href="https://curl.se/bug/?i=9978">GHA: NSS use clang instead of clang-9</a>
BGF <a href="https://curl.se/bug/?i=10007">gnutls: use common gnutls init and verify code for ngtcp2</a>
BGF <a href="https://curl.se/bug/?i=9853">headers: add endif comments</a>
BGF <a href="https://curl.se/bug/?i=9938">HTTP-COOKIES.md: mention that http://localhost is a secure context</a>
BGF <a href="https://curl.se/bug/?i=9940">HTTP-COOKIES.md: update the 6265bis link to draft-11</a>
BGF <a href="https://curl.se/bug/?i=9442">http: do not send PROXY more than once</a>
BGF <a href="https://curl.se/bug/?i=10120">http: fix the ::1 comparison for IPv6 localhost for cookies</a>
BGF <a href="https://curl.se/bug/?i=9885">http: set 'this_is_a_follow' in the Location: logic</a>
BGF <a href="https://curl.se/bug/?i=10111">http: use the IDN decoded name in HSTS checks</a>
BGF <a href="https://curl.se/bug/?i=9947">hyper: classify headers as CONNECT and 1XX</a>
BGF <a href="https://curl.se/bug/?i=9840">hyper: fix handling of hyper_task's when reusing the same address</a>
BGF <a href="https://curl.se/bug/?i=10094">idn: remove Curl_win32_ascii_to_idn</a>
BGF <a href="https://curl.se/bug/?i=9994">INSTALL: update operating systems and CPU archs</a>
BGF <a href="https://curl.se/bug/?i=9871">KNOWN_BUGS: remove eight entries</a>
BGF <a href="https://curl.se/bug/?i=10094">lib1560: add some basic IDN host name tests</a>
BGF <a href="https://curl.se/bug/?i=9855">lib: connection filters (cfilter) addition to curl:</a>
BGF <a href="https://curl.se/bug/?i=9667">lib: feature deprecation warnings in gcc >= 4.3</a>
BGF <a href="https://curl.se/bug/?i=9835">lib: fix some type mismatches and remove unneeded typecasts</a>
BGF <a href="https://curl.se/bug/?i=9933">lib: parse numbers with fixed known base 10</a>
BGF <a href="https://curl.se/bug/?i=9888">lib: remove bad set.opt_no_body assignments</a>
BGF <a href="https://curl.se/bug/?i=9735">lib: rewind BEFORE request instead of AFTER previous</a>
BGF <a href="https://curl.se/bug/?i=9734">lib: sync guard for Curl_getaddrinfo_ex() definition and use</a>
BGF <a href="https://curl.se/bug/?i=10088">lib: use size_t or int etc instead of longs</a>
BGF <a href="https://curl.se/bug/?i=9846">libcurl-errors.3: remove duplicate word</a>
BGF <a href="https://curl.se/bug/?i=10034">libssh2: return error when ssh_hostkeyfunc returns error</a>
BGF limit-rate.d: see also --rate
BGF <a href="https://curl.se/bug/?i=9896">log2changes.pl: wrap long lines at 80 columns</a>
BGF <a href="https://curl.se/bug/?i=10000">Makefile.mk: address minor issues</a>
BGF <a href="https://curl.se/bug/?i=10031">Makefile.mk: improve a GNU Make hack</a>
BGF <a href="https://curl.se/bug/?i=9764">Makefile.mk: portable Makefile.m32</a>
BGF <a href="https://curl.se/bug/?i=9866">maketgz: set the right version in lib/libcurl.plist</a>
BGF <a href="https://curl.se/bug/?i=9927">mime: relax easy/mime structures binding</a>
BGF <a href="https://curl.se/bug/?i=10045">misc: Fix incorrect spelling</a>
BGF <a href="https://curl.se/bug/?i=9796">misc: remove duplicated include files</a>
BGF <a href="https://curl.se/bug/?i=9802">misc: typo and grammar fixes</a>
BGF <a href="https://curl.se/bug/?i=9894">negtelnetserver.py: have it call its close() method</a>
BGF <a href="https://curl.se/bug/?i=9899">netrc.d: provide mutext info</a>
BGF <a href="https://curl.se/bug/?i=9966">netware: remove leftover traces</a>
BGF <a href="https://curl.se/bug/?i=9813">noproxy: also match with adjacent comma</a>
BGF <a href="https://curl.se/bug/?i=10057">noproxy: guard against empty hostnames in noproxy check</a>
BGF <a href="https://curl.se/bug/?i=9842">noproxy: tailmatch like in 7.85.0 and earlier</a>
BGF nroff-scan.pl: detect double highlights
BGF <a href="https://curl.se/bug/?i=9903">ntlm: improve comment for encrypt_des</a>
BGF <a href="https://curl.se/bug/?i=9898">ntlm: silence ubsan warning about copying from null target_info pointer</a>
BGF <a href="https://curl.se/bug/?i=10001">openssl/mbedtls: use %d for outputing port with failf (int)</a>
BGF <a href="https://curl.se/bug/?i=10004">openssl: prefix errors with '[lib]/[version]: '</a>
BGF <a href="https://curl.se/bug/?i=9811">os400: use platform socklen_t in Curl_getnameinfo_a</a>
BGF <a href="https://curl.se/bug/?i=10068">page-header: grammar improvement (display transfer rate)</a>
BGF <a href="https://curl.se/bug/?i=9893">proxy: refactor haproxy protocol handling as connection filter</a>
BGF <a href="https://curl.se/bug/?i=9833">README.md: remove badges and xmas-tree garnish</a>
BGF <a href="https://curl.se/bug/?i=4750">rtsp: fix RTSP auth</a>
BGF <a href="https://curl.se/bug/?i=9950">runtests: --no-debuginfod now disables DEBUGINFOD_URLS</a>
BGF <a href="https://curl.se/bug/?i=10009">runtests: do CRLF replacements per section only</a>
BGF <a href="https://curl.se/bug/?i=9796">scripts/checksrc.pl: detect duplicated include files</a>
BGF <a href="https://curl.se/bug/?i=9431">sendf: change Curl_read_plain to wrap Curl_recv_plain</a>
BGF <a href="https://curl.se/bug/?i=9801">sendf: remove unnecessary if condition</a>
BGF <a href="https://curl.se/bug/?i=10037">setup: do not require __MRC__ defined for Mac OS 9 builds</a>
BGF <a href="https://curl.se/bug/?i=10112">smb/telnet: do not free the protocol struct in *_done()</a>
BGF <a href="https://curl.se/bug/?i=10105">socks: fix username max size is 255 (0xFF)</a>
BGF <a href="https://curl.se/bug/?i=9810">spellcheck.words: remove 'github' as an accepted word</a>
BGF <a href="https://curl.se/bug/?i=10093">ssl-reqd.d: clarify that this is for upgrading connections only</a>
BGF <a href="https://curl.se/bug/?i=9837">strcase: use curl_str(n)equal for case insensitive matches</a>
BGF <a href="https://curl.se/bug/?i=10082">styled-output.d: this option does not work on Windows</a>
BGF <a href="https://curl.se/bug/?i=10049">system.h: fix socklen_t, curl_off_t, long long for Classic Mac OS</a>
BGF <a href="https://curl.se/bug/?i=9817">system.h: support 64-bit curl_off_t for NonStop 32-bit</a>
BGF <a href="https://curl.se/bug/?i=10055">test1421: fix typo</a>
BGF <a href="https://curl.se/bug/?i=9412">test3026: reduce runtime in legacy mingw builds</a>
BGF tests/sshserver.pl: re-enable ssh-rsa while using openssh 8.8+
BGF <a href="https://curl.se/bug/?i=9980">tests: add authorityInfoAccess to generated certs</a>
BGF <a href="https://curl.se/bug/?i=9031">tests: add HTTP/3 test case, custom location for proper nghttpx</a>
BGF <a href="https://curl.se/bug/?i=9962">tls: backends use connection filters for IO, enabling HTTPS-proxy</a>
BGF <a href="https://curl.se/bug/?i=10074">tool: determine the correct fopen option for -D</a>
BGF <a href="https://curl.se/bug/?i=10097">tool_cfgable: free the ssl_ec_curves on exit</a>
BGF <a href="https://curl.se/bug/?i=10078">tool_cfgable: make socks5_gssapi_nec a boolean</a>
BGF <a href="https://curl.se/bug/?i=10046">tool_formparse: avoid clobbering on function params</a>
BGF <a href="https://curl.se/bug/?i=9891">tool_getparam: make --no-get work as the opposite of --get</a>
BGF <a href="https://curl.se/bug/?i=9889">tool_operate: provide better errmsg for -G with bad URL</a>
BGF <a href="https://curl.se/bug/?i=9865">tool_operate: when aborting, make sure there is a non-NULL error buffer</a>
BGF <a href="https://curl.se/bug/?i=10098">tool_paramhlp: free the proto strings on exit</a>
BGF <a href="https://curl.se/bug/?i=9937">url: move back the IDN conversion of proxy names</a>
BGF <a href="https://curl.se/bug/?i=10096">urlapi: reject more bad letters from the host name: &+()</a>
BGF <a href="https://curl.se/bug/?i=9946">urldata: change port num storage to int and unsigned short</a>
BGF <a href="https://curl.se/bug/?i=10061">vms: remove SIZEOF_SHORT</a>
BGF <a href="https://curl.se/bug/?i=9895">vtls: fix build without proxy support</a>
BGF <a href="https://curl.se/bug/?i=9919">vtls: localization of state data in filters</a>
BGF <a href="https://curl.se/mail/lib-2022-10/0097.html">WEBSOCKET.md: fix broken link</a>
BGF <a href="https://curl.se/bug/?i=9890">Websocket: fixes for partial frames and buffer updates</a>
BGF <a href="https://curl.se/bug/?i=9861">websockets: fix handling of partial frames</a>
BGF <a href="https://curl.se/bug/?i=9781">windows: fail early with a missing windres in autotools</a>
BGF <a href="https://curl.se/bug/?i=9803">windows: fix linking .rc to shared curl with autotools</a>
BGF <a href="https://curl.se/bug/?i=9793">winidn: drop WANT_IDN_PROTOTYPES</a>
BGF <a href="https://curl.se/bug/?i=10084">ws: if no connection is around, return error</a>
BGF <a href="https://curl.se/bug/?i=9851">ws: return CURLE_NOT_BUILT_IN when websockets not built in</a>
BGF <a href="https://curl.se/bug/?i=10087">x509asn1: avoid freeing unallocated pointers</a>
</ul>
<p>
<a name="7_86_0"></a>
SUBTITLE(Fixed in 7.86.0 - October 26 2022)
<p>
RELEASEVIDEO(curl 7.86.0 release video, "https://youtu.be/nIJUock7mjE")
<p> Changes:
<ul class="changes">
CHG <a href="https://curl.se/bug/?i=9307">NPN: remove support for and use of</a>
CHG <a href="https://curl.se/bug/?i=8995">Websockets: initial support</a>
</ul>
<p> Bugfixes:
<ul class="bugfixes">
BGF <a href="https://curl.se/bug/?i=9607">altsvc: reject bad port numbers</a>
BGF <a href="https://curl.se/bug/?i=9515">altsvc: use 'h3' for h3</a>
BGF <a href="https://curl.se/bug/?i=9762">amiga: do not hardcode openssl/zlib into the os config</a>
BGF <a href="https://curl.se/bug/?i=9771">amiga: set SIZEOF_CURL_OFF_T=8 by default</a>
BGF <a href="https://curl.se/bug/?i=9761">amigaos: add missing curl header</a>
BGF <a href="https://curl.se/bug/?i=9694">asyn-ares: set hint flags when calling ares_getaddrinfo</a>
BGF <a href="https://curl.se/bug/?i=9586">autotools: allow --enable-symbol-hiding with windows</a>
BGF <a href="https://github.com/curl/curl-for-win/blob/73a070d96fd906fdee929e2f1f00a9149fb39239/curl-autotools.sh#L44-L47">autotools: allow unix sockets on Windows</a>
BGF <a href="https://curl.se/bug/?i=9591">autotools: reduce brute-force when detecting recv/send arg list</a>
BGF <a href="https://curl.se/bug/?i=7966">aws_sigv4: fix header computation</a>
BGF bearssl: make it proper C89 compliant
BGF <a href="https://curl.se/bug/?i=9533">CI/GHA: cancel outdated CI runs on new PR changes</a>
BGF <a href="https://curl.se/bug/?i=9646">CI/GHA: merge msh3 and openssl3 builds into linux workflow</a>
BGF <a href="https://curl.se/bug/?i=9565">cirrus-ci: add macOS build with m1</a>
BGF <a href="https://curl.se/bug/?i=9633">cirrus: use make LDFLAGS=-all-static instead of curl_LDFLAGS</a>
BGF cli tool: do not use disabled protocols
BGF <a href="https://curl.se/bug/?i=9689">cmake: add missing inet_ntop check</a>
BGF <a href="https://curl.se/bug/?i=9686">cmake: add the check of HAVE_SOCKETPAIR</a>
BGF <a href="https://curl.se/bug/?i=9498">cmake: define BUILDING_LIBCURL in lib/CMakeLists, not config.h</a>
BGF <a href="https://curl.se/bug/?i=9731">cmake: delete duplicate HAVE_GETADDRINFO test</a>
BGF <a href="https://curl.se/bug/?i=9687">cmake: enable more detection on Windows</a>
BGF <a href="https://curl.se/bug/?i=9214">cmake: fix original MinGW builds</a>
BGF <a href="https://curl.se/bug/?i=9638">cmake: improve usability of CMake build as a sub-project</a>
BGF <a href="https://curl.se/bug/?i=9727">cmake: set HAVE_GETADDRINFO_THREADSAFE on Windows</a>
BGF <a href="https://curl.se/bug/?i=9726">cmake: set HAVE_SOCKADDR_IN6_SIN6_SCOPE_ID on Windows</a>
BGF <a href="https://curl.se/bug/?i=9725">cmake: sync HAVE_SIGNAL detection with autotools</a>
BGF <a href="https://curl.se/bug/?i=9759">cmdline/docs: add a required 'multi' keyword for each option</a>
BGF <a href="https://curl.se/bug/?i=9471">configure: correct the wording when checking grep -E</a>
BGF <a href="https://curl.se/bug/?i=9605">configure: deprecate builds with small curl_off_t</a>
BGF <a href="https://curl.se/bug/?i=9414">configure: fail if '--without-ssl' + explicit parameter for an ssl lib</a>
BGF <a href="https://curl.se/mail/lib-2022-10/0007.html">configure: the ngtcp2 option should default to 'no'</a>
BGF <a href="https://curl.se/mail/archive-2022-02/0041.html">connect: change verbose IPv6 address:port to [address]:port</a>
BGF <a href="https://curl.se/bug/?i=9770">connect: fix builds without AF_INET6</a>
BGF <a href="https://curl.se/bug/?i=9664">connect: fix Curl_updateconninfo for TRNSPRT_UNIX</a>
BGF <a href="https://curl.se/bug/?i=9549">connect: fix the wrong error message on connect failures</a>
BGF <a href="https://curl.se/bug/?i=9455">content_encoding: use writer struct subclasses for different encodings</a>
BGF <a href="https://curl.se/bug/?i=9659">cookie: reject cookie names or content with TAB characters</a>
BGF <a href="https://curl.se/bug/?i=9433">ctype: remove all use of <ctype.h>, use our own versions</a>
BGF <a href="https://curl.se/bug/?i=9542">curl-compilers.m4: for gcc + want warnings, set gnu89 standard</a>
BGF <a href="https://curl.se/bug/?i=9444">curl-compilers.m4: use -O2 as default optimize for clang</a>
BGF <a href="https://curl.se/bug/?i=9682">curl-wolfssl.m4: error out if wolfSSL is not usable</a>
BGF curl.h: fix mention of wrong error code in comment
BGF <a href="https://curl.se/bug/?i=9683">curl/add_file_name_to_url: use the libcurl URL parser</a>
BGF <a href="https://curl.se/bug/?i=9729">curl/add_parallel_transfers: better error handling</a>
BGF <a href="https://curl.se/bug/?i=9684">curl/get_url_file_name: use libcurl URL parser</a>
BGF <a href="https://curl.se/bug/?i=9519">curl: warn for --ssl use, considered insecure</a>
BGF <a href="https://curl.se/bug/?i=9429">curl_ctype: convert to macros-only</a>
BGF <a href="https://curl.se/bug/?i=9410">curl_easy_pause.3: unpausing is as fast as possible</a>
BGF <a href="https://curl.se/bug/?i=9517">curl_escape.3: fix typo</a>
BGF <a href="https://curl.se/bug/?i=9575">curl_setup: disable use of FLOSS for 64-bit NonStop builds</a>
BGF <a href="https://curl.se/bug/?i=9453">curl_setup: include curl.h after platform setup headers</a>
BGF <a href="https://curl.se/bug/?i=9453">curl_setup: include only system.h instead of curl.h</a>
BGF <a href="https://curl.se/bug/?i=9548">curl_strequal.3: fix argument typo</a>
BGF <a href="https://curl.se/bug/?i=9628">curl_url_set.3: document CURLU_APPENDQUERY proper</a>
BGF <a href="https://curl.se/bug/?i=9776">CURLMOPT_PIPELINING.3: dedup manpage xref</a>
BGF <a href="https://curl.se/bug/?i=9614">CURLOPT_ACCEPT_ENCODING.3: remove "four" as they are five</a>
BGF <a href="https://curl.se/bug/?i=9757">CURLOPT_AUTOREFERER.3: highlight the privacy leak risk</a>
BGF <a href="https://curl.se/bug/?i=9654">CURLOPT_COOKIEFILE: insist on "" for enable-without-file</a>
BGF <a href="https://curl.se/bug/?i=9639">CURLOPT_COOKIELIST.3: fix formatting mistake</a>
BGF <a href="https://curl.se/bug/?i=9427">CURLOPT_DNS_INTERFACE.3: mention it works for almost all protocols</a>
BGF <a href="https://curl.se/bug/?i=9637">CURLOPT_MIMEPOST.3: add an (inline) example</a>
BGF <a href="https://curl.se/bug/?i=9752">CURLOPT_POSTFIELDS.3: refer to CURLOPT_MIMEPOST</a>
BGF <a href="https://curl.se/bug/?i=9434">CURLOPT_PROXY_SSLCERT_BLOB.3: this is for HTTPS proxies</a>
BGF <a href="https://curl.se/bug/?i=9418">CURLOPT_WILDCARDMATCH.3: Fix backslash escaping under single quotes</a>
BGF <a href="https://curl.se/bug/?i=9612">CURLSHOPT_UNLOCKFUNC.3: the callback has no 'access' argument</a>
BGF <a href="https://curl.se/bug/?i=9604">DEPRECATE.md: Support for systems without 64 bit data types</a>
BGF <a href="https://curl.se/bug/?i=9661">docs/examples: avoid deprecated options in examples where possible</a>
BGF <a href="https://curl.se/bug/?i=9732">docs/INSTALL: update Android Instructions for newer NDKs</a>
BGF docs/libcurl/symbols-in-versions: add several missing symbols
BGF docs: 100+ spellfixes
BGF <a href="https://curl.se/bug/?i=9474">docs: correct missing uppercase in Markdown files</a>
BGF docs: document more server names for test files
BGF <a href="https://curl.se/bug/?i=9711">docs: fix deprecation versions inconsistencies</a>
BGF <a href="https://curl.se/bug/?i=9779">docs: make sure libcurl opts examples pass in long arguments</a>
BGF <a href="https://curl.se/bug/?i=9415">docs: remove mentions of deprecated '--without-openssl' parameter</a>
BGF docs: tag curl options better in man pages
BGF docs: tell about disabled protocols in CURLOPT_*PROTOCOLS_STR.
BGF <a href="https://curl.se/bug/?i=9630">docs: update sourceforge project links</a>
BGF <a href="https://curl.se/bug/?i=9560">easy: fix the #include order</a>
BGF <a href="https://curl.se/bug/?i=9624">easy: fix the altsvc init for curl_easy_duphandle</a>
BGF <a href="https://curl.se/bug/?i=9755">easy_lock: check for HAVE_STDATOMIC_H as well</a>
BGF <a href="https://curl.se/bug/?i=9562">examples/chkspeed: improve portability</a>
BGF <a href="https://curl.se/bug/?i=9484">formdata: fix warning: 'CURLformoption' is promoted to 'int'</a>
BGF <a href="https://curl.se/bug/?i=9357">ftp: ignore a 550 response to MDTM</a>
BGF <a href="https://curl.se/bug/?i=9753">ftp: remove redundant if</a>
BGF <a href="https://curl.se/bug/?i=9592">functypes: provide the recv and send arg and return types</a>
BGF <a href="https://curl.se/bug/?i=9485">getparameter: return PARAM_MANUAL_REQUESTED for -M even when disabled</a>
BGF <a href="https://curl.se/bug/?i=9619">GHA: build tests in a separate step from the running of them</a>
BGF <a href="https://curl.se/bug/?i=9520">GHA: run proselint on markdown files</a>
BGF <a href="https://curl.se/bug/?i=9505">github: initial CODEOWNERS setup for CI configuration</a>
BGF <a href="https://curl.se/bug/?i=9424">header: define public API functions as extern c</a>
BGF <a href="https://curl.se/bug/?i=9424">headers: reset the requests counter at transfer start</a>
BGF <a href="https://curl.se/bug/?i=9760">hostip: guard PF_INET6 use</a>
BGF <a href="https://curl.se/bug/?i=9553">hostip: lazily wait to figure out if IPv6 works until needed</a>
BGF <a href="https://curl.se/bug/?i=9600">http, vauth: always provide Curl_allow_auth_to_host() functionality</a>
BGF <a href="https://curl.se/bug/?i=9448">http2: make nghttp2 less picky about field whitespace</a>
BGF <a href="https://curl.se/bug/?i=9623">HTTP3.md: update Caddy example</a>
BGF <a href="https://curl.se/bug/?i=9718">http: try parsing Retry-After: as a number first</a>
BGF <a href="https://curl.se/bug/?i=9790">http_proxy: restore the protocol pointer on error</a>
BGF <a href="https://curl.se/bug/?i=9555">httpput-postfields.c: shorten string for C89 compliance</a>
BGF <a href="https://curl.se/bug/?i=9625">ldap: delete stray CURL_HAS_MOZILLA_LDAP reference</a>
BGF lib1560: extended to verify detect/reject of unknown schemes
BGF <a href="https://curl.se/bug/?i=9572">lib517: fix C89 constant signedness</a>
BGF <a href="https://curl.se/bug/?i=9453">lib: add missing limits.h includes</a>
BGF <a href="https://curl.se/bug/?i=9375">lib: add required Win32 setup definitions in setup-win32.h</a>
BGF <a href="https://curl.se/bug/?i=9534">lib: prepare the incoming of additional protocols</a>
BGF <a href="https://curl.se/bug/?i=9610">lib: sanitize conditional exclusion around MIME</a>
BGF <a href="https://curl.se/bug/?i=9712">lib: set more flags in config-win32.h</a>
BGF <a href="https://curl.se/bug/?i=9535">lib: the number four in a sequence is the "fourth"</a>
BGF <a href="https://curl.se/bug/?i=9737">libssh: if sftp_init fails, don't get the sftp error code</a>
BGF <a href="https://curl.se/bug/?i=9642">Makefile.m32: deduplicate build rules</a>
BGF <a href="https://curl.se/bug/?i=9698">Makefile.m32: drop CROSSPREFIX and our CC/AR defaults</a>
BGF <a href="https://curl.se/bug/?i=9651">Makefile.m32: exclude libs & libpaths for shared mode exes</a>
BGF <a href="https://curl.se/bug/?i=9645">Makefile.m32: fix regression with tool_hugehelp</a>
BGF <a href="https://curl.se/bug/?i=9632">Makefile.m32: major rework</a>
BGF <a href="https://curl.se/bug/?i=9784">Makefile.m32: reintroduce CROSSPREFIX and -W -Wall</a>
BGF <a href="https://curl.se/bug/?i=9680">Makefile.m32: support more options</a>
BGF <a href="https://curl.se/bug/?i=9574">manpage-syntax.pl: all libcurl option symbols should be \fI-tagged</a>
BGF <a href="https://curl.se/bug/?i=9419">manpages: Fix spelling of "allows to" -> "allows one to"</a>
BGF <a href="https://curl.se/bug/?i=9432">misc: ISSPACE() => ISBLANK()</a>
BGF <a href="https://curl.se/bug/?i=9527">misc: use the term "null-terminate" consistently</a>
BGF <a href="https://curl.se/bug/?i=9754">mprintf: reject two kinds of precision for the same argument</a>
BGF <a href="https://curl.se/bug/?i=9569">mprintf: use snprintf if available</a>
BGF <a href="https://curl.se/bug/?i=9744">mqtt: return error for too long topic</a>
BGF <a href="https://curl.se/bug/?i=9751">mqtt: spell out CONNECT in comments</a>
BGF msh3: change the static_assert to make the code C89
BGF <a href="https://curl.se/bug/?i=9657">netrc: compare user name case sensitively</a>
BGF <a href="https://curl.se/bug/?i=9789">netrc: replace fgets with Curl_get_line</a>
BGF <a href="https://curl.se/bug/?i=9709">netrc: use the URL-decoded user</a>
BGF <a href="https://curl.se/bug/?i=9747">ngtcp2: fix build errors due to changes in ngtcp2 library</a>
BGF ngtcp2: fix C89 compliance nit
BGF <a href="https://curl.se/bug/?i=9773">noproxy: support proxies specified using cidr notation</a>
BGF <a href="https://curl.se/bug/?i=9584">openssl: make certinfo available for QUIC</a>
BGF <a href="https://curl.se/bug/?i=9530">README.md: add GHA status badges for Linux and macOS builds</a>
BGF <a href="https://curl.se/bug/?i=9495">RELEASE-PROCEDURE.md: mention patch releases</a>
BGF <a href="https://curl.se/bug/?i=9540">resolve: make forced IPv4 resolve only use A queries</a>
BGF <a href="https://curl.se/bug/?i=9648">runtests: fix uninitialized value on ignored tests</a>
BGF <a href="https://curl.se/bug/?i=9463">schannel: ban server ALPN change during recv renegotiation</a>
BGF <a href="https://curl.se/bug/?i=9451">schannel: don't reset recv/send function pointers on renegotiation</a>
BGF <a href="https://curl.se/bug/?i=9300">schannel: when importing PFX, disable key persistence</a>
BGF <a href="https://curl.se/bug/?i=9491">scripts: use `grep -E` instead of `egrep`</a>
BGF <a href="https://curl.se/bug/?i=9472">setopt: use the handler table for protocol name to number conversions</a>
BGF <a href="https://curl.se/bug/?i=9507">setopt: when POST is set, reset the 'upload' field</a>
BGF <a href="https://curl.se/bug/?i=9375">setup-win32: no longer define UNICODE/_UNICODE implicitly</a>
BGF <a href="https://curl.se/bug/?i=9681">single_transfer: use the libcurl URL parser when appending query parts</a>
BGF <a href="https://curl.se/bug/?i=9701">smb: replace CURL_WIN32 with WIN32</a>
BGF <a href="https://curl.se/bug/?i=9658">strcase: add and use Curl_timestrcmp</a>
BGF strerror: improve two URL API error messages
BGF <a href="https://curl.se/bug/?i=9544">symbol-scan.pl: also check for LIBCURL* symbols</a>
BGF <a href="https://curl.se/bug/?i=9544">symbol-scan.pl: scan and verify .3 man pages</a>
BGF symbols-in-versions: add missing LIBCURL* symbols
BGF symbols-in-versions: CURLOPT_ENCODING is deprecated since 7.21.6
BGF <a href="https://curl.se/bug/?i=9544">test1119: scan all public headers</a>
BGF <a href="https://curl.se/bug/?i=9697">test1275: verify uppercase after period in markdown</a>
BGF <a href="https://curl.se/bug/?i=9563">test972: verify the output without using external tool</a>
BGF <a href="https://curl.se/bug/?i=9417">tests/certs/scripts: insert standard curl source headers</a>
BGF <a href="https://curl.se/bug/?i=9656">tests/Makefile: remove run time stats from ci-test</a>
BGF <a href="https://curl.se/bug/?i=9705">tests: avoid CreateThread if _beginthreadex is available</a>
BGF tests: fix tag syntax errors in test files
BGF <a href="https://curl.se/bug/?i=9596">tests: skip mime/form tests when mime is not built-in</a>
BGF <a href="https://curl.se/bug/?i=9652">tidy-up: delete parallel/unused feature flags</a>
BGF <a href="https://curl.se/bug/?i=9707">tidy-up: delete unused HAVE_STRUCT_POLLFD</a>
BGF <a href="https://curl.se/bug/?i=9513">TODO: provide the error body from a CONNECT response</a>
BGF <a href="https://curl.se/bug/?i=9643">tool: avoid generating ambiguous escaped characters in --libcurl</a>
BGF <a href="https://curl.se/bug/?i=9576">tool: remove dead code</a>
BGF <a href="https://curl.se/bug/?i=9653">tool: reorganize function c_escape around a dynbuf</a>
BGF <a href="https://curl.se/bug/?i=9485">tool_hugehelp: make hugehelp a blank macro when disabled</a>
BGF <a href="https://curl.se/bug/?i=9663">tool_main: exit at once if out of file descriptors</a>
BGF <a href="https://curl.se/bug/?i=9486">tool_operate: avoid a few #ifdefs for disabled-libcurl builds</a>
BGF <a href="https://curl.se/bug/?i=9749">tool_operate: more transfer cleanup after parallel transfer fail</a>
BGF <a href="https://curl.se/bug/?i=8933">tool_operate: prevent over-queuing in parallel mode</a>
BGF <a href="https://curl.se/bug/?i=9394">tool_operate: reduce errorbuffer allocs</a>
BGF <a href="https://curl.se/bug/?i=9719">tool_paramhelp: asserts verify maximum sizes for string loading</a>
BGF <a href="https://curl.se/bug/?i=9700">tool_paramhelp: make the max argument a 'double'</a>
BGF <a href="https://curl.se/bug/?i=9389">tool_progress: remove 'Qd' from the parallel progress bar</a>
BGF <a href="https://curl.se/bug/?i=9475">tool_setopt: use better English in --libcurl source comments</a>
BGF <a href="https://curl.se/bug/?i=9766">tool_xattr: save the original URL, not the final redirected one</a>
BGF <a href="https://curl.se/bug/?i=9551">unit test 1655: make it C89-compliant</a>
BGF <a href="https://curl.se/bug/?i=9088">url: a zero-length userinfo part in the URL is still a (blank) user</a>
BGF <a href="https://curl.se/bug/?i=9728">url: allow non-HTTPS HSTS-matching for debug builds</a>
BGF <a href="https://curl.se/bug/?i=9585">url: rename function due to name-clash in Watt-32</a>
BGF <a href="https://curl.se/bug/?i=9791">url: use IDN decoded names for HSTS checks</a>
BGF <a href="https://curl.se/bug/?i=9503">urlapi: detect scheme better when not guessing</a>
BGF <a href="https://curl.se/bug/?i=9763">urlapi: fix parsing URL without slash with CURLU_URLENCODE</a>
BGF <a href="https://curl.se/bug/?i=9408">urlapi: leaner with fewer allocs</a>
BGF <a href="https://curl.se/bug/?i=9608">urlapi: reject more bad characters from the host name field</a>
BGF <a href="https://curl.se/mail/lib-2022-09/0038.html">winbuild/MakefileBuild.vc: handle spaces in libssh(2) include paths</a>
BGF <a href="https://curl.se/bug/?i=9512">winbuild: use NMake batch-rules for compilation</a>
BGF <a href="https://curl.se/bug/?i=9521">windows: add .rc support to autotools builds</a>
BGF <a href="https://curl.se/bug/?i=9598">windows: adjust name of two internal public functions</a>
BGF <a href="https://curl.se/bug/?i=9582">windows: autotools .rc warnings fixup</a>
BGF <a href="https://curl.se/bug/?i=9492">wolfSSL: fix session management bug.</a>
</ul>
<a name="7_85_0"></a>
SUBTITLE(Fixed in 7.85.0 - August 31 2022)
<p>
RELEASEVIDEO(curl 7.85.0 release video, "https://youtu.be/I4vYSKjvHGE")
<p> Changes:
<ul class="changes">
CHG <a href="https://curl.se/bug/?i=9290">quic: add support via wolfSSL</a>
CHG <a href="https://curl.se/bug/?i=8419">schannel: Add TLS 1.3 support</a>
CHG <a href="https://curl.se/bug/?i=8992">setopt: add CURLOPT_PROTOCOLS_STR and CURLOPT_REDIR_PROTOCOLS_STR</a>
</ul>
<p> Bugfixes:
<ul class="bugfixes">
BGF <a href="https://curl.se/bug/?i=9265">amigaos: fix threaded resolver on AmigaOS 4.x</a>
BGF <a href="https://curl.se/bug/?i=9269">amissl: allow AmiSSL to be used with AmigaOS 4.x builds</a>
BGF <a href="https://curl.se/bug/?i=9267">amissl: make AmiSSL v5 a minimum requirement</a>
BGF <a href="https://curl.se/bug/?i=9310">asyn-ares: make a single alloc out of hostname + async data</a>
BGF <a href="https://curl.se/bug/?i=9310">asyn-thread: fix socket leak on OOM</a>
BGF <a href="https://curl.se/bug/?i=9081">asyn-thread: make getaddrinfo_complete return CURLcode</a>
BGF <a href="https://curl.se/bug/?i=9139">base64: base64url encoding has no padding</a>
BGF <a href="https://curl.se/bug/?i=9205">BUGS.md: improve language</a>
BGF <a href="https://curl.se/bug/?i=9117">build: improve OS string in CMake and `config-win32.h`</a>
BGF <a href="https://curl.se/bug/?i=9349">cert.d: clarify that escape character works for file paths</a>
BGF <a href="https://curl.se/bug/?i=9201">cirrus.yml: replace py38-pip with py39-pip</a>
BGF <a href="https://curl.se/bug/?i=9213">cirrus/freebsd-ci: bootstrap the pip installer</a>
BGF <a href="https://curl.se/bug/?i=9312">cmake: add detection of threadsafe feature</a>
BGF <a href="https://curl.se/bug/?i=9046">cmake: do not force Windows target versions</a>
BGF <a href="https://curl.se/bug/?i=9084">cmake: fix build for mingw cross compile</a>
BGF <a href="https://curl.se/bug/?i=9125">cmake: link curl to its dependencies with PRIVATE</a>
BGF <a href="https://curl.se/bug/?i=9124">cmake: remove APPEND in export(TARGETS)</a>
BGF <a href="https://curl.se/bug/?i=9391">cmake: set feature PSL if present</a>
BGF <a href="https://curl.se/bug/?i=9065">cmake: support ngtcp2 boringssl backend</a>
BGF <a href="https://curl.se/bug/?i=9230">cmdline-opts/gen.pl: improve performance</a>
BGF <a href="https://curl.se/bug/?i=9291">config: remove the check for and use of SIZEOF_SHORT</a>
BGF <a href="https://curl.se/bug/?i=9266">configure: -pthread not available on AmigaOS 4.x</a>
BGF <a href="https://curl.se/bug/?i=9059">configure: check for the stdatomic.h header in configure</a>
BGF <a href="https://curl.se/bug/?i=9134">configure: fix --disable-headers-api</a>
BGF <a href="https://curl.se/bug/?i=9344">configure: fix broken m4 syntax in TLS options</a>
BGF <a href="https://curl.se/bug/?i=9268">configure: fixup bsdsocket detection code for AmigaOS 4.x</a>
BGF <a href="https://curl.se/bug/?i=9367">configure: if asked to use TLS, fail if no TLS lib was detected</a>
BGF <a href="https://curl.se/bug/?i=9291">configure: introduce CURL_SIZEOF</a>
BGF <a href="https://curl.se/bug/?i=9286">connect: add quic connection information</a>
BGF <a href="https://curl.se/bug/?i=9303">connect: close the happy eyeballs loser connection when using QUIC</a>
BGF <a href="https://curl.se/bug/?i=9209">connect: revert the use of IP*_RECVERR</a>
BGF <a href="https://curl.se/bug/?i=9274">connect: set socktype/protocol correctly</a>
BGF <a href="https://curl.se/docs/CVE-2022-35252.html">cookie: reject cookies with "control bytes"</a>
BGF <a href="https://curl.se/bug/?i=9164">cookie: treat a blank domain in Set-Cookie: as non-existing</a>
BGF <a href="https://curl.se/bug/?i=9095">cookie: use %zu to infof() for size_t values</a>
BGF <a href="https://curl.se/bug/?i=9179">curl-compilers.m4: make icc use -diag* options and disable two warnings</a>
BGF <a href="https://curl.se/bug/?i=9253">curl-config: quote directories with potential space</a>
BGF <a href="https://curl.se/bug/?i=9183">curl-confopts: remove leftover AC_REQUIREs</a>
BGF <a href="https://curl.se/bug/?i=9190">curl-functions.m4: check whether atomics can link</a>
BGF <a href="https://curl.se/bug/?i=9187">curl-wolfssl.m4: add options header when building test code</a>
BGF <a href="https://curl.se/bug/?i=9067">curl.h: CURLE_CONV_FAILED is obsoleted</a>
BGF <a href="https://curl.se/bug/?i=9329">curl.h: include <sys/select.h> on SunOS</a>
BGF <a href="https://curl.se/bug/?i=9064">curl: output warning when a cookie is dropped due to size</a>
BGF <a href="https://curl.se/bug/?i=9150">curl: writeout: fix repeated header outputs</a>
BGF <a href="https://curl.se/bug/?i=9310">Curl_close: call Curl_resolver_cancel to avoid memory-leak</a>
BGF <a href="https://curl.se/bug/?i=9235">curl_easy_header: Add CURLH_PSEUDO to sanity check</a>
BGF <a href="https://curl.se/bug/?i=9063">curl_mime_data.3: polish the wording</a>
BGF <a href="https://curl.se/bug/?i=9155">curl_multi_timeout.3: clarify usage</a>
BGF <a href="https://curl.se/bug/?i=9239">CURLINFO_SPEED_UPLOAD/DOWNLOAD.3: fix examples</a>
BGF <a href="https://curl.se/bug/?i=9354">CURLOPT_BUFFERSIZE.3: add upload buffersize to see also</a>
BGF <a href="https://curl.se/bug/?i=9244">CURLOPT_CONNECT_ONLY.3: clarify multi API use</a>
BGF <a href="https://curl.se/bug/?i=9104">CURLOPT_SERVER_RESPONSE_TIMEOUT: the new name</a>
BGF <a href="https://curl.se/bug/?i=9199">digest: fix memory leak, fix not quoted 'opaque'</a>
BGF <a href="https://curl.se/bug/?i=9090">digest: fix missing increment of 'nc' value for auth-int</a>
BGF <a href="https://curl.se/bug/?i=9264">digest: pass over leading spaces in qop values</a>
BGF <a href="https://curl.se/bug/?i=9077">digest: reject broken header with session protocol but without qop</a>
BGF <a href="https://curl.se/bug/?i=9352">docs/cmdline-opts/gen.pl: encode leading single and double quotes</a>
BGF <a href="https://curl.se/bug/?i=9298">docs/cmdline-opts: fix example and categories for --form-escape</a>
BGF <a href="https://curl.se/bug/?i=9221">docs/cmdline: mark fail and fail-with-body as mutually exclusive</a>
BGF <a href="https://curl.se/bug/?i=9229">docs: add dns category to --resolve</a>
BGF <a href="https://curl.se/bug/?i=9115">docs: explain curl_easy_escape/unescape curl handle is ignored</a>
BGF <a href="https://curl.se/bug/?i=9208">docs: remove him/her/he/she from documentation</a>
BGF <a href="https://curl.se/bug/?i=9174">doh: move doh related struct definitions to doh.h</a>
BGF <a href="https://curl.se/bug/?i=9163">doh: use https protocol by default</a>
BGF <a href="https://curl.se/bug/?i=9054">easy_lock.h: include sched.h if available to fix build</a>
BGF <a href="https://curl.se/bug/?i=9056">easy_lock.h: use __asm__ instead of asm to fix build</a>
BGF <a href="https://curl.se/bug/?i=8997">easy_lock: fix build for mingw</a>
BGF <a href="https://curl.se/bug/?i=9081">easy_lock: fix build with icc</a>
BGF <a href="https://curl.se/bug/?i=9058">easy_lock: fix the #ifdef conditional for ia32_pause</a>
BGF <a href="https://curl.se/bug/?i=9055">easy_lock: switch to using atomic_int instead of bool</a>
BGF <a href="https://curl.se/bug/?i=9176">easyoptions: fix icc warning</a>
BGF <a href="https://curl.se/bug/?i=9115">escape: remove outdated comment</a>
BGF <a href="https://curl.se/bug/?i=9330">examples/curlx.c: remove</a>
BGF <a href="https://curl.se/bug/?i=9259">file: add handling of native AmigaOS paths</a>
BGF <a href="https://curl.se/bug/?i=9181">file: fix icc enumerated type mixed with another type warning</a>
BGF <a href="https://curl.se/bug/?i=9184">ftp: use a correct expire ID for timer expiry</a>
BGF <a href="https://curl.se/bug/?i=9114">getinfo: return better error on NULL as first argument</a>
BGF <a href="https://curl.se/bug/?i=9179">GHA: add two Intel compiler CI jobs</a>
BGF <a href="https://curl.se/bug/?i=9309">GHA: move libressl CI from zuul to GitHub</a>
BGF <a href="https://curl.se/bug/?i=9331">gha: move over ngtcp2-gnutls CI job from zuul</a>
BGF <a href="https://curl.se/bug/?i=9310">GHA: mv CI torture test from Zuul</a>
BGF <a href="https://curl.se/bug/?i=9170">h2h3: fix overriding the 'TE: Trailers' header</a>
BGF <a href="https://curl.se/bug/?i=9192">hostip: resolve *.localhost to 127.0.0.1/::1</a>
BGF <a href="https://curl.se/bug/?i=9297">HTTP3.md: update to msh3 v0.4.0</a>
BGF <a href="https://curl.se/bug/?i=9179">http: typecast the httpreq assignment to avoid icc compiler warning</a>
BGF <a href="https://curl.se/bug/?i=9080">http_aws_sigv4.c: remove two unusued includes</a>
BGF <a href="https://curl.se/bug/?i=9179">http_chunks: remove an assign + typecast</a>
BGF <a href="https://curl.se/bug/?i=9217">hyper: customize test1274 to how hyper unfolds headers</a>
BGF <a href="https://curl.se/bug/?i=9216">hyper: enable obs-folded multiline headers</a>
BGF <a href="https://curl.se/bug/?i=9070">hyper: use wakers for curl pause/resume</a>
BGF <a href="https://curl.se/bug/?i=9289">imap: use ISALNUM() for alphanumeric checks</a>
BGF <a href="https://curl.se/bug/?i=9281">ldap: adapt to conn->port now being an 'int'</a>
BGF <a href="https://curl.se/bug/?i=9073">lib/curl_path.c: add ISC to license expression</a>
BGF <a href="https://curl.se/bug/?i=9172">lib3026: reduce the number of threads to 100</a>
BGF <a href="https://curl.se/bug/?i=9057">libcurl-security.3: fix typo on macro "SH_"</a>
BGF <a href="https://curl.se/bug/?i=9328">libssh2: make atime/mtime date overflow return error</a>
BGF <a href="https://curl.se/bug/?i=9369">libssh2: provide symlink name in SFTP dir listing</a>
BGF <a href="https://curl.se/bug/?i=9382">libssh: ignore deprecation warnings</a>
BGF <a href="https://curl.se/bug/?i=9328">libssh: make atime/mtime date overflow return error</a>
BGF <a href="https://curl.se/bug/?i=9132">Makefile.m32: add `CURL_RC` and `CURL_STRIP` variables [ci skip]</a>
BGF <a href="https://curl.se/bug/?i=9109">Makefile.m32: add `NGTCP2_LIBS` option [ci skip]</a>
BGF <a href="https://curl.se/bug/?i=9092">makefile.m32: add support for custom ARCH [ci skip]</a>
BGF <a href="https://curl.se/bug/?i=9314">Makefile.m32: allow -nghttp3/-ngtcp2 without -ssl [ci skip]</a>
BGF <a href="https://curl.se/bug/?i=9069">Makefile.m32: do not set the libcurl.rc debug flag [ci skip]</a>
BGF <a href="https://curl.se/bug/?i=9169">Makefile.m32: stop trying to build libcares.a [ci skip]</a>
BGF <a href="https://curl.se/bug/?i=9306">memdebug: add annotation attributes</a>
BGF <a href="https://curl.se/bug/?i=9185">mprintf: fix *dyn_vprintf() when out-of-memory</a>
BGF <a href="https://curl.se/bug/?i=9149">mprintf: make dprintf_formatf never return negative</a>
BGF <a href="https://curl.se/bug/?i=8915">msh3: fix the QUIC disconnect function</a>
BGF <a href="https://curl.se/bug/?i=9179">multi: fix the return code from Curl_pgrsDone()</a>
BGF <a href="https://curl.se/bug/?i=9335">multi: have curl_multi_remove_handle close CONNECT_ONLY transfer</a>
BGF <a href="https://curl.se/bug/?i=6132">multi: use a pipe instead of a socketpair on apple platforms</a>
BGF <a href="https://curl.se/bug/?i=9376">multi: use larger dns hash table for multi interface</a>
BGF <a href="https://curl.se/bug/?i=9372">multi_wait: fix and improve Curl_poll error handling on Windows</a>
BGF <a href="https://curl.se/bug/?i=9361">multi_wait: fix skipping to populate revents for extra_fds</a>
BGF <a href="https://curl.se/bug/?i=9111">netrc.d: remove spurious quote</a>
BGF <a href="https://curl.se/bug/?i=9248">netrc: Use the password from lines without login</a>
BGF <a href="https://curl.se/bug/?i=9204">ngtcp2: Fix build error due to change in nghttp3 prototypes</a>
BGF <a href="https://curl.se/bug/?i=9056">ngtcp2: fix incompatible function pointer types</a>
BGF <a href="https://curl.se/bug/?i=9118">ngtcp2: Fix missing initialization of nghttp3_nv.flags</a>
BGF <a href="https://curl.se/bug/?i=9122">ngtcp2: fix stall or busy loop on STOP_SENDING with upload data</a>
BGF <a href="https://curl.se/bug/?i=9135">ngtcp2: implement cb_h3_stop_sending and cb_h3_reset_stream callbacks</a>
BGF <a href="https://curl.se/bug/?i=9113">openssl: add `CURL_BORINGSSL_VERSION` to identify BoringSSL</a>
BGF <a href="https://curl.se/bug/?i=9349">openssl: add cert path in error message</a>
BGF <a href="https://curl.se/bug/?i=9228">openssl: add details to "unable to set client certificate" error</a>
BGF <a href="https://curl.se/bug/?i=9110">openssl: fix BoringSSL symbol conflicts with LDAP and Schannel</a>
BGF <a href="https://curl.se/bug/?i=9223">quiche: fix build failure</a>
BGF <a href="https://bugs.archlinux.org/task/75201">select: do not return fatal error on EINTR from poll()</a>
BGF <a href="https://curl.se/bug/?i=9180">sendf: fix paused header writes since after the header API</a>
BGF <a href="https://curl.se/bug/?i=9179">sendf: make Curl_debug a void function</a>
BGF <a href="https://curl.se/bug/?i=9179">sendf: skip storing HTTP headers if HTTP disabled</a>
BGF <a href="https://curl.se/bug/?i=9179">sendf: store the header type in an usigned char to avoid icc warnings</a>
BGF <a href="https://curl.se/bug/?i=9179">splay: avoid using -1 in unsigned variable</a>
BGF <a href="https://curl.se/bug/?i=9012">test3026: add support for Windows using native Win32 threads</a>
BGF <a href="https://curl.se/bug/?i=9141">test3026: require 'threadsafe'</a>
BGF <a href="https://curl.se/bug/?i=9250">test44[2-4]: add '--resolve' to the keywords</a>
BGF <a href="https://curl.se/bug/?i=9023">tests/server/sockfilt.c: avoid race condition without a mutex</a>
BGF <a href="https://curl.se/bug/?i=9364">tests: fix http2 tests to use CRLF headers</a>
BGF <a href="https://curl.se/bug/?i=9179">tests: several enumerated type cleanups</a>
BGF THANKS: merged two entries for Evgeny Grin
BGF <a href="https://curl.se/bug/?i=9044">tidy-up: delete unused build configuration macros</a>
BGF <a href="https://curl.se/bug/?i=9258">tool: reintroduce set file comment code for AmigaOS</a>
BGF <a href="https://curl.se/bug/?i=9179">tool_cfgable: make 'synthetic_error' a plain bool</a>
BGF <a href="https://curl.se/bug/?i=9179">tool_formparse: fix variable may be used before its value is set</a>
BGF <a href="https://curl.se/bug/?i=9207">tool_getparam: make --doh-url "" switch it off</a>
BGF <a href="https://curl.se/bug/?i=9128">tool_getparam: repair cleanarg</a>
BGF <a href="https://curl.se/bug/?i=9114">tool_operate: better cleanup of easy handle in exit path</a>
BGF <a href="https://curl.se/bug/?i=9179">tool_paramhlp: fix "enumerated type mixed with another type"</a>
BGF <a href="https://curl.se/bug/?i=9179">tool_paramhlp: make check_protocol return ParameterError</a>
BGF <a href="https://curl.se/bug/?i=9082">tool_progress: avoid division by zero in parallel progress meter</a>
BGF <a href="https://curl.se/bug/?i=9179">tool_writeout: fix enumerated type mixed with another type</a>
BGF <a href="https://curl.se/bug/?i=9162">trace: 0x7F character is non-printable</a>
BGF <a href="https://curl.se/bug/?i=9356">unit1303: four tests should have TRUE for 'connecting'</a>
BGF <a href="https://curl.se/bug/?i=9179">url: enumerated type mixed with another type</a>
BGF <a href="https://curl.se/bug/?i=9243">url: really use the user provided in the url when netrc entry exists</a>
BGF <a href="https://curl.se/bug/?i=9317">url: reject URLs with hostnames longer than 65535 bytes</a>
BGF <a href="https://curl.se/bug/?i=8653">url: treat missing usernames in netrc as empty</a>
BGF <a href="https://curl.se/bug/?i=9179">urldata: change second proxytype field to unsigned char to match</a>
BGF <a href="https://curl.se/bug/?i=9279">urldata: make 'negnpn' use less storage</a>
BGF <a href="https://curl.se/bug/?i=9179">urldata: make state.httpreq an unsigned char</a>
BGF <a href="https://curl.se/bug/?i=9278">urldata: make three *_proto struct fields smaller</a>
BGF <a href="https://curl.se/bug/?i=9280">urldata: move smaller fields down in connectdata struct</a>
BGF <a href="https://curl.se/bug/?i=9106">urldata: reduce size of several struct fields</a>
BGF <a href="https://curl.se/bug/?i=9179">vtls: make Curl_ssl_backend() return the enum type curl_sslbackend</a>
BGF <a href="https://curl.se/bug/?i=9027">windows: improve random source</a>
</ul>
<a name="7_84_0"></a>
SUBTITLE(Fixed in 7.84.0 - June 27 2022)
<p>
RELEASEVIDEO(curl 7.84.0 release video, "https://youtu.be/-FVFLJLrHRY")
<p> Changes:
<ul class="changes">
CHG <a href="https://curl.se/bug/?i=8671">curl: add --rate to set max request rate per time unit</a>
CHG <a href="https://curl.se/bug/?i=8670">curl: deprecate --random-file and --egd-file</a>
CHG <a href="https://curl.se/bug/?i=8680">curl_version_info: add CURL_VERSION_THREADSAFE</a>
CHG <a href="https://curl.se/bug/?i=8888">CURLINFO_CAPATH/CAINFO: get the default CA paths from libcurl</a>
CHG <a href="https://curl.se/bug/?i=8680">lib: make curl_global_init() threadsafe when possible</a>
CHG <a href="https://curl.se/bug/?i=7959">libssh2: add CURLOPT_SSH_HOSTKEYFUNCTION</a>
CHG <a href="https://curl.se/bug/?i=8670">opts: deprecate RANDOM_FILE and EGDSOCKET</a>
CHG <a href="https://curl.se/bug/?i=8668">socks: support unix sockets for socks proxy</a>
</ul>
<p> Bugfixes:
<ul class="bugfixes">
BGF <a href="https://curl.se/bug/?i=8814">aws-sigv4: fix potentional NULL pointer arithmetic</a>
BGF <a href="https://curl.se/bug/?i=8862">bindlocal: don't use a random port if port number would wrap</a>
BGF <a href="https://curl.se/bug/?i=8894">c-hyper: mark status line as status for Curl_client_write()</a>
BGF <a href="https://curl.se/bug/?i=9008">ci: avoid `cmake -Hpath`</a>
BGF <a href="https://curl.se/bug/?i=8815">CI: bump FreeBSD 13.0 to 13.1</a>
BGF <a href="https://curl.se/bug/?i=8843">ci: update github actions</a>