Skip to main content
發佈
v2.25.10

Generators

  • Generator LLM (GGML) — llama.cpp 執行環境更新至 b11192。
  • Generator Sound Recorder — AI Noise Suppression 現已支援 iOS、Android 與 tvOS。無法載入時會繼續錄音並回報警告。
  • Generator Realtime Transcription / VAD — 每段語音的開頭不再被截斷,傳統 VAD 的片段會在語音實際開始與結束處起訖。
  • Generator TCP — 前一個連線關閉期間可正常重新連線,連線中結束連線則會取消該連線。
  • Generator UDP / TCP Server — 綁定失敗(例如連接埠已被使用)後,可重試 Bind 與 Start。
  • Generator HTTP Server — 格式錯誤的分塊請求內容會被拒絕,不再被錯誤解析。
  • Generator GraphQL — 設定失敗後,不再導致後續設定無法連線。
  • Generator Serial Port — 每次連線都從空的接收緩衝區開始,殘留資料不再破壞第一個資料框或 Regex Match。

Bricks

  • 使用 initiative 快取模式的 Brick(Image、Lottie、Rive、Chart、Slideshow):變更來源後不再持續顯示先前快取的檔案。
  • Brick Chart — 快速變更主題 URL 時不再套用較舊的主題,移除主題 URL 後會清除主題。
  • Brick Generative Media — 已被取代的提示延遲回傳結果時,不再覆蓋目前的媒體或提前結束載入。
  • Brick Sketch — Brick 被移除或儲存停滯時,Export Image 會正確回報失敗或逾時,且不再重複寫入檔案。

Data 與 Event

  • Data Calculation — 色階指令遇到空白或無效的顏色清單時會回傳空值,不再中斷其餘計算。

修正

  • iOS / Android:Activity Log 截圖會擷取所有已連線的螢幕,標示無法擷取的區域,且擷取失敗後不再留下暫存檔。
  • iOS / tvOS:仍在綁定狀態的裝置重新啟動後不再回到綁定畫面。暫時性的儲存錯誤會重試,並可復原綁定資訊。請參閱裝置綁定。
  • Android:長按遙控器 MENU 鍵可再次開啟 BRICKS 系統選單。
  • Android:使用乙太網路時,Network IP address 的 System Properties 值不再於啟動後不久變為 0.0.0.0。

Desktop

  • 上述變更同樣適用於 Desktop Foundation,標示 iOS 或 Android 的項目除外。
  • Generator Sound Recorder — 新增 Voice Enhancement 選項:可調整增益的 Voice Filter 讓語音更清晰、音量更平穩,AI Noise Suppression 則可移除背景噪音。兩者預設關閉。

向下相容性

  • 此版本維持與 v2.21、v2.22、v2.23、v2.24 及 v2.25 Launcher 的相容性。
發佈
v2.25.9

Generators

  • Generator LLM (GGML) — llama.cpp 執行環境更新至 b11010。
  • Generator Realtime Transcription — Max Results in Memory 預設保留最近 100 筆詳細片段結果,Max Prompt Slices 預設為 3,兩者皆可調整。Result Text 與結束 Event 一律保留完整的逐字稿,若需儲存每一筆詳細結果,請使用 ON_TRANSCRIBE。
  • Generator Realtime Transcription / SoundRecorder — 在啟動期間停止或重複停止時,會正確結束錄音,且不影響較新的錄音。
  • Generator STT (ONNX) / VAD (ONNX) / TTS — load() 在成功載入模型後回傳 true。
  • Generator STT (GGML) / VAD (GGML) — 音訊檔案下載期間收到的請求,不再啟動重疊的推論作業。
  • Generator File — 設定失敗會觸發初始化錯誤 Event;舊傳輸完成後,也不再導致替換它的新傳輸無法停止。
  • Generator GraphQL / Data Bank — 變更連線設定後會忽略過期的結果,等待中的 Data Bank 更新或刪除也不會影響替換後的連線。
  • Generator SQLite — 初始化期間變更資料庫時,會開啟新選定的資料庫,不再保留舊的資料庫。
  • Generator MQTT — 使用不同登入資訊的連線會各自獨立,不再混用。
  • Generator WebSocket / MCP / BRICKS Buttress 連線 — 切換傳輸設定、重複連線與重新連線都會關閉舊連線,不再留下重複的連線。
  • Generator TCP — 在憑證準備期間結束連線後,不再於稍後重新建立該連線。
  • Generator Web Crawler — HTTP 失敗時會回報錯誤,不再將錯誤頁面當成成功的結果。
  • Generator Vector Store — 文件解析時,含有多段 Rich Text 的 XLSX 儲存格會保留完整的文字。

