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.
|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.
Changes made to the non-public API does not have to follow the same rules.