Skip to main content
Release
v2.25.11

Editor

  • Typed Decision (GGML) — the Hugging Face model picker recommends typed decision models first and labels their model family.
  • Brick Generative Media — press, long-press, and focus Events added in the editor now fire.
  • Select Device — Force Device Ratio applies the device’s screen ratio, and resizing horizontally keeps that ratio.
  • Items — dragging a nested item into another list shows the copy on the canvas at once, also without collaboration.
  • Snapshot import — an imported Brick move updates the Brick’s position and size.
  • Import Module — the dialog no longer fails before a module is selected.
  • Searching the command palette with a quote or a backslash no longer crashes the editor.

Controller

  • Device page — shows the assigned App revision next to what the device reports (Applied, Updating, Pending restart, Failed with the error, Out of sync, or Unconfirmed) and the last revision confirmed running. A Connectivity row sits next to Deployment Status, and Retry on Device is offered for failed, out-of-sync, and idle devices. See devices.
  • Offline Indicator — a new toggle in the Device page’s Advanced Setting shows or hides the offline indicator on the device. It is shown by default.
  • Devices running the same App no longer show each other’s reported config time.
  • The notification menu shows device application failure alerts, and unknown notification types no longer break it.
  • Pressing Bind repeatedly while binding a device no longer submits the binding twice.

Media Flow

  • Relative times such as “5 minutes ago” are correct in every time zone on the Media page and in Media Box. See media.

Simulator

  • Generator Typed Decision (GGML) (Preview) — new Generator. See BRICKS Foundation for details.
  • Generator Sound Recorder — stopping a long recording no longer fails while the final file is still being written.
  • Brick Camera — barcode scans that finish after scanning is turned off or the Brick is removed no longer trigger Events.
  • Fonts — fonts whose name contains a quote or a backslash load correctly, and the application no longer stops on the preload screen.
  • DevTools — taps on Bricks inside nested Subspaces hit the correct Brick, and highlighting a Subspace marks its real position on the screen.
  • The Brick, Generator, and Data Calculation fixes listed under BRICKS Foundation also apply where supported.
Release
v2.25.10

Editor

  • Removing a Generator or Subspace also removes its Event handlers from state groups.
  • Hugging Face model picker — late search, details, or README results no longer replace the current view, and loading no longer gets stuck after you clear or shorten the search.
  • GraphQL — after you correct an invalid Firebase Database URL, queries run again without reloading the editor. See Config Editor.

Controller

  • Release Versions loads faster. Screenshot choices for Target Canvas and After Automation load when opened, with Retry on failure. See applications.
  • The Media and Data Bank sidebar searches keep keystrokes typed while loading and show results for the latest keyword.
  • When a filter switches the displayed Data Bank property, an unsaved edit is discarded instead of being saved to the wrong property.
  • Device Control — the device list keeps refreshing every minute. See devices.

Media Flow

  • Switching media files quickly no longer shows the details of the previously selected file.
  • Applications created from another workspace’s shared release keep the original media file order. See media.

Simulator

  • Generator Sound Recorder — new Voice Enhancement options: Voice Filter, with adjustable gain, for clearer, more even speech, and AI Noise Suppression to remove background noise. Both are off by default.
  • Generator LLM (GGML) — a session save that fails to store, for example when browser storage is full, reports an error instead of appearing to succeed and later finding no saved session.
  • The Brick, Generator, and Data Calculation fixes listed under BRICKS Foundation also apply where supported.
Release
v2.25.9

