XMSS Library
Library versioning

This document provides guidelines for verifying the XMSS library version.

Warning
Library version 1.0.0 is no longer supported. Please update your application to using a newer version.

Version numbering

The library uses semantic versioning, see SemVer 2.0.

Static or dynamic

The library supports both static (default) and dynamic builds.

For native applications, a static build is preferred. For wrappers to languages other than C, for example, a dynamic build can be used.

To build a dynamic library, configure the library as follows:

cmake -DBUILD_SHARED_LIBS=ON .

Checking the library version

Compile-time

The library headers contains some static inline code, so it is important that the expected version is used instead of an outdated version that just happens to expose the same public API. Your application code should verify that it is being compiled using the expected version of the library headers.

See XMSS_LIBRARY_VERSION for examples on how to perform a compile-time version check.

Runtime

Your application binary should verify that it was linked against the expected version of the library binary. This is especially important when using a dynamically linked library.

See xmss_library_get_version() for examples on how to perform a runtime version check.