Eighteen years of ABI stability
Exactly eighteen years ago today, on October 30 2006, we shipped curl 7.16.0 that among a whole slew of new features and set of bugfixes bumped the libcurl SONAME number from 3 to 4. ABI breakage This...
View ArticlexCurl
It is often said that Imitation is the Sincerest Form of Flattery. Also, remember libcrurl? That was the name of the thing Google once planned to do: reimplement the libcurl API on top of their Chrome...
View ArticleMaking libcurl init more thread-safe
Twenty-one years ago, in May 2001 we introduced the global initialization function to libcurl version 7.8 called curl_global_init(). The main reason we needed this separate function to get called...
View ArticleA headers API for libcurl
For many years we’ve had this outstanding idea to add a new API to libcurl that would offer applications easy access to HTTP response headers. Applications could already retrieve the headers using...
View ArticleYou wanted WebSockets?
WebSockets has been one of the most requested features and protocol to add to curl and libcurl in the annual user survey. Repeatedly, over the last few years. WebSockets is not perfectly suitable to...
View ArticleHeading towards curl eight
There’s plan for version 8 being forged! Let me just take you back a bit in time first.. The early days When we first created libcurl, we bumped the major version number of the project from the...
View ArticleImagining a thread-safe curl_global_init
libcurl is thread-safe That’s the primary message that we push and that’s important to remember. You can write a multi-threaded application that does concurrent Internet transfers with libcurl in as...
View ArticleThis is your wake up curl
curl_multi_wakeup() is a new friend in the libcurl API family. It will show up for the first time in the upcoming 7.68.0 release, scheduled to happen on January 8th 2020. Sleeping is important One of...
View ArticleThe future of HTTP Symposium
This year’s version of curl up started a little differently: With an afternoon of HTTP presentations. The event took place the same week the IETF meeting has just ended here in Prague so we got the...
View ArticleQUIC and missing APIs
I trust you’ve heard by now that HTTP/3 is coming. It is the next destined HTTP version, targeted to get published as an RFC in July 2019. Not very far off. HTTP/3 will not be done over TCP. It will...
View ArticleReducing 2038-problems in curl
tldr: we’ve made curl handle dates beyond 2038 better on systems with 32 bit longs. libcurl is very portable and is built and used on virtually all current widely used operating systems that run on...
View Articlefcurl is fread and friends for URLs
This whole family of functions, fopen, fread, fwrite, fgets, fclose and more are defined in the C standard since C89. You can’t really call yourself a C programmer without knowing them and probably...
View ArticleUsing APIs without reading docs
This morning, my debug session was interrupted for a brief moment when two friends independently of each other pinged me to inform me about a talk at the current SEC-T conference going on here in...
View Article