Free Screenly Player with every Business or Enterprise yearly plan. How it works →

May 28, 2026

Removed content leaves the screen right away, and other fixes

Fixes

  • Deleting or turning off content that is on screen takes effect right away. Before, an image set to show for an hour stayed up until the hour ended, which people had reported since 2025.
  • Deleting content in the web interface also deletes its file from ~/anthias_assets. Before, the content disappeared from the list and the file kept using disk space.
  • With audio set to HDMI on a Raspberry Pi 4 or 5, sound plays through the HDMI port that has a display connected, and the first port when both do. Before, it always used the first port.
  • Videos uploaded through API v1 and v1.1 now go through the same codec check as other uploads. Before, such a video never became playable and could sit on "Processing" indefinitely.
  • Content that has shown "Processing" for more than an hour, for example after a restart in the middle of a job, is retried automatically.
  • Asking the API for content that doesn't exist returns a 404 instead of a 500 error.
  • On fresh installs of Anthias 2026.05.0, the host agent service failed to start, so the device's IP address wasn't detected and /api/v2/info took more than a minute to answer. Installing or upgrading to 2026.05.1 fixes it.
  • Upgrading an install that dates from before the Anthias rename no longer fails on a leftover srly-ose-redis container holding port 6379.
  • On x86, scheduled background tasks, such as clearing out leftover upload files, no longer stop at random.
  • The Anthias icon shows in Raspberry Pi Imager.

Improvements

  • Web pages in the viewer are requested in the device's language, so sites with several languages show the right one. Anthias reads the language from /etc/default/locale (which raspi-config and update-locale write) when you install or upgrade, so a change applies after the next upgrade. On balena, set a LANG device variable.
  • install.sh shows a menu of the 10 most recent releases, with "latest" (the tip of master, which is now the testing channel) and "other" for typing a tag. Its prompts use whiptail instead of gum, and it stops with a clear message if you run it as root, with sh instead of bash, or without network access.
  • The boot splash fills a 4K display. Before, it showed as a 1080p picture in the middle of a black screen.
  • Video downloads from a URL and the Screenly migration identify themselves with a User-Agent of Anthias/<release> (+https://anthias.screenly.io).
  • The splash screen no longer falls back to an IP address saved at install time, which could be out of date once the network changed. It shows "Detecting network…" until it has the current address.
  • Security fixes in the web interface and the API, and Django 5.2.14 and Pillow 12.2.0, which include security fixes of their own. Upgrading is recommended.

Upgrade notes

  • The viewer's browser stores its data in a new place, and the old data isn't copied. After upgrading, web pages start with an empty browser profile, so a page that relied on a sign-in saved in the viewer needs signing in again.

For contributors

  • Pushes to master now publish container images only, as the testing channel. Balena deploys and disk images are built when a GitHub release is published, with balena-cli 25, and rpi-imager.json is attached to each release.
  • The WebView is built as a stage of the viewer image, instead of in a release workflow of its own.
  • The viewer binary is now AnthiasViewer and its D-Bus service is anthias.viewer. The Qt source moved from webview/ to src/anthias_webview/. The viewer reads the active playlist and its settings from /api/v2/viewer/playlist and /api/v2/viewer/settings, which only accept a token the viewer holds.
  • Video on Raspberry Pi 4, Raspberry Pi 5, x86 and arm64 no longer goes through an mpv process. Playback uses QtMultimedia inside the viewer, with the Raspberry Pi libav packages pinned in docker/_rpt1-ffmpeg-pin.j2.
  • docs/board-enablement.md describes a repeatable playback test, and bin/generate_board_enablement_testbed.sh builds the 8-clip set it uses (H.264 and HEVC, 1080p and 4K, 30 and 60 fps).
  • bin/test_webview_cpp.sh runs the viewer's C++ tests.
  • The installer adds docker-buildx-plugin on every board, so building the images on the device works.
  • A marketing-screenshots workflow, run by hand, captures screenshots from the Playwright integration suite for a slider on the Anthias website. FAQ entries on the website have links you can share, and the README points to the website for supported hardware.
  • New tests cover remote video downloads, the Screenly migration, the CSRF origin check, board detection and the viewer's video player.

Dependencies updated.