🠰 7.84.0 all changes 7.86.0 🠲
Changes in 7.85.0 - August 31 2022
Changes:
- quic: add support via wolfSSL
- schannel: Add TLS 1.3 support
- setopt: add CURLOPT_PROTOCOLS_STR and CURLOPT_REDIR_PROTOCOLS_STR
Bugfixes:
- amigaos: fix threaded resolver on AmigaOS 4.x
- amissl: allow AmiSSL to be used with AmigaOS 4.x builds
- amissl: make AmiSSL v5 a minimum requirement
- asyn-ares: make a single alloc out of hostname + async data
- asyn-thread: fix socket leak on OOM
- asyn-thread: make getaddrinfo_complete return CURLcode
- base64: base64url encoding has no padding
- BUGS.md: improve language
- build: improve OS string in CMake and `config-win32.h`
- cert.d: clarify that escape character works for file paths
- cirrus.yml: replace py38-pip with py39-pip
- cirrus/freebsd-ci: bootstrap the pip installer
- cmake: add detection of threadsafe feature
- cmake: do not force Windows target versions
- cmake: fix build for mingw cross compile
- cmake: link curl to its dependencies with PRIVATE
- cmake: remove APPEND in export(TARGETS)
- cmake: set feature PSL if present
- cmake: support ngtcp2 boringssl backend
- cmdline-opts/gen.pl: improve performance
- config: remove the check for and use of SIZEOF_SHORT
- configure: -pthread not available on AmigaOS 4.x
- configure: check for the stdatomic.h header in configure
- configure: fix --disable-headers-api
- configure: fix broken m4 syntax in TLS options
- configure: fixup bsdsocket detection code for AmigaOS 4.x
- configure: if asked to use TLS, fail if no TLS lib was detected
- configure: introduce CURL_SIZEOF
- connect: add quic connection information
- connect: close the happy eyeballs loser connection when using QUIC
- connect: revert the use of IP*_RECVERR
- connect: set socktype/protocol correctly
- cookie: reject cookies with "control bytes"
- cookie: treat a blank domain in Set-Cookie: as non-existing
- cookie: use %zu to infof() for size_t values
- curl-compilers.m4: make icc use -diag* options and disable two warnings
- curl-config: quote directories with potential space
- curl-confopts: remove leftover AC_REQUIREs
- curl-functions.m4: check whether atomics can link
- curl-wolfssl.m4: add options header when building test code
- curl.h: CURLE_CONV_FAILED is obsoleted
- curl.h: include <sys/select.h> on SunOS
- curl: output warning when a cookie is dropped due to size
- curl: writeout: fix repeated header outputs
- Curl_close: call Curl_resolver_cancel to avoid memory-leak
- curl_easy_header: Add CURLH_PSEUDO to sanity check
- curl_mime_data.3: polish the wording
- curl_multi_timeout.3: clarify usage
- CURLINFO_SPEED_UPLOAD/DOWNLOAD.3: fix examples
- CURLOPT_BUFFERSIZE.3: add upload buffersize to see also
- CURLOPT_CONNECT_ONLY.3: clarify multi API use
- CURLOPT_SERVER_RESPONSE_TIMEOUT: the new name
- digest: fix memory leak, fix not quoted 'opaque'
- digest: fix missing increment of 'nc' value for auth-int
- digest: pass over leading spaces in qop values
- digest: reject broken header with session protocol but without qop
- docs/cmdline-opts/gen.pl: encode leading single and double quotes
- docs/cmdline-opts: fix example and categories for --form-escape
- docs/cmdline: mark fail and fail-with-body as mutually exclusive
- docs: add dns category to --resolve
- docs: explain curl_easy_escape/unescape curl handle is ignored
- docs: remove him/her/he/she from documentation
- doh: move doh related struct definitions to doh.h
- doh: use https protocol by default
- easy_lock.h: include sched.h if available to fix build
- easy_lock.h: use __asm__ instead of asm to fix build
- easy_lock: fix build for mingw
- easy_lock: fix build with icc
- easy_lock: fix the #ifdef conditional for ia32_pause
- easy_lock: switch to using atomic_int instead of bool
- easyoptions: fix icc warning
- escape: remove outdated comment
- examples/curlx.c: remove
- file: add handling of native AmigaOS paths
- file: fix icc enumerated type mixed with another type warning
- ftp: use a correct expire ID for timer expiry
- getinfo: return better error on NULL as first argument
- GHA: add two Intel compiler CI jobs
- GHA: move libressl CI from zuul to GitHub
- gha: move over ngtcp2-gnutls CI job from zuul
- GHA: mv CI torture test from Zuul
- h2h3: fix overriding the 'TE: Trailers' header
- hostip: resolve *.localhost to 127.0.0.1/::1
- HTTP3.md: update to msh3 v0.4.0
- http: typecast the httpreq assignment to avoid icc compiler warning
- http_aws_sigv4.c: remove two unusued includes
- http_chunks: remove an assign + typecast
- hyper: customize test1274 to how hyper unfolds headers
- hyper: enable obs-folded multiline headers
- hyper: use wakers for curl pause/resume
- imap: use ISALNUM() for alphanumeric checks
- ldap: adapt to conn->port now being an 'int'
- lib/curl_path.c: add ISC to license expression
- lib3026: reduce the number of threads to 100
- libcurl-security.3: fix typo on macro "SH_"
- libssh2: make atime/mtime date overflow return error
- libssh2: provide symlink name in SFTP dir listing
- libssh: ignore deprecation warnings
- libssh: make atime/mtime date overflow return error
- Makefile.m32: add `CURL_RC` and `CURL_STRIP` variables [ci skip]
- Makefile.m32: add `NGTCP2_LIBS` option [ci skip]
- makefile.m32: add support for custom ARCH [ci skip]
- Makefile.m32: allow -nghttp3/-ngtcp2 without -ssl [ci skip]
- Makefile.m32: do not set the libcurl.rc debug flag [ci skip]
- Makefile.m32: stop trying to build libcares.a [ci skip]
- memdebug: add annotation attributes
- mprintf: fix *dyn_vprintf() when out-of-memory
- mprintf: make dprintf_formatf never return negative
- msh3: fix the QUIC disconnect function
- multi: fix the return code from Curl_pgrsDone()
- multi: have curl_multi_remove_handle close CONNECT_ONLY transfer
- multi: use a pipe instead of a socketpair on apple platforms
- multi: use larger dns hash table for multi interface
- multi_wait: fix and improve Curl_poll error handling on Windows
- multi_wait: fix skipping to populate revents for extra_fds
- netrc.d: remove spurious quote
- netrc: Use the password from lines without login
- ngtcp2: Fix build error due to change in nghttp3 prototypes
- ngtcp2: fix incompatible function pointer types
- ngtcp2: Fix missing initialization of nghttp3_nv.flags
- ngtcp2: fix stall or busy loop on STOP_SENDING with upload data
- ngtcp2: implement cb_h3_stop_sending and cb_h3_reset_stream callbacks
- openssl: add `CURL_BORINGSSL_VERSION` to identify BoringSSL
- openssl: add cert path in error message
- openssl: add details to "unable to set client certificate" error
- openssl: fix BoringSSL symbol conflicts with LDAP and Schannel
- quiche: fix build failure
- select: do not return fatal error on EINTR from poll()
- sendf: fix paused header writes since after the header API
- sendf: make Curl_debug a void function
- sendf: skip storing HTTP headers if HTTP disabled
- sendf: store the header type in an usigned char to avoid icc warnings
- splay: avoid using -1 in unsigned variable
- test3026: add support for Windows using native Win32 threads
- test3026: require 'threadsafe'
- test44[2-4]: add '--resolve' to the keywords
- tests/server/sockfilt.c: avoid race condition without a mutex
- tests: fix http2 tests to use CRLF headers
- tests: several enumerated type cleanups
- THANKS: merged two entries for Evgeny Grin
- tidy-up: delete unused build configuration macros
- tool: reintroduce set file comment code for AmigaOS
- tool_cfgable: make 'synthetic_error' a plain bool
- tool_formparse: fix variable may be used before its value is set
- tool_getparam: make --doh-url "" switch it off
- tool_getparam: repair cleanarg
- tool_operate: better cleanup of easy handle in exit path
- tool_paramhlp: fix "enumerated type mixed with another type"
- tool_paramhlp: make check_protocol return ParameterError
- tool_progress: avoid division by zero in parallel progress meter
- tool_writeout: fix enumerated type mixed with another type
- trace: 0x7F character is non-printable
- unit1303: four tests should have TRUE for 'connecting'
- url: enumerated type mixed with another type
- url: really use the user provided in the url when netrc entry exists
- url: reject URLs with hostnames longer than 65535 bytes
- url: treat missing usernames in netrc as empty
- urldata: change second proxytype field to unsigned char to match
- urldata: make 'negnpn' use less storage
- urldata: make state.httpreq an unsigned char
- urldata: make three *_proto struct fields smaller
- urldata: move smaller fields down in connectdata struct
- urldata: reduce size of several struct fields
- vtls: make Curl_ssl_backend() return the enum type curl_sslbackend
- windows: improve random source