Den ons 6 aug. 2025 kl 10:16 skrev Branko Čibej <br...@apache.org>: > On 6. 8. 25 09:44, Daniel Sahlberg wrote: > > Hi, > > > > Does anyone have notes on how the ABI Timeline on the website[1] was > > created? > > Never been there. > > > I'm trying to recreate it and after fighting with different distributions > > trying to build all historic versions, I believe I've managed to do it > > (using Debian 8 to get an old-enough Python), but I'm not able to > generate > > a webpage. > > > > The goal of the above was to generate a new list of public APIs that has > > changed - in particular to get an idea of the new APIs in trunk > (=>upcoming > > 1.5). > > > Looking at the ABI tracker, I see some issues: first of all, the SONAME > is wrong pretty much everywhere. It combines the actual SONAME and the > major version. It would be better to have two columns, the library base > name (e.g., serf-0, serf-1, serf-2) and the SONAME (0, 1, 2), which is > the actual compatibility version of the shared lib. For example, in > 'libserf-1.1.dylib', the SONAME is the '.1.' part not the '-1.1.' part. > > It is also not true that we've removed a public API in trunk, I'm not > sure where that came from. > This is possibly an artefact of the comparison, the header diff shows an > unnamed public struct "removed" and replaced by "struct serf_databuf_t", > but it's the same structure. > > Another problem is that in some cases, whatever generated this also > compared serf_private.h and then reported a 90.3% backward compatibility > ... serf_private.h is not a public header and has no effect on the ABI. >
Good catches, thanks. I'll have a look. My initial goal is to regenerate the file Andreas previously to verify I'm doing it right. Then incrementally improve it, taking these points into consideration. Finally adding 1.3.10 and current trunk. > > > > Second question is to generate a public API documentation, similar to > > Subversion's. It seems Jim Jagielski asked about this a few years > ago[2]. I > > have thought about borrowing Subversion's doxygen config and just try to > > generate something based on this to add to the website. Thoughts? > > > We can use Subversion's or APR's config, yes. The Doxygen markup isn't > complete, but should be good enough, I suppose. I suggest generating > only the latest version of each supported branch, so that would be 1.3.x > and maybe trunk for the curious. > Better than current state I'd say. I'll look at what is missing and try to add these. Cheers, Daniel > > > > > > Cheers, > > Daniel > > > > [1]https://serf.apache.org/abi/timeline/serf/index.html > > [2]https://lists.apache.org/thread/v58msct774q2bc6p7l3qnocgtnp7qf7n > > >