日期:2024 年 7 月 26 日
版本:F21
我們已實施下列變更:
藍牙
我們已對藍牙進行下列更新:
- 我們在將藍牙堆疊遷移至 DFv2 並改良其 API 方面取得重大進展:
- bt-hci-intel、- bt-fct-hci和- bt-hci-passthrough驅動程式已遷移至 DFv2 和新的- HciTransport通訊協定。
- fuchsia.hardware.bluetooth.VirtualController、- fuchsia.hardware.bluetooth.Peer和- fuchsia.hardware.bluetooth.EmulatorAPI 已完成現代化。
- 將 fuchsia.bluetooth.snoopFIDL API 改為新式 API。- 變更:fxr/1011612
- 錯誤:fxb/42176826
 
 
- 改善藍牙功能和可靠性:
- 實作 AudioOffloadController.Stop方法和bredr.Connection通訊協定。
- 新增支援在假控制器中設定 LE 連線角色的功能,並修正 BrEdrDynamicChannel中的當機問題。
- 已實作 IsoStreamServer。- 變更:fxr/987032
 
 
- 實作 
- 強化藍牙測試和開發功能:
- 所有 bt-hostBazel 單元測試都已合併為一個套件,以加快 Fuchsia Bazel 建構作業。- 變更:fxr/1070483
 
- 在 EmulatorDevice中實作HciTransportAPI。- 變更:fxr/1066016
 
 
- 所有 
開發人員
我們已為開發人員進行下列更新:
ffx
- 改善各種 ffx指令的可用性和可靠性:- 改善 ffx repository add-from-pm和ffx target show的錯誤回報功能。
- 修正 ffx component doctor和ffx starnix adb的問題。
- 改善重新連線邏輯和錯誤處理機制。
- 已將 ffx target wait遷移為無守護進程。- 變更:fxr/1061752
 