Data 與 Event

  • 持久化的 Data 在多次重新啟動應用程式後仍會保留,不再還原為初始值。
  • 等待 Data 的 Action 會在來源移除後停止,不再延遲執行 Action 或切換畫布。

修正

  • 應用程式載入:移除 Subspace 後,應用程式載入與資源、字型預載仍可正常完成。
  • 應用程式上傳檔案遇到 HTTP 失敗時會回報錯誤,不再誤報成功。
  • Android:Generator STT (GGML) — 在支援的 Snapdragon 裝置(8 Gen 1 及更新型號)上實驗性支援 Whisper Hexagon NPU 加速,開啟 Model Use GPU 即可使用。
  • iOS / Android:Generator BLE Central / BLE Peripheral — 在設定期間斷線或停止後,不再由過期的作業觸發延遲的連線 Event 或開始廣播。
  • Android:藍牙 — Android 11 及更早版本可正確辨識已授予的位置權限。
  • Android:Generator Serial Port — 重複執行 Attach Action 不再留下重複的連線或資料監聽。
  • iOS:Generator LLM (Apple) — 停止串流生成後,即使稍後才收到緩衝的文字也不再發生錯誤。

DevTools

  • 組合祖先、子項或相鄰關係的選擇器,即使最近的候選項不符合完整條件,仍可找到符合的 Brick。請參閱本機除錯。

Desktop

  • 上述變更亦適用於 Desktop Foundation,但標示 iOS 或 Android 的項目除外。
  • Generator STT (GGML) — 在支援的 Qualcomm Linux arm64 硬體上,可於 Accel Variant 選擇 snapdragon,以使用 Whisper Hexagon NPU 加速。
  • Brick Lottie — 切換來源後,會忽略前一個動畫延遲的下載結果與錯誤。
  • Open URL — 等待中的 Action 可收到開啟外部 URL 的結果或錯誤。
  • Generator MQTT — 會正確傳送使用者名稱與密碼的驗證資訊。

向下相容性

  • 此版本維持與 v2.21、v2.22、v2.23、v2.24 及 v2.25 Launcher 的相容性。
發佈
v2.25.8

Generators

  • Generator SoundPlayer — 修改其他無關設定不再重新開始音訊下載;等待播放的呼叫會在播放結束、停止或被替換時完成,暫停後繼續播放也同樣適用。
  • Generator Question — 需要確認時會顯示 Yes/No 的文字與圖片;關閉、停止或替換問題會結束等待中的指令碼,暫停後繼續則保留尚未完成的回答。
  • Generator Information — show() 在確認時回傳 true,對話框關閉或被替換時回傳 false,等待載入對話框的指令碼不再卡住。
  • Generator 指令碼控制 — SoundPlayer.stop()、SoundRecorder.start() 與 VAD (Traditional).init() 依文件正常運作。
  • Generator STT (GGML) / VAD (GGML) — load() 在成功載入模型後回傳 true,重用已載入的模型時也相同。
  • Generator TTS — 自動語音產生失敗時,會透過錯誤 Event 回報合成失敗。
  • Generator LLM (MLX) — BRICKS Buttress 回傳的工具呼叫會傳入完成結果與完成 Event。
  • Generator HTTP Server — STOP 後立即 START 可正常重新啟動;請求處理失敗時會回傳錯誤並觸發錯誤 Event,不再讓用戶端持續等待。
  • Generator Vector Store — 文件解析可正確辨識副檔名為大寫或大小寫混合的檔案,例如 .PDF 與 .DOCX。

Bricks

  • Brick Items — 轉換與後處理指令碼失敗時,錯誤 Event 與 Outlet 會包含錯誤訊息。
  • Brick SVG — 切換來源 URL 後,舊請求的延遲回應不再以先前的圖片覆蓋目前的圖片。

資料與運算式

  • 指令碼日期 — ISO 與 RFC 日期會保留正確的日期及時區,與 Data Calculation 命令一致,並正確套用指定的解析格式。
  • AI 篩選 — 停止後重新啟動篩選時,會忽略已取消執行的延遲結果與錯誤。
  • AI 篩選 / MCP 搜尋 — 重建應用程式、文件或媒體搜尋時會替換過期結果,不再產生重複項目;媒體搜尋會依照目前的應用程式,準備失敗可重試,媒體結果為空時也有清楚的說明。