Editor

  • Copilot — regenerating a canvas preserves the opening text of the new response, and an unrecognized component name goes through generation instead of creating an invalid Brick.
  • Subspace — a linked module can be selected, Set as root works alongside linked or removed Subspaces, and the embedding menus skip removed Subspaces.
  • Deleting Data or checking unused secrets works in an application that contains a linked or removed Subspace.
  • Global Data — an unnamed choice displays its own ID instead of the ID of the Data being edited.
  • Rich Text — importing HTML preserves combined inline styles and no longer clears text with an unsupported color expression. A font stack preloads every selected Google font, and an image edit updates the image without affecting the text selection.
  • Data editing: a nested array stays an array, and editing a pasted schema preserves its item keywords and accepts property names such as constructor.
  • The color and gradient pickers preserve a fully transparent color.
  • GraphQL — changing the endpoint ignores a late schema response from the previous endpoint.
  • Data Calculation — editing a script while its debugger is starting prevents the old script from running or writing logs into the current debug panel. See Config Editor.
  • Automation — quick edits to multiple detail fields are all saved, changing an Items step’s target Brick clears the incompatible Actions, and Event recording handles a Subspace with no local Bricks.
  • Snapshot import — an unreadable or invalid media file displays an error instead of failing silently.

Collaboration

  • A reconnect uses refreshed credentials, repeated failures slow down the retries, and a hidden tab pauses those retries until it is reopened.

Controller

  • Device metrics finish loading after a quick device switch or refresh, and the Media and Bank pages apply the latest workspace updates. See devices.
  • Device Control — a newly created control token includes permission to query devices, so the device list loads. See workspaces.

Media Flow

  • Switching boxes or tag filters ignores a delayed file page from the previous selection. See media.

Simulator

  • Brick Lottie — changing the source ignores the delayed download and errors from the previous animation.
  • Open URL — a waiting Action receives the result or failure of opening an external URL.
  • Generator MQTT — username and password authentication is sent correctly.
  • Generator Serial Port — a repeated Attach Action no longer leaves a duplicate connection or data listener.
  • Access accounts: entering a username and password quickly, including through password-manager autofill, preserves both values.
  • The Data, Generator, Event, preload, and DevTools fixes listed under BRICKS Foundation also apply where supported.
Release
v2.25.8

Device Control

  • An unnamed device stays visible in the device list instead of preventing the list from opening. See devices.
  • Changing or clearing a binding code ignores the previous code’s delayed lookup, so a stale match or an incorrect scan binding no longer gets through.

Runtime Editor

  • Editing a Slideshow preserves the Data links outside the media-list picker, and a Slideshow with an inline playlist opens correctly.
  • An edit made while a submission is in progress stays pending for the next update, and a failed submission keeps its edits for retry.
  • An edit targeting a deleted Items entry, Brick, Subspace, automation step, or calculation node reports the missing target instead of claiming success.
  • A Data link written through an Items row or a template field resolves correctly instead of being saved as a broken link.

Data and configuration

  • Deleting a Data node removes its links from linked Subspaces, and the deleted node no longer comes back.
  • Config validation detects missing Data links in nested properties, state groups, and Event parameters before they fail at runtime. See Config Editor.
  • An incomplete Data Bank setup no longer prevents the editor from opening, and the Data Bank page explains when it needs to be enabled again.

Simulator

  • bricks devtools runtime eval --await waits for an asynchronous result and reports the failure, instead of returning an empty result. See local debugging.
  • Brick Map — supplying an API key after an empty or failed attempt displays the map without a reload.
  • The Generator, Brick, script date, and AI filter fixes listed under BRICKS Foundation, and the animation fix listed under Desktop Foundation, also apply where supported.
Release
v2.25.7

Controller

  • The group invitation screen is redesigned: a clear joining state, inline errors you can retry, and an explanation when the invitation code is missing. See workspaces.

Config Editor

  • The Brick press step editor in an automation offers a long-press option. See Config Editor.

Simulator

  • The Slideshow, automation, Generator, Brick, script expression, Data Calculation, AI filter, channel, remote Data, and animation fixes listed under BRICKS Foundation also apply where supported.
Release
v2.25.6

