Compatibility Tango 9, Tango 8

I wonder if tango 9 is compatible with tango 8.
I've got a tango db which runs on Ubuntu 14.04 with Tango 8.
My devices runs on the computer A with Windows 7 and tango 9.1.
I want to run my GUI on the computer B with windows 7 and tango 8.
My devices run well on computer A (device green on astor, and no error on jive).
On computer B astor tells me no stater runs on computer A and for jive the devices are not exported.
What's happend?

Hi Mickael,
backwards and forwards compatibility is supported between all versions. So in your case there should be no issue. I can only think that on computer B you have specified the wrong TANGO_HOST or there is a problem connecting via the network between the two.
Can you tell us more about your computer network setup?
Hi Andy,
You were right, it was a bad network configuration. The computer A is a new computer, so the firewall wasn't well configured.
Thanks for your help.

backwards and forwards compatibility is supported between all versions.

Hello there,

I'm digging up this old post but I wanted to ask if that forward and backward compatibility was mentioned as a feature of Tango (with any kind of compatibility matrix for example) somewhere as I could not find anything about that in the online documentation (except sometimes like Database command "This old command is not deleted for compatibility reasons" but without further explanations).

Guillaume DI FRANCO
Thales - Software Engineer Manager
Hi Hiro,

the goal when designing and developing Tango was to maintain compatibility between all versions i.e. V1 clients should be compatible with all version up to Vn of servers and vice-versa. The latest version V9 should be compatible with V1. However in practice no sites are running V1 to V4 to my knowledge so we have not tested this compatibility for all versions recently. The compatibility is achieved by client and server negotiating which is the highest common version they both support and then uses that. This is mentioned in the publications on Tango but is missing from the documentation.

However if the client tries to use a newer feature than the version supported by the server then it will get an error. We do not have a list of the features concerned by this (except by reading the CHANGES file with each release), an example is Pipes which were added later (V8?). In your case the version 8 and 9 are the two most recent major stable versions and should be compatible between client and server. This is what is also what the RFC specification says / will say (they are still in draft but will hopefully be available by the end of the week).

You are right we should have a matrix of which features were added in which version. There have been very few new ones, do you have any specific features in mind in your use case?

I hope this helps.

My above comment applies to compatibility between client and server on the network level. I forgot to mention binary compatibility. Up until now we have maintained binary compatibility between different versions of the same major version. In the next version of V9 (9.4.x) this will not be the case anymore. Clients and servers will need to be recompiled to be linked with V9.4
Hi Andy,

All of our devices have been developed using Tango 8 version and very few of them have been ported to Tango 9. Indeed, there is most of the time no specific reason to port a device to Tango 9 if we do not need any of its new functionalities, especially if the device is working properly.
These ports have been mostly performed due to specific requests from our customers that wanted the latest version of Tango without knowing what it really meant and implied (as we have to fully re-qualify the updated version).
We shall always explain that "Tango version X" can be understood as:
  • Tango Database and tool in version X
  • Device server built using Tango X libraries
Then we shall understand which use case is relevant for our customers and make them understand that device built with former Tango version will remain functional with more up to date Tango database and tools.
But, when we are asked about "proof" about both forward and backward compatible we are kind of stuck due to the lack of proper documentation.

Now, having a compatibility matrix that shows which functionality (e.g. Enum in Tango 9) are available may be useful to make decision on whether or not upgrading an "old" device while updating its functionalities.

Guillaume DI FRANCO
Thales - Software Engineer Manager
Register or login to create to post a reply.