This release includes 1 breaking change for platform teams planning a safe upgrade.
Published 26d
Media Servers
✓ No known CVEs patched
✓ No known CVEs patched in this version
Topics
digital-signage
iot
python
raspberry-pi
Affected surfaces
deps
Summary
AI summaryReplace ZMQ with Redis for viewer signalling, drop pyzmq.
Full changelog
What's Changed
Other Changes 🔧
- chore(deps-dev): bump handlebars from 4.7.8 to 4.7.9 by @dependabot[bot] in https://github.com/Screenly/Anthias/pull/2716
- chore(deps): replace eslint-plugin-react with @eslint-react/eslint-plugin by @nicomiguelino in https://github.com/Screenly/Anthias/pull/2725
- chore(deps-dev): bump picomatch from 2.3.1 to 2.3.2 by @dependabot[bot] in https://github.com/Screenly/Anthias/pull/2729
- feat: add support for Raspberry Pi OS Trixie by @nicomiguelino in https://github.com/Screenly/Anthias/pull/2732
- fix(viewer): pre-parse media to reduce VLC playback startup gap by @nicomiguelino in https://github.com/Screenly/Anthias/pull/2736
- chore(deps): bump the github-actions group with 2 updates by @dependabot[bot] in https://github.com/Screenly/Anthias/pull/2737
- chore(deps): remove unused Mako dependency by @dependabot[bot] in https://github.com/Screenly/Anthias/pull/2740
- chore(deps): manage Python deps via uv dependency-groups by @vpetersson in https://github.com/Screenly/Anthias/pull/2744
- chore(build): replace webpack, npm, and jest with bun by @vpetersson in https://github.com/Screenly/Anthias/pull/2746
- chore(deps-dev): bump the bun group with 3 updates by @dependabot[bot] in https://github.com/Screenly/Anthias/pull/2747
- chore(deps): bump ansible-core from 2.18.3 to 2.19.9 by @dependabot[bot] in https://github.com/Screenly/Anthias/pull/2749
- chore(deps): bump astral-sh/setup-uv from 7.6.0 to 8.1.0 in the github-actions group by @dependabot[bot] in https://github.com/Screenly/Anthias/pull/2748
- chore(host): unify host Python install on uv, clean up ansible roles by @vpetersson in https://github.com/Screenly/Anthias/pull/2750
- refactor: rename legacy 'screenly' dirs to 'anthias' with auto-migration by @vpetersson in https://github.com/Screenly/Anthias/pull/2753
- fix(ci): unbreak 32-bit ARM builds and make latest-* tag updates atomic by @vpetersson in https://github.com/Screenly/Anthias/pull/2755
- fix(ci): pin bun-builder stage to BUILDPLATFORM for 32-bit ARM by @vpetersson in https://github.com/Screenly/Anthias/pull/2756
- refactor(server): collapse nginx + websocket containers into uvicorn by @vpetersson in https://github.com/Screenly/Anthias/pull/2757
- ci: enforce strict mypy across the codebase by @vpetersson in https://github.com/Screenly/Anthias/pull/2752
- fix: unblock docker-build CI and the viewer/celery regressions it gated by @vpetersson in https://github.com/Screenly/Anthias/pull/2758
- ci: switch primary registry to ghcr, drop legacy srly-ose namespace by @vpetersson in https://github.com/Screenly/Anthias/pull/2761
- fix(viewer): unbreak django.setup() in viewer container by @vpetersson in https://github.com/Screenly/Anthias/pull/2762
- chore: drop wifi-connect service end-to-end by @vpetersson in https://github.com/Screenly/Anthias/pull/2763
- refactor(messaging): replace ZMQ with Redis for all viewer signalling, drop pyzmq by @vpetersson in https://github.com/Screenly/Anthias/pull/2760
- fix(build): force bun's prod JSX runtime so the React app mounts by @vpetersson in https://github.com/Screenly/Anthias/pull/2764
- docs(issue-template): mark Trixie as supported in bug report template by @nicomiguelino in https://github.com/Screenly/Anthias/pull/2766
- refactor(webview): audit, rebrand to Anthias, pi4-64 support, CalVer by @vpetersson in https://github.com/Screenly/Anthias/pull/2767
- chore(deps): upgrade Django 4.2 LTS -> 5.2 LTS by @vpetersson in https://github.com/Screenly/Anthias/pull/2768
- fix(build): use 64-bit balena base for pi4-64 viewer image by @vpetersson in https://github.com/Screenly/Anthias/pull/2770
- fix(build): skip libraspberrypi0 for pi4-64 (arm64) builds by @vpetersson in https://github.com/Screenly/Anthias/pull/2771
- fix(install): accept Python >=3.11 on host instead of pinning to 3.11 by @vpetersson in https://github.com/Screenly/Anthias/pull/2773
- fix(viewer): route pi4-64 to mpv and enable HW decode by @vpetersson in https://github.com/Screenly/Anthias/pull/2774
- fix(viewer): honor audio_output in mpv and clean up container env by @vpetersson in https://github.com/Screenly/Anthias/pull/2775
- refactor(docker): drop celery image, restore base apt layer dedup by @vpetersson in https://github.com/Screenly/Anthias/pull/2776
- fix(viewer): engage Pi 4 HW decode on pi4-64 to stop frame drops by @vpetersson in https://github.com/Screenly/Anthias/pull/2777
- fix(install): resolve release tags via refs/tags/ in clone_repo by @vpetersson in https://github.com/Screenly/Anthias/pull/2787
- chore(deps): bump python + bun deps with locked transitives by @vpetersson in https://github.com/Screenly/Anthias/pull/2788
- fix(viewer): use v4l2m2m-copy for Pi 4 HW decode, not drm-copy by @vpetersson in https://github.com/Screenly/Anthias/pull/2789
- fix: address top recurring forum complaints (Tier A bundle) by @vpetersson in https://github.com/Screenly/Anthias/pull/2778
- chore(build): upgrade to Debian Trixie + Python 3.13, drop Balena base images by @vpetersson in https://github.com/Screenly/Anthias/pull/2779
- fix(build): bump WebView to v2026.04.1 for trixie artifacts by @vpetersson in https://github.com/Screenly/Anthias/pull/2792
- ci(sbom): version SBOMs by SHA on master, by tag on releases by @vpetersson in https://github.com/Screenly/Anthias/pull/2790
- fix(build): cross-build pi4-64 / pi5 webview as arm64 via QEMU by @vpetersson in https://github.com/Screenly/Anthias/pull/2794
- chore(build): trim runtime apt deps (drop X11/XCB, VLC on Qt6) by @vpetersson in https://github.com/Screenly/Anthias/pull/2793
- chore(deps): audit and drop 17 unused Python dependency pins by @vpetersson in https://github.com/Screenly/Anthias/pull/2795
- fix(viewer): pin mpv to 1080p on pi4-64/pi5 to fix video playback by @vpetersson in https://github.com/Screenly/Anthias/pull/2796
- fix(server): unblock migrations + fix upstream version check by @vpetersson in https://github.com/Screenly/Anthias/pull/2797
- feat(telemetry): move GA emission to Celery beat with refreshed schema by @vpetersson in https://github.com/Screenly/Anthias/pull/2798
- fix(ci): use correct balena fleet slug for pi4 by @vpetersson in https://github.com/Screenly/Anthias/pull/2799
- ci(docker): split latest-tag mirror per registry, soft-fail Docker Hub by @vpetersson in https://github.com/Screenly/Anthias/pull/2800
- We keep hitting rate limiting from Docker Hub - let's say goodbye by @vpetersson in https://github.com/Screenly/Anthias/pull/2802
- chore(viewer): remove dead Balena pre-wait and unused wait_for_node_ip by @vpetersson in https://github.com/Screenly/Anthias/pull/2804
- refactor(tests): migrate Python test suite to pytest by @vpetersson in https://github.com/Screenly/Anthias/pull/2801
- chore(deps-dev): bump pytest from 8.3.4 to 9.0.3 by @dependabot[bot] in https://github.com/Screenly/Anthias/pull/2809
- Hugo website: docs migration, API reference, FAQ, and SEO by @vpetersson in https://github.com/Screenly/Anthias/pull/2807
- feat(asset): move URL reachability ownership to the server by @vpetersson in https://github.com/Screenly/Anthias/pull/2805
- refactor(splash): poll IPs from client instead of rendering server-side by @vpetersson in https://github.com/Screenly/Anthias/pull/2806
- feat(scheduling): per-asset day-of-week and time-of-day windows by @vpetersson in https://github.com/Screenly/Anthias/pull/2751
- fix(ansible): map pi4-64 device_type to arm64 docker (regression from #2779) by @vpetersson in https://github.com/Screenly/Anthias/pull/2815
- refactor(packaging): adopt src/ layout with split server/viewer packages by @vpetersson in https://github.com/Screenly/Anthias/pull/2817
- Replace React frontend with Django templates + HTMX/Alpine by @vpetersson in https://github.com/Screenly/Anthias/pull/2818
- fix(ui): truncate long asset names with ellipsis and hover tooltip by @vpetersson in https://github.com/Screenly/Anthias/pull/2823
- fix(youtube): move download to a Celery task and detect URLs in frontend by @vpetersson in https://github.com/Screenly/Anthias/pull/2822
- feat(ui): modernize splash, login, and error pages by @vpetersson in https://github.com/Screenly/Anthias/pull/2824
- fix(ui): publish bare next/previous to viewer for skip buttons (#2821) by @vpetersson in https://github.com/Screenly/Anthias/pull/2827
- fix(ui): make dashboard responsive on mobile (#2826) by @vpetersson in https://github.com/Screenly/Anthias/pull/2829
- fix(server): compare against latest release tag, not branch HEAD by @vpetersson in https://github.com/Screenly/Anthias/pull/2831
- refactor(auth): migrate to django.contrib.auth by @vpetersson in https://github.com/Screenly/Anthias/pull/2828
- chore(deps): bump @tabler/icons-webfont from 3.41.1 to 3.43.0 in the bun group by @dependabot[bot] in https://github.com/Screenly/Anthias/pull/2839
- chore(deps-dev): bump certifi from 2025.10.5 to 2026.4.22 by @dependabot[bot] in https://github.com/Screenly/Anthias/pull/2836
- chore(deps-dev): bump pytest-django from 4.10.0 to 4.12.0 by @dependabot[bot] in https://github.com/Screenly/Anthias/pull/2837
- chore(deps-dev): bump tenacity from 9.1.2 to 9.1.4 by @dependabot[bot] in https://github.com/Screenly/Anthias/pull/2835
- chore(deps-dev): bump pytest-mock from 3.14.0 to 3.15.1 by @dependabot[bot] in https://github.com/Screenly/Anthias/pull/2834
- feat(processing): normalise HEIC/HEIF/TIFF images and exotic-codec videos at upload time by @vpetersson in https://github.com/Screenly/Anthias/pull/2832
- fix(ui): use {% comment %} for multi-line upload-accept note by @vpetersson in https://github.com/Screenly/Anthias/pull/2840
- feat(webview): per-asset auto-refresh interval for webpage assets by @vpetersson in https://github.com/Screenly/Anthias/pull/2841
- chore(docker): drop the 2026-05-01 webview cache-bust step by @vpetersson in https://github.com/Screenly/Anthias/pull/2844
- fix(install): tmpdir installer_venv on Bookworm; drop getmac dep by @vpetersson in https://github.com/Screenly/Anthias/pull/2843
- ci(mirror): cache oven/bun in ghcr.io/screenly/bun by @vpetersson in https://github.com/Screenly/Anthias/pull/2847
- ci(docker): pull bun from ghcr.io/screenly mirror by @vpetersson in https://github.com/Screenly/Anthias/pull/2848
- chore(server): bake collectstatic into image, drop runtime scratch mount by @vpetersson in https://github.com/Screenly/Anthias/pull/2846
- perf(website): WebP via Hugo Pipes, defer GA, gate chroma.css by @vpetersson in https://github.com/Screenly/Anthias/pull/2851
- fix(readme): fix broken Anthias logo by @salmanfarisvp in https://github.com/Screenly/Anthias/pull/2850
- ci(website): override addopts for rpi-imager pytest run by @vpetersson in https://github.com/Screenly/Anthias/pull/2852
- fix(compose): route container logs to journald to bound disk usage by @vpetersson in https://github.com/Screenly/Anthias/pull/2853
Full Changelog: https://github.com/Screenly/Anthias/compare/v0.20.5...v2026.05.0
Breaking Changes
- Replace ZMQ with Redis for all viewer signalling; drop pyzmq dependency.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
Related context
Related tools
Earlier breaking changes
- v2026.05.1 Removes legacy `srly-ose-redis` container on upgrade.
Beta — feedback welcome: [email protected]