Editor

  • Items — Hide and Lock on a multi-selection work again after one of the selected bricks was removed from the list. The stale selection had made both toggles one-way.
  • Items — saving an item Event for a brick or state group that was deleted while the event editor was open — locally or by a collaborator — skips it instead of failing the whole save.
  • Canvas Control — renaming a schedule that left the test while the rename dialog was open is skipped, instead of pushing a stub with none of the schedule’s timing to devices. See Config Editor.
  • Editor responsiveness: Items selection, event edits, frame updates, and history rows do less work, a hidden history view pauses its mirroring, and canvas pans and zero-delta drags or resizes no longer fan out to every brick.

Controller

  • The device screenshot modal keeps its info row and screenshot button in the footer, so a tall screenshot scales to fit instead of pushing the controls below the fold. See devices.
  • A device’s Uptime, Memory, and Disk tabs retry after a failed load instead of staying empty until the Device page is left.

Simulator

  • The Generator, script expression, Data Calculation, and download fixes listed under BRICKS Foundation also apply where supported.
Release
v2.25.5

Editor

  • Editor responsiveness: collaborative sessions send fewer redundant presence updates, copying no longer rebuilds the canvas, and panning the navigation overlay is isolated from the rest of the editor. Animation editing, LLM message rows, the Event Inspector minimap, and the command palette also re-render and recompute less. See Config Editor.

Simulator

  • The Generator, Data Calculation, Brick Items, and viewport fixes listed under BRICKS Foundation also apply where supported.
Release
v2.25.4

Config Editor

  • The Event Inspector opens on a linked-module Subspace and shows an empty graph, instead of crashing. See Config Editor.
  • The Data Calculation editor, the Items range selection, and add-item no longer crash when the selected calculation or its parent Brick has been deleted — locally or by a collaborator.
  • Switching an application to another saved version drops a selection the incoming version doesn’t have, instead of crashing on the stale reference.
  • Re-saving a Generator whose model is split into shards keeps the shard list and hashes, so devices stop re-downloading files they already have. Paired with the download fix under BRICKS Foundation.
  • Editor responsiveness: history navigation reuses canvas state, editing Data or drafting events causes fewer canvas rebuilds, and collaborative sessions re-render less.

Controller

  • The remote debug panel split is resizable. See devices.
  • A device bound through the screen-binding passcode flow without a usable device name is created as “Unknown”, instead of being left unnamed.
  • Media Box: the unlocked share page shows the box name and description, and the browser tab is titled after the box. See Media.

Simulator

  • Scene3D: bricks devtools input tap and automation taps hit-test the 3D scene and fire the object-click Event, so a picking flow can be exercised without a real pointer. See BRICKS CLI.
  • The Generator, Scene3D, Data, animation, and script expression fixes listed under BRICKS Foundation also apply to the Simulator where supported.
Release
v2.25.2

Config Editor

  • Subspace mode: Bring forward / Send backward is committed to the config. The stacking changed on the canvas, so it looked like it worked, but nothing was ever written — no history entry, no unsaved marker, nothing saved. See Config Editor.
  • Pasting a copied Brick item whose original child has since been deleted skips that entry instead of failing the paste.
  • The Brick Editor no longer crashes when the Items selection points at a Brick that is no longer in the list.
  • Selection and active-line highlights are visible again in the code editors.
  • Deleting a Property Bank that is linked into other Subspaces clears the references in every linked copy, instead of leaving a dangling reference behind depending on traversal order.
  • Editor responsiveness: the change history list is virtualized, large Items copy/paste is much faster, and editing a Data Calculation or linked Data no longer rebuilds the canvas.

Controller

  • The device viewport field scrolls again, and composing text with an IME in the device filter no longer loses the in-progress characters. See devices.
  • The share-link bar gets real copy and open buttons, with the refresh control moved out from over it, and switching workspace now works on pages opened without a workspace.
  • Creating a share app finishes loading instead of staying on the loading state.
  • Remote debug credentials are no longer written to the browser console.
  • Media file viewer previews keep their aspect ratio instead of being stretched.

