日期:2023 年 4 月 12 日
版本:F10
我們已實施下列變更:
元件架構
除了 Opal、Kronk、cast_runner 和 web_instance 之外,大多數元件現在都會以 v2 版本執行。
開發人員
Bazel
我們在 Bazel 工作流程中做出了以下改善:
- 在 Fuchsia 平台外定義的 FIDL 程式庫,開頭不得為 Fuchsia。
- fuchsia_package.deps應更新為- fuchsia_package.components和- fuchsia_package.tools。
- 執行及發布元件時,系統會列印執行的每個步驟;使用者不需要為此更新進行任何變更。
問題:需要新增初始發布規則。
影響:新增了 fuchsia_task_publish 規則,系統會自動為套件建立這項規則。呼叫 bazel run :pkg.publish 現在會發布套件。
問題:需要在 CIPD 下載作業中加入平行擷取功能。
影響:平行擷取功能已新增至 CIPD 下載作業,可加快 Clang 和 SDK 的下載速度。
問題:需要在 fuchsia_package 中淘汰依附元件。影響:fuchsia_package 中的已淘汰的依附元件。不需要變更,但在 fuchsia_package 更新為使用元件和資產之前,系統會顯示警告訊息。
ffx
ffx 和其他工具已進行下列更新:
- 如果產品套裝組合已存在於您的電腦上,產品套裝組合下載作業就不會重新下載產品套裝組合。
- 新增清理先前下載的產品套裝組合功能。
- 改善下載產品組合時的使用者介面。
- ffx元件複製外掛程式可在主機和目標上的元件之間複製檔案。
- 可靠地恢復未完成的下載作業。
- 設定檔工具:
- 新增選項,可透過區塊回報記憶體用量。
- 修正會對間接 VMOs 收取錯誤費用的會計錯誤。
- 外觀改善,包括新增選項,可選擇人類可讀大小和確切大小、對齊輸出內容,以及提供更清楚的說明。
 
- 偵錯工具:
- 強化相容性支援功能,讓使用者看到的版本不相符情形減少。
- 解決 Fuchsia VSCode 擴充功能的「偵錯工具未連線至裝置」問題。
 
- 根據預設,所有元件測試都會受限於密封解析器;如果套件未宣告,則測試套件中啟動元件的測試會失敗。請參閱「密封元件解析」。- 更新 ffx log --severity,以便同時將警告和警告做為引數。
 
- 更新 
- 已從實驗功能升級:
- ffx package build– 建構套件。
- ffx repository publish:將一或多個套件發布至存放區。
- ffx repository package list:列出存放區中的所有套件。
- ffx repository package show:列出套件的內容。
 
- 已導入實驗功能:
- ffx package far:用於使用一般- far指令。
- ffx package archive:用於處理套件封存檔。
- ffx driver list-devices:支援模糊比對。
 
- 新增了 ffx driver list-nodes-groups。
- 已新增《ffx inspect list-files》。- 從 ffx inspect list-files中移除使用中樞,並刪除ffx inspect show-files。
- 以檔案名稱為基礎查詢檢查作業的 API 現已移至 ffx inspect show --file,並採用相對於元件命名空間的檔案名稱。
 
