Highlights
A monthly roll-up of the fixes and features merged since 2026.06.3. Notable themes:
Display & viewer
- Screen rotation now works on all cage/Wayland boards (Pi 5, arm64) (#3047)
- New blank/unblank commands to turn the display off/on (#3065)
- "Prefer dark mode" setting for web-page assets (#3050)
Assets & playback
- Bulk asset management — enable/disable/edit/delete from the home screen (#3048), plus restored multi-file bulk upload (#3049) and UI/UX polish (#3066)
- New assets now display without a restart: the viewer detects DB changes under SQLite WAL mode (#3062)
- RTSP / streaming URLs are classified as streaming rather than web pages (#3071)
- yt-dlp format selection biased toward the board's HW-decoded codec (Pi 5 HEVC) (#3093)
Reliability & telemetry
- Celery soft-limits on the display-power and telemetry pokes so a slow poke can't SIGKILL the worker (#3063)
- Settings-save input validation no longer reported to Sentry as errors (#3068)
- Backup is streamed as an async iterator so large backups don't time out (#3074)
Install & build
- armhf builds moved off the retired Linaro toolchain to Debian's crossbuild toolchain (#3070)
- polkitd installed on the Trixie+ manage-network path (#3060); pi3-64 accepted in Ansible validation (#3067); Pi 3 image stream detected from userspace arch (#3076);
python3-devadded for the armv7l cffi build (#3100) collect_debug.shfor debugging faulty installations (#3077)- Disk images compressed with xz instead of zstd (#3107); rpi-imager images tagged with hardware devices so they list in Imager (#3090)
Tested on hardware ✅
Full integrated-stack end-to-end validation of this release's images across three hardware classes. Every supported asset type was driven through the real viewer and verified to load and play back:
| Asset type | x86 (amd64) | Raspberry Pi 5 | Raspberry Pi 4 |
|---|---|---|---|
| Image | ✅ | ✅ | ✅ |
| Video | ✅ H.264 | ✅ HEVC (HW decode) | ✅ H.264 (HW decode) |
| Web page | ✅ | ✅ | ✅ |
All four services (server / viewer / celery / redis) healthy on every board, with a clean error/crash scan across the run. Pi 5 HEVC and Pi 4 H.264 confirmed using the hardware video decoders.
What's Changed
Other Changes 🔧
- fix(viewer): recognize all cage/Wayland boards for screen rotation by @vpetersson in #3047
- fix(server): restore multi-file (bulk) upload in the Add Asset modal by @vpetersson in #3049
- feat(viewer): add "Prefer dark mode" setting for web page assets by @vpetersson in #3050
- fix(balena): add missing device types to unpin fleet map by @vpetersson in #3051
- fix(install): install polkitd on Trixie+ manage-network path; minimize apt updates by @vpetersson in #3060
- feat(server): add bulk asset management (enable/disable/edit/delete) by @vpetersson in #3048
- chore(deps): bump grouped Dependabot updates and refresh uv.lock by @vpetersson in #3064
- fix(viewer): detect DB changes under WAL so new assets load by @vpetersson in #3062
- fix(server): polish home bulk-action & upload UI/UX by @vpetersson in #3066
- fix(celery): soft-limit the display-power and telemetry pokes by @vpetersson in #3063
- feat(viewer): blank/unblank commands to turn the display off by @vpetersson in #3065
- fix(install): accept pi3-64 in Ansible playbook validation by @vpetersson in #3067
- fix(sentry): don't report settings-save input validation as errors by @vpetersson in #3068
- fix(build): replace retired Linaro armhf toolchain with Debian's by @vpetersson in #3070
- fix(server): classify RTSP/streaming URLs as streaming, not webpage by @vpetersson in #3071
- fix(server): stream the backup as an async iterator so it doesn't time out by @vpetersson in #3074
- fix(install): detect Pi 3 image stream from userspace arch, not kernel by @vpetersson in #3076
- feat(bin): add collect_debug.sh for debugging faulty installations by @vpetersson in #3077
- chore(deps-dev): bump the bun group with 3 updates by @dependabot[bot] in #3083
- chore(deps): bump pytest, certifi, ansible-core, sentry-sdk by @vpetersson in #3086
- chore(deps): bump msgpack from 1.1.2 to 1.2.1 by @dependabot[bot] in #3091
- fix(server): allow LAN/private hosts in asset reachability probe by @vpetersson in #3103
- chore(deps): bump the github-actions group across 1 directory with 5 updates by @dependabot[bot] in #3105
- feat(webview): append Anthias version to the User-Agent by @vpetersson in #3102
- docs(website): cover root-password sudo/curl gap in x86 install guide by @vpetersson in #3106
- fix(install): add python3-dev for armv7l cffi build by @vpetersson in #3100
- chore(images): compress disk images with xz instead of zstd by @vpetersson in #3107
- chore(deps): consolidated dependency bump by @vpetersson in #3108
- fix: bias yt-dlp format_sort toward board's HW-decoded codec (Pi 5 HEVC) by @TekScene in #3093
- fix(rpi-imager): tag images with hardware devices so Imager lists them by @vpetersson in #3090
- chore(release): bump to 2026.07.0 by @vpetersson in #3109
New Contributors
Full Changelog: v2026.06.3...v2026.07.0