Highlights
This release is a bug-fix and hardening round focused on image handling,
headless display recovery, and networking in restricted environments.
- Images now honour EXIF orientation (#3233) — portrait photos taken on a
phone no longer display sideways, on both the upload-normalisation path and
the viewer's direct-render path. - Large images no longer exhaust memory on low-RAM boards (#3235) — a
high-megapixel upload is downscaled to the board's pixel budget before
encoding, instead of pushing a Pi 3 / Pi 2 into an OOM reboot. - Viewer recovers from the Wayland headless-boot display wedge (#3240) —
a board that boots with no display attached now retries in a bounded way
rather than sitting on a blank screen. - HTTP proxies are honoured across install and runtime (#3242, #3239) —
Anthias installs and runs behind a corporate proxy. - x86 cold-boot DNS race fixed (#3231) —
systemd-resolvedis now
installed on x86, so the first boot after an install resolves names reliably. - Local-console installs no longer kill the active TTY (#3241).
- Idle websockets no longer trip a Redis channel-layer read timeout
(#3229).
Plus dependency updates, an expanded ruff ruleset, added viewer test coverage,
and website SEO fixes.
What's Changed
Other Changes 🔧
- chore(deps-dev): bump sass from 1.101.6 to 1.102.0 in the bun group by @dependabot[bot] in #3219
- chore(deps): bump docker/login-action from 4.5.1 to 4.6.0 in the github-actions group by @dependabot[bot] in #3226
- chore(deps): bump @tabler/icons-webfont from 3.45.0 to 3.46.0 in the bun group by @dependabot[bot] in #3225
- fix(server): stop channel-layer redis read timeout on idle websockets (#3228) by @vpetersson-bot in #3229
- website: fix SEO audit issues by @vpetersson-bot in #3234
- fix(processing): downscale large images on low-RAM boards before encode by @vpetersson-bot in #3235
- fix: honour EXIF orientation for uploaded images by @vpetersson-bot in #3233
- chore(lint): adopt ruff 0.16.0's expanded ruleset and fix the findings by @vpetersson-bot in #3224
- test(viewer): cover gst_fbdev_player.main() and its callbacks (35% → 98%) by @vpetersson-bot in #3237
- chore(deps-dev): bump python group (8 updates) + fix mypy fallout by @vpetersson-bot in #3238
- fix(viewer): recover Wayland headless-boot display wedge (bounded restarts) by @vpetersson-bot in #3240
- fix(install): don't stop getty@tty1 during a local-console install by @vpetersson-bot in #3241
- chore(deps): bump cryptography from 49.0.0 to 50.0.0 by @dependabot[bot] in #3243
- feat: honor HTTP proxies across install and runtime (#3239) by @vpetersson-bot in #3242
- fix(ansible): install systemd-resolved on x86 to fix cold-boot DNS race by @vpetersson-bot in #3231
- chore(release): bump version metadata to 2026.08.0 by @vpetersson-bot in #3245
Full Changelog: v2026.07.4...v2026.08.0