- 從 
- 更多 ffx component外掛程式 (destroy, doctor, explore, start, stop, resolve, reload) 支援路徑名稱、網址和例項 ID 的部分比對。
- 為 ffx trace指定--categories時,您可以使用萬用字元*來表示啟用與特定前置字串相符的所有類別,例如kernel*會比對kernel:ipc、kernel:syscall等。
- 新增在 C++ 中列印 set, map, unordered_set和unordered_map的功能。
- 新增設定 source-map,讓您更靈活地尋找來源檔案。
- 改善連線錯誤的顯示方式。
- 推出同步 UI;短時間執行的指令會阻斷輸入。
- 已將 --force-repo選項新增至ffx product-bundle get,,這樣系統就會覆寫套件存放區,而不會因為先前有套件存放區而拒絕覆寫。
- 在記錄中增加追蹤偵錯輸出內容。
- 不允許部分下載:使用暫時性目錄,直到下載完成為止,避免部分下載問題。
問題:我們即將移除對 OAuth2 OOB 的支援。
影響:更新為預設的 OAuth2 非 OO B 工作流程。
問題:在列出或移除套裝組合時,product-bundle 工具不會傳回任何內容,也不會有效通知使用者。
影響:我們已完成更新,當工具找不到套件時,會更明確地顯示。
問題:使用者不清楚 remove --all 指令會刪除哪些套件。
影響:已更新清單,列出先前要移除的套件。
問題:ffx product-bundle list的排序順序導致最舊的圖片顯示在清單頂端。
影響:更新清單的反向排序順序,以便將最新的組合包列為首要項目。
問題:嘗試get重複的產品套件訊息 (PBM) 時,工具會顯示重複的 repo 訊息,而非重複的套件訊息。
影響:已修正重複的 PBM 訊息排序問題。
問題:預設移除指令會移除樹狀結構中的版本。
影響:已修正移除樹狀結構中的版本。
問題:使用者無法在記錄器中設定嚴重性限制。
影響:現在,驅動程式可透過 ffx log --severity 動態設定嚴重性。
診斷
- Archivist 不再提供生命週期事件做為資料來源,只提供檢查和記錄。我們也重構了 Archivist,讓這個工具能使用新的事件串流功能擷取資料。
- 我們已實作 RFC-171,現在可確保所有元件都能取得 LogSink,進而改善開發人員體驗。
- 改善分類剖析器,並改善 _-separated numbers, Any, All等部分語言。
- 重新整理 Sampler,避免產生空白直方圖儲存區,進而減少 Cobalt 的負載。
- ffx inspect新增了許多功能,例如:- ffx inspect list-files、- iquery show –file和 globs,並已改善為不依賴 hub。
- 我們修正了 Rust 記錄程式庫的幾個錯誤,並縮小了記錄程式庫的大小,以節省 BlobFS 的空間。
FIDL
我們已開始在二進位檔中推出對未知互動的支援功能。請參閱 RFC-0138。
圖形和媒體
- 改善 Tigerlake 裝置上 i915 的穩定性。驅動程式已預設為啟用。
問題:啟用「顯示設定」測試案例後,裝置會停留在黑色畫面。
影響:修正 AMLogic 顯示畫面,以修正部分固定面板。
問題:使用 Driver Framework v2 時,驅動程式會發生死結。
影響:i915 顯示器驅動程式庫已移至 Driver Framework v2。
HCI (輸入、無障礙、i18n 和 View 系統)
問題:在場景控制器中發生測試失敗。
影響:更新內容可讓用戶端使用原始 ViewportCreationToken 呈現平面地圖檢視畫面。
問題:在 Flatland 中,醒目顯示的顏色不同。
影響:修正 Flatland 中的 a11y 醒目顯示顏色。
問題:需要具備螢幕截圖功能。
影響:更新內容,新增圖片壓縮骨架。
問題:當剪貼簿內容變更時,應通知使用者。
影響:更新內容為新增剪貼簿監控方法。
問題:需要新增圖片翻轉選項 API。
影響:更新內容為新增圖片翻轉選項 API。
問題:pixel_scale 欄位已淘汰,應予以移除。
影響:更新後,pixel_scale 的狀態已從「已淘汰」變更為「已移除」。
核心
問題:需要更新,才能為 PID 0 發出名為「kernel」的程序記錄,以便恢復與原始 ktrace 匯入器的對應關係。
影響:為核心建立含有核心執行緒和個別 CPU 事件追蹤記錄的程序記錄。
問題:需要能夠在本機和自動化中,根據預設透過 UEFI 啟動模擬器。
影響:更新後,可在自動化環境中於模擬器上進行 UEFI 測試。
問題:需要使用 zx 遷移 zxc 程式庫。
影響:已更新,將 zxc 參照遷移至 zx。
問題:需要減少執行緒中的邊框間距。
影響:更新內容可減少執行緒中的邊框。
問題:ktrace 序列化器範本需要更新,才能支援 val_type 參數,並讓 StringRef 接受字串大小參數。
影響:已更新 ktrace 中的序列化器範本和依附元件。
問題:需要變更 C++ 中的 Undef __UNUSED 參照。
影響:我們已更新 C++ 中的參照,將 Undef __UNUSED 變更為 maybe_unused。
問題:建議採用樂觀時間片段延長功能。
影響:使用時間片段擴充功能時,可改善核心互斥鎖效能。
虛擬化
- 改善啟動 VM 失敗時顯示的錯誤訊息。
- 將 vsh工具從 C++ 移植至 Rust。
- 在 virtio-gpu中實作游標指令支援功能。
- 新增初始 vmm_launcher元件。