Skip to content

Releases: FrameOS/frameos

FrameOS 2026.6.9

07 Jun 00:20

Choose a tag to compare

New features

  • Added build environment selection for FrameOS builds, including local builds, SSH build hosts, Modal sandboxes, and an option to disable server-side builds when using precompiled Buildroot SD images.
  • Added backend/API probes for build environments: operators can test an SSH build host for Docker/Buildx support and test Modal sandbox credentials/tooling before starting builds.
  • Added Docker availability to the system info API and settings UI so operators can see whether the Docker CLI and daemon are available on the FrameOS server.
  • Added support for preparing compatible precompiled Buildroot SD card images without requiring Docker or a configured build executor.
  • Added a standalone scripts/frameos-setup.sh installer for deployment/setup workflows outside the main application container.
  • Added a native FrameOS JavaScript transpiler/runtime path for device builds, replacing the previous bundled frontend transpiler asset.

Bug fixes

  • Buildroot SD image jobs now detect stale queued/running work using heartbeats and can recover instead of leaving frames stuck in a stale build state.
  • Buildroot SD image status can still report usable precompiled image state when resolving the Buildroot base image metadata fails.
  • Buildroot frame binary builds now disable on-device fallback when composing SD images, avoiding invalid fallback behavior during image generation.
  • Removed the external liblgpio runtime/build dependency for native GPIO-based drivers, reducing deployment failures on systems where liblgpio-dev is unavailable.
  • Waveshare build archives now include the required GPIO header when needed, fixing native driver compilation packaging.
  • Agent cross-compilation now respects the selected build environment and reports clearer failures when a configured executor cannot support the target architecture.

Maintenance

  • Updated QuickJS to the 2026-06-04 source release across Docker builds, deployment helpers, and test targets.
  • Refactored build execution into shared local, SSH build host, and Modal sandbox executors.
  • Refreshed cross-toolchain image configuration and CI coverage for cross-compilation workflows.
  • Added and expanded tests for build environments, Modal sandboxes, Buildroot SD images, deploy planning, the setup script, native JS transpilation, and GPIO bindings.
  • Reduced default Buildroot FrameOS/assets partition sizes and added data partition headroom logic for generated SD images.

Docker images

FrameOS 2026.6.8

04 Jun 07:13

Choose a tag to compare

New features

  • Added per-frame timezone update settings across the UI, backend/API, and device runtime, including enable/disable, update hour, and update URL.
  • Buildroot SD image generation can now customize precompiled full SD images, reducing the need for local FrameOS and agent builds when a matching image is available.
  • Buildroot images now include first-boot SD card expansion support, so the device can grow its partitions after being written to a larger card.
  • Deploy and fast-deploy tasks can now use stable task IDs, with start, completion, and failure markers in frame logs for better UI progress tracking.
  • Frame boot reports now include timezone update configuration, and the backend can learn a frame’s timezone from boot logs when no timezone is already stored.

Bug fixes

  • Frame image previews now return a rendered error PNG when a refresh fails and no cached image is available, instead of returning a JSON error response.
  • Explicit timezones are now preserved for Raspberry Pi OS frames instead of being omitted from generated frame configuration.
  • Stored timezone handling now accepts safe custom timezone names while still rejecting unsafe paths and malformed values.
  • The FrameOS agent now closes its internal HTTP client after proxied HTTP commands, preventing connection/resource leaks.
  • RTSP snapshot capture now streams ffmpeg output through a managed process with timeout and output-size limits, improving reliability and cleanup.
  • Metrics logging now records a metrics error sample instead of letting a metrics collection exception stop the loop.

Maintenance

  • Added database migration support for the new per-frame timezone updater configuration.
  • Added backend tests for timezone handling, deploy task IDs, frame image error responses, Buildroot SD image behavior, and local command logging.
  • Added runtime process utility tests and updated metrics/timezone updater tests.
  • Updated Buildroot image tooling, manifests, and documentation for the newer SD image customization flow.
  • Refined frontend visual snapshots for the updated frame settings, metrics, workspace, and global settings screens.

Docker images

FrameOS 2026.6.7

03 Jun 00:38

Choose a tag to compare

New features

  • UI: workspace frame cards now show metric alert indicators and fetch lightweight recent metrics previews for faster status checks.
  • Backend/API: added GET /frames/{id}/metrics/recent with limit and since filters for efficient recent metric loading.
  • Runtime/device: metrics now report CPU core count and include a per-boot runtime ID, helping operators distinguish data across device reboots.
  • Runtime/device: FrameOS now starts a timezone updater so configured timezone changes can be applied while the device is running.
  • Deployment: release automation now builds a Raspberry Pi Zero 2 W Buildroot SD image artifact, including metadata, for easier first-time installation.

