{"product":"screenly","releases":[{"date":"2026-08-14","entries":[{"areas":[],"breaking":false,"content_html":"\u003cp\u003eThe dashboard ignored how your device shows time, and wasn\u0026rsquo;t consistent with itself either.\nPlaylist schedules and every time picker were 24-hour, while a screen\u0026rsquo;s overview and the Screens\nlist showed AM/PM. Whichever you think in, part of the dashboard needed converting in your head.\u003c/p\u003e\n\u003cp\u003eTimes now follow your own device. Set to 24-hour, you see 18:00. Set to 12-hour, you see 6:00 PM,\nand the time pickers get an AM/PM selector instead of running from 00 to 23. This runs everywhere\ntimes appear: playlist schedules, the Screens list, a screen\u0026rsquo;s overview, your account settings,\nand the datetime fields in an app\u0026rsquo;s settings.\u003c/p\u003e\n","description":"The dashboard reads 12-hour or 24-hour time from your own device instead of mixing fixed formats.","title":"Times in the dashboard follow your device's clock","type":"fix","url":"https://www.screenly.io/releases/screenly/26.8.2/dashboard-follows-device-clock/"},{"areas":["monitoring","developers","api"],"breaking":true,"content_html":"\u003cp\u003eA screen\u0026rsquo;s \u003ccode\u003elast_ping\u003c/code\u003e used to be null until the screen first checked in, which made null a\nusable signal for \u0026ldquo;this screen has never connected\u0026rdquo;. It is now always a timestamp: screens start\nwith theirs set to when the screen was created, and existing screens that never checked in were\ngiven their creation time.\u003c/p\u003e\n\u003cp\u003eThis affects \u003ccode\u003elast_ping\u003c/code\u003e on the v4 \u003ccode\u003escreens\u003c/code\u003e resource. The field\u0026rsquo;s type and the response shape\nare unchanged, only the values.\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e\u003cstrong\u003eIf this affects you:\u003c/strong\u003e an integration treating a null \u003ccode\u003elast_ping\u003c/code\u003e as \u0026ldquo;never connected\u0026rdquo; loses\nthat signal. A screen created in the last four hours can also report \u003ccode\u003eOnline\u003c/code\u003e in its \u003ccode\u003estatus\u003c/code\u003e\nbefore the device has ever reached us, because the seeded timestamp is recent. The closest\ncheck is comparing \u003ccode\u003elast_ping\u003c/code\u003e with the screen\u0026rsquo;s \u003ccode\u003ecreated_at\u003c/code\u003e: a screen that has never checked\nin still carries the timestamp it was created with.\u003c/p\u003e\n\u003c/blockquote\u003e\n","description":"On API v4, a screen's last_ping is always a timestamp, seeded from when the screen was created, so a null value no longer marks a screen that has never checked in.","title":"last_ping is no longer null for a screen that has never connected","type":"improvement","url":"https://www.screenly.io/releases/screenly/26.8.2/last-ping-never-null/"}],"json":"https://www.screenly.io/releases/screenly/26.8.2/v1.json","product":"screenly","product_label":"Screenly","url":"https://www.screenly.io/releases/screenly/26.8.2/","version":"26.8.2"}],"title":"Screenly 26.8.2","url":"https://www.screenly.io/releases/screenly/26.8.2/","version":1}