版本:F25
我們已實施下列變更:
無障礙設定
我們已針對 A11y 進行以下更新:
- 還原 a11y 焦點動作復原功能,該功能未宣告節點。- 異動:fxr/1148337
 
音訊
我們已對 Audio 進行以下更新:
- 更新 audio_device_registry,確保系統在回應初始WatchDevicesAdded呼叫之前,先偵測並初始化現有裝置。ADR 現可按需啟動,而非一律立即啟動。- 變更:fxr/1141292
 
- 將 aml-g12-tdm驅動程式庫轉換為新的 GPIO 呼叫。- 變更:fxr/1140093
- 錯誤:fxb/42082459
 
- 更新音訊測試的命名方式,使其保持一致。請使用底線表示測試套件名稱,使用連字號表示測試元件名稱,並在兩者前面加上 audio。- 變更:fxr/1147339
 
藍牙
我們已對藍牙進行下列更新:
- 完成遷移至新的 HCI 傳輸 FIDL 通訊協定。
- 修正了一些藍牙的 Rust lint,並將 syn 更新至 v.
- 改善藍牙設定檔和 GAP,包括轉送更新和修正重複複製和堆積配置問題。
- 新增 bt-init急切功能,在裝置啟動時啟動,並將部分額外的藍牙功能導向工作階段,供元件使用。- 變更:fxr/1047295
 
- 實作 fuchsia.bluetooth.le.Connection/ConnectL2cap以支援 LE 連線導向通道。- 變更:fxr/246713
 
- 建立 PrivilegedPeripheral通訊協定,在啟用隱私權模式時支援使用靜態位址的 LE 廣告。- 變更:fxr/241712
 
- 完成將 HCI 指令和事件封包結構體遷移至 Emboss 封包檢視畫面。- 變更:fxr/247713
- 錯誤:fxb/42167863
 
鈷豔藍
我們已為 Cobalt 進行下列更新:
- 更新系統指標運算方式,以便使用啟動時鐘提高準確度,並讓系統指標守護程式使用 Fuchsia 的時間概念,減少錯誤並為日後的強化做好準備。
- 修改驗證器測試,使用輔助函式來改善可讀性。- 變更:fxr/1161883
 
元件架構
我們已為元件架構進行下列更新:
- 已更新 componentCLI 工具,並更新ffx工具。component show指令現在會顯示執行元件資訊,裝置端componentCLI 現在包含config子指令,而ffx的fuchsia-controller現在使用一般安全殼層設定。cmc format現在支援從 stdin 讀取資料。
- 更新 Component Manager,以便在執行巢狀結構時支援追蹤,並透過 fuchsia.pkg.PackageResolver-boot功能公開啟動檔案系統套件解析器。
- 在元件管理服務中實作 fuchsia.sys2.ConfigOverride通訊協定,並提供支援的 CLI 程式庫。這可讓開發人員覆寫結構化設定值,並修正未使用設定能力的欄位遭拒絕的問題。
- 清理未使用的服務連線 API 並移除已淘汰的函式,同時在傳出目錄中新增服務執行個體名稱的說明,以清理 fuchsia-component程式庫。此外,component::Clone已遷移至fuchsia.unknown/Cloneable。
連線驅動程式
我們已針對連線驅動程式進行下列更新:
- 強化 brcmfmac 驅動程式庫,包括使用新的 GPIO 呼叫,並降低非致命錯誤的記錄層級,進而改善相容性、功能和記錄清晰度。
診斷
我們已對「診斷」功能進行以下更新:
- 改善 ffx inspect的開發人員體驗。ffx inspect現在支援--name、別名和網址的模糊比對,並改善了--component supersedes和--manifest的使用方式。
- 改善 ffx log的開發人員體驗。除了第一行的 UTC 時間外,也會顯示啟動時間,以便從啟動時間計算回溯時鐘時間,移除--select和--force-select,更新記錄興趣選取器,讓其不再需要在別名中使用任何形式的轉義,並修正重新連線的興趣問題
- 提升 Rust 記錄編碼/解碼效能。在許多基準測試中,速度提升約 60%。
- 更新與從單調時間轉換至啟動時間相關的其他項目。
- 在取樣器中新增電源仲介統計資料
- 在 Archivist 中推出新的 LogStream通訊協定,可直接擷取原始 FXT 記錄,並顯示歸因資訊。與使用ArchiveAccessor相比,這可改善效能。- 變更:fxr/1159075
 
