Changelog

C/C++ client library for SMA-X structured data exchange


All notable changes to the Sigmyne/smax-clib library will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[1.0.1] - 2026-06-23

Maintenance release, with bug fixes and various improvements.

Fixed

  • Fixed smaxStringToValues() for XLLONG type.

  • Conditional assignment of optional arg in smaxParseTime().

  • Fix name matching in smaxGetCoordinateAxis(). Previously, the conditions for matching were inverted.

  • Fix update notification storage allocation (was allocating for message size rather than ID length).

  • Various issues fixed that were potted by Facebook’s infer v1.3.

  • Various issues fixed that were spotted by GitHub Copilot AI.

Changed

  • Hash algorithms switched to FNV-1a.

  • Use x_snprintf() instead of sprintf() when possible.

  • Printing of size_t values (in debug mode).

  • Bumbed default internal lookup cache size to 1024 slots (from 256).

  • Uses xIsDebug() global function instead of xDebug global var, for better compatibility with Windows DLLs.

  • Various Makefile improvements.

  • Changed progress message format, with fixed width percentage in square brackets and ‘%’ at end, e.g. “[100.0%] “ before the message body.

  • On older platforms without vsnprintf(), progress messages of up to 8 kB are supported. Attempt to send longer progress messages will result in program exit with an error. (Platforms with vsnprintf() support can send progress messages of arbitrary size.

  • Progress messages enforce progress fraction in the [0.0:1.0] range. Out-of-bound input values are automatically changed to the nearest bounding value (e.g. -1.0 to 0.0; 1.1 to 1.0).

[1.0.0] - 2026-02-16

Initial public release.