Skip to content

Releases: Sigmyne/xchange

v1.1.2

27 Apr 07:54
0e3e3ec

Choose a tag to compare

Maintenance release with improved portability (esp. Windows, MacOS, and BSD). It also enables ports to vcpkg and Homebrew (coming very soon...).

Fixed

  • #23: Removed unneeded includes of UNIX-specific unistd.h (blocking portability).

Added

  • #23: Portability to Windows, MacOS, and BSD.

  • #23: CMake build configuration, alongside the GNU make config.

  • #23: New GitHub Actions workflows for multi-platform checks.

Changed

  • #23: Use portable mutexes in xlookup.c.

  • #23: xjson error/warning reporting via static functions instead of niche macros that Windows does not support.

  • #23: xGetAsLongAtIndex() and xGetAsDoubleAtIndex() switch to setting errno to EINVAL instead of ENOSR, as the latter is not defined on BSD.

v1.1.1

16 Feb 14:11
a62e410

Choose a tag to compare

Maintenance release with minor code style improvements.

Changed

  • #18: A few code style improvements, spotted by cppcheck.

v1.1.0

09 Nov 19:30
7e2b48a

Choose a tag to compare

Minor feature release with bug fixes.

Fixed

  • #15: xPrintFloat() printed an extra digit, which would appear as a 'rounding error' in decimal representations.

  • #16: Width detection of platform-specific built-in integer types (i.e., short, int, long, and long long).
    The previous implementation included stdint.h with __STDC_LIMIT_MACROS defined. However, if the application
    source, then included stdint.h before xchange.h, then the fixed-width integer limits were left undefined. As
    a result, we no longer rely on stdint.h providing these limits.

Added

  • xParseFloat() to parse floats without rounding errors that might result if parsing as double and then casting
    as float.

v1.1.0-rc1

19 Sep 07:55
e68ab57

Choose a tag to compare

v1.1.0-rc1 Pre-release
Pre-release

Minor feature release with bug fixes.

Fixed

  • #15: xPrintFloat() printed an extra digit, which would appear as a 'rounding error' in decimal representations.

  • Width detection of platform-specific built-in integer types (i.e., short, int, long, and long long). The previous implementation included stdint.h with __STDC_LIMIT_MACROS defined. However, if the application source, then included stdint.h before xchange.h, then the fixed-width integer limits were left undefined. As a result, we no longer rely on stdint.h providing these limits.

Added

  • xParseFloat() to parse floats without rounding errors that might result if parsing as double and then casting as float.

v1.0.1

04 Jul 11:04
6f706f6

Choose a tag to compare

Fixed

  • Handling of serialized strings in xClearField() and xCopyOfField().

  • Handling of heterogeneous arrays (type X_FIELD) in xCopyOfField().

Added

  • xDestroyLookupAndData() to destroy a lookup table including all the data that was referenced inside it.

Changed

  • xCreateField() to treat X_RAW types always as scalars, ignoring the dimensions provided.

v1.0.0

30 Mar 10:26
9c5a528

Choose a tag to compare

Initial release.