You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Persistent device identity: at init the SDK acquires a stable dev_<16hex> provisional user id — derived from the machine id (Windows MachineGuid, Linux /etc/machine-id, macOS gethostuuid), hashed (FNV-1a-64) and salted per game; the raw machine id never leaves the device. Persisted in <data_dir>/identity (the file wins across launches and token rotation). Every payload now carries a user id — no more anonymous rows.
Same-session identity upgrade: tombstone_set_user("real-id") keeps the session id and carries priorUserId on heartbeats (and any crash/bug sent meanwhile) until a beat is acked — the server merges the session's pre-auth rows under the authenticated id, scoped per session (one device can host multiple accounts).
tombstone_set_user(NULL/"") reverts to the device id and cancels the pending merge marker.
Steady-state payloads are byte-identical to 0.7.1. New tombstone::device_identity core unit with its own ctest suite (18 suites total). Server-side merge requires Tombstack deployed 2026-07-10 or later (older servers ignore the extra field).