It's all about the answers!

Ask a question

API backward compatibility

Andre Gusmao (802540) | asked Jun 02 '17, 10:58 a.m.


I'm working with a customer in the CLM upgrade. Currently they are in 5.0.2 and they will upgrade to 6.0.3 sometime soon.
One of the main concerns is about the API backward compatibility. They have developed some advisors using the Java API and they also have developed some reports using the REST API.
The question is: where can I find details about the API backward compatibility?
Is the Java API in version 5.0.2 fully compatible with the Java API in 6.0.3?
What about the REST API?
About the OSLC API my understanding is that nothing changed from 5.0.2 to 6.0.3. Is this correct?


Accepted answer

permanent link
Ralph Schoon (63.1k33646) | answered Jun 02 '17, 12:11 p.m.
edited Jun 02 '17, 12:17 p.m.

In general we understand backwards compatibility the compatibility of a newer (higher) version to an older (lower) version, I think.

In general, if all versions would be fully compatible, there would never be progress so that makes no sense.

Observations with the APIs and forward compatibility of extensions (developed for older versions to be deployed in newer versions) I have made are described here

Usually new features are added. Old API usually works, but not always and it is a good idea to test and you might have to incoporate API changes. 6.x has a lot of additional features, but it did not break the Java APIs as far as I am aware.

Andre Gusmao selected this answer as the correct answer

Andre Gusmao commented Jun 02 '17, 2:59 p.m.

Thanks Ralph. I also find another post in your blog ( which helps understand the changes in the RTC SDK for 6.0.3.
What about the REST and OSLC APIs? I did not find any information about changes in these two for version 6.X.


One other answer

permanent link
Geoffrey Clemm (30.1k33035) | answered Jun 03 '17, 6:22 p.m.

 My understanding is that the design goal is for the OSLC APIs to be backward compatible (i.e. calls continue to work in later releases), and for the Java APIs documented in the "Plain Java Client Libraries API" on the RTC all-downloads page to be backward compatible.   Also, the RTC scm command line with the -json flag specified is intended to be backward compatible.

But note that this is the design goal ... the reality may vary, so real experience from someone like Ralph is a more accurate statement on the current state of affairs.

All other API's are "buyer beware" ... they are not gratuitously changed, but if new functionality requires a change to the API, that change will be made.  This includes non-OSLC REST/HTTP APIs, Java APIs not document in the "Plain Java Client Libraries API", and the RTC scm command line without the -json flag.

Your answer

Register or to post your answer.

Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.