Skip to content

Releases: FrameOS/frameos

FrameOS 2026.6.26

27 Jun 01:34

Choose a tag to compare

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 setCurrentScene dispatch 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

26 Jun 18:59

Choose a tag to compare

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

25 Jun 23:14

Choose a tag to compare

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

24 Jun 12:22

Choose a tag to compare

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

24 Jun 00:51

Choose a tag to compare

New features

  • Added partial refresh support for Waveshare EPD_7in5_V2 and EPD_13in3b displays, 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@tty1 is only restarted after FrameOS has actually stopped, avoiding console/service conflicts during restarts.
  • Added a restart delay to generated frameos.service units 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_V2 initialization and partial-refresh routines.
  • Fixed partial-refresh base restoration for Waveshare EPD_13in3b so 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

21 Jun 23:14

Choose a tag to compare

New features

  • Framebuffer-based frames now claim /dev/tty1 for FrameOS, stop the competing getty@tty1 service, 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

17 Jun 16:07

Choose a tag to compare

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.service to 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

17 Jun 13:48

Choose a tag to compare

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

15 Jun 06:37

Choose a tag to compare

New features

  • Added an embedded frame 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_13in3k color 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

11 Jun 17:34

Choose a tag to compare

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.

Docker images