Simulator

  • The Media Flow, Generator, and Data Calculation fixes listed under BRICKS Foundation also apply to the Simulator where supported.
Release
v2.25.1

Config Editor

  • Setting an animation on an item inside an embedded Module Subspace now saves, instead of throwing away the entire edit. See Config Editor.
  • A Brick Editor edit for a Brick that is no longer in the Items list is ignored, instead of corrupting the list or silently dropping the whole update.
  • Brick property defaults are extracted completely again — definitions that declare Outlet / Event / Action types before their properties (Tick, WebSocket, and others) lost every default.
  • The properties panel shows the Generator template again, and nested editor popovers honour viewport-relative (vh) height caps instead of growing past them.
  • State groups using the item_key_mapping condition now pass config validation.
  • Saving an Application that contains more than one linked Module no longer fails.
  • Short Edit no longer offers change-canvas editing for item Bricks, where the write silently did nothing, and reads their event maps in the casing item Bricks actually use.
  • The Config Test editor resets its undo history when a different test is loaded, and Property Bank script outputs stay scrollable.

Controller

  • The sidebar is resizable, and the width is remembered per tab.
  • The first device environment variable is preserved. See devices.
  • Media size options and the group invitation screen follow the active theme.
  • The Bank Update page reports partial upload failures instead of presenting them as success.

Simulator

  • The Generator LLM (GGML) llama.cpp b10156 runtime bump, and the Generator, animation, Data Calculation, Local Sync, and Automation fixes listed under BRICKS Foundation, also apply to the Simulator where supported.
Release
v2.25.0

Redesign

  • BRICKS Controller is fully redesigned on the CTOR design system — refreshed sidebars, cards, forms, modals, empty states, and loading / error states across Devices, Device Group, Applications, Modules, Data Bank, Media, and Workspace.
  • Light and dark themes, plus a new profile accent color setting with Terracotta, Sky, Moss, and Graphite palettes, applied across the Controller and the Config Editor including the Brick layout canvas.
  • Media File Viewer, Media Box, and Bank Update pages adopt the same visual language.

Config Editor

  • Subspace Editor — a new mode that lays out every canvas of a Subspace on one pannable surface. Drag canvas frames to rearrange them and edit Bricks in place, with per-canvas rulers and a minimap. The Single ⇄ Subspace toggle appears when a Subspace has more than one canvas. See Config Editor.
  • Canvas-navigation wiring overlay — opt-in in Subspace mode. Badges on Bricks, canvases, and Generators show where they navigate; hovering draws arrows to the targets and clicking jumps to them.
  • Change History — a visible undo / redo timeline with readable action labels (Set opacity, Moved, Renamed), before / after summaries, and click-to-jump. Collaborative editing sessions are supported.
  • Editor surfaces adopt the new design — item list, property controls, Brick layout, event editor, animation controls, and the rich text editor.
  • Event Editor — denser rows, aligned action property fields, an active-event highlight, and no horizontal overflow.
  • Undo / redo now skips pure selection changes, so every undo reverts a visible change.

Simulator

  • Web Preview is now Simulator — “Web Preview” and “Preview” are renamed Simulator across the Controller, CTOR, and the BRICKS CLI.
  • Simulator fallbacks let a config run in a plain browser without native hardware or API keys — Camera (an interactive 3D stage), LLM and STT (small local models), Maps (key-free Leaflet), and Thermal Printer (simulated receipts with print history).
  • Simulated Features overlay shows which Bricks and Generators are simulated rather than real, with per-item control in the Simulator settings panel.
Release
v2.24.13

Web Preview

  • Generator LLM (GGML) speculative decoding / draft-model controls and the encodeURI / decodeURI Data Calculation additions listed under BRICKS Foundation also apply to Web Preview.
Release
v2.24.12

