日期:2023 年 11 月 22 日
版本:F15
已採行下列變更:
應用程式執行階段 (Flutter、Starnix 和 Web)
Starnix
Starnix 有以下更新:
- 新增自我設定檔容器功能,可細分個別系統呼叫的 CPU。
- 新增了
ptrace
UAPI。 - 新增 Starnix 輸入裝置中的「按鈕」支援。
- 已在 Starnix 中新增對
overlayfs
的支援和修正。 - 新增了以
InterruptibleEvent
為基礎的等候程序,以便支援 Futex。 - 修正使用和處理 Futexes 時的各種安全性發現。
- 初步支援 Starnix 的鎖定訂購與功能。
- 針對 RISC-V 架構的初步支援,新增 vDSO 並使第一組測試通過。
- 初步支援
fsverity
ioctl
。 - 開始針對 Starnix 追蹤記錄的取用端提供 Perfetto。
- 開始支援
inotify
,並確保對應的 LTP 測試均通過。 - 在 vDSO 中實作
gettimeofday
和clock_gettime
以加快速度。 - 實作 Magma semaphore 匯入和匯出功能,傳回同步檔案。
- 已為
madvise()
實作MADV_DONTFORK
和MADV_WIPEONFORK
。 - 改善繫結器介面,使其更可靠,並修正各種種族和鎖定問題。
- 使用下列技術改善系統呼叫效能:
- 以
Mutex
取代RwLock
。 - 同步處理已觸發的事件。
- 以
DenseMap
取代HashMap
。 - 使用 Futex,不要使用
zx::Port
。
- 以
- 已有線
statfs
以供遠端檔案系統使用。
網頁版
我們已針對網頁版進行以下更新:
- 透過在等待前一律傳送限制,改善記憶體分配效率。
- 修正在缺少回覆的情況下兩次 Fiddle 檢查失敗,以免在某些極端情況下當機。
- 移除了
ProcessDeferredAccessibilityEventsImpl
中的迴圈,以改善無障礙功能的效能。
連線能力 (藍牙、IoT、WLAN、網路堆疊)
以下是為 Connectivity 所做的更新:
藍牙
- 修正部分揚聲器無法連接音訊的問題。
- 修正與部分手機配對時,媒體資訊無法顯示的問題。
開發人員
我們已針對開發人員工作流程做出以下更新:
- 已新增
ffx auth plugin
。 - 如果未將任何版本傳遞至
ffx product list
工具,則新增預設 SDK 版本。 - 只新增樹狀結構內
ffx ffx-storage
。 - 在主機工具和裝置之間新增 ABI 檢查。
- 停止支援從
ffx product
工具擷取 PBv1。 - 移除了未使用的
ffx product-bundle
工具。 - 已移除 Overnet 工具。
- 更新
ffx target flash
,以便直接與裝置通訊。 - 已更新
ffx target flash
,以便在不擷取 ZIP 檔案的情況下從 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 中的解析類型別名。
- 移除「擁有信封」屬性。
- 已移除 FIDL 線格式 V1。如要進一步瞭解傳輸格式的長期支援資訊,請參閱 RFC-0229:FIDL 2023。
- 已從
fpromise::result constructors
中移除傳輸錯誤。 - 已更新
TransportErr
以針對自然繫結進行序列化。 - 將
@transitional
更新為許可清單。
計時
我們對計時功能的更新如下:
- 更新使用
mmap
以讀取大型檔案 (而不是載入批發),進而產生 7 MiB 的已儲存 RAM。