修正

  • 模型、媒體與字型下載:失敗或中斷的傳輸不再被當成完整檔案重複使用,後續重試即可恢復,不必清除快取。
  • 預載應用程式:儲存失敗或多次儲存重疊時,不再誤用舊的應用程式設定。
  • iOS / Android:Brick Camera — 背景錄影失敗會觸發錄影錯誤 Event;移除 Brick 會取消錄影,並釋放等待錄影的指令碼。
  • iOS / Android:Generator Thermal Printer — Star 與 TSC 印表機可正確關閉條碼文字;停用自動狀態更新時,ESC/POS 印表機仍可重新初始化。
  • iOS / Android / tvOS:Generator MCP Server — 工作階段建立或請求處理失敗時會回傳錯誤,不再持續等待,並會清理已斷線的用戶端。
  • Android:Generator LLM (Qualcomm AI Engine) — 變更模型、晶片型號或自訂模型 URL 時會載入選定的模型包,不再重用第一次下載的模型。

DevTools

  • 用戶端連線標頭的大小寫不同,不再導致無法連線。請參閱本機除錯。

Desktop

  • 上述變更同樣適用於 Desktop Foundation,標示為 iOS、Android 或 tvOS 的項目除外。
  • 動畫 — 完成 Event 恢復觸發,後續 Action 可繼續執行;重新開始動畫時會忽略前次執行的延遲完成通知。
  • Brick Map — 在 API key 空白或載入失敗後補上 key,地圖即可顯示,不必重新載入。
  • Generator LLM (Qualcomm AI Engine) — 變更模型、晶片型號或自訂模型 URL 時會載入選定的模型包,不再重用第一次下載的模型。

向下相容性

  • 此版本維持與 v2.21、v2.22、v2.23、v2.24 及 v2.25 Launcher 的相容性。
發佈
v2.25.7

Bricks

  • Brick Slideshow — 播放、暫停、下一張與上一張 Action 同樣可控制照片與影片,暫停時也能手動逐張切換。jumpToIndex 在無法選取指定項目時會回傳 false。
  • Brick Rive — 指令碼控制會正確套用動畫、狀態機、輸入與文字選項,並回傳是否成功套用。
  • Brick SVG — 舊版繪製模式會保留位於多個 style 區塊之間的圖形,並套用所有區塊的樣式,而不只是第一個。

自動化

  • Brick 按壓步驟支援長按,包含 Items 內的項目。它只會觸發設定的長按 Event,不會同時觸發一般按壓。請參閱自動化。

Generators

  • Generator LLM (OpenAI) — 串流的 function-call Event 會帶有完整引數並只觸發一次,即使服務商把呼叫放在最後一個片段,或未提供 tool-call 結束原因也一樣。
  • Generator File — 以 ID 或索引停止某個上傳或下載時,其他傳輸會繼續進行。啟動指定檔案時,進度、完成與錯誤 Event 會帶有該檔案的索引。
  • Generator Media Flow — 允許與封鎖清單會套用到檔案列表、Outlet 與下載。修改篩選條件或選取的來源後立即生效,不必等待下一次擷取。請參閱 Media。
  • Generator WebSocket — 替換連線時會先回報舊連線關閉,再回報新連線開啟,舊連線延遲送達的 Event 因此無法把新連線標記為關閉。
  • Generator HTTP — Content-Type 標頭名稱不再區分大小寫,表單與文字請求內容會以正確格式編碼。
  • Generator MCP Server — 列表中 URL 含有空格或非標準化的資源可以正常讀回,耗時的工具呼叫也會維持各自的 HTTP 串流,不再因閒置而被斷線。
  • Generator SoundPlayer — 播放中 Outlet 會在播放開始 Event 之前更新,無法開始播放的音訊不再被回報為播放中。

資料與運算式

  • 腳本運算式 — list[i]、result[id] 等 callback 區域變數索引恢復運作。被拒絕的運算式會透過指令碼錯誤或 Event log 說明原因,不再無聲地沒有結果。
  • Data Calculation — 稀疏陣列以及帶有 length 欄位的物件都能正確完成集合 callback,不再重複呼叫或產生錯配的結果。
  • AI 篩選 — 缺少服務商 API key 時會指出所需的 key 名稱,不再改送其他服務商的 key。
  • Channel 與遠端 Data 更新 — constructor、toString 之類的名稱不再導致訂閱或 Data 初始化失敗。
  • 動畫 — 沒有動畫內容的 Event 只會回報一次完成,因而終止重複的完成派發與其引發的更新迴圈。

修正

  • 裝置狀態:重疊發生的狀態變更會依序寫入,避免寫入衝突與舊回應覆蓋較新的狀態。
  • Local Sync — 延遲送達的確認訊息不再讓連線永久無法傳送。請參閱 Local Sync。
  • iOS:Generator BLE Peripheral — 會保留自訂的 128-bit service 與 characteristic UUID,附近裝置因此能探索並使用正確的服務。
  • iOS:Generator STT (GGML) / Realtime Transcription — 英文專用的 Tiny 與 Base Whisper 模型在啟用 Core ML 加速時,會使用對應的英文 encoder。