Web Preview

  • Text Brick four-side padding, statement-bodied and async property expressions, and DATA_VALUE on data-node Events also apply to Web Preview.
  • Invalid Data expression result targets now report an actionable console error instead of silently discarding the result.
  • The Data Calculation, Data Bank, Property Bank, Text Input, SVG, Video/Slideshow, WebRTC, WebCrawler, Information, Sound Player, transcription, OuteTTS, LLM tool-call, automation, and other runtime fixes listed under BRICKS Foundation also apply to Web Preview.
Release
v2.24.11

Editor

  • Data Calculation editor — editor and config edits now tolerate stale or unknown commands, missing ports, and renamed ports instead of crashing while removing commands or connecting links.
  • Event Inspector — now reports state-group next-canvas routes from the state group itself.
  • Other editor stability fixes.

Web Preview

  • Video Brick subtitle support, Generator HTTP response events, WebView query-selector error reporting, DevTools BigInt call arguments, and the runtime fixes listed under BRICKS Foundation also apply to Web Preview.

Media Flow

  • Box authorization — Media Flow generator now reports missing box authorization with an actionable accessToken / passcode error.
  • Copied previews — keep JPEG content type even when generated from PNG versions.
  • AI image analysis — chooses the largest bounded image version reliably for very large images.
  • User tags — single-file Media Flow updates can set userTags.
  • Other Media Flow stability fixes.
Release
v2.24.10

Editor

  • Cross-application copy / paste — restored, and copied canvases now keep Brick-referenced animations linked correctly.
  • Schedules — the schedule editor no longer crashes when a schedule or its backing test disappears mid-edit, and multiple-test playback rows keep stable identities through duplicate / delete / re-add.
  • Canvas & Subspace order — reordering canvases and Subspaces skips stale ids instead of corrupting item lists, and deleting Property Bank items from linked-module or sparse configs no longer crashes.
  • Brick Sketch — drawings recorded in Simulator / Preview are captured as importable state, so replay preserves the drawn result without noisy per-stroke steps.
  • Passcodes — workspace one-time passcodes now include Activity Log access.
  • Other editor crash and stability fixes.

Web Preview

  • Brick Sketch — drawing recording / replay improvements also apply to Web Preview.
  • The Generator, Data Bank, Property Bank, Dynamic Animation, and runtime fixes listed under BRICKS Foundation also apply to Web Preview.

Media Flow

  • Large prefixes — Media Flow copy / share operations now copy prefixes with more than 1000 files completely.
  • CROP regions — out-of-bounds CROP regions are clamped or skipped, so one bad version no longer drops the whole resize batch.
  • AI image analysis — empty or refusal responses are now reported as failures so they can retry, instead of saving a null success.
  • Other Media Flow stability fixes.
Release
v2.24.9

Editor

  • Sketch backgrounds — Sketch bricks now render their background in the editor preview, including dot and grid patterns, background images, colors, and light / dark themes.
  • Falsy module properties — editing a module property to a falsy value (0, empty string, or false) now persists instead of reverting to the module default when the module is re-synced.
  • Quick-edit — no longer loses a pending change when the same property is edited on two different bricks before submitting.
  • Subspace Actions — removing a Subspace Action now cleanly drops every receiver that references it, instead of removing an unrelated receiver and leaving a dangling reference.
  • Schedules — editing the date range on a schedule that uses a custom cron expression no longer wipes out the saved cron.
  • Linked modules — deleting a subspace or canvas in a config with a linked module no longer crashes; removing a Brick from its last canvas respects keep_unused_bricks; and updating a Brick on a specific canvas writes to that canvas instead of the current one.
  • Event Inspector — now lists entities that reach a canvas via a Change Canvas action as that canvas’s parents.
  • Other editor crash and stability fixes.

Web Preview

  • The Data Calculation, generator, canvas, event, automation, and runtime fixes listed under BRICKS Foundation also apply to Web Preview.