Bug fixes

  • Deployment: fixed Buildroot release image Docker mount handling so release image composition can find downloaded prebuilt artifacts correctly.
  • Deployment/runtime: Buildroot devices now prefer the active /boot/config.txt when applying boot config changes, avoiding writes to the Raspberry Pi OS firmware config path.
  • Deployment: cross-compilation now uses safer Docker base image selection, including canonical Ubuntu codenames, fallback defaults for invalid detected releases, and the correct Buildroot toolchain base.
  • Backend/API: metrics are now returned as stored without adding synthetic reboot marker annotations, while preserving runtime boot IDs.
  • Runtime/device: Buildroot systemd service setup now supports console logging and can install the packaged service file when present.
  • Runtime/device: Buildroot image boot config now reserves less GPU memory by default, returning more RAM to Linux/userland.

Maintenance

  • Added tests for recent metrics, metric boot IDs, Buildroot release image generation, boot config detection, timezone updating, cross-compilation image selection, and deployment planning.
  • Updated Buildroot image tooling and documentation for release-image generation.
  • Updated visual regression snapshots for the frame debug UI.
  • Improved release workflow ordering so multi-arch image publishing waits for Buildroot release image generation.

Docker images

FrameOS 2026.6.6

02 Jun 19:58

Choose a tag to compare

New features

  • Added the first backend/API foundation for multiple projects: frames, settings, assets, fonts, templates, repositories, chats, logs, metrics, scene images, and AI tools are now scoped to a project.
  • Added project listing and lookup APIs, with default project creation for existing single-user installs and Home Assistant ingress installs.
  • Updated deployment/bootstrap flows to be project-aware, including generated frame bootstrap URLs and project-scoped frame access.
  • Updated the frontend to load project context and route API calls through the selected project.
  • Added Home Assistant ingress routing support for project-aware frontend navigation.

Bug fixes

  • Fixed frame workspace actions by moving them into a dedicated actions menu so frame operations remain available and correctly wired from the workspace UI.
  • Fixed runtime/device HTTP limit handling across FrameOS HTTP downloads/uploads and data apps, improving reliability for larger images and URL-based assets.
  • Fixed project isolation for shared resources so assets, fonts, templates, repositories, chats, scene images, settings, and frame lookups no longer leak across projects.
  • Fixed frame image, state, and uploaded-scene cache keys to use frame IDs, reducing collisions between frames with similar network settings.
  • Improved AI scene/app chat error handling for missing or inaccessible configured models, returning clearer operator-facing guidance.
  • Fixed Home Assistant ingress authentication behavior for project-scoped APIs and websocket access.

Maintenance

  • Added database migrations for organizations, projects, memberships, and project IDs on existing FrameOS data.
  • Removed legacy stored AI embedding models/endpoints and replaced scene context building with a catalog-based backend utility.
  • Added multitenancy migration and API test coverage across frames, repositories, templates, settings, logs, metrics, and websockets.
  • Updated frontend visual snapshots and E2E seed data for the project-aware UI.
  • Added explicit Monaco editor worker configuration for the frontend build.
  • Updated CI workflows for buildroot/cross-toolchain image publishing and to avoid unnecessary test runs on digest-only updates.

Docker images

FrameOS 2026.6.5

01 Jun 21:02

Choose a tag to compare

New features

  • Added a per-frame “Maximum HTTP response size for JavaScript apps” setting in Frame Settings, used by frameos.fetchText and frameos.fetchJson for larger feeds or API responses.
  • Exposed the HTTP response size limit through the backend API and device runtime configuration, with a default of 64 MiB.
  • Added a “Scene settings” action to the workspace scene dropdown for quicker access to scene configuration.

Bug fixes

  • Fixed rotated frame preview placeholders so “no image” placeholders use the correct rotated dimensions.
  • Improved frame image loading so the UI detects initial placeholder images and requests a fresh image once instead of leaving stale “no image” previews visible.
  • Avoided unnecessary image refresh work for cache-check HEAD requests when no cached image exists.
  • Fixed shared compiled scene bundle initialization by setting host callbacks directly, improving reliability for shared-scene deployments.

Maintenance

  • Added a database migration and schema coverage for the new frame HTTP response size limit.
  • Expanded backend, runtime, and code generation tests around image placeholders, frame config, server API payloads, and shared scene bundles.
  • Updated visual regression snapshots for frame debug and settings screens.
  • Updated the bundled app metadata after reordering the “Set as state” app fields.

