🠰 7.74.0 all changes 7.76.0 🠲
Changes in 7.75.0 - February 3 2021
Changes:
- curl: add --create-file-mode [mode]
- curl: add new variables to --write-out
- dns: extend CURLOPT_RESOLVE syntax for adding non-permanent entries
- gopher: implement secure gopher protocol
- http: add Hyper as new optional HTTP backend
- http: introduce AWS HTTP v4 Signature support
Bugfixes:
- badsymbols.pl: add verbose mode -v
- badsymbols.pl: ignore stand-alone single hash lines
- BUG-BOUNTY: minor language updates
- build: fix djgpp builds
- cleanup: fix empty expression statement has no effect
- cmake: Add an option to disable libidn2
- cmake: enable gophers correctly in curl-config
- cmake: expose CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG
- cmdline-opts/gen.pl: return hard on errors
- cmdline-opts/retry.d: mention response code 429 as well
- configure: set -Wextra-semi-stmt for clang with --enable-debug
- connect: defer port selection until connect() time
- connect: mark intentional ignores of setsockopt return values
- connect: on linux, enable reporting of all ICMP errors on UDP sockets
- connect: zero variable on stack to silence valgrind complaint
- cookie: avoid the C1001 internal compiler error with MSVC 14
- curl.1: fix typo microsft -> microsoft
- curl: fix handling of -q option
- curl: include the filename in --xattr/--remote-time error msgs
- curl: move fprintf outputs to warnf
- Curl_chunker: shrink the struct
- curl_easy_pause.3: add multiplexed pause effects
- CURLINFO_PRETRANSFER_TIME.3: clarify
- CURLOPT_URL.3: remove scheme specific details
- digest_sspi: Show InitializeSecurityContext errors in verbose mode
- docs/examples: adjust prototypes for CURLOPT_READFUNCTION
- docs/URL-SYNTAX: the URL syntax curl accepts and works with
- docs: enable syntax highlighting in several docs files
- docs: fix line length bug in gen.pl
- docs: fix typos in NEW-PROTOCOL.md
- docs: fix wrong documentation in help.d
- docs: remove redundant "better" in --fail help
- doh: allocate state struct on demand
- examples/libtest: add .checksrc to dist
- examples: remove superfluous asterisk uses
- failf: remove newline from formatting strings
- file: don't provide content-length for directories
- getinfo: build with disabled HTTP support
- gitattributes: Set batch files to CRLF line endings on checkout
- h2: do not wait for RECV on paused transfers
- HISTORY: added dates to early history
- http: empty reply connection are not left intact
- http: get CURLOPT_REQUEST_TARGET working with an HTTP proxy
- http: have CURLOPT_FAILONERROR fail after all headers
- http: make providing Proxy-Connection header not cause duplicated headers
- http: show the request as headers even when split-sending
- http_chunks: correct and clarify a comment on hexnumber length
- http_proxy: Fix CONNECT chunked encoding race condition
- httpauth: make multi-request auth work with custom port
- INSTALL: now at 85 operating systems
- INSTALL: update the list known OSes and CPU archs curl has run on
- lib/unit tests: add missing curl_global_cleanup() calls
- lib1564/5: verify that curl_multi_wakeup returns OK
- lib: pass in 'struct Curl_easy *' to most functions
- lib: remove Curl_ prefix from many static functions
- lib: save a bit of space with some structure packing
- libssh2: fix "Value stored to 'readdir_len' is never read"
- libssh2: move data from connection object to transfer object
- libssh: avoid plain free() of libssh-memory
- mime: make sure setting MIMEPOST to NULL resets properly
- misc: assorted typo fixes
- misc: fix "warning: empty expression statement has no effect"
- misc: fix typos
- mk-ca-bundle.pl: deterministic output when using -t
- mqtt: deal with 0 byte reads correctly
- mqtt: handle POST/PUBLISH without a set POSTFIELDSIZE
- multi: set the PRETRANSFER time-stamp when we switch to PERFORM
- multi: skip DONE state if there's no connection left for ftp wildcard
- multi: when erroring in TOOFAST state, act as for PERFORM
- multi_runsingle: bail out early on data->conn == NULL
- ngtcp2: Fix http3 upload stall
- ngtcp2: Fix stack buffer overflow
- ngtcp2: make it build it current master again
- nss: get the runtime version instead of build-time
- openssl: lowercase the hostname before using it for SNI
- OS400: update ccsidcurl.c
- pretransfer: setup the User-Agent header here
- quiche: remove fprintf() leftover
- Revert "CI/github: work-around for brew breakage on macOS"
- runtests: add 'wakeup' as a feature
- runtests: add support for %if [feature] conditions
- runtests: preprocess DISABLED to allow conditionals
- schannel: plug a memory-leak
- schannel_verify: fix safefree call typo
- select: convert Curl_select() to private static function
- socks: use the download buffer instead
- speedcheck: exclude paused transfers
- strerror: skip errnum >= 0 assertion on windows
- test1522: add debug tracing
- test1633: set appropriate name
- test179: use consistent header line endings
- test410: verify HTTPS GET with a 49K request header
- tests/mqttd: extract the client id from the correct offset
- tests: make --libcurl tests only test FTP options if ftp enabled
- tool_doswin: Restore original console settings on CTRL signal
- tool_operate: fix the suppression logic of some error messages
- tool_operate: spellfix a comment
- tooĺ_writeout: fix the -w time output units
- transfer: fix GCC 10 warning with flag '-Wint-in-bool-context'
- travis: build ngtcp2 --with-gnutls
- travis: limit the tests with quiche builds to HTTPS and FTPS only
- travis: restrict the openssl3 job to only run https and ftps tests
- url: if IDNA conversion fails, fallback to Transitional
- urldata: make magic be the first struct field
- urldata: remove 'local_ip' from the connectdata struct
- urldata: remove duplicate 'upkeep_interval_ms' from connectdata
- urldata: remove duplicate port number storage
- urldata: remove the duplicate 'ip_addr_str' field
- urldata: store ip version in a single byte
- vtls: remove md5sum
- warnless: remove curlx_ultosi
- wolfssl: add SECURE_RENEGOTIATION support
- wolfssl: Support wolfSSL builds missing TLS 1.1