Skip to content

v0.7.1 — locale-independent JSON formatting (fixes heartbeat loss in comma-decimal locales)

Choose a tag to compare

@francoios francoios released this 09 Jul 20:43

Patch release on top of v0.7.0.

Fixed: JsonWriter number formatting honored the process-global LC_NUMERIC — a host game calling setlocale(LC_NUMERIC, "de_DE") (common in localized titles) made doubles print a decimal comma, producing invalid JSON that poisoned the entire payload the number rode on: the server rejected the whole heartbeat, silently losing CCU, user metadata and frame stats for every player in that locale. Numbers are now normalized to a . decimal separator regardless of locale (the Unity SDK's CultureInfo.InvariantCulture guard, ported), with regression tests covering comma-decimal locales.

Upgrade: drop-in for 0.7.0 (no API/ABI change since 0.7.0 — the 0.7.0 ABI note still applies if coming from 0.6.x: recompile against the 0.7 header).

Verified by CI on Windows (MSVC /W4 /WX), Ubuntu (GCC) and macOS (Clang) — all 17 ctest suites.