- 更新 SelfProfilesReport以支援自訂葉子匯總,以便分析複雜 CUJ 中的 CPU 用量。- 變更:fxr/1155217
 
- 增強工作篩選功能,以利偵錯。FIDL 用戶端現在可以使用工作專用篩選器,且 --job-only標記已新增至attach指令,以便直接附加工作 (僅限 Fuchsia)。
- 改善核心執行緒取樣器和偵錯工具,使其更健全。取樣器現在支援附加至初始化執行緒,而偵錯工具修正了與行表相關的當機問題,並改善了對非同步程序終止作業的處理方式。
- 改善 Archivist 的效能和穩定性。專用於記錄插座的執行緒可減少額外負擔,而關閉邏輯和內部緩衝區的變更則可提升穩定性,並採用非同步範圍。
- 改善診斷記錄和符號化功能。在符號化器和下載管理員中新增更多偵錯記錄,並修正 x64 Zircon 中負載相關的符號化問題。
- 改善診斷記錄中的嚴重性 API,提升開發人員使用體驗。- 變更:fxr/1103655
- 錯誤:fxb/364293789
 
螢幕
我們已對多媒體廣告進行以下更新:
- 顯示器驅動程式庫堆疊正在遷移至新型 Fuchsia 平台基礎架構,例如 DFv2 和 FIDL。
驅動程式架構
我們已對 Driver Framework 進行下列更新:
- 新增對 ffx 驅動程式庫中顯示匯流程段的支援,並允許將 fuchsia_driver_package匯出至 Bazel。
- 改善 ddk::GetMetadata()連線處理方式、將開發人員等級目錄路由新增至driver_playground,並將驅動程式庫 SDK 遷移至使用span<const T>。
- 在輸入裝置驅動程式庫中定義 const ToFidlInputReport(),並將 Phys-iter 程式庫移至//src/devices/lib/io-buffer。
- 為驅動程式新增了以 std::format為基礎的記錄 API。- 變更:fxr/1137617
 
- 與 fdio::open、kRestrictedLibcSymbols、Node.Clone處理、driver_context重新命名相關的清理程式碼。
- 修正驅動程式庫清理、建構驅動程式庫範本、sdmmc 回溯、驅動程式代管程序遷移、fake-pdev 處理、DFv1 許可清單、fdf/fake-pdev 命名空間、裝置監控器遍歷、相容性驅動程式庫和 cpu-ctrl 序列 ID 的問題。
- 新增對穩定的匯流排拓撲資訊支援,讓匯流排驅動程式可提供結構化拓撲資料和權杖,用於用戶端驗證,而基於整數的鍵不再用於 DFv1,且如果使用,則會傳回錯誤。
- 新增屬性字典資料類型 NodePropertyDictionary2,用於取代DriverStartArgs中的NodePropertyDictionary。- 變更:fxr/1129901
 
- 新增了對 fuchsia_driver_package的支援,可將其匯出至 Bazel。- 變更:fxr/1159533
 
- 為驅動程式新增了以 std::format為基礎的記錄 API。- 變更:fxr/1137617
 
- 在 ffx driver中新增對顯示匯流排區段的支援。- 變更:fxr/1149312
 
- 在驅動程式庫啟動失敗後,讓節點處於隔離狀態的更新- 變更:fxr/1127478
 
