Subject: Re: API change between 1.4.0 and 1.5.0

Re: API change between 1.4.0 and 1.5.0

From: Steinar H. Gunderson <>
Date: Fri, 15 Feb 2008 19:58:10 +0100

2008/2/15, Guenter Knauf <>:
> yeah, our strong wish - however reality is something other;
> or would you ever expect MS to provide a libcares.dll?

If you're on Windows, I would expect you're using someone's binary
distribution of the PHP module in question. The situation isn't much
different, except that the pieces are not provided from one central place.

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.

This sentence makes no sense to me, sorry. If your distribution cannot do
handle a simple soname bump correctly, you should find another one.

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.

Look at MySQL. They did exactly this, which means that now, even five (or
ten?) years after, we need to use mysql_real_connect() instead of
mysql_connect() because people thought it would be easier not to break the
API at some point. And if you change the function again, what are you going
to call it? *_ex_ex? *_ex2?

/* Steinar */

Software Engineer, Google Norway
Received on 2008-02-15