<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Anthias 2026.07.2 | Screenly</title><description>Anthias imports content from Yodeck, ScreenCloud, piSignage and Xibo, gets a Timezone setting, and plays intranet pages with self-signed certificates. Raspberry Pi 2 and 32-bit Pi 3 players stop crashing to a blank screen. This release shows its version as 2026.07.1.</description><link>https://www.screenly.io/releases/anthias/2026.07.2/</link><language>en</language><atom:link href="https://www.screenly.io/releases/anthias/2026.07.2/rss.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Mon, 13 Jul 2026 00:00:00 +0000</lastBuildDate><item><title>Anthias 2026.07.2: Raspberry Pi 2 and 32-bit Pi 3 players stop crashing to a blank screen</title><link>https://www.screenly.io/releases/anthias/2026.07.2/pi-2-and-pi-3-blank-screen/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.07.2/pi-2-and-pi-3-blank-screen/</guid><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><category>fix</category><description>&lt;p&gt;If your Raspberry Pi 2 or Raspberry Pi 3 player sat on a blank screen and played nothing, or went blank now and then, upgrading to Anthias 2026.07.2 fixes it. It affects the 32-bit images only.&lt;/p&gt;
&lt;p&gt;On a Raspberry Pi 2, or a Raspberry Pi 3 running the 32-bit image (&lt;code&gt;pi2&lt;/code&gt; and &lt;code&gt;pi3&lt;/code&gt;), the viewer could crash as it started, restart, and crash again. On some players that happened on every start, so the screen stayed blank and nothing played. On others it happened now and then, and the viewer came back on the next try.&lt;/p&gt;
&lt;p&gt;From Anthias 2026.07.2 the viewer runs steadily on these boards. In the project&amp;#39;s testing on a Pi 2 and a 32-bit Pi 3, it showed web pages, images and video for hours without a single crash.&lt;/p&gt;
&lt;p&gt;The 64-bit images, including the 64-bit Raspberry Pi 3 image (&lt;code&gt;pi3-64&lt;/code&gt;), build their web view a different way and don&amp;#39;t need this fix.&lt;/p&gt;
&lt;p&gt;After the upgrade, System Info still shows 2026.07.1, because &lt;a href="https://www.screenly.io/releases/anthias/2026.07.2/fixes-and-improvements/"&gt;this release reports the previous version number&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="for-contributors"&gt;For contributors&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;pi2&lt;/code&gt; and &lt;code&gt;pi3&lt;/code&gt; images don&amp;#39;t compile Qt. The image builder downloads a prebuilt Qt 5.15.19 toolchain, QtWebEngine included, from a &lt;code&gt;WebView-v*&lt;/code&gt; GitHub release and builds the &lt;code&gt;AnthiasViewer&lt;/code&gt; app against it. At this tag, &lt;code&gt;qt5_toolchain_url&lt;/code&gt; in &lt;code&gt;tools/image_builder/utils.py&lt;/code&gt; points at &lt;code&gt;WebView-v2026.07.1&lt;/code&gt;, whose tarballs carry the fix, so a viewer image you build from 2026.07.2 gets it with no other change.&lt;/p&gt;
&lt;p&gt;The crash came from the compiler. Debian&amp;#39;s armhf gcc turns some struct copies into 64-bit NEON stores that require 8-byte alignment, and QtWebEngine sometimes passes them memory aligned to only 4 bytes. The Cortex-A7 and Cortex-A53 fault on that, and the kernel can&amp;#39;t fix up a NEON access, so the viewer dies with &lt;code&gt;Unhandled fault: alignment exception (0x801)&lt;/code&gt; in &lt;code&gt;dmesg&lt;/code&gt;. &lt;code&gt;src/anthias_webview/build_qt5.sh&lt;/code&gt; now builds QtWebEngine&amp;#39;s Chromium with &lt;code&gt;arm_use_neon=false&lt;/code&gt; and wraps the armhf &lt;code&gt;gcc&lt;/code&gt; and &lt;code&gt;g++&lt;/code&gt; with &lt;code&gt;-mno-unaligned-access&lt;/code&gt;, so the toolchain no longer contains those stores. The script also runs on Debian Trixie&amp;#39;s Python 3.13 now, with shims for the &lt;code&gt;imp&lt;/code&gt;, &lt;code&gt;pipes&lt;/code&gt; and &lt;code&gt;cgi&lt;/code&gt; modules that Chromium 87&amp;#39;s build scripts still import.&lt;/p&gt;</description></item><item><title>Anthias 2026.07.2: Anthias imports content from Yodeck, ScreenCloud, piSignage, and Xibo</title><link>https://www.screenly.io/releases/anthias/2026.07.2/import-content-from-other-platforms/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.07.2/import-content-from-other-platforms/</guid><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><category>release</category><description>&lt;p&gt;If you&amp;#39;re moving screens to Anthias from another signage platform, Anthias 2026.07.2 can copy your content across for you. Settings has a new Import content section with 4 platforms: Yodeck, ScreenCloud, piSignage, and Xibo (Xibo Cloud or a self-hosted CMS).&lt;/p&gt;
&lt;p&gt;Select the button for the platform you&amp;#39;re leaving, such as &amp;quot;Import from Yodeck&amp;quot;, and paste your credentials for it. Anthias lists the media it finds there. Pick what you want, and Anthias downloads each item onto the player and adds it as an asset, showing the progress of each one. If some fail, you can retry just those.&lt;/p&gt;
&lt;p&gt;What you paste depends on the platform. Anthias uses it for this import only and doesn&amp;#39;t store it.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Yodeck: an API token, from Account Settings &amp;gt; Advanced Settings &amp;gt; API Tokens.&lt;/li&gt;
&lt;li&gt;ScreenCloud: an API token, from Studio &amp;gt; Account Settings &amp;gt; Developer. Anthias works out your region on its own.&lt;/li&gt;
&lt;li&gt;piSignage: your account&amp;#39;s subdomain, email and password, joined with colons as &lt;code&gt;subdomain:email:password&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Xibo: the CMS address, an API application&amp;#39;s client ID and its client secret, separated by spaces.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Images and videos come across from all 4 platforms, up to 5 GiB per file. Web pages come across from Yodeck and ScreenCloud. Anything Anthias can&amp;#39;t play stays behind and is listed with the reason: audio, documents, and the built-in widgets some platforms draw themselves (weather, clocks, RSS feeds), since a widget&amp;#39;s address only works inside the platform it came from.&lt;/p&gt;
&lt;p&gt;Imported assets start playing straight away unless you untick &amp;quot;Enable imported assets so they play immediately&amp;quot;. Your existing assets aren&amp;#39;t touched, and running an import again skips items that came across the first time.&lt;/p&gt;
&lt;p&gt;The piSignage and Xibo imports follow those platforms&amp;#39; API documentation and hadn&amp;#39;t been tried against a live account when this release shipped.&lt;/p&gt;
&lt;h2 id="from-the-command-line"&gt;From the command line&lt;/h2&gt;
&lt;p&gt;The same import runs over SSH. &lt;code&gt;--dry-run&lt;/code&gt; lists what would be imported without copying anything:&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;&lt;span style="color:#24909d"&gt;cd&lt;/span&gt; ~/anthias
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo docker compose &lt;span style="color:#24909d"&gt;exec&lt;/span&gt; anthias-server &lt;span style="color:#ed9d13"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; python -m anthias_server.manage import_content --provider yodeck --token &lt;span style="color:#ed9d13"&gt;&amp;#39;&amp;lt;credentials&amp;gt;&amp;#39;&lt;/span&gt; --dry-run&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;code&gt;--provider&lt;/code&gt; takes &lt;code&gt;yodeck&lt;/code&gt;, &lt;code&gt;screencloud&lt;/code&gt;, &lt;code&gt;pisignage&lt;/code&gt; or &lt;code&gt;xibo&lt;/code&gt;, and &lt;code&gt;--token&lt;/code&gt; takes the same credentials the web interface asks for. Leave out &lt;code&gt;--dry-run&lt;/code&gt; to run the import.&lt;/p&gt;</description></item><item><title>Anthias 2026.07.2: A new Timezone setting, and a Device time card on System Info</title><link>https://www.screenly.io/releases/anthias/2026.07.2/timezone-setting-and-device-clock/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.07.2/timezone-setting-and-device-clock/</guid><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><category>release</category><description>&lt;p&gt;People have asked since 2023 for a way to see and set the time from the web interface. Anthias 2026.07.2 adds a Timezone setting under Settings &amp;gt; Display &amp;amp; playback. The timezone you pick decides when content with a play window or chosen weekdays plays, and how times are shown across the web interface. A change applies as soon as you save, with no restart.&lt;/p&gt;
&lt;p&gt;This matters most on balena installs, where the host runs on UTC and Anthias had no way to follow your local time. It works the same on every install. Leave it on &amp;quot;System default&amp;quot; and Anthias follows the &lt;code&gt;TZ&lt;/code&gt; environment variable if the container has one, then the host&amp;#39;s timezone, then UTC.&lt;/p&gt;
&lt;p&gt;System Info has a new Device time card. It shows the player&amp;#39;s date and time in the timezone Anthias is using, with its offset from UTC, and keeps ticking while the page is open. The time comes from the player, not your browser, so a player with a wrong clock shows up straight away instead of looking right on your laptop.&lt;/p&gt;
&lt;p&gt;Setting the clock itself, or choosing an NTP server, still happens outside Anthias.&lt;/p&gt;
&lt;h2 id="for-developers"&gt;For developers&lt;/h2&gt;
&lt;p&gt;The choice is stored as &lt;code&gt;timezone&lt;/code&gt; in the &lt;code&gt;[main]&lt;/code&gt; section of &lt;code&gt;anthias.conf&lt;/code&gt;, as an IANA name such as &lt;code&gt;Europe/London&lt;/code&gt;. An empty value means &amp;quot;System default&amp;quot;. It&amp;#39;s also the &lt;code&gt;timezone&lt;/code&gt; field of &lt;code&gt;/api/v2/device_settings&lt;/code&gt;, and &lt;code&gt;/api/v2/info&lt;/code&gt; has a new &lt;code&gt;time&lt;/code&gt; object with the player&amp;#39;s &lt;code&gt;iso&lt;/code&gt; time, &lt;code&gt;timezone&lt;/code&gt; and &lt;code&gt;offset&lt;/code&gt;. Anthias refuses a name the player&amp;#39;s &lt;code&gt;tzdata&lt;/code&gt; doesn&amp;#39;t have, and a bad value written to the file by hand is ignored rather than stopping the web interface from starting.&lt;/p&gt;</description></item><item><title>Anthias 2026.07.2: Images and web pages on servers with self-signed certificates can play</title><link>https://www.screenly.io/releases/anthias/2026.07.2/self-signed-https-content/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.07.2/self-signed-https-content/</guid><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><category>release</category><description>&lt;p&gt;Images and web pages on an internal server often use a self-signed certificate. Anthias couldn&amp;#39;t verify it, so it marked the asset unreachable and skipped it, or the screen stayed blank where the content should be. From Anthias 2026.07.2 you can let them through, for one asset or for the whole player.&lt;/p&gt;
&lt;p&gt;For one asset, open it with &amp;quot;Edit&amp;quot; and turn on &amp;quot;Skip SSL verification&amp;quot;. The switch shows up when the asset&amp;#39;s address starts with &lt;code&gt;https://&lt;/code&gt;. For the whole player, go to Settings &amp;gt; Display &amp;amp; playback and turn off &amp;quot;Verify SSL certificates&amp;quot;. That switches off certificate checks for every asset, so leave it on unless you need it.&lt;/p&gt;
&lt;p&gt;Both cover images and web pages, and the check Anthias runs to see whether an asset is reachable. A video file added by its address is downloaded to the player first, and that download still checks the certificate.&lt;/p&gt;
&lt;h2 id="for-developers"&gt;For developers&lt;/h2&gt;
&lt;p&gt;The v2 asset endpoints have a &lt;code&gt;skip_ssl_verify&lt;/code&gt; field. The player-wide setting is &lt;code&gt;verify_ssl&lt;/code&gt; in the &lt;code&gt;[viewer]&lt;/code&gt; section of &lt;code&gt;anthias.conf&lt;/code&gt;, &lt;code&gt;True&lt;/code&gt; by default, and &lt;code&gt;verify_ssl&lt;/code&gt; in &lt;code&gt;/api/v2/device_settings&lt;/code&gt;. Setting it to &lt;code&gt;False&lt;/code&gt; in the file used to change nothing, because the check stayed on regardless. It takes effect from this release.&lt;/p&gt;</description></item><item><title>Anthias 2026.07.2: Web page assets can send custom HTTP headers</title><link>https://www.screenly.io/releases/anthias/2026.07.2/custom-http-headers-for-web-pages/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.07.2/custom-http-headers-for-web-pages/</guid><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><category>release</category><description>&lt;p&gt;If a dashboard you&amp;#39;d like on a screen needs a token to open, such as a private Grafana board, you can show it from Anthias 2026.07.2 without making it public. You add the token to the web page asset, and web pages that don&amp;#39;t need one work as they did.&lt;/p&gt;
&lt;p&gt;Pages like that expect the token in an HTTP header, like a Grafana dashboard that expects an &lt;code&gt;Authorization&lt;/code&gt; header. A web page asset can now carry its own HTTP headers, so the page loads on the screen. It was asked for on GitHub in 2025.&lt;/p&gt;
&lt;p&gt;Open a web page asset with &amp;quot;Edit&amp;quot; and fill in &amp;quot;Custom HTTP headers&amp;quot;, one &lt;code&gt;Name: Value&lt;/code&gt; per line, for example &lt;code&gt;Authorization: Bearer &amp;lt;token&amp;gt;&lt;/code&gt;. Leave it empty for none.&lt;/p&gt;
&lt;p&gt;The headers go only to the asset&amp;#39;s own origin: the same scheme, host and port as the address you entered. The page&amp;#39;s requests to anywhere else, including a redirect to another site or from &lt;code&gt;https&lt;/code&gt; to &lt;code&gt;http&lt;/code&gt;, go out without them, so a token can&amp;#39;t leak to an ad or analytics server the page loads. An asset can have up to 20 headers. Lines that aren&amp;#39;t a valid &lt;code&gt;Name: Value&lt;/code&gt; pair are dropped when you save.&lt;/p&gt;
&lt;h2 id="for-developers"&gt;For developers&lt;/h2&gt;
&lt;p&gt;v2 asset responses include &lt;code&gt;custom_headers&lt;/code&gt;, an object of header names to values, and you can write it on create and update. Writes are validated strictly: a bad name or value, or more than 20 headers, returns an error instead of being dropped. Only web page assets use it.&lt;/p&gt;</description></item><item><title>Anthias 2026.07.2: Video shows on a 64-bit Raspberry Pi 3 instead of a black screen</title><link>https://www.screenly.io/releases/anthias/2026.07.2/raspberry-pi-3-64-bit-video/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.07.2/raspberry-pi-3-64-bit-video/</guid><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><category>fix</category><description>&lt;p&gt;If videos on your Raspberry Pi 3 showed a black screen while images and web pages played fine, upgrading to Anthias 2026.07.2 fixes it. It affects a Pi 3 running the 64-bit image.&lt;/p&gt;
&lt;p&gt;On that image (&lt;code&gt;pi3-64&lt;/code&gt;), video assets could show a black screen. People reported it on Anthias 2026.06.3 and kept seeing it after upgrading.&lt;/p&gt;
&lt;p&gt;From Anthias 2026.07.2, video on this board goes through the Pi&amp;#39;s own hardware decoder straight to the display, with sound on a separate path so a problem with the audio can&amp;#39;t stop the picture. In the project&amp;#39;s testing, a 1080p, 30 frames per second H.264 clip played at its full frame rate, with no frames dropped once it was running. H.264 is the only video format Anthias accepts on this board.&lt;/p&gt;
&lt;p&gt;When a video&amp;#39;s time on screen is longer than the clip, it loops. On this board the pause where it starts over is shorter now, about half what it was in the project&amp;#39;s testing, though not gone.&lt;/p&gt;
&lt;p&gt;In this release, video on this board ignores the Screen rotation setting and plays landscape. &lt;a href="https://www.screenly.io/releases/anthias/2026.07.3/screen-rotation-the-same-on-every-board/"&gt;Anthias 2026.07.3&lt;/a&gt; fixes that.&lt;/p&gt;</description></item><item><title>Anthias 2026.07.2: Chunked uploads through the API now carry an upload ID</title><link>https://www.screenly.io/releases/anthias/2026.07.2/upload-id-for-chunked-uploads/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.07.2/upload-id-for-chunked-uploads/</guid><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><category>improvement</category><description>&lt;p&gt;Anthias used to keep a file that was still uploading under a name based on its file name. Two uploads of files with the same name, at the same time or after an earlier one was interrupted, could end up mixed into one corrupt file. From Anthias 2026.07.2, every upload gets its own temporary file, whatever it&amp;#39;s called.&lt;/p&gt;
&lt;p&gt;Uploads from the web interface need nothing from you. The change is for integrations that upload through &lt;code&gt;/api/v1/file_asset&lt;/code&gt; or &lt;code&gt;/api/v2/file_asset&lt;/code&gt; in chunks with a &lt;code&gt;Content-Range&lt;/code&gt; header. Anthias can no longer tell from the file name which chunks belong together, so it gives each upload an ID instead:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The response to every upload now includes &lt;code&gt;upload_id&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Send that value as an &lt;code&gt;X-Upload-Id&lt;/code&gt; header with every later chunk of the same file, and the chunks are put together as before.&lt;/li&gt;
&lt;li&gt;A chunk without &lt;code&gt;X-Upload-Id&lt;/code&gt; starts a new upload. A malformed &lt;code&gt;X-Upload-Id&lt;/code&gt; gets a &lt;code&gt;400&lt;/code&gt; response.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;If you upload in chunks through the API:&lt;/strong&gt; read &lt;code&gt;upload_id&lt;/code&gt; from the response to the first chunk and send it as &lt;code&gt;X-Upload-Id&lt;/code&gt; with each chunk after it. Without it, each chunk is stored on its own and the asset you create from the last chunk&amp;#39;s &lt;code&gt;uri&lt;/code&gt; comes out broken.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>Anthias 2026.07.2: Web page transitions stop flashing another page, and other fixes</title><link>https://www.screenly.io/releases/anthias/2026.07.2/fixes-and-improvements/</link><guid isPermaLink="true">https://www.screenly.io/releases/anthias/2026.07.2/fixes-and-improvements/</guid><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><category>roundup</category><description>&lt;h2 id="version-number"&gt;Version number&lt;/h2&gt;
&lt;p&gt;Anthias 2026.07.2 reports itself as 2026.07.1. System Info shows v2026.07.1, so does &lt;code&gt;anthias_version&lt;/code&gt; in &lt;code&gt;/api/v2/info&lt;/code&gt;, and outside balena the &amp;quot;Update available&amp;quot; badge on System Info stays on until you move to a newer release. You&amp;#39;re running 2026.07.2 all the same. Anthias 2026.07.3 reports its own version correctly.&lt;/p&gt;
&lt;h2 id="fixes"&gt;Fixes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;On a Raspberry Pi 4 (64-bit), a Raspberry Pi 5, x86 and other boards with 2 GB of RAM or more, moving from one web page to the next could briefly show a different page from the rotation. Every transition now goes straight to the next page. These boards now run one web view instead of two, which frees about 100 MB of memory in the project&amp;#39;s testing.&lt;/li&gt;
&lt;li&gt;A web page asset with &amp;quot;No cache&amp;quot; turned on could still come from the cache when it came around again. It&amp;#39;s now fetched fresh every time it&amp;#39;s shown.&lt;/li&gt;
&lt;li&gt;On a Raspberry Pi 5, x86 or a generic arm64 board such as the Rock Pi 4, a player that booted with no display plugged in could stay black after you plugged one in. The viewer now restarts itself about a minute after the display appears, and the picture comes up. A display that was plugged in but switched off at boot still stayed black until &lt;a href="https://www.screenly.io/releases/anthias/2026.08.0/display-recovers-after-late-power-on/"&gt;Anthias 2026.08.0&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The viewer no longer keeps everything the video player prints in memory, only the last 64 KB. Some MP4 files make the video decoder print a warning for every frame, and on a 2 GB Raspberry Pi 4 with large files that output filled the memory and blanked the screen for minutes between assets. A report after this fix says long blank gaps can still happen on such a board.&lt;/li&gt;
&lt;li&gt;On boards with less than 1.5 GB of RAM, such as a 1 GB Raspberry Pi 3B+, cycling through web pages could fill the memory until the screen went black. Web pages on those boards now run in Chromium&amp;#39;s low-memory mode, and the &amp;quot;Low-RAM mode&amp;quot; note on System Info says so.&lt;/li&gt;
&lt;li&gt;An upgrade could stop partway on a board short on memory, at the Ansible step that turns swap off. The upgrade now stops the Anthias containers first, skips turning swap off when memory is tight, and carries on if that step still fails.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="improvements"&gt;Improvements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Selecting several assets and choosing &amp;quot;Edit&amp;quot; also lets you set &amp;quot;No cache&amp;quot; and &amp;quot;Skip asset check&amp;quot;, each to on or off, alongside the dates, duration, play times and weekdays it already covered.&lt;/li&gt;
&lt;li&gt;The API reference on the Anthias website shows endpoint paths, status codes and field names. It used to show them as 0, 1, 2 and so on.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="for-contributors"&gt;For contributors&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;bin/start_viewer.sh&lt;/code&gt; is split into a shared script and one per display stack (Wayland, eglfs and linuxfb) under &lt;code&gt;bin/lib/viewer/&lt;/code&gt;, with no change in behavior.&lt;/li&gt;
&lt;li&gt;The &lt;code&gt;ANTHIAS_LOW_RAM&lt;/code&gt; variable for the viewer container is gone, since every board now runs a single web view.&lt;/li&gt;
&lt;li&gt;Error reports to Sentry leave out more expected events: requests with a Host header the player doesn&amp;#39;t answer to, a browser that disconnects while the web interface is being told about a change or while a file is still downloading, and the warnings about missing or outdated basic-auth credentials that a database upgrade can log. The background task that recovers assets stuck in processing now stops cleanly at its time limit instead of being killed.&lt;/li&gt;
&lt;li&gt;The Anthias website publishes &lt;code&gt;llms.txt&lt;/code&gt; and &lt;code&gt;llms-full.txt&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;More test coverage for the import providers, the viewer and timezone handling.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dependency updates also went in, among them Pillow, uvicorn and TypeScript, which moved to version 7, plus GitHub Actions.&lt;/p&gt;</description></item></channel></rss>