<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Anthias 2026.08.0 | Screenly</title><description>Anthias installs and runs behind an HTTP proxy, a TV switched on after the player starts gets a picture, and portrait photos show upright. On some Debian 13 PCs the install can lose DNS, so read the known problem before upgrading one.</description><link>https://www.screenly.io/releases/anthias/2026.08.0/</link><language>en</language><atom:link href="https://www.screenly.io/releases/anthias/2026.08.0/rss.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Wed, 05 Aug 2026 00:00:00 +0000</lastBuildDate><item><title>Anthias 2026.08.0: Anthias installs and runs behind an HTTP proxy</title><link>https://www.screenly.io/releases/anthias/2026.08.0/http-proxy-support/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.08.0/http-proxy-support/</guid><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><category>release</category><description>&lt;p&gt;If your network only lets a player out through an HTTP proxy, Anthias 2026.08.0 can now be installed and run there. The installer asks for the proxy and sets it up for you. If your player reaches the internet directly, leave that question blank and nothing changes.&lt;/p&gt;
&lt;p&gt;Before, someone running Anthias on a PC behind a proxy had to set it by hand for the installer, apt, Docker, the host agent and the containers, one at a time, and a hand-written bypass list could cut the viewer off from the server and blank the screen.&lt;/p&gt;
&lt;h2 id="setting-a-proxy"&gt;Setting a proxy&lt;/h2&gt;
&lt;p&gt;Run the installer as usual. It now asks for a proxy URL, for example &lt;code&gt;http://proxy.example.com:3128&lt;/code&gt;, and then for any hosts on your network that should skip the proxy. The one URL is used for both HTTP and HTTPS. Leave the first question blank if the player has direct internet access.&lt;/p&gt;
&lt;p&gt;If you export &lt;code&gt;HTTP_PROXY&lt;/code&gt;, &lt;code&gt;HTTPS_PROXY&lt;/code&gt; and &lt;code&gt;NO_PROXY&lt;/code&gt; (upper or lower case) before you run the installer, the questions start with those values. On a host that doesn&amp;#39;t have &lt;code&gt;whiptail&lt;/code&gt; yet, the questions can&amp;#39;t appear, so export the variables first.&lt;/p&gt;
&lt;p&gt;The installer asks every time it runs, and it doesn&amp;#39;t fill in the proxy you gave it last time. When you run it again to upgrade, enter the proxy again or export it first. If you leave the question blank, the installer takes the proxy back out.&lt;/p&gt;
&lt;h2 id="where-the-proxy-applies"&gt;Where the proxy applies&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The installer&amp;#39;s own downloads and the Ansible steps it runs.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apt&lt;/code&gt;, through &lt;code&gt;/etc/apt/apt.conf.d/00anthias-proxy&lt;/code&gt;, so your own &lt;code&gt;apt&lt;/code&gt; runs on the player stay proxied afterward.&lt;/li&gt;
&lt;li&gt;The Docker daemon, so it can pull the Anthias images. This adds a systemd drop-in at &lt;code&gt;/etc/systemd/system/docker.service.d/http-proxy.conf&lt;/code&gt; and restarts Docker.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;anthias-host-agent&lt;/code&gt; service.&lt;/li&gt;
&lt;li&gt;The server, viewer and Celery containers, including the web pages the viewer shows on screen.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Anthias keeps the values in &lt;code&gt;/etc/anthias/proxy.env&lt;/code&gt;. A proxy URL can carry a username and password, so the file is readable only by root and the Anthias user&amp;#39;s group. The installer rewrites it on every run, and it always adds &lt;code&gt;localhost&lt;/code&gt;, &lt;code&gt;127.0.0.1&lt;/code&gt;, &lt;code&gt;::1&lt;/code&gt;, &lt;code&gt;anthias-server&lt;/code&gt; and &lt;code&gt;redis&lt;/code&gt; to the bypass list, so traffic between the Anthias containers never goes through your proxy.&lt;/p&gt;
&lt;p&gt;To change the proxy, run the installer again with the new value. To remove it, run the installer with the question left blank and nothing exported: it deletes &lt;code&gt;proxy.env&lt;/code&gt;, the apt setting and the Docker drop-in.&lt;/p&gt;
&lt;p&gt;The balena images don&amp;#39;t use the installer, and this release doesn&amp;#39;t cover them.&lt;/p&gt;</description></item><item><title>Anthias 2026.08.0: A TV switched on after the player boots gets a picture on Raspberry Pi 5 and x86</title><link>https://www.screenly.io/releases/anthias/2026.08.0/display-recovers-after-late-power-on/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.08.0/display-recovers-after-late-power-on/</guid><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><category>fix</category><description>&lt;p&gt;If your TV switches on after the player has started, for example on a power timer, the screen could stay on &amp;quot;No Signal&amp;quot; until someone rebooted the player. From Anthias 2026.08.0 the picture comes up on its own after a short wait. It affects a Raspberry Pi 5, an x86 PC or a board running the generic arm64 image, and there&amp;#39;s nothing to set.&lt;/p&gt;
&lt;p&gt;On those boards, a player that booted while its TV was off stayed on &amp;quot;No Signal&amp;quot; after the TV came on. The only way out was to restart the viewer container or reboot the player. Anthias 2026.07.2 &lt;a href="https://www.screenly.io/releases/anthias/2026.07.2/fixes-and-improvements/"&gt;added a check&lt;/a&gt; that restarts the viewer when a display turns up after boot, but it only acted once the display had reported its resolutions to the player. A TV that was plugged in but off at boot never got that far, so the check never fired. From Anthias 2026.08.0 it acts on any connected display that has no picture: after 60 seconds, the viewer container restarts so the display is detected again. In the project&amp;#39;s testing on a Pi 5, the first restart brought the picture back, about 70 seconds after the display was connected.&lt;/p&gt;
&lt;p&gt;The restarts are capped at 3 per boot. A display that never answers, such as one on a faulty cable, gets 3 attempts. Then the viewer logs that it gave up and stops restarting, so a failed screen can&amp;#39;t keep the viewer cycling all night. The count starts over when the display comes up, when it&amp;#39;s unplugged, or when the player reboots.&lt;/p&gt;
&lt;p&gt;The Raspberry Pi 2, 3 and 4 images use a different display path, and this change doesn&amp;#39;t affect them.&lt;/p&gt;</description></item><item><title>Anthias 2026.08.0: Portrait photos from a phone or camera display upright</title><link>https://www.screenly.io/releases/anthias/2026.08.0/portrait-photos-display-upright/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.08.0/portrait-photos-display-upright/</guid><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><category>fix</category><description>&lt;p&gt;A phone or camera usually saves a portrait photo as a landscape image, with a tag that says to turn it 90 degrees when it&amp;#39;s shown. Anthias ignored that tag on JPEG and AVIF files, so those photos appeared sideways on the screen.&lt;/p&gt;
&lt;p&gt;From Anthias 2026.08.0 they display upright:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A JPEG is turned by the viewer as it draws the photo, so JPEGs you uploaded before the upgrade come out upright too.&lt;/li&gt;
&lt;li&gt;An AVIF photo is turned while Anthias converts it to WebP on upload. An AVIF you uploaded before the upgrade was converted sideways and stays that way, so upload it again.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;HEIC photos, the format an iPhone saves, and TIFF files already displayed upright.&lt;/p&gt;</description></item><item><title>Anthias 2026.08.0: URL and web page content loads after a cold boot on x86</title><link>https://www.screenly.io/releases/anthias/2026.08.0/url-content-after-cold-boot-on-x86/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.08.0/url-content-after-cold-boot-on-x86/</guid><pubDate>Wed, 05 Aug 2026 00:00:00 +0000</pubDate><category>fix</category><description>&lt;p&gt;If your Anthias player is a PC rather than a Raspberry Pi, web pages could go missing from its playlist after it was switched on, while images and videos kept playing. Upgrading to Anthias 2026.08.0 with the installer fixes it. On a Debian 13 PC installed from the netinst image, read the known problem below before you run the installer.&lt;/p&gt;
&lt;p&gt;On some x86 players, web pages and other URL content were skipped after a cold boot, while images and videos stored on the player played fine. The viewer log showed &lt;code&gt;Asset ... is not available, skipping&lt;/code&gt;, and only restarting Docker or the Anthias containers brought the content back, until the next reboot.&lt;/p&gt;
&lt;p&gt;The containers could start before the player had its DNS servers, and they kept that empty DNS setup until they were recreated. The project reproduced it on Debian 13, on a PC whose network card is set up by Debian&amp;#39;s own network configuration rather than NetworkManager.&lt;/p&gt;
&lt;p&gt;From Anthias 2026.08.0, the installer sets up &lt;code&gt;systemd-resolved&lt;/code&gt; on x86 and makes &lt;code&gt;/etc/resolv.conf&lt;/code&gt; a link to &lt;code&gt;/run/systemd/resolve/stub-resolv.conf&lt;/code&gt;, a local resolver at &lt;code&gt;127.0.0.53&lt;/code&gt; that the containers can always reach. Run the installer to upgrade and the change is made. Raspberry Pi and arm64 installs don&amp;#39;t get it.&lt;/p&gt;
&lt;p&gt;The installer makes this change even if you chose not to let Anthias manage the network, and it replaces an &lt;code&gt;/etc/resolv.conf&lt;/code&gt; you manage yourself.&lt;/p&gt;
&lt;h2 id="known-problem-dns-can-stop-while-the-installer-runs"&gt;Known problem: DNS can stop while the installer runs&lt;/h2&gt;
&lt;p&gt;On a Debian 13 PC installed from the netinst image, where &lt;code&gt;dhcpcd&lt;/code&gt; sets up the network, the switch to &lt;code&gt;systemd-resolved&lt;/code&gt; can leave the player with no working DNS. The installer then stops at its next download with &lt;code&gt;Temporary failure in name resolution&lt;/code&gt;. In the project&amp;#39;s testing, name lookups on such a PC also stopped again some minutes after a reboot. The installer still does this as of Anthias 2026.10.0.&lt;/p&gt;
&lt;p&gt;Before you run the installer on such a PC, give &lt;code&gt;systemd-resolved&lt;/code&gt; a fallback DNS server, such as your router&amp;#39;s address:&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;sudo mkdir -p /etc/systemd/resolved.conf.d
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#24909d"&gt;printf&lt;/span&gt; &lt;span style="color:#ed9d13"&gt;&amp;#39;[Resolve]\nFallbackDNS=&amp;lt;your router IP&amp;gt;\n&amp;#39;&lt;/span&gt; | sudo tee /etc/systemd/resolved.conf.d/99-fallback.conf&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;If the installer already stopped, do the same, run &lt;code&gt;sudo systemctl restart systemd-resolved&lt;/code&gt;, and run the installer again.&lt;/p&gt;</description></item><item><title>Anthias 2026.08.0: Large HEIC, TIFF and AVIF photos no longer reboot boards with little memory, and other fixes</title><link>https://www.screenly.io/releases/anthias/2026.08.0/fixes-and-improvements/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.08.0/fixes-and-improvements/</guid><pubDate>Wed, 05 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;On boards with less than 1.5 GB of RAM, such as the Raspberry Pi 2 and 3, a HEIC, TIFF, AVIF or other photo that Anthias converts to WebP on upload is first shrunk to fit within the pixel count of 1920x1080, keeping its shape. In the project&amp;#39;s testing, a 24 megapixel photo used more memory than the board could give the conversion, and the board rebooted. JPEG and PNG uploads &lt;a href="https://www.screenly.io/releases/anthias/2026.08.1/large-jpeg-png-low-ram-boards/"&gt;got the same treatment in Anthias 2026.08.1&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;On a Raspberry Pi, running the installer from the player&amp;#39;s own screen and keyboard blanked the screen partway through and removed the login prompt, which left you locked out if SSH was off. This happened since Anthias 2026.05.1. The install now finishes on screen, and the login prompt is still gone after the reboot at the end, as intended.&lt;/li&gt;
&lt;li&gt;While the web interface was open, the server logged a Redis timeout and an &lt;code&gt;Exception in ASGI application&lt;/code&gt; error about every 5 seconds. It no longer does.&lt;/li&gt;
&lt;li&gt;The API&amp;#39;s &lt;code&gt;file_asset&lt;/code&gt;, &lt;code&gt;recover&lt;/code&gt; and &lt;code&gt;assets/order&lt;/code&gt; endpoints answer a request body that&amp;#39;s a JSON list instead of an object with a &lt;code&gt;400&lt;/code&gt; response, instead of a &lt;code&gt;500&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Running the Ansible playbook yourself on a PC or other board that isn&amp;#39;t a Raspberry Pi no longer fails at the step that writes the Raspberry Pi boot settings.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="improvements"&gt;Improvements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;When the installer is about to discard your edits to files tracked in the Anthias checkout, it prints a warning first. It still discards them. Untracked files are left alone.&lt;/li&gt;
&lt;li&gt;When the Docker repository key is already on the player, the installer no longer downloads it again, so a machine prepared ahead of time doesn&amp;#39;t need network access for that step.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="for-contributors"&gt;For contributors&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The Ruff linter now runs its expanded default rule set (about 413 rules, up from 59), and the findings across the codebase were fixed. &lt;code&gt;BLE001&lt;/code&gt; (blind &lt;code&gt;except&lt;/code&gt;) stays off on purpose, because the player is meant to degrade rather than crash.&lt;/li&gt;
&lt;li&gt;Tests cover the entry point of the GStreamer framebuffer video player used on the Raspberry Pi 2 and 3.&lt;/li&gt;
&lt;li&gt;The Anthias website&amp;#39;s API page has an overview of the base URL, versioning, authentication and errors, the guide to migrating to Screenly covers what gets migrated and how to troubleshoot it, and broken links across the site are fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Python and front-end dependencies and GitHub Actions were updated.&lt;/p&gt;</description></item></channel></rss>