Skip to content

Anthias

vWebView-v2026.04.1 Breaking

This release includes 4 breaking changes for platform teams planning a safe upgrade.

Published 1mo Media Servers
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

digital-signage iot python raspberry-pi

Affected surfaces

auth breaking_upgrade

Summary

AI summary

Debian Trixie and Python 3.13 migration across the WebView stack.

Full changelog

This release completes the Debian Trixie + Python 3.13 migration across the entire WebView stack — the Qt 5 toolchains for pi2/pi3 are rebuilt on trixie, and the Qt 6 webviews for pi4-64, pi5, and x86 are rebuilt against trixie's qt6-webengine-dev.

Supersedes WebView-v2026.04.0 (the first CalVer-tagged WebView release, which carried the Anthias rebrand of D-Bus / install paths / on-disk resources, the new pi4-64 Qt 6 path, and the webview-<calver>-<debian>-<board>.tar.gz artifact naming on bookworm). Use 2026.04.1 — 2026.04.0's bookworm tarballs are obsolete.

Build pipeline

  • Qt 5 cross-build Dockerfile end-to-end fixes for trixie
    • python2.7 from bullseye archive (trixie main dropped py2; pyenv was effectively broken because its PATH only loaded via ~/.bashrc, never reached docker run)
    • sysroot now ships harfbuzz/lcms2/re2/xml2 dev libs (chromium pdfium needed them on host and sysroot)
    • bzip2.pc copied from /usr/share/pkgconfig — was silently missing, made fontconfig probe fail and QtWebEngine quietly skipped
    • -webengine-proprietary-codecs enabled — H.264, AAC, MP3 in the resulting QtWebEngine
    • MAKE_CORES capped at min(nproc, 8) so chromium under qemu-arm doesn't OOM on >8-core hosts
    • trixie apt renames in webview/Dockerfile: libpng16-16libpng16-16t64 (time64 transition), libgst-devlibgstreamer1.0-dev, libsqlite0-devlibsqlite3-dev, libsrtp0-devlibsrtp2-dev
  • Trixie + Python 3.13 across all containers (server, celery, viewer, webview) — drops Balena base images, which never published a trixie tag and last refreshed in May 2025
  • Pi keyring fetch hardened: HTTPS-only + SHA256 pinning on raspberrypi-archive-keyring and raspbian-archive-keyring .debs (the .deb is the trust anchor for everything fetched after it, so TLS alone wouldn't catch an upstream archive-side swap)
  • bin/rebuild_qt5_toolchain.sh — out-of-band toolchain rebuild helper for pi2/pi3
  • pi1 + 32-bit pi4 retired — surviving build matrix is pi2, pi3, pi4-64, pi5, x86; Qt 5 path is pi2/pi3 only

CI / release infrastructure

  • Qt 5 builder image moved off Docker Hub onto GHCR: screenly/ose-qt-builderghcr.io/screenly/anthias-webview-qt5-builder (image + :buildcache tag), aligning with the rest of the anthias-* packages
  • Qt 5 builder built inline in compile-webview-part-1 (no separate publish job)
  • Registry-cache backend for the Qt 5 builder, mirroring docker-build.yaml
  • USER root declared explicitly in webview/Dockerfile builder stage (sonar finding)

Viewer / pi4-64

  • pi4-64 routes to mpv with HW decode via v4l2m2m-copy (not drm-copy)
  • 64-bit balena base for pi4-64 viewer image
  • libraspberrypi0 skipped on arm64 (it's armhf-only)
  • audio_output setting honored in mpv

Webview UX (forum Tier-A bundle, #2778)

  • No more white flash on dark URL assetssetBackgroundColor(Qt::black) on QWebEnginePage so the gap between load start and first paint is no longer white (forum t/6610)
  • URL assets refresh every loopQWebEngineProfile switched to memory HTTP cache + clearHttpCache on startup, instead of lingering stale for days from the on-disk cache (forum t/983)
  • Auto Qt scaling on 4K+ screensbin/start_viewer.sh now reads the active mode from /sys/class/drm/card*-*/modes and exports QT_SCALE_FACTOR (3840→2x, 5120→3x, 7680→4x); manual overrides win (forum t/6538)

Install / deps

  • bin/install.sh accepts Python >=3.11 (was pinned to 3.11)
  • Resolves release tags via refs/tags/ in clone_repo
  • Django 4.2.30 → 5.2.13 (LTS)

Release artifacts

| Board | Qt | Tarball(s) |
| --- | --- | --- |
| pi2 | 5.15.14 + WebEngine (this release's trixie toolchain) | qt5-5.15.14-trixie-pi2.tar.gz, webview-2026.04.1-trixie-pi2.tar.gz |
| pi3 | 5.15.14 + WebEngine (this release's trixie toolchain) | qt5-5.15.14-trixie-pi3.tar.gz, webview-2026.04.1-trixie-pi3.tar.gz |
| pi4-64 | Qt 6 + WebEngine (trixie apt) | webview-2026.04.1-trixie-pi4-64.tar.gz |
| pi5 | Qt 6 + WebEngine (trixie apt) | webview-2026.04.1-trixie-pi5.tar.gz |
| x86 | Qt 6 + WebEngine (trixie apt) | webview-2026.04.1-trixie-x86.tar.gz |

Bookworm tarballs (pi1, pi2, pi3, pi4 32-bit) remain on WebView-v0.3.5 for legacy installs.

Breaking Changes

  • Drops Python 2.7 support; Qt 5 cross‑build now requires Debian Trixie which no longer provides python2.7.
  • Retires pi1 and 32‑bit pi4 builds from the supported matrix.
  • Qt 6 WebEngine on pi4‑64, pi5, x86 rebuilt against Debian Trixie’s `qt6-webengine-dev` (replaces previous bookworm toolchain).
  • Minimum Python version for `bin/install.sh` raised to ≥3.11 (was pinned to 3.11).

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

Track Anthias

Get notified when new releases ship.

Sign up free

About Anthias

The world's most popular open source digital signage project.

All releases →

Related context

Earlier breaking changes

  • v2026.05.1 Removes legacy `srly-ose-redis` container on upgrade.

Beta — feedback welcome: [email protected]