Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [paho-dev] Paho Python client v2.1.0 release

Pierre Fersing via paho-dev <paho-dev@xxxxxxxxxxx> writes:

> not every program. What was done is that the callback version default
> to V1 which means that:
>
> * program that provide zero argument to Client() will work
>
> * program that provide only keyword argument to Client() will work
>
> Support for 1.6.1 and 2.1.0 is now easier as long as you only use
> keyword argument to Client(), but not with positional arguments. I'll
> look if I can support defaulting on V1 even when using positional
> arguments.

Thanks.  That helps a lot, as changing a progam to keyword args only is
easy and then it can work with either.

> I've indeed missed the use-case of distribution that had to held the
> version until all packages using it have upgraded.

I would expect that this is the typical approach in packaging systems.
I would be interested to hear what happened in FreeBSD ports, macports,
Debian, Fedora, and others.  Having API breaks, where old code doesn't
work, is trememndously painful and basically should not happen.  In this
case, I don't understand why an incompatible signature couldn't have had
a new name, so the 2.x impl could provide both interfaces.  Upstreams
for many programs to not have new releases in a timely manner, so the
time to transisition needs to be multiple years.

But, now I think packagers can patch old code to be keyword only, and
then things are ok.





Back to the top