## Overview to Binary Compatibility

It is important for users that the software they buy and use continues to run on new releases of Symbian OS, and that it is transferable to new devices that contain the latest releases of the operating system. Ensuring that a new software release does not break existing software is known as maintaining Binary Compatibility (BC).

Binary Compatibility means that all Symbian platform published interfaces must be supported in the upcoming Symbian platform versions as well, in such a way, that there is no need to rebuild the already existing executables, which were developed and built against some previous Symbian platform version either by 3rd party application developers or other device manufacturers.

Preserving BC is a concern for:

- system developers responsible for the evolution of the operating system,
- any developer whose software provides services to client software,
- developers whose software uses such services and who should understand a problem that they may encounter.

### How to maintain BC?

Maintaining BC is a central aspect in common Symbian coding guidelines. BC can be broken if there is a mismatch between the part of the interface the executable was built against and the part of the interface the executable is running against, or the format of data files has changed. For general guidelines, see the Symbian Developer Coding Standards document.

For more information, see Header and library files in preserving compatibility.

##### Related references

- Reported Binary Compatibility issues
- Reported library analysis issues