BRICKS Foundation
The tool for edge IoT system
Free · Designed for iPad
BRICKS is a tools for visual designer and technicians to collaboratively design and development process, data rendering, deployment, and security. Combining designer-friendly workflows, deep technical access, full production quality content viewport, BRICKS enables you to iterate your designs faster and more efficiently.
BRICKS allow the designer to see the installation working in context, making it easy to visualize how the content will look, feel and behave on a single output or even when clustered across multiple outputs and machines. BRICKS offer the most reliable, scalable, industry-tested architecture available.
BRICKS provide unlimited display stitching system, any numbers of display can be setup by your imagination.
BRICKS is easy to setup Text, Picture, Video, Chart, Web-view, and Camera Inputs
more v2.25.12
Highlights:
- Generator LLM (GGML): Bump llama.cpp runtime to b11804
- Generator Typed Decision (GGML): supports the new decision models LiquidAI d1, d1-omni, and pplx-decider; the images property also takes audio clips
- New Brick Text measure: the Measure Action and the optional measure-on-change setting report the width, height, line count, and overflow of the shown text in an Event
- Long-running players: released pages free more models, downloads, network requests, microphones, and audio resources
Bug fixes:
- Screenshots are no longer fully black after text input on iPhone or iPad, or on Mac
- The app no longer crashes after many application reloads
- Generator Typed Decision (GGML) / Reranker: Generators that share one model run their jobs one at a time instead of failing with "Context is busy"
- Generator LLM / Speech Inference / VAD Inference: Release Context or Load Model during a model load no longer keeps an unused model or loads neither model
- Generator Question: Next is enabled on a step that shows a valid earlier answer; closing a voice step while the microphone starts no longer leaves the microphone on
- tvOS: Generator Question keeps a button focused while the keyboard shows and opens the text screen of the next text step after Return; the D-pad focus stays inside open Questions, Alerts, and Launcher overlays
- Generator File: Write at a position given as text no longer replaces the file
- Generator AlarmClock: a running alarm keeps running after a Data-linked schedule field changes
- Generator Keyboard: Enter and Escape end a batch, and the letter j no longer does
- Generator Apple STT: an HTTP error from the audio URL is reported correctly
- Brick Items / Slideshow: index Actions take numbers given as text
- Brick RichText: a font loaded at runtime is applied
- Brick Scene3D, QR Code, SVG, and Sketch fixes
- Data Calculation: string, collection, color, Base64, and datetime commands handle text numbers and empty values correctly
- DevTools: passcodes with URL characters are accepted, and log downloads are no longer cut at CJK or emoji text
2.25.12 4d ago
v2.25.11
Highlights:
- Generator LLM (GGML): Bump llama.cpp runtime to b11385
- New Generator Typed Decision (GGML) (Preview): answers choice, score, and true/false questions about a text or image state with calibrated probabilities, using typed decision models such as Julia-1, Laya, and Kev
- Offline indicator: a status label shows on the screen when the device cannot reach BRICKS, with the reason and the last successful sync; it can be hidden per device in the Controller
- Binding reliability: temporary network, server, or timeout errors no longer clear the cached application or send a bound device to the binding screen; refused sessions keep their credentials and are checked again every 5 minutes; App changes missed while offline are applied after reconnecting
- Diagnostics: System Information shows why the device reached the binding, idle, or error screen, and the record can be read with `bricks devtools diagnostics pull`
Bug fixes:
- Credentials stored under a previous device ID are recovered; when stored credentials cannot be read, the device retries instead of showing the QR code
- The saved deployment is kept in two copies, so an interrupted write no longer leaves the device without its application
- BRICKS Buttress connections: a failed credential refresh is tried again every 5 minutes, so LAN Buttress requests keep working after the credential expires
- Brick TextInput: submitting right after typing keeps the latest text in the change Outlet and Event
- Brick Items: scroll-to-item and item-targeted Actions find rows whose data ID is a number or contains a dot
- Brick WebView, RichText, and SVG: query selectors with backslashes, images without a source, and embedded SVG images work correctly
- Generator LLM (GGML): two Generators that load the same model at the same time share one context
- Generator TTS (GGML): OuteTTS models read every contraction and ellipsis correctly
- Generator MQTT / MQTT Broker / TCP / TCP Server / HTTP Server / UDP / WebSocket / Serial Port: connection, restart, and error handling fixes
- Generator HTTP: cancelled requests stop at once, and multipart form values are sent unchanged
- Channels: a key match that is not a valid regular expression no longer crashes the app
- Data Calculation: MATH_EQUAL, MATH_NOT_EQUAL, MATH_FLOOR, and MATH_ROUND no longer stop the calculation on unusual values
2.25.11 Oct 6
v2.25.10
Highlights:
- Generator LLM (GGML): Bump llama.cpp runtime to b11192
- Generator Sound Recorder: AI Noise Suppression is now available; if it cannot load, recording continues without it and a warning is reported
Bug fixes:
- Devices that are still bound no longer return to the binding screen after restarting; temporary storage errors are retried and binding information is recovered
- Activity log screenshots capture every attached screen, mark regions that cannot be captured, and no longer leave temporary files after failed captures
- Generator Realtime Transcription / VAD: the beginning of each utterance is no longer cut off, and traditional VAD segments start and end where speech actually begins and ends
- Bricks using the initiative cache behavior (Image, Lottie, Rive, Chart, Slideshow): changing the source no longer keeps showing the previously cached file
- Brick Chart: changing the theme URL quickly no longer applies an older theme, and removing the theme URL clears the theme
- Brick Generative Media: a slower result for a replaced prompt no longer overwrites the current media or ends loading early
- Brick Sketch: Export Image fails or times out correctly when the Brick is removed or saving stalls, and no longer writes the file twice
- Generator TCP: reconnecting while the previous connection is closing works, and ending a connection while it is connecting cancels it
- Generator UDP / TCP Server: Bind and Start can be retried after a failed bind, such as when the port is in use
- Generator HTTP Server: malformed chunked request bodies are rejected instead of being misread
- Generator GraphQL: a failed setup no longer prevents later setups from connecting
- Data Calculation: color scale commands with an empty or invalid color list return empty instead of stopping the rest of the calculation
2.25.10 Sep 29
v2.25.9
Highlights:
- Generator LLM (GGML): Bump llama.cpp runtime to b11010
Bug fixes:
- Data: persisted values survive repeated application restarts instead of reverting to their initial values
- Generator Realtime Transcription: detailed results default to the latest 100 slices and previous-slice prompts to 3; both limits are configurable. Result Text and the end Event retain the complete transcript; use ON_TRANSCRIBE to save every detailed result
- Generator Realtime Transcription / SoundRecorder: stopping during startup or issuing overlapping stops releases recording correctly without disrupting a newer recording
- Generator STT (ONNX) / VAD (ONNX) / TTS: load() returns true after a successful model load
- Generator STT (GGML) / VAD (GGML): requests made while an audio file is downloading no longer start overlapping inference jobs
- Generator File: setup failures trigger the initialization-error Event, and completion of an older transfer no longer prevents stopping its replacement
- Generator GraphQL / Data Bank: changing connection settings ignores stale results, and pending Data Bank updates or removals cannot affect the replacement connection
- Generator SQLite: changing the database during initialization opens the selected database instead of keeping the previous one
- Generator MQTT: connections with different credentials remain separate
- Generator WebSocket / MCP / BRICKS Buttress connections: changing transport settings, repeated connects, and reconnects close old connections without leaving duplicates
- Generator TCP: ending a connection while its certificate is being prepared prevents it from connecting later
- Generator Web Crawler: HTTP failures report an error instead of treating an error page as a successful result
- Generator Vector Store / document parsing: XLSX cells containing multiple rich-text runs retain all their text
- Events: Actions waiting for Data stop when their source is removed, preventing late Actions or canvas changes
- Application loading: removing a Subspace no longer interrupts loading or asset and font preloading
- DevTools: selectors combining ancestor, child, or sibling relationships find matching Bricks even when the nearest candidate does not match the complete selector
- Uploads from applications report HTTP failures instead of claiming success
- Generator BLE Central / BLE Peripheral: disconnecting or stopping during setup prevents delayed connection Events or advertising from an obsolete operation
- Generator LLM (Apple): stopping a streamed completion no longer fails when buffered text arrives afterward
2.25.9 Sep 22
v2.25.8
Bug fixes:
- Model, media, and font downloads: failed or interrupted transfers are no longer reused as completed files, so later attempts can recover without clearing the cache
- Generator SoundPlayer: unrelated setting changes no longer restart an audio download; waiting playback calls finish on end, stop, or replacement, including after pause and resume
- Generator Question: Yes/No labels and images appear when confirmation is required; closing, stopping, or replacing a question ends waiting scripts, and pause/resume preserves the pending answer
- Generator Information: show() returns true on confirmation and false when closed or replaced, so scripts waiting on a loading dialog no longer hang
- Generator script controls: SoundPlayer.stop(), SoundRecorder.start(), and VAD (Traditional).init() work as documented
- Generator STT (GGML) / VAD (GGML): load() returns true after a successful model load, including when reusing an already loaded model
- Generator TTS: automatic speech generation reports synthesis failures through the error Event
- Generator LLM (MLX): tool calls returned by BRICKS Buttress reach completion results and finished Events
- Generator HTTP Server: STOP followed immediately by START restarts the server; request-processing failures return errors and trigger the error Event instead of leaving clients waiting
- Brick Items: transform and post-transform script failures include their message in the error Event and Outlet
- Brick SVG: changing the source URL no longer lets a late response replace the current image with the previous one
- Script dates: ISO and RFC dates preserve their date and time zone, matching Data Calculation commands; explicit parsing formats are respected
- Generator Vector Store / document parsing: files with uppercase or mixed-case extensions, such as .PDF and .DOCX, are recognized correctly
- AI filters: stopping and restarting a filter ignores late results and errors from the cancelled run
- AI filter / MCP search: rebuilding application, documentation, or media search replaces stale results without duplicates; media searches follow the current application, failed preparation can be retried, and empty media results are readable
- Preloaded applications: failed or overlapping saves no longer cause an old application configuration to be reused
- DevTools: clients can connect regardless of the capitalization of their connection headers
- Brick Camera: background recording failures trigger the recording-error Event; removing the Brick cancels recording and releases scripts waiting for it
- Generator Thermal Printer: turning barcode text OFF works on Star and TSC printers; ESC/POS printers can be reinitialized with automatic status updates disabled
- Generator MCP Server: failed session setup and request handling return errors instead of hanging, and disconnected clients are cleaned up
2.25.8 Sep 15
v2.25.7
Highlights:
- Brick Slideshow: Play, Pause, Next, and Previous Actions now control photo and video slides, including manual navigation while paused; jumpToIndex returns false when the requested slide cannot be selected
- Automation: Brick press steps support long presses, including Items entries, and follow the configured long-press Event without also firing a normal press
Bug fixes:
- Generator LLM (OpenAI): streamed function-call Events include the complete arguments and fire once even when the provider sends the call in its final chunk or omits the tool-call finish reason
- Generator File: stopping an upload or download by ID or index leaves other transfers running; starting a specific file reports its index in progress, completion, and error Events
- Generator Media Flow: allowlists and blocklists apply to the file list, Outlets, and downloads; changing filters or the selected source takes effect without waiting for another fetch
- Generator WebSocket: replacing a connection reports the old close before the new open, so delayed Events from the old connection cannot mark the new one closed
- Generator HTTP: Content-Type header names work regardless of capitalization, so form and text request bodies are encoded correctly
- Generator MCP Server: listed resources with spaces or noncanonical URLs can be read back; slow tool calls keep their own HTTP streams alive instead of being disconnected as idle
- Generator SoundPlayer: the playing Outlet is updated before the playback-start Event, and audio that fails to start is no longer reported as playing
- Brick Rive: script controls honor animation, state-machine, input, and text options and return whether the control could be applied
- Brick SVG: legacy rendering preserves shapes between multiple style blocks and applies styles from all blocks
- Script expressions: callback-local keys such as list[i] and result[id] work again; rejected expressions report the reason through script errors or the Event log instead of silently producing no result
- Data Calculation: collection callbacks finish correctly for sparse arrays and objects with a length field, instead of repeating callbacks or returning mismatched results
- AI filters: a missing provider API key reports which key is required instead of sending another provider’s key
- Channels and remote Data updates: names such as constructor and toString no longer break subscriptions or Data initialization
- Animation: an Event with no animation reports completion once, preventing repeated completion dispatches and update loops
- Device status: overlapping status changes are saved in order, avoiding conflicting writes and stale responses
- Local Sync: delayed acknowledgements no longer leave a connection permanently unable to send
- Generator BLE Peripheral: custom 128-bit service and characteristic UUIDs are preserved, so nearby devices can discover and use the intended services
- Generator STT (GGML) / Realtime Transcription: English-only Tiny and Base Whisper models use the matching English encoder when Core ML acceleration is enabled
2.25.7 Sep 8
v2.25.6
Highlights:
- Generator LLM (GGML): llama.cpp runtime updated to b10645
- Model downloads: multi-gigabyte files are no longer killed as "stalled" and restarted from zero — liveness is judged by bytes on disk, the integrity check of a large existing file no longer times out into a re-download, and concurrent downloads are bounded
Bug fixes:
- Generator STT (GGML) / Realtime Transcription: updated whisper.cpp runtime
- Generator TTS: a clip cancelled while its audio was still loading no longer plays anyway, and a GGML synthesis cancelled during context preparation stops instead of running to completion
- Generator MQTT: a client that cannot be created at all reports through the error event and outlet instead of silently never connecting
- Script expressions: undefined, NaN, and Infinity resolve as JavaScript values everywhere, and a statement writing to a member (a.x = 2, a.x++) runs instead of throwing or dropping the write
- Data Calculation: list-taking color commands and string template / base64 commands given unusable input degrade instead of discarding the whole calculation batch
- Runtime cache: an unusable retry-on-failure count no longer retries a failed download forever
- Fonts: a family or variant named after an object built-in is skipped instead of crashing font resolution
- The system menu no longer offers "System Setting", which iOS cannot open — the tap did nothing
- Other performance and stability improvements
2.25.6 Sep 1
v2.25.5
Highlights:
- Generator TTS (ONNX): the Chatterbox Multilingual voice model is supported — on-device or offloaded to a BRICKS Buttress server — verified to produce speech for English and Chinese input
- Generator LLM (GGML): llama.cpp runtime updated to b10588
Bug fixes:
- Generator TTS: pointing the speaker embed or reference audio at a different URL actually downloads the new voice, instead of serving the first voice ever downloaded for that model
- Generator LLM (OpenAI / Anthropic): stopping a streamed completion reports it as interrupted, instead of presenting the truncated answer as the model finishing on its own
- Generator Iterator: a linked step of 0 or below no longer hangs the runtime, and the reported index matches the rotation actually applied
- Generator Vector Store: an unusable chunk size no longer grows memory until the app dies with processing stuck on
- Generator HTTP: replacing an SSE connection no longer leaves the response outlets publishing undefined on a stream that is still open
- Generator WebRTC: a replaced data channel no longer silently blocks later channel sends or fires a ghost channel-close event
- Data Calculation: a math or color command receiving an unusable value degrades to undefined instead of throwing the whole calculation batch away
- Brick Items: a cleared, zero, negative, or fractional per-line count or page size lays out like the default instead of producing broken frames or uneven pages
- Activity log: Data update events are recorded again
- A viewport change that arrives while the app is still loading is applied once loading finishes
- Other performance and stability improvements
2.25.5 Aug 26
v2.25.4
Highlights:
- Generator TTS (GGML): rebuilt on llama.cpp b10335 with nine voice-model families — OuteTTS, Chatterbox, CSM (Sesame), Qwen3-TTS, BlueMagpie (Barbet), MOSS-TTSD, MOSS-TTS-Realtime, NeuTTS, and Soprano — detected automatically from the model
- Generator TTS (GGML): synthesis can be offloaded to a BRICKS Buttress server, so a device can speak without downloading the model
- Scene3D: object updates can animate (position, rotation, scale, and opacity), primitives can carry image textures, scripts can emit values to the app, and raycast picking can be triggered from an Action or automation
Bug fixes:
- Script expressions: callback bodies (map, filter, and friends) validate and run as real JavaScript, so a callback using Math or an object literal no longer fails
- Persist storage: stored strings round-trip exactly, instead of being parsed into numbers or null on read
- Data: an update carrying no value clears a string Data to empty instead of storing the literal text "undefined"
- Data Calculation: COLLECTION_DROP also drops object properties, not just array entries
- Animations: values linked to a Property Bank resolve again on nested-Subspace items and in dynamic animations
- A device with a launch test or schedules configured but no viewport frame runs them again
- Generator HTTP Server: a second server-level event no longer crashes the app, and the HTTP SSE event-log details outlet keeps updating after the first event
- Generator LLM: a session saved under a custom key stays in the sessions outlet even when auto-save declines
- Split-model downloads: an intact, already-downloaded shard passes the integrity check instead of downloading again on every launch
- Audio recording at sample rates above 48 kHz gets a correctly sized buffer
- A component with audio disabled no longer clears the microphone permission another component needs
- Brick Items: item events fire for items on pages after the first
- Numeric Excel cells keep their full value — 19.99 is no longer read as 19
- Other performance and stability improvements
2.25.4 Aug 19
v2.25.2
Highlights:
- Media Flow downloads are bounded by how long they stall rather than by total elapsed time, so a large file on a slow link is no longer cancelled mid-transfer
- Media Flow storage syncs can no longer wedge forever, so the download file URLs outlet stays available for the life of the app
- Generator Assistant attached files are indexed with their real content, so citations match the document body instead of empty text
Bug fixes:
- Media Flow refetches newly uploaded audio, PDF, and generic files that are never transcoded, and cancels queued fetches when a generator is refreshed
- Media Flow log lines are tagged with the box name and id, so several generators in one config are distinguishable
- Generator Assistant: removing one file no longer wipes the whole attachment list, and the documented chunkSize option is honoured
- Generator Vector Store: content added with Insert Content appears in the file list
- Generator MQTT Broker releases its port when an app refreshes, instead of failing to bind for the rest of the process's life
- Generator MCP Server publishes connected remotes for Streamable-HTTP clients, authenticates continuation requests, and rejects another client's session key
- Generator HTTP redacts request and response headers in logs, so credentials no longer end up in the log panel
- Data Calculation: STRING_INDEX_OF searching backwards starts from the end of the string, and a command node with an unknown command name is skipped instead of failing the calculation
- Excel files with mixed cell formatting or a Japanese furigana guide are read correctly
- Downloads enforce their configured size limit while streaming
- The bundled Weather example no longer carries a default API key
- Other performance and stability improvements
2.25.2 Aug 11
v2.25.1
Highlights:
- Generator LLM (GGML): llama.cpp runtime updated to b10156, with cross-turn KV cache reuse for recurrent / hybrid / SWA models and new state-cache budget and checkpoint controls
- Generator Vector Store: the GGML embedding model and tokenizer can be offloaded to a Buttress server, so a device can index and search documents without downloading either model
- Generators can serialize incoming work: HTTP Server request queueing, plus message queueing for TCP, UDP, WebSocket, MQTT, Serial Port, WebRTC, and BLE Central (off by default)
Bug fixes:
- Preloaded model files are found in the on-device cache again, so Generator LLM / STT / TTS no longer re-download their weights on every cold start
- Generator HTTP Server: request lines split across packets, route-level SSE content types, and multipart upload filenames are all handled correctly
- Generator BLE Central applies runtime retainTime changes to the discovered device list, and BLE Peripheral no longer leaks a native handle while finalizing
- Brick Items use a numeric data key for item identity, so per-item brick state follows the datum instead of its row position
- Data Calculation parses standard ISO 8601 and RFC 2822 datetime strings correctly, and datetime updates no longer fabricate the current time
- Local Sync preserves delivery order across latency compensation and prevents two devices from leading at once
- Automation: simulating a press on an Items row respects that row's state groups
- Other performance and stability improvements
2.25.1 Aug 4
v2.24.13
Features:
- Generator LLM (GGML) updates the llama.cpp runtime to b9982 and supports optional separate GGUF draft models for speculative decoding
- Data Calculation and PROPERTY_BANK_EXPRESSION add encodeURI, decodeURI, encodeURIComponent, and decodeURIComponent
Bug fixes:
- Generator VAD (GGML) resolves built-in models during preload; MQTT Broker enforces configured authentication, and targeted File downloads no longer start every file
- BLE Peripheral writes now populate Last Write with the received payload, and HTTP Server rejects malformed request sizes
- Generator TTS (VITS) accepts default options, and Generator LLM (ONNX) multimodal inference accepts batches of string prompts
- RichText custom fonts work in any inline declaration order, and Chart option overrides no longer alter source data
- Configs with deleted Subspaces or null map entries load safely, and removed Camera/WebView Bricks no longer receive later Actions
- Local Sync restores cross-device latency compensation and safely handles malformed or out-of-window packets
- MCP getDocumentation includes Brick Properties and Event/Action property details
2.24.13 Jul 22
v2.24.12
Features:
- Text Brick adds independent top, left, right, and bottom padding
- PROPERTY_BANK_EXPRESSION supports statement bodies and top-level await
- Data-node Events expose the triggering value as DATA_VALUE for connected Actions
Bug fixes:
- Data Bank update/remove Actions safely fetch missing data; Property Bank resets persisted values when the configured initial value changes, and its manual calculations use earlier updates in order
- Generator HTTP preserves explicit empty, false, or zero bodies and zero timeouts; HTTP Server handles bodyless multipart requests and non-text SSE responses
- TCP and TCP Server frame decoded base64 correctly; WebRTC Message Events carry the actual payload and no longer lose early connection candidates
- Text Input CLEAR and ON_FULL_FILL, SVG style/color mapping, multi-clip Video repeat, and Slideshow reset auto-advance now behave correctly
- Realtime Transcription ON_END retains final results, OuteTTS v2 reads numbers and special words correctly, and LLM parsing keeps valid tool calls beside malformed null entries
- Automation waits for Bricks still mounting at startup and respects active switch/state-group pressability; stopped Sound Player loads no longer start later
- Iterator stops cleanly on empty numeric ranges, WebCrawler leaves missing attributes unset, and Information SHOW reports an error instead of hanging when content is missing
2.24.12 Jul 14
v2.24.11
Features:
- Video Brick supports inline and SRT/WebVTT subtitles with styling and cue events
- Generator HTTP emits response and error events
Bug fixes:
- File, Question, Tick, Vector Store, WebView, DevTools, Data Calculation, Property Bank, config refresh, storage, and launcher init fixes
- Generator LLM (MLX) and Audio / TTS fixes
- Activity Log reliability fixes for oversized Property Bank updates
- Other stability improvements
2.24.11 Jul 7
v2.24.10
Features:
- Generator HTTP Server can now be controlled from scripts
- Brick Sketch events now expose the current sketch state
Bug fixes:
- TCP Server, Serial Port, MQTT, Iterator, WebRTC, Generator WebCrawler, DevTools selector, Data Bank, Property Bank, SQLite, and Dynamic Animation fixes
- Generator LLM (ONNX) / tool-call parsing fixes for Phi-4 and Mistral models
- Audio / TTS and Activity Log reliability fixes
- Other stability improvements
2.24.10 Jul 2
v2.24.9
Features:
- Many Data Calculation correctness fixes across collection, math, string, object, and datetime commands
- MQTT generator message events now expose the message body as a payload field
Bug fixes:
- Canvas, state group (switch), navigation, and event fixes so overrides and Change Canvas behave correctly
- Generator, iterator, and channel fixes
- Asset preloading, file upload, and Media Flow fixes
- Audio and video playback fixes, including more accurate audio recording length
- Other stability improvements
2.24.9 Jun 24
v2.24.8
Features:
- DevTools Storage inspection is more complete
- PROPERTY_BANK_EXPRESSION errors are clearer and can be caught during config validation
Bug fixes:
- iOS apps running on Mac now report Mac device names
- Other stability improvements
2.24.8 Jun 16
v2.24.7
Features:
- Generator Apple STT: contextual strings can bias recognition toward product terms and project-specific phrases
- Generator Apple STT can now be used as a Realtime Transcription transcriber
- DevTools is less cluttered by default
Bug fixes:
- DevTools connections and simulated taps are more reliable
- Property Bank locks now auto-release after timeout so later updates are not blocked if an earlier update fails
- Other stability improvements
2.24.7 Jun 10
v2.24.6
Features:
- Generator LLM (GGML): Bump llama.cpp runtime to b9309
- Generator Assistant: guardrails now support Jinja templates, conversation history, structured tool args, and custom redactReplacement strings
Bug fixes:
- Generator LLM / Speech Inference / Reranker / VAD / TTS: shared local model contexts no longer break other generators using the same model after one is released
- Sound Recorder no longer drops an active recording fragment while finalizing a previous one
- Voice transcription listeners now register correctly when transcription starts
- Property Bank command initialization tolerates missing data-node entries
- Subspace rendering skips dangling Brick refs instead of crashing on deleted Brick references
- Other performance and stability improvements
2.24.6 Jun 3
v2.24.5
Features:
- Generator LLM (GGML): Bump llama.cpp runtime to b9254 and expose MTP (multi-token prediction) speculative decoding parameters
- Brick RichText: opt-in renderMarkdown prop renders Markdown content through the existing render-html pipeline
Bug fixes:
- Generator VAD (Traditional): expose processFloat32 as a public method so realtime detection no longer throws when fed chunks from a sound recorder
- Generator LLM / Speech Inference: clear stale Buttress context on releaseContext so the next request reinitializes instead of failing with "Context not initialized"
- DevTools: console exception output no longer duplicates the error class line above the stack frames
- Skip dangling animationId references in setupAnimations so saved configs with deleted/renamed animations no longer crash the React subtree
- Other performance and stability improvements
2.24.5 May 27
v2.24.4
Features:
- Generator Assistant: configurable guardrails with pattern or LLM safety checks across LLM and tool hooks
- Generator STT (GGML): updated whisper.cpp runtime
Bug fixes:
- Pressable bricks: standby-transition wraps no longer capture taps for bricks without press events
- Skip invalid hit_regex entries instead of crashing property bank initialization
- Faster preload startup via parallel file existence checks
- Other performance and stability improvements
2.24.4 May 19
v2.24.3
Features:
- Brick Image: filtered rendering with color matrix support
- Brick Rect: bricks without configured press events no longer capture taps
- Generator LLM (GGML): Bump llama.cpp to b9084
Bug fixes:
- Other performance and stability improvements
2.24.3 May 12
v2.24.2
Features:
- Brick Sketch: drawing canvas with Apple Pencil pressure support and configurable initial state
- DevTools: self-hosted DevTools frontend over HTTP for LAN inspection
- Generator Realtime Transcription / Speech Inference: export detected language
Bug fixes:
- Other performance and stability improvements
2.24.2 May 6
v2.24.1
Features:
- Generator LLM (OpenAI): Support OpenResponses API
- Brick GenerativeMedia: OpenAI image model selection
Bug fixes:
- Other performance and stability improvements
2.24.1 Apr 30
v2.24.0
Highlights:
- DevTools CDP (Chrome DevTools Protocol): Inspect HTTP/WebSocket/MQTT traffic, Brick component tree, and storage from Chrome DevTools, Puppeteer, or Playwright
- Generator LLM (MLX): New native on-device LLM/VLM inference on Apple Silicon (iOS 17+ / tvOS)
- Brick Rect: Blur, progressive blur, and Liquid Glass effects
- Graduated to stable: GenerativeMedia, Rive, Realtime Transcription, VAD Inference, Vector Store
Breaking Changes:
- Generator STT (GGML): Deprecated transcribeRealtime removed, use Realtime Transcription instead
Features:
- DevTools: Event inspection tools for Brick/Generator events
- Generator LLM (GGML): Bump llama.cpp runtime to b8827
- Activity Log: Support periodic screenshot capture and upload
- Star printer: Update native integration with reliability improvements
Bug fixes:
- Fix Preload stall on Preparing when sync fails before result fires
- Fix Items post-transform standby during recomputes
- Other performance and stability improvements
2.24.0 Apr 21
v2.25.12
Highlights:
- Generator LLM (GGML): Bump llama.cpp runtime to b11804
- Generator Typed Decision (GGML): supports the new decision models LiquidAI d1, d1-omni, and pplx-decider; the images property also takes audio clips
- New Brick Text measure: the Measure Action and the optional measure-on-change setting report the width, height, line count, and overflow of the shown text in an Event
- Long-running players: released pages free more models, downloads, network requests, microphones, and audio resources
Bug fixes:
- Screenshots are no longer fully black after text input on iPhone or iPad, or on Mac
- The app no longer crashes after many application reloads
- Generator Typed Decision (GGML) / Reranker: Generators that share one model run their jobs one at a time instead of failing with "Context is busy"
- Generator LLM / Speech Inference / VAD Inference: Release Context or Load Model during a model load no longer keeps an unused model or loads neither model
- Generator Question: Next is enabled on a step that shows a valid earlier answer; closing a voice step while the microphone starts no longer leaves the microphone on
- tvOS: Generator Question keeps a button focused while the keyboard shows and opens the text screen of the next text step after Return; the D-pad focus stays inside open Questions, Alerts, and Launcher overlays
- Generator File: Write at a position given as text no longer replaces the file
- Generator AlarmClock: a running alarm keeps running after a Data-linked schedule field changes
- Generator Keyboard: Enter and Escape end a batch, and the letter j no longer does
- Generator Apple STT: an HTTP error from the audio URL is reported correctly
- Brick Items / Slideshow: index Actions take numbers given as text
- Brick RichText: a font loaded at runtime is applied
- Brick Scene3D, QR Code, SVG, and Sketch fixes
- Data Calculation: string, collection, color, Base64, and datetime commands handle text numbers and empty values correctly
- DevTools: passcodes with URL characters are accepted, and log downloads are no longer cut at CJK or emoji text
more Version 2.25.12 4d ago
Data Not Linked to You The following data may be collected but it is not linked to your identity: