{"product":"screenlyos","releases":[{"date":"2026-08-26","entries":[{"areas":["device-management"],"breaking":false,"content_html":"\u003cp\u003eA player worked out its display setup once and then kept it. Whatever was plugged in the first time\nset the resolution: a 4K display installed this month could run at 1600x900 because a 1600x900\ndisplay had been on the end of that cable 6 months ago. A second display added after that first\nlook was never set up, so it didn\u0026rsquo;t mirror the first one.\u003c/p\u003e\n\u003cp\u003ePlayers now read the displays that are actually connected. Each one gets its own preferred\nresolution, and a second display mirrors the first, whichever order they were plugged in. 2\ndisplays with different resolutions now both show the whole picture, instead of 1 of them showing\nit cropped.\u003c/p\u003e\n\u003cp\u003eIf a display at one of your sites has looked soft, or a second display hasn\u0026rsquo;t shown the same\npicture as the first, this release fixes it.\u003c/p\u003e\n","description":"A display could run at the resolution of one connected months earlier, and a display added later wasn't set up to mirror the first.","title":"Each display runs at its own resolution, whenever it was connected","type":"fix","url":"https://www.screenly.io/releases/screenlyos/26.8.0/display-config-follows-the-screen/"},{"areas":["device-management"],"breaking":false,"content_html":"\u003cp\u003eScreenlyOS is now built as a disk image for Scala players, alongside the Raspberry Pi and x86\nimages. A Scala player already mounted behind a screen can be reimaged and connected to a Screenly\nworkspace instead of replaced.\u003c/p\u003e\n\u003cp\u003eThat matters most where the hardware is already in place. In a store or a cinema lobby running\nScala players, the expensive part of a deployment was done years ago: the players are mounted,\ncabled, and powered, often somewhere awkward. Reimaging changes what runs on them, and everything\nafter that is the usual Screenly setup. The screen shows a PIN, and you connect it from Screens \u0026gt;\nConnect screen.\u003c/p\u003e\n\u003cp\u003eA Scala player gets each ScreenlyOS release at the same time as the rest of your fleet.\u003c/p\u003e\n\u003cp\u003eThe image isn\u0026rsquo;t on the downloads page yet. Ask support or sales, and they\u0026rsquo;ll send it to you.\u003c/p\u003e\n","description":"A ScreenlyOS disk image for Scala player hardware is available from support or sales, so a Scala player you already have can be reimaged to run Screenly.","title":"ScreenlyOS runs on Scala players","type":"release","url":"https://www.screenly.io/releases/screenlyos/26.8.0/screenlyos-on-scala-players/"},{"areas":["content-management"],"breaking":false,"content_html":"\u003cp\u003eCorrecting a screen\u0026rsquo;s timezone had no effect on what it played. Scheduled content kept following\nthe old timezone until the player happened to restart, so a screen set up in the wrong timezone\ncould run a breakfast menu at lunchtime with nothing on the screen to explain why.\u003c/p\u003e\n\u003cp\u003eA timezone change now applies within about half a second. Set the timezone on a screen that has\nbeen running for weeks, and the next scheduled item is the right one.\u003c/p\u003e\n","description":"A player kept scheduling against its old timezone after the timezone was changed, until the player restarted.","title":"Changing a screen's timezone applies to scheduled content right away","type":"fix","url":"https://www.screenly.io/releases/screenlyos/26.8.0/timezone-changes-reach-scheduled-content/"},{"areas":["content-management"],"breaking":false,"content_html":"\u003cp\u003eA player can handle a change to what a screen shows in 2 ways. It can keep the old content on\nscreen until the whole update has downloaded and then switch over in one go, or it can switch as\nsoon as it has something new to show and fill in the rest behind it. Screenly does the second,\nbecause what you usually want most is to see the change.\u003c/p\u003e\n\u003cp\u003eThat matters most on the day something is wrong on a screen. Pull the item and publish the\nreplacement, and it reaches the screen in the time it takes to fetch 1 item, not everything you\ntouched.\u003c/p\u003e\n\u003cp\u003eIn ScreenlyOS 26.8.0, the player downloads in an order that makes the most of that. It fetches 1 item it\ncan play right now before it switches over, so there\u0026rsquo;s something to show the moment it does. Then\nit works through the rest smallest first, leaving anything not scheduled to play until later for\nlast.\u003c/p\u003e\n\u003cp\u003eThe order used to be arbitrary. A single large video could sit at the front of the queue with a\ndozen small images behind it, so a change stayed off the screen far longer than its size called\nfor. You\u0026rsquo;ll notice the difference most on a screen setting itself up for the first time, which has\neverything to download, and at sites with a slow connection, where a screen now fills in as it goes.\u003c/p\u003e\n","description":"Players now download a content update in a smarter order, so a change shows up on the screen sooner and 1 large video no longer holds everything else back.","title":"Content changes reach screens sooner","type":"improvement","url":"https://www.screenly.io/releases/screenlyos/26.8.0/content-downloads-in-a-useful-order/"},{"areas":["monitoring"],"breaking":false,"content_html":"\u003cp\u003eA schedule only says what a screen was meant to show. What actually played is a different\nquestion, and a lot rides on the answer:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAn advertiser or a landlord paying for a slot on your screens wants evidence it ran.\u003c/li\u003e\n\u003cli\u003eIn a regulated environment, a record of what was shown on each screen, and when, can be what an\naudit asks for.\u003c/li\u003e\n\u003cli\u003eAnyone running a large fleet wants to know their content plays without failures, and that the\nschedules they set up put the right thing on the right screen at the right time.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFrom ScreenlyOS 26.8.0, players can record what they actually play. Each item that goes on screen\nproduces a record of what it was and how long it was up, kept on the player and uploaded to Screenly\nevery few minutes. A screen that was offline for an hour, or an item that failed to load, shows up\nas a gap instead of hiding behind the schedule. If the network is down, the records wait on the\nplayer for up to 31 days and go up when it\u0026rsquo;s back.\u003c/p\u003e\n\u003cp\u003eProof of play is off by default, and we turn it on by request: talk to us if you want it on your\nscreens. The dashboard doesn\u0026rsquo;t show the records yet.\u003c/p\u003e\n","description":"A player can keep a record of what actually played and for how long: proof for advertisers, a record for regulated environments, and a way to confirm content and schedules work as intended.","title":"Proof of play comes to ScreenlyOS","type":"release","url":"https://www.screenly.io/releases/screenlyos/26.8.0/proof-of-play-recording/"},{"areas":[],"breaking":false,"content_html":"\u003ch2 id=\"fixes\"\u003eFixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eA player no longer crashes when its screen\u0026rsquo;s location comes without coordinates.\u003c/li\u003e\n\u003cli\u003eUSB capture devices that send uncompressed video now play.\u003c/li\u003e\n\u003cli\u003eA scheduling rule that fails while it\u0026rsquo;s being checked no longer restarts the player in a loop.\u003c/li\u003e\n\u003cli\u003eAfter 1 video fails to load, the rest of the videos still play.\u003c/li\u003e\n\u003cli\u003eA player no longer hangs while closing a video, or restarts onto a video it has already\ndropped.\u003c/li\u003e\n\u003cli\u003eA web page that\u0026rsquo;s still on screen is no longer dropped from the player\u0026rsquo;s memory.\u003c/li\u003e\n\u003cli\u003eScheduled content no longer builds up in the player\u0026rsquo;s memory with each content update.\u003c/li\u003e\n\u003cli\u003e1 diagnostics check timing out now reports 1 failure instead of up to 3.\u003c/li\u003e\n\u003cli\u003eRepeated Wi-Fi scans in the Wi-Fi settings no longer pile up and time out early.\u003c/li\u003e\n\u003cli\u003eA stalled connection to Screenly no longer holds up every request behind it.\u003c/li\u003e\n\u003cli\u003e1 unreadable USB device no longer stops the player listing the others.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"improvements\"\u003eImprovements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eA new power-off command, which the dashboard sends from \u0026ldquo;Power off\u0026rdquo; on a screen\u0026rsquo;s Actions tab\nsince \u003ca href=\"/releases/screenly/26.10.4/screen-power-off/\"\u003eScreenly 26.10.4\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eThe disk image and the Raspberry Pi Imager entry are called ScreenlyOS, so what you flash has the\nsame name as what runs. The fixed download address follows the new name:\n\u003ca href=\"https://disk-images.screenlyapp.com/screenlyos-latest-pi64-stable.img.zip\" target=\"_blank\" rel=\"noopener noreferrer nofollow\"\u003escreenlyos-latest-pi64-stable.img.zip\u003c/a\u003e\nfor Raspberry Pi and\n\u003ca href=\"https://disk-images.screenlyapp.com/screenlyos-latest-x86-stable.img.zip\" target=\"_blank\" rel=\"noopener noreferrer nofollow\"\u003escreenlyos-latest-x86-stable.img.zip\u003c/a\u003e\nfor x86. The old \u003ccode\u003escreenly-latest\u003c/code\u003e address no longer updates, so a bookmark or script that uses it\nneeds the new one.\u003c/li\u003e\n\u003cli\u003eDependencies and system libraries updated.\u003c/li\u003e\n\u003c/ul\u003e\n","description":"Playback and stability fixes, from USB capture devices that now play to players that no longer restart in a loop or build up memory.","title":"Videos keep playing after one fails to load, and other fixes","type":"roundup","url":"https://www.screenly.io/releases/screenlyos/26.8.0/fixes-and-improvements/"}],"json":"https://www.screenly.io/releases/screenlyos/26.8.0/v1.json","product":"screenlyos","product_label":"ScreenlyOS","url":"https://www.screenly.io/releases/screenlyos/26.8.0/","version":"26.8.0"}],"title":"ScreenlyOS 26.8.0","url":"https://www.screenly.io/releases/screenlyos/26.8.0/","version":1}