Releases: FrameOS/frameos
Releases · FrameOS/frameos
FrameOS 2026.6.26
New features
- Added a split-screen scene builder in the workspace UI, with layout presets, drag-and-drop scene assignment, adjustable split ratios, borders, backgrounds, per-scene state fields, and generated preview thumbnails.
- Scene tiles in the workspace can now be dragged into split-screen layouts.
- Split-screen layout metadata is saved with scenes so existing split-screen scenes can be reopened and edited.
- Added a back button from the AI chat drawer to the Add scene drawer when chat is opened from the scene/template flow.
Bug fixes
- Backend/API: frame preview images reported as
uploaded/<scene-id>are now stored under the original configured scene ID when appropriate, preventing duplicate or missing scene thumbnails for uploaded previews. - UI: scene previews now include referenced scenes from scene nodes and
setCurrentScenedispatch nodes, improving previews for composed or linked scenes.
Maintenance
- Added backend tests for uploaded scene preview image caching behavior.
- Updated frontend visual snapshots for the scene and workspace UI changes.
- Updated frontend development tooling, including TypeScript and kea-typegen.
- Added a package manager peer dependency extension for kea-forms.
Docker images
FrameOS 2026.6.25
New features
- No notable changes were found for this category.
Bug fixes
- Fixed runtime/device memory retention when rendering images by clearing transient image inputs after each render and reclaiming render memory after framebuffer updates.
- Fixed remote deployment reconnect handling so commands already sent to a disconnected Remote websocket fail promptly instead of hanging until timeout.
- Fixed backend frame update broadcasts to refresh from the committed database state before publishing, preserving Remote agent version and capability updates made by concurrent connections.
- Improved deployment handling for read-only root filesystems by adding timeouts and warning logs when remounting back to read-only fails, avoiding stuck deploy cleanup steps.
Maintenance
- Synced bundled timezone data.
- Added backend and runtime tests for Remote websocket disconnect handling, frame update publishing, and render image memory cleanup.
Docker images
FrameOS 2026.6.24
New features
- The Metrics view now includes reboot details alongside metric history, backed by runtime reboot-reason tracking on devices.
- Deploy plans can now detect when FrameOS Remote is out of date and include a remote upgrade step in the deployment workflow.
- Frame bootstrap now installs and starts
frameos-remote.service, including cleanup for legacy FrameOS agent services.
Bug fixes
- Fixed Buildroot precompiled SD image customization in Home Assistant ingress installs so it does not incorrectly select a configured build host.
- First-boot setup now runs before
frameos-remote.service, preventing the remote service from starting with stale setup state. - Remote restart/deploy commands now clean up legacy agent services and paths to avoid duplicate old/new background services.
Maintenance
- Renamed the device-side “agent” implementation to “FrameOS Remote” across backend tasks, WebSocket routes, runtime service files, Docker builds, and frontend labels.
- Refreshed cross-toolchain image digests and Buildroot release-image metadata.
- Expanded backend, runtime, deployment, Buildroot, WebSocket, and frontend visual test coverage for the remote rename and deployment changes.
Docker images
FrameOS 2026.6.23
New features
- No notable changes were found for this category.
Bug fixes
- Home Assistant add-on deployments now default to no local build environment instead of assuming Docker is available.
- Backend/API: Buildroot SD image generation now shows Home Assistant-specific guidance when compilation requires a build host or Modal sandbox.
- Runtime/device: the framebuffer driver now handles invalid framebuffer metadata that can cause division-by-zero errors, falling back to configured screen dimensions instead of failing initialization.
Maintenance
- Added backend tests for Home Assistant build environment defaults and Buildroot SD image error messaging.
- Updated release metadata for FrameOS 2026.6.23.
Docker images
FrameOS 2026.6.22
New features
- Added partial refresh support for Waveshare
EPD_7in5_V2andEPD_13in3bdisplays, including runtime tracking of changed regions and automatic fallbacks to full refreshes. - Added UI settings for supported Waveshare partial refresh displays, including maximum partial-refresh area and the number of partial refreshes before a full refresh.
- The backend/API now preserves device configuration when creating a new frame, so partial refresh settings can be applied during frame setup.
- Waveshare drivers now advertise display on/off support to FrameOS.
Bug fixes
- Fixed framebuffer deployments so
getty@tty1is only restarted after FrameOS has actually stopped, avoiding console/service conflicts during restarts. - Added a restart delay to generated
frameos.serviceunits to avoid rapid restart loops. - Improved Waveshare environment detection on devices running FrameOS/Buildroot and Raspberry Pi systems detected via device tree.
- Improved Waveshare
EPD_7in5_V2initialization and partial-refresh routines. - Fixed partial-refresh base restoration for Waveshare
EPD_13in3bso partial updates can resume correctly after sleep.
Maintenance
- Added backend and runtime tests for partial refresh device configuration and generated Waveshare driver hooks.
- Updated frontend visual snapshots for the workspace UI.
- Updated generated driver context plumbing so partial refresh settings are available to compiled/shared drivers.
- Updated setup scripts, service templates, and Buildroot image metadata.
Docker images
FrameOS 2026.6.21
New features
- Framebuffer-based frames now claim
/dev/tty1for FrameOS, stop the competinggetty@tty1service, and run the framebuffer in graphics mode for cleaner full-screen output. - Standalone setup, backend bootstrap scripts, and generated systemd service files now include framebuffer-specific TTY settings automatically when the frame device is
framebuffer. - Bundled timezone data was refreshed from the FrameOS timezone distribution.
Bug fixes
- Framebuffer devices now restore terminal echo and text mode when FrameOS exits or receives termination signals, reducing the chance of leaving the console in a broken state.
- The evdev input driver no longer fails the runtime when no
/dev/input/event*devices are available; it logs the condition and stops the input driver cleanly. - Low-memory remote deploys now stop FrameOS with
systemctl stop frameos.service, improving service handling during on-device builds. - Timezone update logs now display ETags without surrounding HTTP quote characters.
- Buildroot image installs now preserve the staged FrameOS service configuration, including runtime environment paths, without mirroring service logs to the framebuffer console.
Maintenance
- Added automation for building and publishing Buildroot base images.
- Docker CI now builds the runtime image and ESP32 firmware/QEMU image in separate jobs, with a dedicated ESP32 CI Docker target.
- Timezone sync automation now imports prebuilt distribution artifacts from the timezone repository and validates them before updating FrameOS assets.
- Added tests for framebuffer TTY service generation, setup user detection, agent-run setup detection, timezone ETag formatting, Buildroot overlays, and deploy workflow behavior.
Docker images
FrameOS 2026.6.20
New features
- No notable changes were found for this category.
Bug fixes
- Fixed agent-based deployments so the systemd service install runs outside the current agent sandbox, allowing
/etc/systemd/system/frameos_agent.serviceto be copied, owned by root, and permissioned correctly before restart.
Maintenance
- Added backend deployment tests covering agent-transport service installation through
systemd-run.
Docker images
FrameOS 2026.6.19
New features
- No notable changes were found for this category.
Bug fixes
- Fixed agent deployment on read-only Buildroot hosts by remounting the root filesystem read-write before staging agent files, not only during service installation.
- Ensured old agent build cleanup runs before remounting read-only roots back to read-only, preventing cleanup failures on affected devices.
Maintenance
- Added deployment flow test coverage for read-only root handling during agent staging, service setup, release verification, and cleanup.
Docker images
FrameOS 2026.6.18
New features
- Added an
embeddedframe mode for ESP32-S3 devices, including backend/API support for firmware builds, downloads, OTA status, and per-frame embedded configuration. - Added ESP32 device-facing endpoints for authenticated scene polling, service settings, OTA manifests/downloads, and diagnostic bitmap rendering.
- Added an ESP32 embedded runtime with Wi-Fi, OTA, buttons, battery/status handling, scene loading, QuickJS/Nim execution, and Waveshare e-paper display support.
- Added a web-based embedded flasher UI and updated frame creation/settings flows to support ESP32 embedded frames.
- Added support for serving embedded scene updates with ETags so devices can poll without downloading unchanged scene data.
- Added embedded firmware defaults for HTTPS proxying, device pins, maximum HTTP response size, and supported panel selection.
- Added Waveshare 13.3" Spectra 6 (
EPD_13in3e) driver support.
Bug fixes
- Fixed frame image previews fetched as BMPs by converting them to PNG before returning and caching them in the backend/API.
- Fixed embedded frame boot reporting so valid ESP32 boot IPs can update the frame host automatically.
- Fixed embedded boot metadata handling so width and height can be populated from device boot logs when not explicitly configured.
- Fixed HTTPS proxy port normalization to fall back to a valid default when invalid values are stored.
- Fixed Waveshare
EPD_13in3kcolor classification from black-only to four-gray. - Fixed Buildroot image services so FrameOS logs are not mirrored over the framebuffer display console.
Maintenance
- Added ESP32 firmware build tasks, artifact handling, configuration hashing, OTA request tracking, and extensive backend tests.
- Added Docker image support for the ESP-IDF toolchain and ESP32 firmware build dependencies.
- Added CI coverage for ESP32 firmware builds, QEMU boot checks, and embedded Nim compilation.
- Added embedded app registry guards for apps that require host-only runtime features.
- Updated frontend visual regression snapshots for the new frame/workspace/settings UI.
- Refactored frame workspace/editor logic and removed the older panel container/panel registry components.
Docker images
FrameOS 2026.6.17
New features
- No notable changes were found for this category.
Bug fixes
- Backend/API log ingestion now commits each device log before publishing live updates, preventing SQLite write-lock starvation and “database is locked” storms during large batched log uploads.
- Backend log and metrics retention pruning now uses bulk deletes, reducing long write transactions when old per-frame records are trimmed.
- Settings UI now shows the actual FrameOS release version instead of a component version that may not change on every release.
Maintenance
- Release automation no longer forces agent component version bumps when agent sources have not changed.
- Added a regression test to ensure log writes are committed before live log publishing.