DevTools

  • 模擬的方向鍵、Enter、Escape 等非文字按鍵會傳送到 Generator Keyboard 與 Scene3D 指令碼,按鍵命令也會回報 runtime 是否接受。請參閱本機偵錯與 BRICKS CLI。
  • 主控台擷取會區分既有紀錄與擷取期間產生的輸出。僅擷取即時輸出並清除既有紀錄,就能單獨判讀目前這次的執行結果。

Desktop

  • 上述變更同樣適用於 Desktop Foundation,標示為 iOS 的項目除外。
  • Generator STT (GGML) / Realtime Transcription — 停止 Whisper 轉錄會回傳已完成的部分結果並結束執行中的工作,不再無限等待。

向下相容性

  • 此版本維持與 v2.21、v2.22、v2.23、v2.24 及 v2.25 Launcher 的相容性。
發佈
v2.25.6

Generators

  • Generator LLM (GGML) — llama.cpp runtime 更新至 b10645。
  • Generator STT (GGML) / Realtime Transcription — whisper.cpp runtime 更新。
  • Generator TTS — 音訊仍在載入時被取消的片段,不再照常播放並回報為播放中。Generator TTS (GGML) 在準備 context 期間被取消的合成會停止,不再在即將釋放的 context 上完整跑完。
  • Generator MQTT — 完全無法建立的 client(原生 client 拒絕,或連線程式庫不接受的 URL)會像其他連線失敗一樣透過 error Event 與 Outlet 回報,不再是一個無聲永遠連不上的 broker。

資料與運算式

  • Script expressions — undefined、NaN 與 Infinity 在任何位置都以 JavaScript 值解析。在陣列或物件字面值內不再拋出錯誤,NaN === NaN 也如 JavaScript 一樣為 false。寫入成員的陳述式(a.x = 2、a.x++、r[0]--)無論出現在哪裡,都以真正的 JavaScript 執行,不再拋出錯誤或無聲丟棄寫入。
  • Data Calculation — 接受清單的 color 命令(COLOR_AVERAGE、COLOR_LIMITS、COLOR_BEZIER_COLORS、COLOR_BEZIER_VALUE)收到空的、缺少的或無法解析的清單,以及 STRING_TEMPLATE_LITERALS / STRING_BASE64_ENCODE 收到 null 或非字串主體時,會降級處理而不再丟棄整批計算。沒有輸出連結的節點也不再讓整張圖的 lock list 建立失敗。

檔案與下載

  • 模型下載 — 數 GB 的檔案(例如 17.5 GB 的 GGUF 模型)不再被判定為停滯而中止並從頭重來。存活與否改以實際寫入磁碟的位元組判斷,而非只看進度事件;較短的原生讀取逾時不再中斷傳輸;既有大檔案的完整性檢查期限會隨檔案大小調整,不再每次同步都重新下載;並行下載也設有上限,排隊中的下載不再被回報為停滯。
  • Runtime cache — 失敗重試次數設為字串、小數或負數時,不再讓失敗的下載無限重試。

修正

  • 字型:以物件內建成員命名(constructor、toString 等)的字型家族或變體,會像其他未知字型一樣被略過,不再讓字型解析崩潰。
  • iOS 與 tvOS:系統選單不再提供 System Setting。只有 Android 能開啟裝置設定,先前點選沒有任何反應。

DevTools

  • MCP 與 MCP SSE 端點已標示為棄用,將於 2.26 移除,DevTools 頁面現在會顯示提示。請改用 CDP — bricks devtools。請參閱本機偵錯。

Desktop

  • 上述 llama.cpp 與 whisper.cpp runtime 更新,以及 Generator TTS、Generator MQTT、script expression、Data Calculation、模型下載、runtime cache 與字型修正,同樣適用於 Desktop Foundation。

改善

  • 其他效能與穩定性改善。

向下相容性

  • 本版本維持與 v2.21、v2.22、v2.23、v2.24 及 v2.25 Launchers 的相容性。
發佈
v2.25.5