Docker images

FrameOS 2026.6.4

01 Jun 09:31

Choose a tag to compare

New features

  • Added a frame-level image engine setting, allowing FrameOS operators to choose Pixie/default rendering or ImageMagick where supported.
  • Exposed the configured/effective image engine through frame configuration, device startup logs, and the frame API.
  • Added ImageMagick support to Buildroot images and included FFmpeg/FFprobe libraries for richer runtime media handling.
  • Increased the Buildroot FrameOS partition default size to 1 GB to allow more room for runtime files and deployments.
  • Consolidated the FrameOS setup/deploy flow so setup JSON handling uses the runtime frameos setup --with-setup path.

Bug fixes

  • Fixed deploy planning so detected device OS can update the frame deployment mode between Raspberry Pi OS and Buildroot, including resetting the SSH user from root back to pi when appropriate.
  • Fixed Buildroot full deploy planning to avoid Raspberry Pi OS package-install assumptions such as remote apt handling.
  • Fixed deploy plan previews so mode and SSH user changes discovered during planning are persisted back to the frame when needed.
  • Fixed precompiled FrameOS deployments to skip unnecessary local source preparation and modification steps.
  • Improved SVG rendering by using the new image decoding fallback path instead of requiring ImageMagick-only SVG rendering.
  • Scene generation now fails clearly when a referenced child scene is missing instead of silently logging and stopping generation.

Maintenance

  • Added a database migration for the new image_engine frame setting.
  • Updated frontend frame settings and deploy-plan UI snapshots for the new deployment and image-engine behavior.
  • Expanded backend and runtime tests for deploy planning, Buildroot image configuration, setup handling, frame serialization, and image utilities.
  • Updated Nim package dependencies used by the FrameOS runtime and app editing context.
  • Refreshed Buildroot image tooling, manifest data, and boot logo assets.

Docker images

FrameOS 2026.6.3

31 May 22:46

Choose a tag to compare

New features

  • Added a Buildroot-based installation path for supported Raspberry Pi targets, including Raspberry Pi Zero 2 W, with backend SD-image generation, network/Wi-Fi defaults, boot logo customization, and UI install/deploy flow support.
  • Added a new frame bootstrap flow that generates a curl | sudo sh command to install FrameOS and the FrameOS agent as systemd services, with token regeneration and Home Assistant ingress/forwarded URL handling.
  • Added per-frame timezone support, including a global default timezone setting and bundled runtime timezone data.
  • Added a shared-scenes compilation mode for deployments that package compiled scenes as shared libraries.
  • Frame creation now fills in known display dimensions for many Pimoroni Inky, HyperPixel, and Waveshare devices.

Bug fixes

  • Fixed timezone alias handling so aliases are preserved alongside canonical timezone data and existing timezone selections are not dropped.
  • Fixed release driver setup generation so shared/precompiled driver artifacts include the expected setup helpers.
  • Fixed release agent setup generation paths used by deployment tooling.
  • Buildroot SD-image deploy state is now updated when a frame reports bootup, so successful deploy tracking reflects the booted image.
  • Improved frame state/image refresh coordination to reduce duplicate refreshes and back off after failed state refresh attempts.

Maintenance

  • Added E2E installation coverage, including real Buildroot SD-image and FrameOS runtime tests.
  • Split visual regression tests into shards and changed snapshot updates to be collected and committed after shard completion.
  • Added workflows and tooling for publishing Buildroot and cross-toolchain container images.
  • Added automated timezone data sync and validation.
  • Updated Docker runtime dependencies needed for image generation and device deployment tooling.

Docker images

FrameOS 2026.6.2

28 May 22:18

Choose a tag to compare

New features

  • Added configurable frame error behavior in the UI, backend/API, and runtime: operators can choose safe mode, show-error-and-retry, or silent retry modes with retry timing settings.
  • Added native Nim driver support for many Pimoroni Inky displays, including Inky Impression, Inky pHAT, and Inky wHAT variants, with PNG rendering support where applicable.
  • Added a native pimoroni.hyperpixel2r_native driver path using lgpio, while keeping existing pimoroni.hyperpixel2r configs on the legacy framebuffer-based driver.
  • Added deployment/prebuilt target support for Ubuntu 26.04 / resolute.
  • Added a shared frame connection status dot component in the UI for clearer frame connectivity indicators.

