日期:2023 年 11 月 22 日
版本:F15
我們已實施下列變更:
應用程式執行階段 (Flutter、Starnix 和 Web)
Starnix
我們已為 Starnix 進行下列更新:
- 新增了自檢測容器功能,可針對個別系統呼叫細分 CPU。
- 新增 ptraceUAPI。
- 在 Starnix 輸入裝置中新增「按鈕」支援。
- 在 Starnix 中新增 overlayfs的支援和修正項目。
- 新增了以 InterruptibleEvent為基礎的等待器,以便支援 Futex。
- 修正使用及處理 Futex 時的各種安全性發現。
- 初步支援 Starnix 中的鎖定順序和功能。
- 初步支援 RISC-V 架構、新增 vDSO 並讓第一組測試通過。
- fsverity- ioctl的初始支援。
- 初步支援 Perfetto 做為 Starnix 追蹤記錄的消費者。
- inotify的初始支援,並確保相應的 LTP 測試通過。
- 在 vDSO 中實作 gettimeofday和clock_gettime,加快速度。
- 實作 Magma 信號機匯入和匯出功能,以便傳回同步處理檔案。
- 已為 madvise()實作MADV_DONTFORK和MADV_WIPEONFORK。
- 改善 Binder 介面,讓其更可靠,並修正各種競爭和鎖定問題。
- 使用下列技術改善系統呼叫效能:
- 使用 Mutex,而不要使用RwLock。
- 同步處理觸發事件。
- 使用 DenseMap,而不要使用HashMap。
- 使用 Futex,而非 zx::Port。
 
- 使用 
- 為遠端檔案系統連線 statfs。
網路
我們已對 Web 版做出以下更新:
- 一律在等待前傳送限制條件,提升記憶體配置效率。
- 修正缺少回覆時的兩個 Fiddle 檢查失敗問題,以避免在某些極端情況下發生當機情形。
- 已移除 ProcessDeferredAccessibilityEventsImpl中的迴圈,可改善無障礙功能的效能。
連線 (藍牙、物聯網、無線區域網路、網路堆疊)
我們已針對 Connectivity 進行以下更新:
藍牙
- 修正部分音箱無法連線的音訊問題。
- 修正與部分手機配對時,媒體資訊未顯示的問題。
開發人員
我們已針對開發人員工作流程進行下列更新:
- 新增了 ffx auth plugin。
- 如果未將任何版本傳入 ffx product list工具,則會新增預設 SDK 版本。
- 僅樹狀結構內新增 ffx ffx-storage。
- 在主機工具和裝置之間的 Overnet 中新增 ABI 檢查。
- 已移除從 ffx product工具擷取 PBv1 的支援功能。
- 移除未使用的 ffx product-bundle工具。
- 移除 Overnet 工具。
- 更新 ffx target flash,以便直接與裝置通訊。
- 更新 ffx target flash,讓系統不必解壓縮檔案,即可從 ZIP 檔案載入ProductBundle。
診斷
我們已對診斷功能進行以下更新:
- 新增各種額外 API,用於在 Rust 中斷言 Inspect資料。
- 已刪除 remote-diagnostics-bridge。
- 修正 ArchiveAccessor傳回的路徑名稱格式。
- 在同時使用多個代碼時,啟用要求相關聯的持續性資料,進而改善診斷持續性效能。
- 改善 ffx inspect和query陣列的格式設定。
- 已更新 log_listener,以便使用與ffx log相同的 API。
- 更新 run-test-suite,在主機上執行時,可利用更快速的通訊協定進行記錄。
- 更新所有 Rust 元件,以便使用 InspectSink。
FIDL
我們已對 FIDL 進行以下更新:
- 新增了 fidl::IsWire<T>。
- 新增 allow_arbitrary_error_types的實驗旗標。
- 新增相容性最佳做法。
- 啟用所有未知互動。
- 修正了 HLCPP 轉換作業中未知互動的問題。
- 在 IR (中介表示法) 中納入已解析的別名類型。
- 已移除「has envelope」屬性。
- 移除 FIDL 線路格式 V1。如要進一步瞭解線路格式的長期支援,請參閱 RFC-0229:FIDL 2023。
- 已從 fpromise::result constructors中移除傳輸錯誤。
- 已更新 TransportErr,以便為自然繫結序列化。
- 將 @transitional更新為許可清單後方。
計時
我們已對打卡系統進行以下更新:
- 更新為使用 mmap讀取大型檔案,而非載入整批檔案,這可節省 7 MiB 的 RAM。