As is the case with the Evolution front-end application, the SDK component will not necessarily be backward-compatible with Evolution databases originating from earlier versions of the product.
As far as managing compatibility is concerned,
- SDK fixes and new features will be implemented for current SDK Versions and not on Legacy SDK Versions. If a client is on a legacy SDK Version then their Evolution application and SDK dll will have to be upgraded.
- Advise your clients to not upgrade their Evolution databases without consulting with you, their developer first. In essence, you need to ensure compatibility between your product and different versions of Evolution before any upgrades.
- Make use of the static properties in DatabaseContext, CurrentDatabaseVersion and CompatibleDatabaseVersion in the Defaults class. It is advisable that a difference between these values be logged by your application. Such a difference does not necessarily indicate incompatibility, but it will serve as a starting point for troubleshooting issues arising in integration, especially in cases where the client has inadvertently upgraded their database.
SDK updates are available on request and in extreme situations you will be notified via e-mail that an upgrade is available.
In a .NET project, upgrading involves replacing the referenced Pastel.Evolution DLL with the new DLL and rebuilding the project. Some changes may be required from time to time and as far as possible, the Obsolete attribute will raise compiler warnings to indicate these required changes.
When using the SDK through COM, follow the COM registration procedure on all development and end-user machines.
Following an SDK upgrade, especially a major product version upgrade, some testing is always encouraged.