Bug fixes

  • Fixed Waveshare EPD_5in83_V2 handling to use the four-gray initialization and display path instead of treating it as black-only.
  • Improved Raspberry Pi OS sudo failure guidance during deploys with the exact raspi-config menu path for disabling the Admin Password requirement.
  • Preserved legacy HyperPixel 2r deployments by separating the old Python/vendor-backed framebuffer driver from the new native driver.
  • Normalized and migrated frame error behavior settings, including legacy silent retry window fields, to avoid invalid or missing runtime configuration.

Maintenance

  • Expanded tests for device driver selection, frame error behavior normalization, deploy planning, cross-compilation targets, and release driver generation.
  • Updated prebuilt dependency tooling and manifests for lgpio and Ubuntu 26.04 targets.
  • Updated frontend visual snapshots for the changed frame settings, debug, and workspace UI.
  • Added release workflow automation for posting published release notifications.
  • Updated bundled Inky Python requirements and related vendor setup tests.

Docker images

FrameOS 2026.6.1

27 May 23:05

Choose a tag to compare

New features

  • Added an agent bootstrap flow: the backend/API and UI can generate a tokenized curl | sudo sh command that installs a precompiled FrameOS agent and writes the frame’s agent configuration.
  • Added selectable agent task transport for deploy and restart operations (auto, agent, or ssh), allowing agent-managed frames to deploy and restart without relying on SSH.
  • Added frame mountpoint configuration for Samba/CIFS shares, with backend storage/API support, deployment planning for cifs-utils, and runtime/device support for mounting configured shares.
  • Added refreshed FrameOS logo assets and related UI updates across the workspace and frame screens.

Bug fixes

  • Agent deploys are more robust: binaries are uploaded compressed, verified with SHA-256 before activation, staged releases are checked, and deploys wait for the restarted agent to come back.
  • Restarting the agent through the agent transport now uses a delayed systemd restart command so the restart can complete without killing the active command connection too early.
  • Deployments using the agent transport now skip SSH authorized_keys installation and use the current remote user for the runtime service instead of assuming the configured SSH user.
  • Agent bootstrap URLs now respect forwarded host/protocol information and ingress paths, improving operation behind proxies and Home Assistant ingress.
  • Remote command execution now validates the requested transport and gives clearer failures when agent transport is forced but unavailable.

Maintenance

  • Added database migrations for frame mountpoints and scene execution mode defaults.
  • Expanded backend tests for frame APIs, agent bootstrap/deploy/restart flows, remote execution, terminal websockets, and deployment planning.
  • Expanded runtime/device tests for configuration, setup, runner loop behavior, server APIs, and web routes.
  • Sharded frontend visual regression tests in CI and updated visual snapshots for the UI changes.

Docker images

FrameOS 2026.6.0

27 May 01:20

Choose a tag to compare

New features

  • Major UI redesign with a new FrameOS shell, redesigned login/signup screens, frame home, frame dashboard, and dedicated frame, scene, and app workspaces.
  • Added new workspace drawers and indicators for deploy plans, unsaved frame changes, live frame status, and frame change status.
  • Added long-running task toasts so deploys, uploads, and other background work can surface progress and results in the UI.
  • Added local account management for non-Home Assistant installs, including API and settings support for viewing the current user, changing email, and changing password.
  • Added persistent terminal session UI support for frame terminals.
  • Added cached backend responses for frame assets and frame state, with cache status metadata returned to the UI.
  • Added active scene information to frame API responses for easier dashboard and workspace state display.

Bug fixes

  • Fixed frame “last activity” timestamps so backend connection attempts, SSH noise, and image fetch failures no longer make a frame look recently active.
  • Improved scene image serving by adding private cache headers and generating thumbnails only when thumbnail images are requested.
  • Fixed Home Assistant ingress path handling by normalizing Supervisor-provided paths and honoring the x-ingress-path header when serving the frontend.
  • Disabled local account-management endpoints when running under Home Assistant modes, where authentication is handled externally.
  • Improved agent deployment and restart logging so missing frames and command failures are recorded in frame logs.
  • Fixed the runtime frameos setup command to exit successfully after setup completes without requiring a reboot.

Maintenance

  • Added frontend end-to-end and visual regression coverage for the redesigned UI across light/dark themes and multiple viewport sizes.
  • Expanded backend tests for account management, ingress behavior, frame activity timestamps, frame asset caching, and log handling.
  • Expanded CI to run the new frontend visual regression suite and upload reports.
  • Updated release automation and cross-build validation for generated release artifacts.
  • Refreshed frontend dependencies and shared UI/theme utilities to support the redesign.

Docker images