- 修正 DDK 中的 FIDL 中繼資料擷取問題,並將 fdio::open_deprecated呼叫替換為fdio::open。
- 更新 SDK 驅動程式庫,以便使用 span<const T>而非const vector<T>&,並將phys-iter移至//src/devices/lib/io-buffer。
- 將 driver_context重新命名為thread_context,並將fake-bti程式庫更新為新式 C++ 標準。
- 更新 Driver Host 以使用與 io2 相容的 Serve 簽名,並移除對 driver_manager中已淘汰的Node.Clone方法的處理。
GPU
我們已針對 GPU 進行下列更新:
- 改善 Vulkan 交換鏈功能:這包括使用 unsquashable標記、移除明確的時間戳記,以及將柵欄重新命名為 fence_signalers,藉此簡化交換鏈呈現邏輯;變更柵欄訊號以觀察 vsyncs;從 HLCPP 遷移 Flatland 交換鏈;以及修正假 Flatland 的fuchsia.ui.composition.Allocator.RegisterBufferCollection實作。
- 改善 virtio-gpu-display:移除對 sysmem1 的未使用參照,使用 DriverLayer 和 ConfigStamp,並簡化 Banjo 轉接器 API。
- 已遷移至 open3 fdio:包含與 fdio_open 遷移和一般 open 到 open3 遷移相關的變更。
- 在 msd_c.h 中新增函式:包括新增緩衝區匯入/釋放、建立/釋放連線,以及對應/釋放緩衝區函式。
國際化
我們已為 I18n 進行以下更新:
- 改善 ICU 建構程序和設定處理機制。移除了 jiri鉤子,改為在gn gen期間直接呼叫產生器指令碼,藉此提升效率和icu_root準確度。推出由 Jiri 鉤子管理的build/icu/jiri_generated/config.json,以便最佳化icu_config_info的讀取作業,並新增資料完整性的驗證目標。
IOT
我們已針對 IOT 進行以下更新:
- 修正 GHP 的錯誤。
平台驅動程式
我們已針對平台驅動程式進行下列更新:
- 改善 AML CPU 驅動程式庫記錄功能,並將 imx227 驅動程式庫改為使用 SetBufferMode()。
- 將 aml-light驅動程式庫遷移至//sdk/lib/driver/platform-device/cppSDK 程式庫,並重構其建構目標,以便進行現代化。
- 移除暫停時間限制,可讓暫停時間任意延長。- 變更:fxr/1106200
 
- 對 SPMI (系統電源管理介面) 架構進行了多項改善。包括針對模擬的 spmi 進行更新,以便進行非同步測試、啟用 UnownedClientEnd 的讀/寫存取權,以及新增對 SpmiRegisterArray的支援。此外,我們已實作GetProperties和WatchControllerWriteCommands的支援功能。
- 新增方法,讓 SPMI 驅動程式庫用戶端可接收來自裝置的控制器寫入指令,完成 SPMI 的軟轉換。這會移除暫時性的建構檔案。
電源管理
我們已對電源管理功能進行以下更新:
- 改善可觀察性和評估功能。包括從追蹤記錄檔中捨棄無效的 Gonk 樣本、在檢查資料中使用實際時間,以及 Power Broker 的 Cobalt 指標。
- 改善平台電源管理。包括透過元件管理服務工具,以內建元件形式執行關機墊片;消除 Power Broker 中的潛在記憶體外洩情形;以及移除喚醒處理和完整喚醒處理電源元素。
- 持續開發 CPU 電源管理功能。包含 VIM3 的能源模型,以及支援使用能源模型設定核心的平台。
荒漠油廠
我們已對 Rust 進行以下更新:
- 改善程式碼品質和 linting。解決了 or_fun_call和set_contains_or_insertlint 的處理問題,移除了新工具鍊偵測到的死碼,並啟用clippy::redundant_clone、clippy::needless_collect、clippy::collection_is_never_read和clippy::clear_with_drain。
- 最佳化記錄記錄解碼功能。已從 nom遷移至zerocopy,以改善效能並簡化程式碼。- 變更:fxr/1160813
 
