Fuchsia F15 版本資訊

日期:2023 年 11 月 22 日

版本:F15

我們已實施下列變更:

應用程式執行階段 (Flutter、Starnix 和 Web)

Starnix

我們已為 Starnix 進行下列更新:

  • 新增了自檢測容器功能,可針對個別系統呼叫細分 CPU。
  • 新增 ptrace UAPI。
  • 在 Starnix 輸入裝置中新增「按鈕」支援。
  • 在 Starnix 中新增 overlayfs 的支援和修正項目。
  • 新增了以 InterruptibleEvent 為基礎的等待器,以便支援 Futex。
  • 修正使用及處理 Futex 時的各種安全性發現。
  • 初步支援 Starnix 中的鎖定順序和功能。
  • 初步支援 RISC-V 架構、新增 vDSO 並讓第一組測試通過。
  • fsverity ioctl 的初始支援。
  • 初步支援 Perfetto 做為 Starnix 追蹤記錄的消費者。
  • inotify 的初始支援,並確保相應的 LTP 測試通過。
  • 在 vDSO 中實作 gettimeofdayclock_gettime,加快速度。
  • 實作 Magma 信號機匯入和匯出功能,以便傳回同步處理檔案。
  • 已為 madvise() 實作 MADV_DONTFORKMADV_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 inspectquery 陣列的格式設定。
  • 已更新 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。