github Screenly/Anthias v2026.05.0

3 hours ago

What's Changed

Other Changes 🔧

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

Full Changelog: v0.20.5...v2026.05.0

Don't miss a new Anthias release

NewReleases is sending notifications on new releases.