- 已從 async-io 遷移至 Tokio。計時器會延遲初始化,以解決 Tokio 主機/目標執行者的差異。- 變更:fxr/1159422
 
- 為 RemoteLike 新增 Open3 支援。- 變更:fxr/1158892
- 錯誤:fxb/335769966
 
SDK
我們已對 SDK 進行以下更新:
- 透過新的 span<const T>支援和 FIDL 中繼資料函式,強化驅動程式庫程式開發作業,提升彈性並減少樣板。
- 擴充合作夥伴 SDK 功能,新增 gen-android-starnix-container主機工具、fuchsia.system.state和fake-platform-device,以改善樹狀結構外開發作業。
- 透過遷移至 Node.Clone2並在測試中使用Open3進行服務連線,改善sys程式庫中的 io2 相容性,解決權限問題。
- 在 input_report_reader中新增對const ToFidlInputReport()的支援,並在 Rust SDK 中新增中斷確認,提升功能和一致性。
- 使用 LLCPP FIDL 繫結、類型安全的 io2 替換項目,以及移除已淘汰的函式,以便改良 VFS 程式庫,簡化 API 並提升安全性。
- 修正 sdk_source_set()行為、處理fdio中的 POSIX 標記,並解決fx build --fint-params-path的問題,進而改善建構系統。
- 移除已淘汰的 fserve、fpublish和pm指令,以及 FIDL 版本設定的時間相關程式庫例外狀況,以清理 SDK。
軟體推送
我們已針對軟體提交機制進行以下更新:
- 新增 FindDynamicDataSinkAPI 取代UseBlockDevice,將區塊裝置查詢責任轉移至分區映像檔安裝工具服務。新增AndroidPartitionerTest和Vim3DevicePartitionerTest,以提高可靠性,並處理多個 GPT 裝置等邊緣案例,並防止意外清除啟動載入程式。
- 在 FIDL API 中新增無法啟動的理由資料,以便改善錯誤回報和診斷功能。- 變更:fxr/1153492
 
- 修正在 GetMetadata呼叫期間發生在ResetPartitionTables中的斷言,改善分區映像檔安裝工具穩定性。正確回報上次啟動嘗試,修正無法啟動的插槽的異常行為。新增對 Sorrel 的支援。
- 為儲存空間主機相容性和簡化測試進行重構。已移除 AbrClientFactory,以簡化用戶端建立程序。已刪除重複的 GUID 查詢表。ResetPartitionTables現在會取代依賴直接 GPT 存取權的函式。新增KolaAbrClient的單元測試。
- 在檢查中公開 fuzz_percentage_range。這則留言已編輯,反映出分區映像檔安裝工具在最終啟動嘗試時回報的待處理狀態。
- 已從 Node.Clone遷移至Node.Clone2,以便進行 io2 遷移。已更新fuchsia_fs函式。使用 open3 fdio。排序附加的資訊清單和資訊清單,以便判定。
- 重構 PolicyEngine並遷移至QueryConfigurationStatusAndBootAttempts,以便在成功提交時回報啟動嘗試。
Starnix
我們已為 Starnix 進行下列更新:
- 實作 fscrypt ioctls,新增對使用者管理的加密金鑰支援功能。不過,系統尚未完全支援對已上鎖的加密目錄執行作業,且 FS_IOC_REMOVE_ENCRYPTION_KEY無法正確處理上鎖作業。- 變更:fxr/1096181
 
