Friday, November 03, 2023

Important Update for C++ JSON Serialization

We have identified a bug in the current Liquid C++ Runtime libraries where the JSON serialization may produce invalid results at random intervals. As such, all customers using the C++ JSON serialization functionality should upgrade to Liquid XML Data Binder 20.7.0.

Issue Description

Our unit tests have been run hundreds of times without issue, but we randomly had it fail, and on investigation found that the issue was caused by an uninitialized enum value which may randomly be pointing to memory with a value equal to one of the unexpected enum values. This has the side effect of creating an Array when it is not required.

Sorry for any inconvenience this may cause, but unfortunately this is one of the perils of using C++, the C# .Net and Java implementations had the same issue, but these have sensible default values and so do not cause a problem.