<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>ScreenlyOS 26.8.0 | Screenly</title><description>What has shipped across Screenly, newest first.</description><link>https://www.screenly.io/releases/screenlyos/26.8.0/</link><language>en</language><atom:link href="https://www.screenly.io/releases/screenlyos/26.8.0/rss.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Wed, 26 Aug 2026 00:00:00 +0000</lastBuildDate><item><title>ScreenlyOS 26.8.0: Each display runs at its own resolution, whenever it was connected</title><link>https://www.screenly.io/releases/screenlyos/26.8.0/display-config-follows-the-screen/</link><guid isPermaLink="true">https://www.screenly.io/releases/screenlyos/26.8.0/display-config-follows-the-screen/</guid><pubDate>Wed, 26 Aug 2026 00:00:00 +0000</pubDate><category>fix</category><category>device-management</category><description>&lt;p&gt;A player worked out its display setup once and then kept it. Whatever was plugged in the first time
set the resolution: a 4K display installed this month could run at 1600x900 because a 1600x900
display had been on the end of that cable 6 months ago. A second display added after that first
look was never set up, so it didn&amp;rsquo;t mirror the first one.&lt;/p&gt;
&lt;p&gt;Players now read the displays that are actually connected. Each one gets its own preferred
resolution, and a second display mirrors the first, whichever order they were plugged in. 2
displays with different resolutions now both show the whole picture, instead of 1 of them showing
it cropped.&lt;/p&gt;
&lt;p&gt;If a display at one of your sites has looked soft, or a second display hasn&amp;rsquo;t shown the same
picture as the first, this release fixes it.&lt;/p&gt;</description></item><item><title>ScreenlyOS 26.8.0: ScreenlyOS runs on Scala players</title><link>https://www.screenly.io/releases/screenlyos/26.8.0/screenlyos-on-scala-players/</link><guid isPermaLink="true">https://www.screenly.io/releases/screenlyos/26.8.0/screenlyos-on-scala-players/</guid><pubDate>Wed, 26 Aug 2026 00:00:00 +0000</pubDate><category>release</category><category>device-management</category><description>&lt;p&gt;ScreenlyOS is now built as a disk image for Scala players, alongside the Raspberry Pi and x86
images. A Scala player already mounted behind a screen can be reimaged and connected to a Screenly
workspace instead of replaced.&lt;/p&gt;
&lt;p&gt;That matters most where the hardware is already in place. In a store or a cinema lobby running
Scala players, the expensive part of a deployment was done years ago: the players are mounted,
cabled, and powered, often somewhere awkward. Reimaging changes what runs on them, and everything
after that is the usual Screenly setup. The screen shows a PIN, and you connect it from Screens &amp;gt;
Connect screen.&lt;/p&gt;
&lt;p&gt;A Scala player gets each ScreenlyOS release at the same time as the rest of your fleet.&lt;/p&gt;
&lt;p&gt;The image isn&amp;rsquo;t on the downloads page yet. Ask support or sales, and they&amp;rsquo;ll send it to you.&lt;/p&gt;</description></item><item><title>ScreenlyOS 26.8.0: Changing a screen's timezone applies to scheduled content right away</title><link>https://www.screenly.io/releases/screenlyos/26.8.0/timezone-changes-reach-scheduled-content/</link><guid isPermaLink="true">https://www.screenly.io/releases/screenlyos/26.8.0/timezone-changes-reach-scheduled-content/</guid><pubDate>Wed, 26 Aug 2026 00:00:00 +0000</pubDate><category>fix</category><category>content-management</category><description>&lt;p&gt;Correcting a screen&amp;rsquo;s timezone had no effect on what it played. Scheduled content kept following
the old timezone until the player happened to restart, so a screen set up in the wrong timezone
could run a breakfast menu at lunchtime with nothing on the screen to explain why.&lt;/p&gt;
&lt;p&gt;A timezone change now applies within about half a second. Set the timezone on a screen that has
been running for weeks, and the next scheduled item is the right one.&lt;/p&gt;</description></item><item><title>ScreenlyOS 26.8.0: Content changes reach screens sooner</title><link>https://www.screenly.io/releases/screenlyos/26.8.0/content-downloads-in-a-useful-order/</link><guid isPermaLink="true">https://www.screenly.io/releases/screenlyos/26.8.0/content-downloads-in-a-useful-order/</guid><pubDate>Wed, 26 Aug 2026 00:00:00 +0000</pubDate><category>improvement</category><category>content-management</category><description>&lt;p&gt;A player can handle a change to what a screen shows in 2 ways. It can keep the old content on
screen until the whole update has downloaded and then switch over in one go, or it can switch as
soon as it has something new to show and fill in the rest behind it. Screenly does the second,
because what you usually want most is to see the change.&lt;/p&gt;
&lt;p&gt;That matters most on the day something is wrong on a screen. Pull the item and publish the
replacement, and it reaches the screen in the time it takes to fetch 1 item, not everything you
touched.&lt;/p&gt;
&lt;p&gt;In ScreenlyOS 26.8.0, the player downloads in an order that makes the most of that. It fetches 1 item it
can play right now before it switches over, so there&amp;rsquo;s something to show the moment it does. Then
it works through the rest smallest first, leaving anything not scheduled to play until later for
last.&lt;/p&gt;
&lt;p&gt;The order used to be arbitrary. A single large video could sit at the front of the queue with a
dozen small images behind it, so a change stayed off the screen far longer than its size called
for. You&amp;rsquo;ll notice the difference most on a screen setting itself up for the first time, which has
everything to download, and at sites with a slow connection, where a screen now fills in as it goes.&lt;/p&gt;</description></item><item><title>ScreenlyOS 26.8.0: Proof of play comes to ScreenlyOS</title><link>https://www.screenly.io/releases/screenlyos/26.8.0/proof-of-play-recording/</link><guid isPermaLink="true">https://www.screenly.io/releases/screenlyos/26.8.0/proof-of-play-recording/</guid><pubDate>Wed, 26 Aug 2026 00:00:00 +0000</pubDate><category>release</category><category>monitoring</category><description>&lt;p&gt;A schedule only says what a screen was meant to show. What actually played is a different
question, and a lot rides on the answer:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An advertiser or a landlord paying for a slot on your screens wants evidence it ran.&lt;/li&gt;
&lt;li&gt;In a regulated environment, a record of what was shown on each screen, and when, can be what an
audit asks for.&lt;/li&gt;
&lt;li&gt;Anyone running a large fleet wants to know their content plays without failures, and that the
schedules they set up put the right thing on the right screen at the right time.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;From ScreenlyOS 26.8.0, players can record what they actually play. Each item that goes on screen
produces a record of what it was and how long it was up, kept on the player and uploaded to Screenly
every few minutes. A screen that was offline for an hour, or an item that failed to load, shows up
as a gap instead of hiding behind the schedule. If the network is down, the records wait on the
player for up to 31 days and go up when it&amp;rsquo;s back.&lt;/p&gt;
&lt;p&gt;Proof of play is off by default, and we turn it on by request: talk to us if you want it on your
screens. The dashboard doesn&amp;rsquo;t show the records yet.&lt;/p&gt;</description></item><item><title>ScreenlyOS 26.8.0: Videos keep playing after one fails to load, and other fixes</title><link>https://www.screenly.io/releases/screenlyos/26.8.0/fixes-and-improvements/</link><guid isPermaLink="true">https://www.screenly.io/releases/screenlyos/26.8.0/fixes-and-improvements/</guid><pubDate>Wed, 26 Aug 2026 00:00:00 +0000</pubDate><category>roundup</category><description>&lt;h2 id="fixes"&gt;Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A player no longer crashes when its screen&amp;rsquo;s location comes without coordinates.&lt;/li&gt;
&lt;li&gt;USB capture devices that send uncompressed video now play.&lt;/li&gt;
&lt;li&gt;A scheduling rule that fails while it&amp;rsquo;s being checked no longer restarts the player in a loop.&lt;/li&gt;
&lt;li&gt;After 1 video fails to load, the rest of the videos still play.&lt;/li&gt;
&lt;li&gt;A player no longer hangs while closing a video, or restarts onto a video it has already
dropped.&lt;/li&gt;
&lt;li&gt;A web page that&amp;rsquo;s still on screen is no longer dropped from the player&amp;rsquo;s memory.&lt;/li&gt;
&lt;li&gt;Scheduled content no longer builds up in the player&amp;rsquo;s memory with each content update.&lt;/li&gt;
&lt;li&gt;1 diagnostics check timing out now reports 1 failure instead of up to 3.&lt;/li&gt;
&lt;li&gt;Repeated Wi-Fi scans in the Wi-Fi settings no longer pile up and time out early.&lt;/li&gt;
&lt;li&gt;A stalled connection to Screenly no longer holds up every request behind it.&lt;/li&gt;
&lt;li&gt;1 unreadable USB device no longer stops the player listing the others.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="improvements"&gt;Improvements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A new power-off command, which the dashboard sends from &amp;ldquo;Power off&amp;rdquo; on a screen&amp;rsquo;s Actions tab
since &lt;a href="https://www.screenly.io/releases/screenly/26.10.4/screen-power-off/"&gt;Screenly 26.10.4&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The disk image and the Raspberry Pi Imager entry are called ScreenlyOS, so what you flash has the
same name as what runs. The fixed download address follows the new name:
&lt;a href="https://disk-images.screenlyapp.com/screenlyos-latest-pi64-stable.img.zip" target="_blank" rel="noopener noreferrer nofollow"&gt;screenlyos-latest-pi64-stable.img.zip&lt;/a&gt;
for Raspberry Pi and
&lt;a href="https://disk-images.screenlyapp.com/screenlyos-latest-x86-stable.img.zip" target="_blank" rel="noopener noreferrer nofollow"&gt;screenlyos-latest-x86-stable.img.zip&lt;/a&gt;
for x86. The old &lt;code&gt;screenly-latest&lt;/code&gt; address no longer updates, so a bookmark or script that uses it
needs the new one.&lt;/li&gt;
&lt;li&gt;Dependencies and system libraries updated.&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>