- 強化 SELinux 以提升安全性和存取權控管功能。這包括透過 /sys/fs/selinux/avc/cache_stats回報存取向量快取統計資料,以及針對安全性情境進行類別組合規格化的基本實作。
- 改善對 cBPF 和 eBPF 的支援。修正了幾個 cBPF 相容性問題,包括實作 BPF_MSH指令和調整封包存取指令。我們強化了 eBPF 驗證器,以改善結構體處理方式,並防止陣列邊界檢查繞過。
- 已更新 cgroup和cgroup2檔案系統,並將cpuset設為 CgroupV1 檔案系統,以便掛載。cgroup.controllers介面檔案也能供存取。- 變更:fxr/1139553
- 錯誤:fxb/373898293
 
- 已重新啟用 Starnix 暫停功能。喚醒鎖定會在核心中追蹤,容器暫停會委派給執行元件,後者會監控已註冊的管道,以便恢復容器。相關修正項目會處理租用權取得順序,並改善執行程式代理程式的健全性。
- 新增對 aarch32 uapi 的支援。並附上對應的建構引數。
- 修正 FIONBIO期間的FIONBIOioctl 和功能計算。execveFIONBIO會根據使用者輸入內容正確處理NONBLOCK標記,且在execve期間正確計算 set-user-ID 根目錄程式的功能。不過,後者尚未解決檔案功能和SECBIT_NOROOT的問題。
測試
我們已為測試功能進行以下更新:
- 在多個領域改善測試基礎架構:
- 在啟動/引導環境中導入測試支援功能,讓啟動檔案系統測試能以元件形式執行。- 變更:fxr/1115963
 
- 在 arm64 上啟用 crosvm 測試,並將其新增至官方核心測試環境。- 變更:fxr/1144372
 
- 確保 CTF 構件複製至正確位置,解決從版本載入這些構件的問題。- 變更:fxr/1144654
 
- 新增對 botanist 中 Kola 的序列金鑰佈建支援。- 變更:fxr/1143877
 
 
- 在啟動/引導環境中導入測試支援功能,讓啟動檔案系統測試能以元件形式執行。
- 新增 API 來壓縮偵錯資料,大幅提升使用 ffx的測試範圍機器人速度。舊版未壓縮 API 已淘汰。- 變更:fxr/1160356
 
- 改善各種測試:
- 延長計時器截止期限,修正 Timer.Restart核心測試中的 flake。- 變更:fxr/1148133
- 錯誤:fxb/375681700
 
- 更新 msd-arm-mali中的關閉測試,以記錄更多錯誤,協助偵錯 flake。- 變更:fxr/1163332
 
- 移除了 FailEarlyWake分頁器測試中的競爭狀況,避免無限期阻斷。- 變更:fxr/1116952
 
- 透過確保 VMO 對應項目周圍的邊界頁面,修正核心 FIFO 測試中罕見的 flake 問題。- 變更:fxr/1138832
 
- 將 msd-arm-mali 測試中的 1 秒逾時時間替換為無限逾時時間,可能可解決 flake 問題。- 變更:fxr/1145312
 
 
- 延長計時器截止期限,修正 
- 改善分區映像檔安裝工具測試,提升穩定性和相容性:
- 使用預先初始化的區塊裝置,更新儲存空間主機相容性的分區映像檔安裝工具測試。- 變更:fxr/1161912
 
- 新增了回歸測試 AndroidPartitionerTest,確保 Android 裝置上的 GPT 正確識別。- 變更:fxr/1161913
 
 
- 使用預先初始化的區塊裝置,更新儲存空間主機相容性的分區映像檔安裝工具測試。
- 更新測試工具和指標處理程序:
- 更新核心測試,以支援舊版和新版核心歸因模式。
- 已從 ConstantMetricsProcessor中移除已淘汰的參數。- 變更:fxr/1151352
 
- 使用 ConstantMetricsProcessor時,必須提供檔案名稱,才能使用自由格式指標。- 變更:fxr/1149474
 