- 新增 ffx指令和選項:- 推出 fxfs 設定檔管理指令 (stop_profile和delete_profile)。
- 在 ffx profile memory中加入--undigested標記。- 變更:fxr/1067193
 
 
- 推出 fxfs 設定檔管理指令 (
 
- 改善 
- 清理多個 ffx指令的輸出內容和記錄。
- 未消化記憶體剖析:ffx profile memory中的--undigested標記現在只會顯示未消化的記憶體。- 變更:fxr/1067193
 
元件架構
我們已為元件架構進行下列更新:
- 穩定性強化:
- 修正開啟服務目錄時的競爭狀況。- 變更:fxr/1067303
 
- 移除與元件事件相關的無效程式碼。- 變更:fxr/1067492
- 錯誤:fxb/347752627
 
 
- 修正開啟服務目錄時的競爭狀況。
連線驅動程式
我們已針對連線驅動程式進行以下更新:
- 修正可能在啟動期間發生的當機問題,進而提升 SDIO 驅動程式庫的穩定性。- 變更:fxr/1065872
 
診斷
我們已對診斷功能進行以下更新:
- 已最佳化 LogTracer,以免在 Rust 中使用記錄檔 crate 時,建立不必要的記錄檔。- 變更:fxr/1061641
 
- 避免在例外狀況中封鎖興趣聆聽,以免在關機期間造成問題。- 變更:fxr/1065413
 
- Power broker 會在檢查中加入租賃記錄。- 變更:fxr/1066704
 
- 對 C++ syslog API 進行各種改善。- 錯誤:b/299996898
 
螢幕
我們已對多媒體廣告進行以下更新:
- 簡化顯示器驅動程式庫堆疊:
- 移除未使用的 DFv1 驅動程式庫,並預設啟用 DFv2 驅動程式庫元件。
 
驅動程式架構
我們已對 Driver Framework 進行下列更新:
- 移除 Syslog 依附元件:從驅動程式庫執行階段共用程式庫中移除 syslog 依附元件。在某些情況下,當 Bazel 驅動程式要求缺少的 libsyslog.so 時,這也能解決執行階段的連結錯誤。- 變更:fxr/1068592
 
FIDL
我們已對 FIDL 進行以下更新:
- 改善 FIDL 效能和工具:
- 改善 FIDL Rust 用戶端喚醒器,並在 C++ 中將句柄計數新增至斷言檢查。
 
- 為多個 API 級別 FIDL 繫結實作 RFC-0232:
- 在 fidlc 中新增支援功能,並更新 GN 建構工具,以便使用特定 API 級別版本。- 變更:fxr/955053
- 錯誤:fxb/42085274
 
- 移除了已淘汰的 @available legacy引數,並更新相關文件。
 
- 在 fidlc 中新增支援功能,並更新 GN 建構工具,以便使用特定 API 級別版本。
- 改善 FIDL API 設計和說明文件:
- 針對方法和型別宣告右側的禁止屬性,明確說明 AST。
 
- 在 FIDL 中為平台和外部元件強制執行 ABI 檢查。
- API 級別參照標準化:ZX_*_SINCE()巨集現在支援HEAD關鍵字,可提供一致的 API 級別參照,並為未來的 API 變更做好準備。
國際化
我們已對 I18n 進行以下更新:
- 移除空白遷移群組,以清理建構系統。- 變更:fxr/1070932
 
IOT
我們已針對 IOT 進行以下更新:
- 修正探索 Proxy 解決方法的問題,並防止新增錯誤的 IPv4 位址,進而提升 IOT 堆疊的可靠性。
核心
我們已對核心進行以下更新:
- 改善計時器功能:platform_set_oneshot_timer函式現在會使用原始時標做為輸入內容,並支援 Sstc 功能,可在監控模式中直接設定計時器比較值。
- 強化系統呼叫記錄和偵錯功能:系統呼叫現在會在 LTRACE 中依名稱記錄,且系統核心記錄的暫停失敗功能已改善。
- 解決競爭狀況和穩定性問題:修正了在熱插拔期間暫停和執行緒排程後,與 CPU 閒置狀態相關的競爭狀況,並將頁面配置和髒頁處理的變更還原,以確保穩定性。
- 推出新的 VMO 系統呼叫:新增 zx_vmo_get_stream_size和zx_vmo_set_stream_size,這些屬性最終會取代使用 VMO 內容大小的屬性。- 變更:fxr/1047092
- 錯誤:fxb/340137331
 
- 修正多項錯誤:解決 std::find中的斷言失敗問題,並改善網頁快取行為。
平台驅動程式
我們已為平台驅動程式進行下列更新:
- 強化的 GPIO 公用程式:GPIO 公用程式工具現在支援設定針腳函式,並包含中斷功能。
- 改善 USB 功能和穩定性:USB 連線偵測功能現在可正常運作,且 fusb302驅動程式庫更新可避免重複的GoodCRC訊息,解決 VIM3 電源週期問題。
- 驅動程式執行階段最佳化:驅動程式執行階段共用程式庫不再依附 syslog 程式庫,可解決執行階段連結錯誤。- 變更:fxr/1068592
 
- Amlogic 顯示強化功能:在呼叫 SetDisplayPower(false)時,Amlogic 顯示編碼器的顏色會變成綠色,方便進行偵錯。- 變更:fxr/1060376
 
- 節點拓撲驗證:sherlock和astrodevice-enumeration-test已遷移至使用驅動程式庫開發服務的別名來驗證節點拓撲。
- ElementControl 管道佈建: Topology.AddElement現在可讓用戶端提供自己的ElementControl管道。雖然目前用戶端仍可使用傳回的管道,但這項行為將會淘汰。
荒漠油廠
我們已對 Rust 進行以下更新:
- 工具鍊和依附元件更新:從 rust-ci中移除--no-goma標記,新增rutabaga_gfx箱,移除dependency_on_unit_never_type_fallback例項和-Awhere_clauses_object_safety檢查器。
- 改善遠端執行和 API 級別處理:Rust 的遠端執行策略現在已正確傳播,且 Rustdoc 不再處理 api_level標記。
電源管理
我們已對電源管理功能進行以下更新:
- 電源依附元件管理和術語:移除元素時,也會一併移除其依附元件。「Active」依附元件已重新命名為「assertive」,「passive」則為「opportunistic」。
- 假暫停初始化: fake-suspend目前已遭封鎖,直到初始化為止。- 變更:fxr/1065355
 
SDK
我們已對 SDK 進行以下更新:
- 改善 IDK 原子產生:Fuchsia Bazel SDK 現在使用 //sdk:final_fuchsia_sdk,將 IDK 原子產生作業移至 Bazel 圖表,而空白的*.api_summary.json檔案則表示特定 API 級別不支援的 FIDL 程式庫。
- 強化功能和測試:SDK 已移除 fbl/fzl,_walk_json更具彈性,且已新增structured_config的測試。
- 新增 bin_name支援:fuchsia_cc_binary規則現在支援bin_name屬性。- 變更:fxr/1062452
 
軟體推送
我們已針對軟體提交方式進行以下更新:
- 套件目錄和快取最佳化:套件目錄已針對 fxblob 進行最佳化,大幅提升 Blob 讀取速度,且套件快取不再需要儲存空間生命週期因應措施。
- 改善記錄和錯誤訊息:新增系統映像檔套件雜湊的記錄訊息,並強化套件相關的錯誤訊息。
Starnix
我們已為 Starnix 進行下列更新:
- 改善資源管理和歸因:Starnix 程式現在會以子項主體的形式回報,以便改善記憶體歸因。
- 強化信號處理和暫停/繼續功能:系統已針對程序導向信號進行最佳化,以便只中斷一個工作,並解決暫停等候器問題,避免在使用有效殼層繼續後無法回應。
- 檔案系統和資料儲存空間改善:在測試中新增資料儲存空間能力的路由,讓您可以在實際的檔案系統上執行 xts 測試,並新增從 tarball 到檔案系統的擴充屬性傳播功能。
- 圖形和輸入功能強化:在 GPU 裝置和裝置中新增以 Gfxstream 為基礎的 Rutabaga 例項,以便與輸入管線進行 touch_standby狀態通訊。
- 改善政策處理、統計資料和位址空間管理:精進政策索引和權限檢查機制,確保暫停後會重新整理統計資料,並修正 user_new_limit從錯誤位址空間讀取資料的問題。
- 其他錯誤修正和更新:解決各種問題,包括 bpf 檔案描述符處理、喚醒租約重新命名、ebpf 說明函式存根目錄和 FsNode.append_lock修改。
測試
我們已為測試功能進行以下更新:
- 提升 fx test使用者體驗:重新撰寫的fx test提供偵錯強化功能,包括改善的引數剖析和實用建議。
- 改善測試穩定性和可靠性:SWD 端對端測試、網路測試和 ip-test-macro現已更可靠且資訊豐富,同時也解決了 WLANhw-sim自動連線功能中可能出現的錯誤。
- 更新標記名稱並移除未使用的檔案:為求清晰明確,ffx-output-directory標記已重新命名為artifact-output-directory,而未使用的mock.rs檔案則已從fuchsia-component-test中移除。
- 更穩健的 gvisor_syscall_tests:這些測試更穩健且準確,因為我們更新了原始 IP 通訊端測試、核心版本處理、PMTUD,並修正了IPPROTO_ICMP。- 變更:fxr/1063593
 
- GPIO 和 netstack 測試更新: gpio測試已準備好進行 DFv2/gtest 轉換。netstack_test巨集現在是明確的,需要明確的類型參數。
計時
我們已對打卡系統進行以下更新:
- 改善 TTRF 說明文件和測試:針對 Timekeeper 行為修改 (尚未啟用) 實作持續測試非同步指令,新增 TTRF 的範例程式碼說明文件,並移除過時的 CFv1 參照。
- 移除未使用的依附元件:移除未使用的電源拓樸依附元件權杖。- 變更:fxr/1070977
 
工具鏈
我們已對工具鍊進行以下更新:
- 準虛擬化支援: PlatformParavirtualizationConfig現在預設為允許虛擬化 (如果支援的話)。已將半虛擬化支援功能 (包括 vsock 服務) 新增至「模擬 arm64 通用」板卡設定。
工具
我們已對工具進行下列更新:
- 藍牙控制器強化功能:假藍牙控制器現在支援設定 LE 連線角色。- 變更:fxr/1066752
 
- 測試和工具更新:CTF 新增了 Realm 整合測試。我們已新增 Bazel SDK structured_config的測試。bt-fct-hci工具已遷移至HciTransport。測試執行程式現在會在目標連線錯誤逾時時重新連線。
- 測試 Phys VMO 清潔度和記錄:測試 phys VMO 會在傳回前先清除,以確保已知狀態。如果略過的 ContextSwitch記錄records_dropped超過 0,系統就會發出警告。
- 套件資訊來源:list-packages 工具現在會從 all_package_manifests.list取得套件資訊。我們改善了 pkgstats 套件頁面的視覺設計。
UI
我們已針對 UI 進行以下更新:
- 偵錯功能強化:現在可將觸發區和顯示器電源狀態轉儲至「檢查」功能,方便偵錯。
WLAN
我們已對 WLAN 進行以下更新:
- 測試強化功能:新增了在啟動期間刪除 fullmac 驅動程式的測試支援功能。已解決硬體 SIM 自動連線功能中可能出現的異常情形。改善 Honeydew 測試輔助程式,以便偵測異常啟動情形。
- 網路設定遷移:已更新儲存的網路設定格式和儲存空間,包括從舊版儲存資料遷移。新的指標會追蹤網路設定遷移結果。
- 漫遊功能改善:RoamManager的服務函式已分開,以便日後轉換為以服務迴圈為基礎的服務。為求清晰明確,內部漫遊程式庫類型已更新,並移除不必要的欄位。改善了漫遊連線中斷處理方式,可區分可忽略的連線中斷與漫遊嘗試失敗。
- 檢查器最佳化:InspectBoundedSetNode結構體可在檢查器中改善事件中繼資料的處理方式。記錄現在會在檢查中加入中斷連線資訊。