irmen / Pyro4

Pyro 4.x - Python remote objects

Home Page:http://pyro4.readthedocs.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Network compatibility between two different Pyro versions

pevogam opened this issue · comments

Hi Irmen,

Is there a good place to read about backward compatibility among Pyro versions? I encountered an error when using Pyro 4.25 on one side and 4.63 on another (interchangeable client-server roles) where the client hangs indefinitely while trying to connect. The same networking setup works fine when the Pyro versions correspond in both the older and the newer version. I don't mind using using the same version as this is clearly a preferred situation but my worries are about backward compatibility when testing older tags of our git tree. Switching to older commits will require us to reinstall Pyro on one side each time.

Thanks in advance for any hints,
Plamen

I'll redirect you to the change log in the Pyro documentation; I always try to write about compatibility changes or issues here when a new version comes out:
http://pyro4.readthedocs.io/en/stable/changelog.html

Also I try to keep new Pyro versions backwards compatible as much as I can, but sometimes new features or fixes really require an incompatible wire protocol change. Sometimes this change could be detected by Pyro itself and it can give an appropriate error message, sometimes this wasn't possible and you'll experience other types of errors or communication failures like you mentioned.

4.25 is very old though and info about is is no longer in the current version of the change log. However you can go back in time say a year ago and find the details in the log from that time there:
https://github.com/irmen/Pyro4/blob/58f07c01954127e4c64fc333463e5eaaff91f4ca/docs/source/changelog.rst

Finally, based on the change log, I think Pyro 4.46 is the oldest Pyro version that is still wire protocol compatible with the current version but I'm not entirely sure. Anything older than 4.38 definitely don't work with recent versions because it explicitly mentions an incompatible wire protocl change.

I don't actively test all this.

Ok great, thanks a lot!