- 強化 CTF 測試,以便使用新的 C++ FIDL 繫結。- 變更:fxr/1151392
 
 
工具
我們已對工具進行下列更新:
- 更新 tunneling和ninjalog工具:tunneling現已改善錯誤訊息,並提供診斷建議,ninjalog則支援 Ninja 記錄格式 v7。
- 在 temperature-cli工具中新增支援功能,可取得、設定及等待溫度觸發點。- 變更:fxr/1159452
 
- 更新 make-fuchsia-vol,以便使用產品套裝組合做為圖片檔案的主要來源,並優先使用稀疏圖片。
- 加強型 paver:新增AndroidPartitionerTest和Vim3DevicePartitionerTest。修正不支援的區塊裝置上的GetMetadata錯誤。改善測試中的storage-host相容性。已將unbootable_reason新增至 FIDL API。正確回報last-boot-attempt,並解決了不可靠的測試。
- 已將 package_manager_test遷移至前景存放區伺服器,並修正不穩定的測試。
- 由於發生問題,因此將從轉移資訊清單複製 blob 的變更還原。- 變更:fxr/1145134
 
- 改善 test_list_tool,以便正確處理套件資訊清單中的檔案相關 blob。- 變更:fxr/1144841
 
ffx
以下是 ffx 的更新內容:
- 更新 ffx,以便在任何非致命的 SSH 錯誤發生時重試target add。- 變更:fxr/1149316
 
fx
以下是 fx 的更新內容:
- 新增對產品組合引數的支援,適用於 fx create-pb-zip。- 變更:fxr/1157159
 
- 改善 fx指令,在強制清除後自動叫用fx gen,並新增fx rbe cleanlogs指令,從fuchsia-reproxy-wrap.sh移除記錄。
- 推出 fx generator,用於在雙重建構目標中同步處理BUILD.bazel和BUILD.gn檔案。- 異動:fxr/1152797
 
UI
我們已針對 UI 進行以下更新:
- 新增 fuchsia.ui.VisualDebuggingLevel設定,讓開發人員可控制偵錯功能,包括景觀色調、Starnix 紫色畫面,以及關閉螢幕時的驅動程式庫綠色畫面。ui_visual_debugging_level現在使用可用性過渡路由,因此在 Starnix 相關測試中,不再需要路由。
- 在 Starnix 中新增測試,驗證在未開啟裝置時,觸控事件是否會遭到捨棄。starnix-touch-test已重構,以便重複使用GetTouchEventSequenceOfLen。這可簡化多讀取器和關閉測試。
- 新增了螢幕保護程式元件,隱藏在標記後方,用於展示 Fuchsia Offload。- 變更:fxr/1139416
 
- 為螢幕截圖新增 RGBA 支援功能。- 變更:fxr/1114632
 
- 改善 Scenic 設定記錄和設定處理:更新 Scenic 設定記錄,以便在單一行中顯示,將 ChoosePreferredPixelFormat()重新命名為ChosePreferredRenderTargetFormat(),並移除未使用的DisplayManager::SetVsyncCallback()方法。
- 為 CPU 轉譯器測試停用顯示組合功能。- 變更:fxr/1153713
 
- 暫時停用直接顯示功能,並移除依賴事件的相關程式碼;現在的顯示測試會使用 vsync 而非訊號事件。
WLAN
我們已對 WLAN 進行以下更新:
- 改善 FullmacFIDL 介面。我們將多個FullmacFIDL 訊息轉換為使用表格,以便提升資訊清楚度和 ABI 相容性。
- 改善 WLAN 穩定性和診斷功能。解決不穩定的測試、保留已移除介面的檢查資料,並記錄統計資料查詢逾時的瑕疵。
- 重構 fuchsia.wlan.commonFIDL。介面和指令已移至更具體的 FIDL。- 變更:fxr/1142592
 
- 改善電源感知管道 改善電源狀態處理方式,並新增管道。
- 為 WLAN Core 和相關基礎架構新增端對端測試。這包括直接與 wlandevicemonitor互動的測試,以及沒有政策層級的產品組合的新建構參數。- 變更:fxr/1152113