Generators
- Generator TTS (GGML) — 改以 llama.cpp b10335 重建。現在所有平台皆支援九個語音模型家族:OuteTTS、Chatterbox、CSM (Sesame)、Qwen3-TTS、BlueMagpie (Barbet)、MOSS-TTSD、MOSS-TTS-Realtime、NeuTTS 與 Soprano。家族會由模型自動偵測,每個主幹模型需搭配對應的 codec / vocoder GGUF。已驗證能正確唸出輸入文字:CSM 1B、Chatterbox Multilingual、BlueMagpie Barbet-1B、Qwen3-TTS 0.6B 與 OuteTTS 1.0。
- Generator TTS (GGML) — 合成可卸載到 BRICKS Buttress 伺服器,裝置不需下載模型即可發聲。伺服器無法提供所設定的家族時會維持本機執行,不會回傳與輸入文字不符的音訊。
- Generator HTTP Server — 第二個 server 層級事件(close 後的 error,或共用連接埠關閉)不再讓 app 崩潰。
- Generator HTTP — SSE 事件記錄詳細資料的 Outlet 在第一個事件之後仍會持續更新。
- Generator LLM — 以自訂 key 儲存的 session 會保留在 sessions Outlet 中,即使自動儲存拒絕了同一個 prompt。
- Generator MCP — app 內 client 連結上的 notification 不再收到回應,符合 JSON-RPC 規範。
Scene3D
- 物件更新可以套用動畫。update-object Action 新增 Animate (ms),以與 camera 相同的緩動方式內插 position、rotation、scale 與 opacity,淡入淡出與轉場不再需要手寫逐幀 script。未宣告起始值的物件會從 renderer 預設值開始動畫。
- Primitive(box、sphere、plane 等)可以套用圖片材質,專輯封面、縮圖與影像牆等情境不再需要 glTF 模型。
- Script 可以向 app 傳送值。Script mutation 可攜帶
__emit,觸發 on-script-emit Event,場景內的輸入(如按鍵)因此能驅動 Data 與 app 的其他部分。Script 的__variables也會在宣告式 reflow 之間保留。 - Raycast 點選可由 Action 與 automation 觸發,object-click Event 的行為與真實點選完全相同。
- 部分宣告的向量會保留逐軸預設值(
scale: {x: 2}會渲染為[2, 1, 1]),同步失敗的模型載入器會回報錯誤,不再讓場景崩潰。
資料與運算式
- Script expression:callback 主體(
map、filter等)會以真正的 JavaScript 驗證並執行,callback 中使用Math或物件字面值不再失敗。經由解構模式觸及的不安全 key 會被拒絕。 - Persist storage:儲存的字串會原樣往返,
'123'、'null'、' 1 '讀回時與寫入時相同,不再被解析成數字、null 或被改寫。 - Data:不帶值的更新會將字串 Data 清為空字串,不再儲存文字「undefined」 — 該文字先前會被持久化並複寫到所有訂閱裝置。
- Data Calculation:
COLLECTION_DROP現在也會移除物件屬性,不限於陣列項目。 - Animations:連結 Property Bank 的值在巢狀 Subspace 的 item 與 dynamic animation 中重新可解析,不再讓整個 Subspace 渲染失敗。
檔案與下載
- 分片模型下載:以類型名稱(
md5/sha256)帶入雜湊值的分片會保留該值,完整且已下載的分片能通過完整性檢查,不再每次啟動都重新下載。此修正與 BRICKS Controller 的 Generator 重新儲存修正相對應。 - Office 文件:Excel 數值儲存格會保留完整數值 — 19.99 不再被讀成 19。
修正
- 已設定啟動測試或排程、但沒有 viewport frame 的裝置會重新執行它們。先前 automation 被無聲略過,BRICKS Controller 上卻仍顯示為已設定。
- 結束 viewport 覆寫時會還原 app 自身的版面,而非前一次的覆寫。
- 超過 48 kHz 取樣率的錄音會取得正確大小的緩衝區。
- Camera 與麥克風權限:停用音訊的元件不再清除其他元件需要的麥克風權限。
- Brick Items:第一頁之後的 item Event 會正常觸發。
Desktop
- Windows:打包版本改為附上真正的 Windows 原生 binding。先前的套件中部分模組帶的是 Linux 編譯的檔案,導致 app 啟動即崩潰。詳見安裝。
- Web launcher(Virtual Device / Web TV):沒有 viewport frame 的裝置會重新執行啟動測試與排程。
- 上述 Generator TTS (GGML)、Scene3D、script expression、persist storage、Data、animation 等修正,同樣適用於 Desktop Foundation。
改善
- 其他效能與穩定性改善。
向下相容性
- 本版本維持與 v2.21、v2.22、v2.23、v2.24 及 v2.25 Launchers 的相容性。
Media Flow
- 下載改以「停滯多久」而非「總耗時」判定逾時,大檔在慢速連線上不再被中途取消,而真正卡住的傳輸仍會被停止並回報為錯誤。詳見 Media。
- Storage sync 不再可能永久卡住。遺失的 native 呼叫現在有 watchdog 設限,下載檔案 URL 的 Outlet 不再在 app 的整個生命週期都保持空白 — 此情況曾在同時執行多個 Media Flow generator 的裝置上出現,且沒有任何錯誤紀錄。
- Generator 重新整理或結束時,會取消佇列中的抓取工作。
- 新上傳但不會經過轉檔的檔案(音訊、PDF 與一般檔案)現在會觸發重新抓取,不需手動重新整理即可出現。
- Log 會加上 Media Box 名稱與 id,並涵蓋抓取、訂閱與 storage sync 的各階段,同一份 config 中的多個 Media Flow generator 現在可以區分。
Generators
- Generator Assistant — 附加的檔案會以實際內容建立索引。先前每個加入 assistant 的檔案都只被存成一個空白 chunk,引用永遠只能對應到空白內容,但檔案仍會出現在清單中,token 數看起來也正常。
- Generator Assistant — 移除單一檔案不再清空整份附件清單,新增檔案也不再讓另一個 session 的附件消失;
insertFile文件中的chunkSize選項現在會生效,並新增為 generator 屬性。 - Generator Vector Store — 以 Insert Content 加入的內容現在會出現在檔案清單中,不再無論索引了多少文件都維持舊資料(在全新的 store 上則是空白)。
- Generator MQTT Broker — 重新整理 app 時會釋放 broker 連接埠,不再佔用到 process 結束;bind 失敗會以退避重試;broker 錯誤也會顯示真正的訊息,不再一律是
undefined。 - Generator MCP Server — Streamable-HTTP client 連線與 session 清除時都會更新 connected remotes 的 Outlet,continuation 請求需通過驗證,屬於其他 client 的 session key 也會被拒絕。
- Generator HTTP — log 面板中的 request 與 response header 會被遮蔽,憑證不再進入 log。
資料計算
STRING_INDEX_OF反向搜尋預設會從字串結尾開始,不再只有在符合位置剛好在最前面時才有結果。- Command 名稱無法辨識的節點會被略過,不再讓整個計算失敗。
檔案與下載
- Office 文件:含混合格式的 Excel 儲存格,或帶有注音標示的日文儲存格,不再讓其後所有共用字串位移 — 先前該表的後半段會完全讀不到且沒有任何錯誤 — archive 解壓縮也加上了上限。
- 下載在串流過程中就會套用設定的容量上限,不再只依賴宣告的內容長度。
DevTools
- 仍在使用舊版公開預設 DevTools passcode 的裝置,升級後會自動更換為專屬 passcode;自行設定過的 passcode 不受影響。詳見本機偵錯。
- DevTools server 會拒絕過大的 request header 與 body,並在請求停滯時逾時結束,不再讓連線一直佔住。
- DevTools 前端 asset 下載失敗時不再留下不完整的檔案,下次即可正常載入 inspector。
Android
- Sideload 安裝的 APK 不再夾帶 Google Play 版本的 JS bundle(該版本移除了自我更新功能),由 CDN 安裝的 app 重新可以自行更新。詳見安裝。
Desktop
- Web — camera 拍攝會回報實際產生的影像尺寸。先前每次 web 拍攝在 picture-taken Outlet、其 Event 值與 script 回傳值中,寬度都是 undefined、高度都是 NaN。
- 上述 Media Flow 的下載逾時判定、storage sync watchdog、抓取取消、未轉檔檔案的重新抓取與 log 標記,同樣適用於 Desktop Foundation。
- 上述 Generator Assistant、Vector Store、MQTT Broker、MCP Server、HTTP header 遮蔽、資料計算、Office 文件與下載容量上限等修正,同樣適用於 Desktop Foundation。
修正
- 內建的 Weather 範例不再包含預設 API key。
改善
- 其他效能與穩定性改善。
向下相容性
此版本與 v2.21、v2.22、v2.23、v2.24 和 v2.25 的 Launcher 保持相容。Generators
- Generator LLM (GGML) — llama.cpp runtime 升級至 b10156,支援 recurrent / hybrid / SWA models 的跨輪 KV cache 重用,新增 state-cache budget 與 checkpoint 控制項,並修正 multimodal state-file 問題。
- Generator Vector Store — GGML embedding model 與 tokenizer 可交由 BRICKS Buttress 伺服器執行,裝置不需下載任何一個 GGUF 也能建立索引與搜尋文件。
- 佇列處理 — Generator HTTP Server 新增 request queueing,可設定佇列上限與 timeout(超出上限時回應
503);TCP、TCP Server、UDP、WebSocket、MQTT、MQTT Broker、Serial Port、WebRTC 與 BLE Central 則新增 message queueing。以上預設皆為關閉。 - Generator HTTP Server — 跨封包切斷的 request line 現在可正確處理,不再直接關閉連線且完全沒有回應;route 層級的 SSE content type 會被採用,讓串流保持開啟並可正確結束;過長的 request line 與宣告的 chunk size 會提前拒絕;multipart 上傳的檔案也會留在該 request 自己的上傳目錄內。
- Generator BLE Central — 在執行期變更
retainTime現在會實際套用到已探索的裝置清單;BLE Peripheral 在 generator 結束期間啟動時也不再遺留 native handle。 - Generator WebRTC — 同時進行的 negotiation 會共用同一次 media 建立流程,並依各 generator 保留擁有權。
- Generator Inquiry — 恢復已儲存的 inquiry 時,會填入該題本身的值,而非第一題的預設值。
- 指向已不存在或已結束 generator 的 Action 會顯示在記錄面板,不再無聲丟棄。
Brick Items
- 數值型 data key(最常見的
id: 1)現在會用於項目識別,讓每個項目的 Brick 狀態跟著資料而非列位置移動。
Animations
- Forced animation 現在會套用到旗標設定前就已計算的 instances,
VARIABLE#動態 animation id 也會正確對應到目標 Brick。
資料計算
- 標準 datetime 字串現在能正確解析 — ISO 8601 的 week、ordinal、basic 格式與次毫秒精度,以及帶有
GMT等具名時區的 RFC 2822(先前會被當成本地時間讀取)。 - Datetime 更新不再自行捏造目前時間。
- Subspace Tick 的倒數不再因為 Subspace 內的 Property Bank 更新而重新開始。
Local Sync
- Latency compensation 期間會保留傳遞順序,完整封包不再污染下一個封包,用戶端關閉後排隊中的傳遞會停止,強制升為 leader 的計時器觸發時也會重新驗證,避免兩台裝置同時成為 leader。詳見 Local Sync。
Automation
- 模擬按下 Items 列時會解析該列的 state groups,測試不再能按下使用者按不到的控制項。詳見自動化測試。
- 截圖會限制在輸出目錄內。
iOS
- Preload 的 model 檔案重新能在裝置快取中被找到,Generator LLM / STT / TTS 不再每次冷啟動都重新下載權重。
Android
- App 下載體積縮小 — Property Bank worker bundle 改為壓縮儲存,QNN 版本也僅建置 arm64。
Desktop
- Web — spring animation 會在瀏覽器 compositor 上以真正的 spring 播放,不再被無聲地攤平成線性補間。
- Web — Map Brick 會在 map 實例建立時立即繪製設定的路徑。
- Web —
OPEN_URL僅接受安全的 URL scheme。 - 上述 Generator LLM (GGML) runtime 升級、Generator Vector Store 轉移執行、generator 佇列處理與 Generator HTTP Server 修正,同樣適用於 Desktop Foundation。
- 上述 Brick Items 數值 data key、animation 修正、Generator Inquiry 恢復已儲存內容、資料計算 datetime 解析、Local Sync 傳遞與 Automation 修正,同樣適用於 Desktop Foundation。
修正
- Preload 與檔案同步會將下載的 assets 限制在目的目錄內,被拒絕的檔名也不再卡住後續所有同步。
- 內建範例設定不再包含內嵌的 OpenAI TTS key。
改善
- 其他效能與穩定性改善。
向下相容性
此版本與 v2.21、v2.22、v2.23、v2.24 和 v2.25 的 Launcher 保持相容。重大變更
COLOR_RGBA改以 0–255 RGB 色版建構 — 資料計算指令COLOR_RGBA(red, green, blue, alpha)現在會把 RGB 色版視為 0–255,與指令名稱相符,也能與COLOR_TO_RGBA互相轉換;alpha 維持 0–1。過去色版被當成 0–1 的 GL 數值並截斷,因此COLOR_RGBA(128, 128, 128)以前會得到白色,現在則會得到灰色。既有設定如果依賴舊行為,請檢查並調整。
Brick Scene3D
- 全新 Brick — 即時 3D 場景,原生平台以 WebGPU 與 Three.js 繪製,Web 端則使用 React Three Fiber;tvOS 支援仍屬實驗性質。
- 宣告式的場景結構涵蓋物件、光源、攝影機、控制、背景與霧效,並支援 GLB 模型、HDR 環境貼圖、後製特效、節點覆寫與動畫混合器。
- 豐富的 action API(
addObject、setCamera、lookAt、playAnimation、raycast、screenshot)與逐幀指令碼掛鉤,可自訂動態效果。
Brick Items
- 捲動模式 — 新的
overflowMode: scroll會把超出 Brick 範圍的項目改以真正的捲動檢視呈現,並搭配虛擬化(延遲)掛載,只有接近可視範圍的項目才會建立。預設的pagination行為完全不變。 - 捲動 action 可指定位移、索引、項目、開頭或結尾;新的捲動與觸底事件可用於延遲載入資料,另外提供位移、進度、到頂與到底 outlet。
- 在 TV 平台上,焦點驅動的捲動會讓聚焦的項目保持掛載且顯示在畫面內。
Generators
- Generator STT(GGML)與 Realtime Transcription — NVIDIA Parakeet TDT 0.6B v3(GGUF)加入 Whisper 行列成為第二個引擎,支援 iOS、tvOS、Android、桌面與 Web,也可經由 BRICKS Buttress 遠端推論執行。
parakeet-tdt-0.6b-v3的四種量化版本(q4_0、q4_k、q8_0 與 f16)可直接從官方ggml-org/parakeet-GGUF下載,並支援自訂模型。 - Generator App State — 全新的 Generator,提供成對的背景與前景事件,以及目前狀態 outlet(
active、inactive、background),所有平台皆可使用;Web 與桌面對應至 page visibility。 - Generator Thermal Printer — 新增
castles驅動程式,支援 Android 上的 Castles Saturn PDA 裝置,涵蓋 Saturn 1000 內建印表機與 Saturn 7000 WiFi 印表機。 - Generator HTTP Server — 路由方法現在可執行帶有 script members 的 JS 沙盒指令碼,與 MCP Server 的模式相同,並提供專用的方法編輯器。
文件解析
parseDocument現在可在 iOS、tvOS 與 Android 上擷取 PDF 文字,因此你可以直接在裝置上把 PDF 建入 Generator Vector Store 索引。
本機除錯
- 裝置端的 DevTools 伺服器(CDP 與 MCP)現在預設啟用,並採用工作區範圍的授權。工作區成員不必共享通行碼即可對工作區內的裝置除錯,明確設定的通行碼也仍然有效。詳見本機除錯。
資料計算
- Script 類的計算現在會編譯為單一的指令碼指令節點(
script_map),並與舊格式一併寫入,因此舊版執行環境不受影響。 - 指令派送順序已序列化,有狀態的計算不會再讀到慢一步的舊值;數值轉換也會保留
null與NaN,不再一律變成 0。
Web
- Brick 的待命與進場動畫,以及設定驅動的動畫,現在都改由 Web Animations API 執行,因此交由瀏覽器合成器處理,主執行緒忙碌時依然流暢。
自動化
- 新增
execute_items_action方法,可在自動化測試中對個別項目觸發動作。
改善
- 其他效能與穩定性改善。
向下相容性
此版本與 v2.21、v2.22、v2.23 與 v2.24 的 Launcher 保持相容。Generators
- Generator LLM (GGML) 升級 llama.cpp runtime 至 b9982,新增可選用的獨立 GGUF draft models 進行 speculative decoding,並提供 draft GPU-layer 與 cache controls。
- Generator VAD (GGML) 在 preload 時會正確找到內建 models,Generator TTS (VITS) 會接受 default options。
- Generator LLM (ONNX) multimodal inference 也支援批次 string prompts。
- MQTT Broker 會確實套用設定的 authentication,指定的 File 下載也不再啟動所有 files。
Data Calculation
- Data Calculation 與
PROPERTY_BANK_EXPRESSION現在提供encodeURI、decodeURI、encodeURIComponent與decodeURIComponent。
Networking
- BLE Peripheral characteristic 寫入現在會更新 Last Write Outlet。
- HTTP Server 會拒絕不合法的負數或小數 request sizes。
- Local Sync 恢復 cross-device latency compensation,並能安全處理 malformed 或 out-of-window packets。
Brick & media fixes
- RichText custom fonts 在
font-family不是第一個 inline declaration 時也能正常運作,Chart option overrides 也不再改動 source data。 - 含已刪除 Subspaces 或 null map entries 的 configs 可安全載入,已移除的 Camera/WebView Bricks 也不再接收後續 Actions。
MCP
getDocumentation現在包含 Brick Properties 與 Event/Action property 詳細資訊。
Android
- 無法取得下載 size 時,update progress 仍會保持有效。
Desktop
- 上述 Generator、Data Calculation、Networking 與 Brick/media 修正也適用於 Desktop Foundation。
- MCP
getDocumentation的修正也適用於 Desktop Foundation。
向下相容性
此版本與 v2.20、v2.21、v2.22、v2.23 和 v2.24 的 Launcher 保持相容。Text Brick
- Text Brick 現在支援上、左、右、下獨立 padding controls。
Property Bank & Data Calculation
- PROPERTY_BANK_EXPRESSION 現在支援含 branching、loops、early returns 與 top-level await 的 statement bodies;empty strings、zero 與 false 的 member access 也能正確運算。
- Data-node Events 會以
DATA_VALUE提供觸發值給相連的 Actions。 - Data Bank 可安全處理尚未 fetch 的 properties 與提早到達的 subscription updates;configured initial values 改變時會重設 persisted values;manual calculations 會等待先前 updates;Data Calculation coercion functions 會正確回傳 primitive values。
Generators
- HTTP 會保留明確指定的 falsy body/timeout overrides,HTTP Server 可處理 bodyless multipart requests 與 non-string SSE responses,TCP/TCP Server 會在 framing 前 decode base64,WebRTC 會回傳 data-channel payloads 並保留早到的 ICE candidates,GraphQL subscriptions 也能正確關閉。
Brick & media fixes
- Text Input clear/full-fill、legacy SVG style priority 與 color mapping、multi-clip Video repeat、Slideshow reset auto-advance、cached list files、Iterator empty numeric ranges、WebCrawler missing attributes、Information missing content,以及 superseded Sound Player loads。
Transcription & TTS
- Realtime Transcription 會保留最終 ON_END results,OuteTTS v2 能正確讀出 numbers 與 prototype-named words,LLM tool-call parsing 也會保留 null entries 旁的有效 calls。
Automation
- Automation runs 可容忍 startup 時仍在 mount 的 Bricks,並尊重 active switch/state-group pressability。
改進項目
- 其他穩定性改善。
Desktop
- Text Brick 四側 padding、statement-bodied 與 async property expressions,以及 data-node Events 的
DATA_VALUE也適用於 Desktop Foundation。 - 上述 Generator、Data Calculation、Data Bank、Property Bank、Brick/media、transcription、OuteTTS、LLM tool-call、automation 與 runtime 修正,也適用於 Desktop Foundation。
- 其他 Desktop Foundation 穩定性改善。
向下相容性
此版本與 v2.20、v2.21、v2.22、v2.23 和 v2.24 的 Launcher 保持相容。Video
- Video Brick 現在支援 inline subtitles 與 SRT/WebVTT subtitle files、subtitle styling、events-only subtitle mode,以及 cue enter/exit events。
Generators
- Generator HTTP 現在會送出 response 與 error events,包含 response body、status、headers 與 SSE details。
- Generators:File append 在多檔案模式會尊重 targetDirectory,Question skip 會用 skipped answer 重新評估 downstream conditions,Tick 會拒絕 invalid/sub-millisecond intervals,Vector Store 可處理 zero-limit searches 而不失敗,programmatic confirm cancellation 也會移除 dialog。
Generator LLM
- MLX:從 text 解析出的 Llama tool calls 現在會回傳 flat tool-call array。
Data Calculation
- Data Calculation 與 Property Bank sandbox 修正:lexical variables 可 shadow context names,重疊的 async runs 會正確還原 host globals,stale/unknown commands 會安全 fallback,command removal 也可容忍沒有 in/out ports 的 nodes。
Runtime & config sync
- 同名 app revisions 會正確 refresh,viewport 變更後 entitlement-filtered configs 仍保持 filtered,in-memory subspace delete-all 不再清掉其他 subspaces 的資料,launcher init 也可處理 missing device lookup responses。
DevTools
- WebView query-selector expression errors 現在會以 errors 回報,不再讓 script calls 卡住,DevTools 現在可在 Runtime.callFunctionOn round-trip BigInt arguments。
Audio & TTS
- Bert-VITS2 Mandarin tones、Chinese large-number reading、OuteTTS English integer/large-number reading,以及 long numeric IDs 不再讓 synthesis 崩潰。
Activity Log
- Activity Log 會限制 oversized Property Bank update values,並記錄 dropped oversized events,不再反覆失敗。
Desktop
- Linux windows 現在可再次從 top strip 拖曳,也能避開 interactive controls。
- Linux installer 現在安裝
bricks-launchercommand name,並在需要時把 install directory 加入 shell PATH。 - 上述 Video Brick subtitle support、Generator HTTP response events、WebView query-selector、DevTools、Data Calculation、Property Bank、config-refresh、storage、Activity Log、TTS 與 runtime 修正也適用於 Desktop Foundation。
改進項目
- 其他穩定性改善。
向下相容性
此版本與 v2.20、v2.21、v2.22、v2.23 與 v2.24 的 Launcher 保持相容。Generators
- Generator HTTP Server 現在可由 scripts 控制,包含 status、start / stop、自訂 responses、temp-file cleanup 與 stream ending。
- TCP Server LF/CRLF framing 不再漏掉字元或把額外 frames 留在 buffer,Serial Port 會重新處理 buffer 中完整的 EDC frames,MQTT 會拒絕 undefined publish payloads 而不是送出
"undefined",Iterator 對 empty 或 out-of-range object data 不再崩潰。 - WebCrawler 在 HTTP selector 找不到 match 時會保留前一次 response,WebRTC renegotiation 不再略過首次 negotiation。
Generator LLM
- Phi-4 與 Mistral tool calls 會正確解析 single-bracket closings,LLM sessions 會讀取正確的 token field,auto-session files 也會更可靠地清理。
Canvas & events
- Brick Sketch events 現在包含目前 sketch state,讓 drawing workflows 更容易 automate 與 replay。
- Dynamic Animation 會從 test data 解析 VARIABLE# values。
Data Bank & configs
- routed receiver hit / not-hit events 現在使用 receiver 自己的規則,linked-module 與 sparse-config operations 對 optional maps 更容錯,Data Bank fetches 可處理 empty / missing results,SQLite 在 backing property 於 init 期間變更時會切換 databases。
Audio & TTS
- multi-channel audio downmix 已恢復,OuteTTS v3 不再修改 speaker prompts,tiny numeric values 在文字轉換時會正確 render。
DevTools
- DevTools frontend / log streams 在開啟失敗時更可靠,selector matching 現在也接受
:nth-child(An+B)formulas 中的空白。
Activity Log
- Activity Log buffers 在 ENOSPC drop-retry 後會恢復。
Desktop
- Device info 現在會回報正確的 home volume 與 OS version。
- Native workers 會等 initialization 完成後才接收 commands,減少 slow model / audio workers 的 startup races。
- 從 freshly bound device 建立 app 時,即使 screen details 尚未抵達也不再失敗。
- DevTools selector 與 stream-opening 修正,以及上述 Generator、Data Bank、Property Bank、Dynamic Animation 與 runtime 修正,也適用於 Desktop Foundation。
改進項目
- 其他穩定性改善。
向下相容性
此版本與 v2.20、v2.21、v2.22、v2.23 與 v2.24 的應用程式保持相容。Data Calculation
- 許多 commands 現在會在 edge cases 回傳正確結果——包含 COLLECTION_INCLUDES(以 value 比對 objects / arrays)、COLLECTION_REDUCE、Union、Max / Min / Mean / Sum / GCD、OBJECT_MAP_KEYS / OBJECT_MAP_VALUES、XOR、STRING_REPLACE(尊重 regex toggle,不符時原樣傳回)、integer conversion、IS_DATETIME、Root command 與 color scale gamma。
- async functions 與 methods 會保留
this與arguments,使用await的 async arrow functions 現在可執行,Concat 不再為未連線的輸入插入空項目,且當共用的 data node 在不同 maps 間 wire 不同 ports 時會保留 connections。
Generators
- Iterator Last / Previous / 負數 start 的修正,Tick generator 會保留 mapped 為
0/ 空字串 /false的 value,MQTT message events 會將 body 以 GENERATOR_MQTT_PAYLOAD / payload 形式提供。
State groups
- switch overrides 現在會執行正確的 event automation、套用至 rendered canvas,並在 force canvas change 後仍保留;被停用(commented)的 state group 不再阻擋後續的 state groups。
Canvas & events
- Change Canvas 在 canvas title 含 regex characters 時也能運作,單一項目的 Canvas Set 會 loop 回自身,
resetPopup的預設「all」會關閉每個開啟的 popup,targeting sibling item brick 的 events 不再被丟棄,one-time channel subscriptions 不再拆掉其他 subscriptions,Dynamic Animation 只評估 brick-target parameter。
Data Bank & assets
- 被移除的 Data Bank property 不再從 cache 重新出現,read-only routed values 不再被覆寫,Items paging 會尊重 page bounds,file uploads 會送出正確的 extension,Rive files 與 nested Items default images 會更可靠地 preload。
Media
- 在沒有 source 時 Video actions 會是安全的 no-op,Media Flow 的 Reset cache action 也會清除 cached box metadata,audio auto-cut 不再把 buffer padding 算成 audio,on-device vision inference 對僅有 image 的輸入也能運作。
修正
- 匯入 brick snapshot 會還原 position 與 size,垂直 Text bricks 在 box 過小或 letter spacing 極端時不再 freeze,on-device tool calling 不再破壞 character classes,恢復 simulator Logs panel,native recordings 會寫入正確的 WAV header,packets 順序錯亂抵達時 config sync 更可靠。
Desktop
- 修正 embedded web view 中的 race,避免送往頁面的 messages 在頁面載入完成前遺失,尤其是快速載入的頁面。
- Desktop file writes 不再破壞以 ascii-encoded byte arrays 傳入的 binary data。
- 上述 Data Calculation、generator、canvas、event、automation 與 runtime 修正也適用於 Desktop Foundation。
改進項目
- 其他穩定性改善。
向下相容性
此版本與 v2.20、v2.21、v2.22、v2.23 與 v2.24 的應用程式保持相容。DevTools
- Storage inspection — DevTools Storage inspection 現在涵蓋 System storage、Data Bank stores、Generator cache 與 Generative Media cache,CLI clients 可取得可讀 values。
修正
- Property Bank — PROPERTY_BANK_EXPRESSION errors 現在會說明不支援的 statement patterns,例如
if/for/whileblocks 或 destructuring,不再只顯示模糊的 runtime failure。 - 在 Mac 上執行的 iOS apps 現在會回報 Mac device names,不再回報 iPad names。
Desktop
- Embedded web views 在重新 render 後不再重複觸發 events。
改進項目
- 其他穩定性改善。
向下相容性
此版本與 v2.20、v2.21、v2.22、v2.23 與 v2.24 的應用程式保持相容。Generator
- Generator Apple STT — contextual strings 可讓辨識偏向產品術語與專案專用詞,且 Apple STT 現在可作為 Realtime Transcription transcriber。
- Generator Sound Recorder — Web 與 Desktop 麥克風擷取現在可自訂 echo cancellation、noise suppression 與 auto gain control。
DevTools
- 預設更精簡,隱藏不適合檢查 bricks 的面板與工具列控制項。
- 連線在 disconnect 與過期 socket 關閉時更穩定。
- 模擬點擊會尊重 disabled pressable Brick,並忽略過期的點擊競態。
Desktop
- Generator Apple STT — Desktop Foundation 現在支援 macOS 26+ 的 Apple speech recognition。
修正
- Property Bank — 過期的更新 locks 逾時後會自動釋放,避免先前更新失敗後阻塞後續更新。
改進項目
- 其他效能與穩定性改善。
向下相容性
此版本與 v2.20、v2.21、v2.22、v2.23 與 v2.24 的應用程式保持相容。Generator
- Generator LLM (GGML) — 升級
llama.cppruntime 至 b9309。 - Generator Assistant — Guardrails 改用 Jinja templates,支援 conversation history、結構化 tool args 與自訂
redactReplacement;before-LLM/after-LLM hooks 也會正確略過 tool-result continuation 與純 tool-call 回應。 - Generator LLM/Speech Inference/Reranker/VAD/TTS — 共享本機 model contexts 現在會獨立追蹤每個 Generator 實例,釋放其中一個 Generator 不再破壞另一個使用同一 model 的 Generator。
Web Preview / DevTools
- DevTools CDP 連線更穩定:Server 啟動會重試暫時性的 port 探測失敗,重新連線後會忽略舊 client 事件,CLI 錯誤也會說明是否被另一個 DevTools session 取代。
- Web Preview DevTools 開啟 Runtime console 時會顯示連線提示與
usage()範例。 - 透過 DevTools/preview 自動操作模擬鍵盤輸入時,即使底層平台同步回報 key event 也不再拋出例外。
Desktop
- Web debug panel — tab selector 現在會以 context menu 開啟,不再強制使用 TV 風格 tab strip。
- Web SerialPort — close 會等待 reader loop 結束後再關閉,避免 locked-stream 錯誤。
修正
- Sound Recorder — 重疊錄音 fragment 在結束前一段時不再清掉目前正在寫入的檔案。
- Voice transcription — listeners 會在 transcription 開始時正確註冊。
- Property Bank — command 初始化遇到缺失的 data-node entry 時會使用預設值,不再讓 runtime 崩潰。
- Subspace 渲染 — 會略過失效的 Brick 參照,避免 Canvas item 指到已刪除 Brick 時崩潰。
改進項目
- 其他效能與穩定性改善。
向下相容性
此版本與 v2.20、v2.21、v2.22、v2.23 與 v2.24 的應用程式保持相容。Bricks
- Brick RichText — 新增可選的
renderMarkdown屬性,啟用後將 Markdown 內容透過既有的 render-html pipeline 渲染(首次使用時延遲載入解析器)。
Generator
- Generator LLM (GGML) — 升級
llama.cpp至 b9254,並新增 MTP(multi-token prediction)推測解碼參數。 - Generator VAD (Traditional) — 將
processFloat32公開為公用方法,避免錄音器灌入區塊時即時偵測拋出例外。 - Generator LLM/Speech Inference — 於
releaseContext時清除過期的 BRICKS Buttress context,下一次請求會重新初始化,不再以「Context not initialized」失敗。
Desktop
- Linux AppImage — 在僅提供
libfuse2t64的系統上自動安裝libfuse2,若安裝失敗則改以軟失敗繼續執行。
Web Preview
- 沙箱化的 CDP
Runtime.evaluate— Console 指令改在已置空全域物件的 UnsafeEval scope 中執行,與 Launcher DevTools 伺服器一致,DevTools 探測不再能取得 host iframe 的document/window。 - Preview-invoke 自動操作 — 處理 Config 就緒競爭,避免代理工具觸發的 preview 渲染顯示半初始化畫面。
DevTools
- Console 例外輸出不再於堆疊上方重複錯誤類別名稱。
tvOS
- 恢復 Applications 列表。
修正
- 在
setupAnimations中略過缺失的animationId參照(補強 v2.24.4 reducer 端的防護),避免帶有已刪除或重新命名 Animation 的 Config 在啟動時造成 React 子樹崩潰。
改進項目
- 其他效能與穩定性改善。
向下相容性
此版本與 v2.20、v2.21、v2.22、v2.23 與 v2.24 的應用程式保持相容。Bricks
- 可點選 Brick — standby 過渡的包裝層不再攔截未設定 press 事件的 Brick 之點選,與 v2.24.3 的下層接收行為一致。
Generator
- Generator Assistant — 新增可設定的 guardrails,於
before-llm/after-llm/before-tool/after-tool四個檢核點以 pattern 或 LLM 規則執行block/redact/log-only,並內建預設的安全策略。 - Generator STT (GGML) — 更新
whisper.cpp執行階段。 - AI Filter — 雲端模型陣容更新(Claude Sonnet 4.6 + Haiku 4.5、Gemini 3.1 Pro + 3 Flash preview、GPT-5.5 + 5.4 Mini/Nano)。
Desktop
- Desktop Launcher 的 DevTools frontend 預取不再失敗。
- Generator LLM (MLX) — 於 Desktop/Web Preview 的 generator 表中註冊為 BRICKS Buttress 限定可用(原生 MLX 僅 iOS/tvOS 支援)。
- Web Preview 截圖:避免文字在元件邊界被裁切。
修正
- 跳過不合法的
hit_regex(例如僅 PCRE 支援的內嵌旗標)而不再導致 Data Bank 初始化崩潰。 - 事件 Reducer 略過缺失的 animationId 參照,不再因失效的引用導致應用程式預覽啟動崩潰。
改進項目
- 預載啟動更快:平行化逐檔的存在檢查。
- 其他效能與穩定性改善。
向下相容性
此版本與 v2.20、v2.21、v2.22、v2.23 與 v2.24 的應用程式保持相容。Bricks
- Brick Image — 新增帶色彩矩陣的濾鏡渲染。提供於 iOS、Android 與 Desktop。
- Brick Rect — 未設定 press 事件的 Brick 不再攔截點選,會由下方 Brick 接收,而非被無作用的 Touchable 攔截。
Desktop
- 視窗拖曳改為原生實作,取代既有的拖曳覆蓋層;上方拖曳區可疊在 UI 之上而不影響底下按鈕點選。
- macOS 應用程式選單新增 Open System Menu 項目。
Generator
- Generator LLM (GGML):升級 llama.cpp runtime 至 b9084。
改進項目
- 其他效能與穩定性改善。
向下相容性
此版本與 v2.20、v2.21、v2.22、v2.23 與 v2.24 的應用程式保持相容。重點功能
- Brick Sketch(Preview) — 全新繪圖畫布,支援 Apple Pencil 壓感、復原/重做/橡皮擦/顏色/粗細工具列、可設定初始狀態並支援匯出圖片。詳見核心參考。提供於 iOS、Android 與 Desktop(Apple Pencil 壓感僅限 iOS)。
- 自架 DevTools 前端 — DevTools UI 改以 HTTP 提供,方便 LAN 內檢查;因 Chrome 已加固的
devtools://CSP 不再允許非 loopback 的 WebSocket 連線。詳見本機除錯。 - Realtime Transcription/Speech Inference 偵測語言 — Generator Realtime Transcription 與 Speech Inference 將偵測到的語言以新的 Outlets 與事件 payload 提供。
改進項目
- 其他效能與穩定性改善。
向下相容性
此版本與 v2.20、v2.21、v2.22、v2.23 與 v2.24 的應用程式保持相容。重點功能
- DevTools CDP 整合 — 透過 Chrome DevTools Protocol(CDP)從 Chrome DevTools、Puppeteer 或 Playwright 檢查 BRICKS 應用程式。Network 面板涵蓋 iOS、Android、Desktop 與 Web Preview 的 HTTP、SSE、WebSocket、MQTT 與檔案下載活動;DOM 面板呈現 Brick 元件樹並提供 CSS 選擇器(
:pressable、:editable、:hidden);Input 支援按壓與文字輸入;Storage 可唯讀檢視系統儲存、Data Bank 與 generator 快取。詳見本機除錯。 - Generator LLM (MLX) — 原生支援 — 在 Apple Silicon 上原生執行裝置端 LLM/VLM 推理(iOS 17+ / tvOS),支援串流補全、模型載入/釋放與 tokenize/detokenize。此功能先前僅支援 BRICKS Buttress。
- Rect 模糊效果 — Rect 新增模糊屬性(
blurEnabled、blurVariant、blurType、blurAmount),iOS 支援 progressive blur 與 Liquid Glass 變體,並相容 iOS、tvOS、Android、Web(Web 以 View fallback)。 - 晉升為正式版 — Brick GenerativeMedia、Brick Rive、Generator Realtime Transcription、Generator VAD Inference 與 Generator Vector Store 現已進入正式版,詳見核心參考。
重大變更
- Android 最低 SDK 提升至 26 — Android 8.0(API 26)現為最低支援版本。
- Generator STT (GGML):移除
transcribeRealtime— 請改用 Generator Realtime Transcription(現已正式)。
改進項目
- Generator LLM (GGML):升級 llama.cpp runtime 至 b8827
- Activity Log:支援定期擷取並上傳螢幕截圖
- Brick Items:重新計算時保留 post-transform standby
- Star 印表機:更新原生整合並改善穩定性
- 為 RNBlobUtil 串流錯誤加上呼叫端脈絡標註,改善錯誤診斷(Desktop)
- 修正 sync 在結果觸發前失敗時 Preload 停滯於 Preparing 的問題
- 其他效能與穩定性改善