Releases: FrameOS/frameos
Releases · FrameOS/frameos
Release list
FrameOS 2026.7.6
New features
- Waveshare 13.3" E (
EPD_13in3e) now uses hardware SPI on devices when available, with a software SPI fallback if SPI cannot be opened. - Deployment planning now treats Waveshare
EPD_13in3eas a boot-configured SPI device in both backend driver setup and the UI’s deploy driver inference.
Bug fixes
- Fixed
EPD_13in3eboot configuration so SPI0 is enabled without kernel chip selects, while GPIO 7 and 8 remain available for the driver’s manual chip-select handling. - Fixed WebAssembly runtime builds to build QuickJS from source when the
quickjs/directory contains a prebuilt copy.
Maintenance
- Moved npm package publishing into a dedicated workflow using trusted publishing, with support for manually rerunning publishes without bumping versions.
- Updated driver setup tests to cover the new Waveshare
EPD_13in3eSPI boot configuration behavior.
Docker images
FrameOS 2026.7.5
New features
- Added an embeddable scene editor and live scene preview bundle, so FrameOS editing and WebAssembly previews can be embedded outside the main FrameOS UI.
- Added published WebAssembly/runtime packages for browser-based FrameOS previews and embedded editor integrations.
- Expanded JavaScript app runtime APIs with bounded HTTP requests, text/JSON fetch helpers, scoped settings access, asset file operations, asset image loading, and chunked stream support for larger workflows.
Bug fixes
- Fixed Home Assistant MQTT sync in Docker deployments by including the required MQTT client dependency in the runtime image.
- Fixed stale embedded firmware and OTA downloads by marking firmware responses as
no-storeand adding checksum-based download URLs. - Improved embedded/ESP32 runtime stability by avoiding large cached image buffers on-device and rendering error images in-place where needed.
- Fixed several image/data apps so download and service errors render at the correct frame size instead of producing incorrectly sized error images.
- Fixed gallery image downloads to show a FrameOS error image instead of failing the render when the download fails.
- Fixed SVG render failures on embedded devices so errors are drawn safely into the current render buffer.
- Fixed JavaScript/TypeScript transpilation regressions where object keys and values after template literal interpolations or comparisons could be stripped incorrectly.
- Improved ESP32 OTA handling so devices acknowledge OTA requests before the scheduled reboot.
Maintenance
- Added automated builds for the browser preview/editor packages as part of the release pipeline.
- Updated the Docker build to install and build the new WebAssembly and editor package workspaces.
- Added and expanded tests for embedded firmware APIs, OTA downloads, embedded image URLs, JavaScript runtime HTTP/assets/streams, and transpiler regressions.
- Added generated built-in app metadata and smoke testing for the embedded editor bundle.
Docker images
FrameOS 2026.7.4
New features
- Home Assistant “Save & sync now” now returns real sync feedback, including how many frames were shared, which MQTT broker was used, warnings, and actionable error messages.
- Home Assistant MQTT host is now optional for standalone setups: when MQTT credentials are provided without a host, FrameOS defaults to the Home Assistant URL hostname, falling back to
homeassistant.local. - Home Assistant sync can now warn when frame events are reaching the Home Assistant event bus but no MQTT broker is configured, instead of treating that case as a full failure.
Bug fixes
- Fixed the in-browser live preview in production builds by serving the
frameos-wasmbundle from the backend. - Fixed live preview loading when FrameOS is accessed through Home Assistant ingress by resolving the WASM worker URL through the configured asset/base path.
Maintenance
- Added backend tests for Home Assistant MQTT host resolution, sync request replies, missing-broker warnings, sync failures, and shared-frame reporting.
- Updated settings UI visual snapshots after the Home Assistant settings changes.
- Improved toast/working-message handling so longer success, warning, and error messages stay visible long enough to read.
Docker images
FrameOS 2026.7.3
New features
- Added a live browser preview for interpreted scenes, powered by a WebAssembly build of the FrameOS runtime and available from the scene UI.
- Added backend/API support for live previews, including frame-specific preview settings and a guarded server-side fetch proxy for scene data apps that need device-like HTTP access.
- Added Home Assistant sharing: FrameOS can publish non-archived frames via MQTT discovery with image, status, scene, and last-seen entities, plus a summary frame-count sensor.
- Added Home Assistant event forwarding for meaningful frame events to the Home Assistant event bus and per-frame MQTT event topics.
- Added Home Assistant settings support, including a backend endpoint to trigger an immediate sync when sharing is enabled.
- System scene templates now include stable template IDs and versions so installed scenes can track their source and detect template updates.
Bug fixes
- Home Assistant MQTT credentials and sync-only settings are no longer included in the frame configuration sent to devices; frame apps only receive the Home Assistant URL and access token when required.
- Apps that are unavailable on embedded targets are now also blocked from the WebAssembly live-preview target, with clearer “not available on this build target” errors.
- The live-preview HTTP proxy now rejects loopback, private, link-local, multicast, reserved, and unspecified hosts to reduce the risk of using the backend as an internal network probe.
Maintenance
- Added a WebAssembly build pipeline for the FrameOS interpreted-scene runtime and includes the generated preview bundle in the frontend build.
- Added an MQTT client dependency for the Home Assistant sync service.
- Added backend tests for Home Assistant discovery payloads, sync behavior, settings notifications, template metadata, and Home Assistant setting filtering.
- Updated visual snapshots for the scene, workspace, and settings UI changes.
- Updated Docker build steps and release/deployment automation to build the new frontend/runtime assets and publish add-on metadata.
Docker images
FrameOS 2026.7.2
New features
- Added a new Weather sample template with bundled scenes for current conditions, hourly charts, daily forecasts, stacked layouts, and icon sheets.
- Added new JavaScript weather apps: Weather icon set, Weather icon, and Weather panel for building weather-focused scenes from Open-Meteo data.
- Improved the Weather data app with a proper date field, configurable forecast days from 1–16, and automatic use of the frame timezone.
- Added support for JavaScript scene apps in compiled scenes through a new runtime import path.
- Added a two-step system template API: repository listings now include
scenesUrl, and scene JSON is fetched separately when needed. - Added date input rendering in the frame runtime control page.
Bug fixes
- Fixed frame settings comparisons so numeric fields edited in the UI no longer appear as unsaved changes after saving.
- Fixed tooltip positioning so large popovers, including JSON output examples, stay within the viewport.
- Fixed a runtime/device crash risk in JavaScript app support when Nim stack traces are enabled.
- Fixed AI scene features on installs where analytics is not configured.
- Improved JSON viewer loading compatibility in the UI debug panel and node output tooltips.
Maintenance
- Added backend and frame runtime tests for the new system template
scenes.jsonendpoints and access control. - Added visual and generated-scene coverage for the new weather scenes.
- Added frontend visual tests for tooltip behavior, diagram node width, and responsive workspace layouts.
- Refactored shared JSON viewer loading into a frontend utility.
- Updated visual snapshots for workspace, frame overview, scenes, and apps drawer UI changes.
Docker images
FrameOS 2026.7.1
New features
- No notable changes were found for this category.
Bug fixes
- Deployment/backend: Asset folder setup is now best-effort, so deploys no longer fail when an assets partition rejects
chown/chmod, such asvfat,exfat, ormsdosfilesystems. - Deployment/backend: FrameOS now attempts to remount a read-only assets partition as read-write before preparing asset folders, and skips font sync with a warning if the assets path is still not writable.
- Deployment/backend: Asset paths with spaces are now safely quoted during remote setup.
- Runtime/device: Images decoded directly into a target now respect the frame scaling mode (
cover,contain, orstretch) on embedded builds, preserving the intended aspect behavior. - Runtime/device: Host-side data-URL image downloads with a target now keep their native size so later placement can crop or fit them correctly.
- Runtime/device: FrameOS Gallery downloads now pass the frame’s scaling mode through to image decoding.
Maintenance
- Added backend tests for asset folder setup, writable detection, font sync skipping, and path quoting.
- Added runtime tests for image download target behavior, data-URL fitting, scaling-mode mapping, and gallery download parameters.
Docker images
FrameOS 2026.7.0
New features
- Added new data apps for Google Photos shared albums and Immich photo libraries, including sample scenes.
- Added a new Chart render app, with a sample scene for displaying charts on frames.
- Added a new Zoom/Pan render app for Ken Burns-style image movement, with a sample slideshow scene.
- Added conditional
showIffield support in scene/app configuration, including a UI editor for defining when fields are shown. - Downloaded image metadata can now include parsed JPEG EXIF details and a one-line EXIF summary for use in scene state.
- Embedded frames can now receive Immich settings through the embedded settings API.
Bug fixes
- Embedded boot logs no longer overwrite a configured hostname such as
frame.localwith the device’s current IP address; IP-based frame hosts still update when the IP changes. - Reduced noisy reboot markers in metrics so routine log activity is less likely to appear as device reboots.
- Improved memory-bounded image decoding for large images and screenshots, helping reduce render failures on memory-constrained devices.
- Fixed the Nim runtime build flag so Linux/Raspberry Pi renders use the intended malloc behavior and can reclaim render memory more reliably.
- Improved ESP32 fast-deploy error reporting by including device status context such as firmware version, storage, memory, and loaded scene counts when uploads fail.
- Improved ESP32 image handling so Wikimedia Commons images preserve aspect ratio before render placement.
Maintenance
- Updated ESP32 firmware build configuration and compatibility checks, including flash/PSRAM layout reporting and additional SDK configuration defaults.
- Added tests for the new Google Photos, Immich, Chart, and Zoom/Pan apps.
- Added test coverage for EXIF parsing, conditional field visibility, interpreter cache behavior, and ESP32-compatible sample scenes.
- Updated frontend visual snapshots for settings, scene editing, app drawer, and workspace changes.
- Added build tooling support for using a local Pixie checkout during development.
Docker images
FrameOS 2026.6.30
New features
- Added a selectable Waveshare 7.3" RPi Zero PhotoPainter frame profile in the UI and device catalog, using the Waveshare
EPD_7in3edriver with 800x480 dimensions. - Backend/API device defaults now include PhotoPainter GPIO pin mappings and known GPIO button defaults for supported devices, reducing manual frame configuration.
- Runtime setup and driver selection now recognize the PhotoPainter device profile and load the matching Waveshare driver.
Bug fixes
- Corrected the embedded Waveshare ESP32-S3 ePaper 13.3E6 display and SD-card GPIO defaults so firmware builds use the vendor pinout.
- Fixed generated/shared driver context handling so display pin overrides are passed through to device drivers.
- Runtime config now accepts both
sclkandsckpin names for SPI clock overrides. - Switching away from the PhotoPainter profile now removes profile-only pin defaults while preserving explicit custom overrides.
Maintenance
- Added and updated tests for PhotoPainter profiles, device defaults, embedded presets, driver generation, frame API behavior, and setup scripts.
- Updated release-driver generation to map custom Waveshare device IDs to their underlying driver variants.
- Updated release metadata for FrameOS 2026.6.30.
Docker images
FrameOS 2026.6.29
New features
- Scene editor now supports creating and editing custom events, including typed payload fields, directly from the Events panel.
- Custom events are now included in scene sync/deploy comparisons, so backend and frame-side scene differences report changes to custom event definitions.
- Scene code generation now uses custom event schemas when dispatching events, preserving configured payload field types.
- Runtime diagnostics now carry the original diagram node ID for JavaScript errors, helping the UI point operators to the node that caused the failure.
- ESP32 embedded frames using the Waveshare ESP32-S3 PhotoPainter preset now get the correct 7.3" e-paper device, GPIO buttons for BOOT and KEY1, and PhotoPainter-specific display power handling.
Bug fixes
- Event nodes now filter incoming payloads by their configured fields for interpreted scenes, not only by legacy button labels.
- Compiled scene event listeners now generate payload filters from event node configuration, improving consistency with interpreted scenes.
- Frame sync diffs now account for custom event definitions instead of ignoring them.
- Backend frame request forwarding for JSON requests now uses the bounded frame HTTP path, keeping response handling consistent with other frame API calls.
- Embedded error rendering no longer depends on font rendering on ESP32; devices now show a simple visible error marker instead.
- Waveshare 7.3" e-paper handling now includes safer reset timing, bounded BUSY waits, and faster bulk framebuffer transfer to avoid stuck or slow refreshes.
- Linux framebuffer rendering now reuses its render buffer between frames, reducing allocation pressure during repeated renders.
Maintenance
- Updated ESP32 firmware build metadata and partition layout handling, including 16MB/32MB OTA layout coverage in tests.
- Added tests for custom event code generation, event payload filtering, runtime error node mapping, frame sync behavior, embedded firmware defaults, and setup script behavior.
- Refactored scene field editing UI into a reusable field definition form.
- Updated ESP32 documentation, SDK defaults, and display component wiring for the new PhotoPainter support.
- The setup/bootstrap scripts now explicitly require
awkbefore continuing.
Docker images
FrameOS 2026.6.28
New features
- Added on-frame upgrade support: FrameOS now includes an
upgradecommand, and the frame settings UI exposes admin upgrade controls with dry-run support. - Added on-frame admin template/repository support so frame-admin can serve bundled scene templates and repository data directly from the device.
- Added backend/API sync hints on frame list and detail responses, helping the UI show whether a frame has changes that differ from the last deployed revision.
- Added runtime commands for display-driver setup and setup reboots, including
driver-setupand--reboot-if-required.
Bug fixes
- Fixed Buildroot first-boot setup so the setup hotspot and FrameOS service start reliably on release images without preconfigured Wi-Fi credentials.
- Fixed Buildroot NetworkManager connection handling by using the correct secure permissions and persistent state-backed connection storage.
- Fixed remote frame HTTP responses containing non-ASCII text by decoding remote text as UTF-8.
- Fixed the Waveshare 12.48" B V2 driver binding to compile the correct C source file.
- Fixed snapshot/preview-related UI regressions covered by updated visual snapshots.
Maintenance
- Expanded Buildroot image tooling and tests for service setup, persistent NetworkManager paths, image composition tools, and release image behavior.
- Updated generated driver registries to expose available driver names for runtime/admin use.
- Improved deployment source packaging to include shared frontend public assets and bundled scene repository files.
- Updated asset preparation to track bundled repository scenes and regenerate embedded asset modules when they change.
- Added and updated backend, runtime, and frontend tests for frame sync hints, remote HTTP handling, upgrades, setup behavior, driver generation, and visual UI coverage.