Fuchsia F15 版本資訊

日期: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 中實作 gettimeofdayclock_gettime 以加快速度。
  • 實作 Magma semaphore 匯入和匯出功能,傳回同步檔案。
  • 已為 madvise() 實作 MADV_DONTFORKMADV_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 inspectquery 陣列的格式設定。
  • 已更新 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。