last_ping is no longer null for a screen that has never connected

Improvement API Breaking change

A screen’s last_ping used to be null until the screen first checked in, which made null a usable signal for “this screen has never connected”. It is now always a timestamp: screens start with theirs set to when the screen was created.

This affects last_ping on the v3 screens API and on the v4 screens and screen_statuses resources. The field’s type and the response shape are unchanged, only the values.

If this affects you: an integration treating a null last_ping as “never connected” loses that signal, and is_online does not replace it. A screen created in the last four hours reports online whether or not the device has ever reached us, because the seeded timestamp is recent. The closest check is comparing last_ping with the screen’s creation time: a screen that has never checked in still carries the timestamp it was created with.