Subject: Re: API change between 1.4.0 and 1.5.0

Re: API change between 1.4.0 and 1.5.0

From: Guenter Knauf <>
Date: Fri, 15 Feb 2008 19:51:21 +0100

Hi Steinar,
> TBH, compiling libraries is not the job of a local administrator, it is
> the job of whoever maintains the operating system he/she uses.
yeah, our strong wish - however reality is something other;
or would you ever expect MS to provide a libcares.dll?
And even if we speak about Linux then we have probably the situation that the vendor updates to latest;
and the binding isnt updated yet, and hence you're lost and have to go without your binding now.

> APIs change with time. We can either deal with the breakage (which is
> rather
> simple to fix), or we can keep the old versions around forever,
> accumulating
> an infinite amount of baggage over time. You cannot expect every new
> version
> of a library to keep the same API around forever. (You can expect every
> new
> version of a library that changes API/ABI to also bump sonames, though,
> and
> you can expect API breakages to be documented. Both of these are done in
> this case.)
The point here is that such a breakage forces each and every lib consumer to update their code and insert such defines, while if we would do it in a way as I suggested then that would only mean that those apps which want to make use of the new features would now have to update to use the *_ex functions, and that couldnt be that much given that the change was around 2007-Nov.
Also in this case the only 'garbage' would be the two defines.

>> and I hope here that its valid to pass in NULL for the missing vars,
>> havent checked yet the functions.

> It's allowed.

Received on 2008-02-15