Web Preview DevTools

  • Application panel — DevTools Application panel now shows Local Storage, Session Storage, and IndexedDB in Web Preview.
Release
v2.24.8

Web Preview

  • Video screenshots — Video bricks on Web can now be captured in screenshots when loaded from CORS-enabled CDNs, while non-CORS videos still fall back to normal playback.
  • Generator LLM / Speech Inference (GGML) — local web models fall back to CPU more reliably when GPU acceleration is unavailable, and unsupported Safari loads now show a clear browser compatibility error.

Web Preview DevTools

  • Screenshot automation — Web Preview automation can now save, compare, and preview screenshots in the browser, including local screenshot updates through IndexedDB.
  • Storage inspection — DevTools Storage inspection now covers System storage, Data Bank stores, Generator cache, and Generative Media cache with readable values for CLI clients.
  • Network panel — DevTools Network panel now captures HTTP and WebSocket requests, including local preview requests.
Release
v2.24.7

Web Preview

  • Local GGML models — Web Preview can run local GGML models (LLM / Reranker / Speech Inference / VAD) in the browser with WASM / WebGPU, including Reranker support and native logs in DevTools.
  • In-browser storage — Web Preview supports SQLite and Vector Store workflows, including memory-only SQLite and web-fetchable model / file URLs.
Release
v2.24.6

Editor

  • Event Editor no longer crashes when saved Events reference Actions that no longer exist on a template.
  • Reordering linked-module or sparse Subspace item-list groups no longer crashes when optional animation, property bank, or Generator maps are absent.
Release
v2.24.4

Media

  • Media Flow file picker shows file modified times in the viewer’s local timezone (was rendered as UTC).

Editor

  • Config Editor save indicator now reflects the actual unsaved-changes state when collaborative-edit mutations arrive.
  • AI Filter — cloud model lineup refreshed (Claude Sonnet 4.6 + Haiku 4.5, Gemini 3.1 Pro + 3 Flash preview, GPT-5.5 + 5.4 Mini/Nano).
  • The Changelog button in the top tab bar opens the language-aware changelog; new-version and update-available toasts honor the release date.
Release
v2.24.3

Editor

  • Help toolbar button now toggles the Config Editor help panel (previously open-only).
  • Cmd+A inside text inputs and rich-text fields no longer triggers Select All Bricks.
  • Brick Quick Edit popover flips below the brick when it would overflow the canvas above.

Fixes

  • Title edits for Subspace, test, test_case, test_map, and property_bank_calc_node mutations now propagate to the related short-edit refs.
  • Don’t crash creating short-edit refs when brickList items are missing brickId.
Release
v2.24.2

Editor

  • “Config invalid” error reports show the actual schema error path (was always logged as undefined:).

Media

Release
v2.24.1

Improvements

  • Replace remaining browser confirmation dialogs with in-app modal dialogs across Application, Data Bank, Device, Device Group, Module, share-app, and token manager flows.
  • Show device screenshot timestamps in local time.

Fixes

  • Fix Editor crash when bank properties failed to load.
ReleaseBreaking
v2.24.0

Highlights

  • Real-time collaborative Config Editor — native support for simultaneous editing of the same application config with automatic conflict resolution. Collaborator avatars and connection status are shown in the editor, and collaborative undo/redo only reverts the local client’s edits while preserving other users’ changes. Now opt-in with a first-visit intro dialog.
  • Generator LLM (MLX) model picker — HuggingFace model picker and recommended MLX models in the Editor, matching the new native MLX support in BRICKS Foundation.
  • In-app modal dialogs — non-blocking in-app modals replace browser confirm dialogs for Force Unbind and Move Workspace. Move Workspace also adds a workspace filter input.
  • Activity Log screenshot capture — configure periodic screenshot capture per Device and Device Group in settings.

Breaking changes

  • Short-Edit Assistant removed — the experimental Short-Edit Assistant has been removed. Use Generator Assistant / MCP instead.