The version numbering used here adheres to the concepts outlined in https://semver.org/.
@file
#define SX_PK_VERSION_HEADER_FILE
/ Copyright (c) 2018-2020 Silex Insight sa Copyright (c) 2014-2020 Beerten Engineering scs SPDX-License-Identifier: BSD-3-Clause
#define SX_PK_API_MAJOR 1
Changes made to the API with the same major version number remain backwards compatible. Applications should check at compile time that current major version number matches the one they were made for.
#define SX_PK_API_MINOR 4
New features added while maintaining backwards compatibility increment the minor version number. Applications should check that the minor version number is equal or larger than the minor version number they were written for.
#define SX_PK_API_IS_COMPATIBLE(appmajor, appminor) \
Non-zero if the API is compatible and zero if incompatible. The application is compatible if the major number does matches the library major number and the application minor number is equal or smaller than the library minor number.
#define SX_PK_API_ASSERT_COMPATIBLE(appmajor, appminor) \
If the application is not compatible, this macro will cause a compile time error.