Generators

  • Generator TTS (ONNX) — 支援 Chatterbox 系列語音模型,包含 Chatterbox Multilingual,可於裝置端執行,也可卸載到 BRICKS Buttress 伺服器,底層的 ONNX Runtime 推論後端一併更新至 1.27.0。已驗證能正確唸出英文與中文輸入。
  • Generator TTS — 將 speaker embed 或 reference audio 指向不同的 URL 時會真正下載新語音。先前檔案以固定名稱快取,同一模型永遠使用最早下載的那個語音。
  • Generator LLM (GGML) — llama.cpp runtime 更新至 b10588。
  • Generator LLM (OpenAI / Anthropic) — 停止串流中的 completion 時會回報為中斷。finished Event 帶有新的 Interrupted 欄位,scripting 結果則帶有 interrupted: true 與 cancelled finish reason,不再將被截斷的回答呈現為模型自行完成。
  • Generator Iterator — 連結值提供的 step 為 0 或以下時不再讓 runtime 停滯,會改用 1 並記錄錯誤。start 為小數或超過資料長度時,回報的 INDEX 也與實際套用的旋轉一致。
  • Generator Vector Store — 無法使用的 chunk size(0、被清空或負值,來自屬性、insert Action 或 scripting API)不再讓記憶體持續增長直到 app 停止回應且 PROCESSING 卡在開啟狀態。會改用已設定值或預設值,並記錄該次替換。
  • Generator HTTP — 替換 SSE 連線時不再清除仍在使用中串流的 parser,先前會導致回應 Outlets 在串流仍開啟時持續發佈 undefined。
  • Generator WebRTC — 被替換的 data channel 會卸除其監聽器,它延遲到達的 close 不再無聲地阻斷之後所有的 channel 傳送,也不再觸發幽靈 channel-close Event。

資料與版面

  • Data Calculation — math 或 color 命令收到無法使用的值(通常是尚未產生值的連接節點)時會降級為 undefined,不再拋出錯誤導致整批計算被丟棄、批次中的所有更新停滯。
  • Brick Items — 被清空、為 0、負值或小數的每行數量或每頁數量(可經由連結值到達)會以未設定的預設值排版,不再產生破碎的 frame、完全不顯示項目、錯位的網格或不均勻的分頁。

修正

  • Activity Log:Data 更新事件重新被記錄。陣列形式的更新自 v2.25.0 起被無聲丟棄;本次修正同時涵蓋裝置端與伺服器端,因此仍在舊版本的裝置在伺服器更新後即可恢復產生記錄。
  • App 仍在載入時到達的 viewport 變更會在載入完成後套用,不再遺失。
  • Android:以 WebView 為基礎的 brick(例如 Sketch)重新接受觸控與手寫筆輸入。先前筆劃在第一次移動後就被取消,Boox 手寫筆按住側鍵的筆劃也會被丟棄。

Desktop

  • 上述 Generator TTS (ONNX) Chatterbox 支援、llama.cpp runtime 更新,以及 Generator TTS、LLM、Iterator、Vector Store、HTTP、WebRTC、Data Calculation、Brick Items、Activity Log 與 viewport 修正,同樣適用於 Desktop Foundation。

改善

  • 其他效能與穩定性改善。

向下相容性

  • 本版本維持與 v2.21、v2.22、v2.23、v2.24 及 v2.25 Launchers 的相容性。
發佈
v2.25.4

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 的相容性。
發佈
v2.25.2

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 保持相容。
發佈
v2.25.1

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 保持相容。
發佈重大變更
v2.25.0

重大變更

  • 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 保持相容。
發佈
v2.24.13

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 保持相容。
發佈
v2.24.12

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 保持相容。
發佈
v2.24.11

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-launcher command 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 保持相容。
發佈
v2.24.10

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 的應用程式保持相容。
發佈
v2.24.9

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 的應用程式保持相容。
發佈
v2.24.8

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/while blocks 或 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 的應用程式保持相容。
發佈
v2.24.7

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 的應用程式保持相容。
發佈
v2.24.6

Generator

  • Generator LLM (GGML) — 升級 llama.cpp runtime 至 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 的應用程式保持相容。
發佈
v2.24.5

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 的應用程式保持相容。
發佈
v2.24.4

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 的應用程式保持相容。
發佈
v2.24.3

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 的應用程式保持相容。
發佈
v2.24.2

重點功能

  • 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 的應用程式保持相容。
發佈
v2.24.1

改進項目

  • Generator LLM (OpenAI):支援 OpenResponses API。
  • Brick GenerativeMedia:新增 OpenAI 圖片模型選擇。
  • 其他效能與穩定性改善。

向下相容性

此版本與 v2.20、v2.21、v2.22、v2.23 與 v2.24 的應用程式保持相容。
發佈重大變更
v2.24.0

重點功能

  • 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 的問題
  • 其他效能與穩定性改善

向下相容性

此版本與 v2.20、v2.21、v2.22 與 v2.23 的應用程式保持相容。