<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Anthias 2026.07.3 | Screenly</title><description>Screen rotation now turns the same way on every board. A portrait screen on a Raspberry Pi 4, Pi 5, PC or other 64-bit board shows upside down after the upgrade until you swap its setting between 90° and 270°.</description><link>https://www.screenly.io/releases/anthias/2026.07.3/</link><language>en</language><atom:link href="https://www.screenly.io/releases/anthias/2026.07.3/rss.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Thu, 16 Jul 2026 00:00:00 +0000</lastBuildDate><item><title>Anthias 2026.07.3: Screen rotation turns content the same way on every board</title><link>https://www.screenly.io/releases/anthias/2026.07.3/screen-rotation-the-same-on-every-board/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.07.3/screen-rotation-the-same-on-every-board/</guid><pubDate>Thu, 16 Jul 2026 00:00:00 +0000</pubDate><category>fix</category><description>&lt;p&gt;From Anthias 2026.07.3, each &amp;quot;Screen rotation&amp;quot; choice turns the picture the same way on every board.
&amp;quot;Portrait (90°)&amp;quot; turns it a quarter turn clockwise and &amp;quot;Portrait, inverted (270°)&amp;quot; a quarter turn
anticlockwise, and images, web pages, video and streams all turn together.&lt;/p&gt;
&lt;p&gt;Before, the direction depended on the board. A 32-bit Raspberry Pi 2 or 3 turned video clockwise for
&amp;quot;Portrait (90°)&amp;quot;, while a Raspberry Pi 3 running the 64-bit image, a Pi 4, a Pi 5, a PC and generic
arm64 boards turned the picture anticlockwise for the same setting.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;If you have a portrait screen on a Raspberry Pi 3 running the 64-bit image, a Pi 4, a Pi 5, a PC
or a generic arm64 board such as the Rock Pi 4:&lt;/strong&gt; after upgrading to Anthias 2026.07.3, the picture
shows upside down. In the web interface, open Settings and, under &amp;quot;Display &amp;amp; playback&amp;quot;, switch
&amp;quot;Screen rotation&amp;quot; from &amp;quot;Portrait (90°)&amp;quot; to &amp;quot;Portrait, inverted (270°)&amp;quot;, or the other way round. If
you set it through the API, swap &lt;code&gt;screen_rotation&lt;/code&gt; between &lt;code&gt;90&lt;/code&gt; and &lt;code&gt;270&lt;/code&gt;. &amp;quot;Landscape (0°)&amp;quot; and
&amp;quot;Landscape, inverted (180°)&amp;quot; look the same as before, and a 32-bit Raspberry Pi 2 or 3 needs no
change.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="images-and-web-pages-on-a-32-bit-raspberry-pi-2-or-3"&gt;Images and web pages on a 32-bit Raspberry Pi 2 or 3&lt;/h2&gt;
&lt;p&gt;On a Raspberry Pi 2 or 3 running a 32-bit image, only video followed &amp;quot;Screen rotation&amp;quot;, as the
&lt;a href="https://www.screenly.io/releases/anthias/2026.05.1/screen-rotation-setting/"&gt;2026.05.1 entry that introduced the setting&lt;/a&gt;
described. Images and web pages stayed upright whatever you picked. From Anthias 2026.07.3 they turn
at 90°, 180° and 270°, in the same direction as video.&lt;/p&gt;
&lt;p&gt;Rotated video on these boards still played at only a few frames per second in this release.
&lt;a href="https://www.screenly.io/releases/anthias/2026.07.4/rotated-video-on-pi-2-3/"&gt;Anthias 2026.07.4&lt;/a&gt; brought 180° up to full
speed.&lt;/p&gt;
&lt;h2 id="video-on-a-64-bit-raspberry-pi-3"&gt;Video on a 64-bit Raspberry Pi 3&lt;/h2&gt;
&lt;p&gt;On a Raspberry Pi 3 running the 64-bit image (&lt;code&gt;pi3-64&lt;/code&gt;), video ignored &amp;quot;Screen rotation&amp;quot; and stayed
upright while images and web pages turned. That started when
&lt;a href="https://www.screenly.io/releases/anthias/2026.07.2/raspberry-pi-3-64-bit-video/"&gt;Anthias 2026.07.2 brought hardware video to this board&lt;/a&gt;.
Video now turns with everything else.&lt;/p&gt;
&lt;p&gt;At 180°, video still plays at full frame rate. This board&amp;#39;s video hardware can&amp;#39;t turn a picture by a
quarter, so at 90° and 270° video plays through a software path instead: about 9 to 10 frames per
second for 1080p in the project&amp;#39;s testing. For portrait video, a Raspberry Pi 4 or 5 is the better
board.&lt;/p&gt;</description></item><item><title>Anthias 2026.07.3: Anthias container images come with signed build provenance</title><link>https://www.screenly.io/releases/anthias/2026.07.3/verifiable-container-images/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.07.3/verifiable-container-images/</guid><pubDate>Thu, 16 Jul 2026 00:00:00 +0000</pubDate><category>release</category><description>&lt;p&gt;This is for people who check where software comes from before they run it, such as a security
team. Nothing changes on your screens and you don&amp;#39;t need to do anything, but you can now confirm
with 1 command that the software on a player was built by the Anthias project itself.&lt;/p&gt;
&lt;p&gt;An Anthias player runs 3 containers, server, viewer and redis, pulled from GitHub Container Registry,
with a copy of each image on Docker Hub. From Anthias 2026.07.3, every one of those images, for every
board, is published with a signed build provenance attestation. It records the repository, workflow
and commit that built the image, so you can check that an image came from the Anthias build before
you run it.&lt;/p&gt;
&lt;p&gt;Check an image with the GitHub CLI:&lt;/p&gt;
&lt;div class="code-block"&gt;
&lt;button type="button" class="code-copy" aria-label="Copy code" data-copy-code&gt;
&lt;svg data-copy viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;
&lt;rect x="9" y="9" width="11" height="11" rx="2"&gt;&lt;/rect&gt;
&lt;path d="M5 15V5a2 2 0 0 1 2-2h10"&gt;&lt;/path&gt;
&lt;/svg&gt;
&lt;svg data-check viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"&gt;
&lt;path d="M20 6 9 17l-5-5"&gt;&lt;/path&gt;
&lt;/svg&gt;
&lt;/button&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#d0d0d0;background-color:#202020;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;gh attestation verify &lt;span style="color:#ed9d13"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; oci://ghcr.io/screenly/anthias-server:&amp;lt;short-hash&amp;gt;-&amp;lt;board&amp;gt; &lt;span style="color:#ed9d13"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --repo Screenly/Anthias&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;board&amp;gt;&lt;/code&gt; is one of &lt;code&gt;pi2&lt;/code&gt;, &lt;code&gt;pi3&lt;/code&gt;, &lt;code&gt;pi3-64&lt;/code&gt;, &lt;code&gt;pi4-64&lt;/code&gt;, &lt;code&gt;pi5&lt;/code&gt;, &lt;code&gt;x86&lt;/code&gt; or &lt;code&gt;arm64&lt;/code&gt;. A release&amp;#39;s short hash
is in the &lt;code&gt;docker-tag&lt;/code&gt; file attached to its GitHub release: for 2026.07.3 it&amp;#39;s &lt;code&gt;a782add&lt;/code&gt;. Put
&lt;code&gt;anthias-viewer&lt;/code&gt; or &lt;code&gt;anthias-redis&lt;/code&gt; in place of &lt;code&gt;anthias-server&lt;/code&gt; to check the other 2.&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;latest-&amp;lt;board&amp;gt;&lt;/code&gt; tags point at the same images and pass the same check. So does the Docker Hub
copy, &lt;code&gt;oci://docker.io/screenly/anthias-server:&amp;lt;short-hash&amp;gt;-&amp;lt;board&amp;gt;&lt;/code&gt;, because the attestation belongs
to the image itself rather than to one registry.&lt;/p&gt;
&lt;p&gt;Images built for earlier releases have no attestation. The disk images on the release page aren&amp;#39;t
covered either: check those against the &lt;code&gt;.sha256&lt;/code&gt; file published next to each one.&lt;/p&gt;</description></item><item><title>Anthias 2026.07.3: The Anthias boot splash shows on a Raspberry Pi 2</title><link>https://www.screenly.io/releases/anthias/2026.07.3/pi-2-boot-splash/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.07.3/pi-2-boot-splash/</guid><pubDate>Thu, 16 Jul 2026 00:00:00 +0000</pubDate><category>fix</category><description>&lt;p&gt;On a Raspberry Pi 2 installed with the install script, the screen showed plain text on black while
the board booted, not the Anthias splash. The boot splash only waited 8 seconds for a display to
appear, and on the Pi 2 the project tested, the display came up about 14 seconds into boot. By then
the splash had settled on text. It now waits up to 30 seconds, so the Anthias splash appears.&lt;/p&gt;
&lt;p&gt;The fix arrives when you upgrade with &lt;code&gt;bin/run_upgrade.sh&lt;/code&gt;, which runs the installer again, and takes
effect at the next reboot. Players installed from a disk image or Raspberry Pi Imager run balenaOS,
which the installer doesn&amp;#39;t set up, so this change doesn&amp;#39;t touch them.&lt;/p&gt;
&lt;h2 id="for-contributors"&gt;For contributors&lt;/h2&gt;
&lt;p&gt;The wait is &lt;code&gt;DeviceTimeout=30&lt;/code&gt; in the Plymouth config the &lt;code&gt;splashscreen&lt;/code&gt; Ansible role installs.
Plymouth reads its theme and settings from the copy in the initramfs, so the role now rebuilds the
initramfs once, after every file is in place, instead of partway through.&lt;/p&gt;</description></item><item><title>Anthias 2026.07.3: App settings use your browser's date and time pickers, and other improvements</title><link>https://www.screenly.io/releases/anthias/2026.07.3/fixes-and-improvements/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.07.3/fixes-and-improvements/</guid><pubDate>Thu, 16 Jul 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;Anthias 2026.07.3 reports itself as 2026.07.3 in System Info. The previous release
&lt;a href="https://www.screenly.io/releases/anthias/2026.07.2/fixes-and-improvements/"&gt;reported itself as 2026.07.1&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="improvements"&gt;Improvements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;An app setting that holds a date, a time or both, like the Timer app&amp;#39;s &amp;quot;Target date &amp;amp; time&amp;quot;, opens
your browser&amp;#39;s date and time picker instead of a text box you had to type an ISO 8601 value into.
It&amp;#39;s there when you add an app and when you edit one.&lt;/li&gt;
&lt;li&gt;The install guide and the website&amp;#39;s get-started page recommend Raspberry Pi Imager for most
people. The one-line install script is marked as advanced, and the guide shows how to download it
and read it before you run it.&lt;/li&gt;
&lt;li&gt;The hardware table on the website&amp;#39;s get-started page lists the Raspberry Pi 3 Model A+ as not recommended: its
512 MB of RAM is too little for Anthias. Pick a board with at least 1 GB, a Pi 3 Model B or newer.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="for-contributors"&gt;For contributors&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The SBOM workflow adds an SBOM for the website&amp;#39;s dependencies, alongside the JavaScript and Python
ones, and runs for release tags only. Each SBOM is still uploaded to sbomify and attested, and is
now filed under its Anthias release there.&lt;/li&gt;
&lt;li&gt;Dependabot uses the &lt;code&gt;uv&lt;/code&gt; ecosystem for Python, so &lt;code&gt;uv.lock&lt;/code&gt; is updated together with
&lt;code&gt;pyproject.toml&lt;/code&gt;, and it no longer proposes Django major upgrades in the grouped Python update.&lt;/li&gt;
&lt;li&gt;Dependencies updated, including yt-dlp and Ansible.&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>