31.3.3. API changes and backwards compatibility

The main rule is to do not introduce any changes that are backwards incompatible. That is, existing client applications and plug-ins should continue to run in the next release of BASE, without the need to change them. It may sound easy but there are many things to watch out for.

[Important] Do not forget to log changes!

Any change that may affect backwards compatibility must be logged in Appendix K, API changes that may affect backwards compatibility.

There is a great article about this subject on http://wiki.eclipse.org/index.php/Evolving_Java-based_APIs. This is what we will try to comply with.

Does the changes affect the Public API?

See Section 29.1, “The Public API of BASE” and the javadocfor information about the public API.

Changes made to the non-public API does not have to follow the same rules.

Contract compatibility


Binary compatibility


Internal data structure compatibility


Source code compatibility