On Fri, Sep 10, 2021 at 05:20:24PM +0200, Daniel Stenberg wrote: > On Fri, 10 Sep 2021, Jeff King wrote: > > > > The newest symbol we depend on is CURL_HTTP_VERSION_2. It was added > > > in 7.33.0, but the CURL_HTTP_VERSION_2 alias we used was added in > > > 7.47.0. So we could support an even older version here, but let's > > > just correct the checked version. > > > > Thanks for expanding on the history here. I agree it probably doesn't > > matter much between the two versions, as they're both 6+ years old (and > > only about 6 months apart). If somebody has a case where it really > > matters, they can submit a patch. > > Forgive me for digressing a bit here but wow, I *so* appreciate your digging > into the details of the curl history and the symbols that were introduced > when etc. I know of no other libcurl-using project with this eye and sense > for historic details and as the lead maintainer of libcurl I learn a lot > here. It also keeps me motivated to provide this documentation and work on > keeping in accurate. This documentation is most definitely appreciated. As is your continued support and attention to our issues, not to mention just having libcurl in general. :) There are two related things that came up in this discussion that might be of interest to you: - it would be convenient if libcurl provided preprocessor macros indicating a feature was present. E.g., if we could say: #ifdef CURL_HAVE_FOO rather than checking that "FOO" showed up in version 7.60.0 or whatever. That has two advantages. One, it's just less work and harder to get wrong. But two, it could help for cases where distros backport features (i.e., the version-to-feature mapping is not always 100% correct). Obviously that can't help historical versions, but maybe something to think about as new features are added. - Ævar mentioned at the end of: https://lore.kernel.org/git/87tuiscwso.fsf@xxxxxxxxxxxxxxxxxxx/ that the tags in the curl repo sometime seem to differ from the releases. -Peff