版本:F23
我們已實施下列變更:
無障礙設定
我們已針對 A11y 進行以下更新:
- 修正與停用節點行為相關的錯誤,改善螢幕閱讀器行為。
音訊
我們已對 Audio 進行以下更新:
音訊驅動程式和驅動程式庫 API:
- 開放與音訊訊號處理和環形緩衝區相關的重要 FIDL 通訊協定,以改善 ABI 相容性。
- 變更:fxr/1105376
- 已變更複合音訊的 devfs 別名名稱,以符合標準命名方式。
- 變更:fxr/1101196
- 新增電源轉換檢查 (
aml-g12-tdm
音訊驅動程式庫)。- 變更:fxr/1107073
- 新增
aml-g12-tdm
驅動程式庫的電源轉換追蹤功能。- 變更:fxr/1103681
- 改善
aml-g12-audio-composite
驅動程式庫的記錄功能。- 變更:fxr/1103473
- 開放與音訊訊號處理和環形緩衝區相關的重要 FIDL 通訊協定,以改善 ABI 相容性。
AudioCore 和智慧螢幕支援:
- 停用導致 SSH 連線錯誤的部分音訊測試。
- 異動:fxr/1100487
- 停用導致 SSH 連線錯誤的部分音訊測試。
AudioDeviceRegistry 服務:
- 在
audio_device_registry
中新增追蹤功能,以便追蹤電源轉換。- 變更:fxr/1103681
- 清楚說明記錄功能。
- 變更:fxr/1103473
- 修改
WatchDevicesAdded
方法,讓系統即使在空白向量存在的情況下,也能立即回應第一個呼叫。- 異動:fxr/1100522
- 在
音訊開發人員工具:
- 在
ffx audio device play
指令中新增--channels
旗標,用於控制有效管道和音訊裝置的電源狀態。- 變更:fxr/1097680
- 修正
ffx audio record
和ffx audio device record
中的錯誤和環形緩衝區處理方式,以便正確擷取音訊。
- 在
藍牙
我們已對藍牙進行下列更新:
- Message Access Service (MAS) 用戶端已實作,可連線至多個 MAS 執行個體。
- 變更:fxr/1099712
- 免持聽筒設定檔 (HFP) 現已支援
AudioDeviceRegistry
產品,相容性也更佳:HFP 現已採用首個支援的 DAI 影格格式,可改善硬體相容性。在使用AudioDeviceRegistry
的產品上,當裝置連線時,會將對等端新增至登錄表,且媒體可在沒有有效通話的情況下開始/停止音訊。 - BR/EDR 舊版配對功能現在支援 PIN 碼要求,並與
PairingStateManager
整合,以便管理配對方法選項 (SSP 或舊版)。我們也新增了設定,可根據產品組合啟用/停用舊版配對功能。檢查配對屬性已更新,以反映這些變更。 - 已新增 L2CAP 連線導向通道。
- 變更:fxr/1086595
- LE 遠端功能查詢現在可正常失敗,可改善連線相容性。
- 變更:fxr/1108632
- 藍牙 FIDL 現代化:多個列舉已更新為靈活的列舉。
Vendor
通訊協定已更新術語和說明文件。我們已針對fuchsia.bluetooth.Channel
和相關通訊協定重新設計了流程控制,使用 zircon 網路介面上的 FIDL 流程控制。支援 L2CAP 連線導向通道。隨著這些變更,許多藍牙通訊協定也將進入階段,以便加入 SDK。 - 使用浮雕定義來浮雕各種藍牙測試函式:這是使用已壓縮的結構體的變更。
建構
我們已針對 Build 進行下列更新:
- 新增環境變數
TEST_UNDECLARED_OUTPUTS_DIR_OVERRIDE
,用於控制未宣告輸出內容的寫入位置:這項功能可用於測試。- 變更:fxr/1110434
- 為
scoped_global_logger
新增 Bazel 建構目標:此目標適用於樹狀結構內 Bazel 目標。- 變更:fxr/1108085
鈷豔藍
我們已為 Cobalt 進行下列更新:
- 遷移 Cobalt 元件,改用
FUCHSIA_LOG
巨集,而非已淘汰的fuchsia_logging::
嚴重性層級。- 變更:fxr/1110397
- 錯誤:b/299996898
元件架構
我們已為元件架構進行下列更新:
- 新增支援元件管理服務,以便從字典中的
environment
和設定值,將執行元件工具功能路由至environment
。 - 在
fuchsia.component.decl
中新增對弱服務商品的支援。- 變更:fxr/1098532
- 錯誤:b/356347441
- 移除動態設定功能,並改用 Bedrock 字典。
- 異動:fxr/1099592
- 元件結束碼和結束狀態現在會在
OnStop
事件中回報,而StopConclusion
和ComponentStopOutcome
已合併,以便簡化元件停止程序。
連線驅動程式
我們已針對連線驅動程式進行下列更新:
dwmac
驅動程式庫現在會直接實作 NetworkDevice 通訊協定,改善大多數基準測試的成效。- 變更:fxr/1089712
- 錯誤:fxb/42068759
brcmfmac
驅動程式庫現在會正確設定 wnm iovar,解決 VIM3 上的BCME_BUSY
錯誤。- 變更:fxr/1097798
- 已移除
fuchsia.hardware.network/DeviceClass
最新的 NEXT API 版本,影響fuchsia.net.interfaces/Properties
。- 異動:fxr/1099292
- 修正篩選器-fidl 測試,方法是保留每個測試案例的通訊埠:由於後續測試案例會將通訊埠繫結至與先前測試案例相同的通訊埠,因此篩選器-fidl 測試會出現不穩定的情形。這項變更會讓先前的案例保持開放的通訊端,以便網路堆疊為每個案例挑選新的連接埠。
- 變更:fxr/1099412
- 更新編織/測試,以便使用新型路徑 FIDL API:這項變更是指將新增路徑時,改為使用已淘汰的
fuchsia.net.stack AddForwardingEntry
,而非fuchsia.net.routes.admin
。- 異動:fxr/1097719
- 錯誤:b/42081105
- 透過命名 KeepResource 的成員,避免產生
unused_tuple_struct Lint
。- 變更:fxr/1097972
診斷
我們已對「診斷」功能進行以下更新:
- Archivist:
- 從組合中啟用初始興趣設定。
- 變更:fxr/1107987
- 改善了「檢查」名稱篩選功能。
- 從組合中啟用初始興趣設定。
- Sampler:
- 抑制與範本中元件 ID 相關的垃圾郵件警告,以及驗證工具中的死碼 Lint。
- Syslog:
- 改善相關的 C++ 程式庫。
- 錯誤:b/299996898
- 確保以檢查執行元件為基礎的測試視為系統測試。
- 變更:fxr/1102372
螢幕
我們已對多媒體廣告進行以下更新:
- 將顯示器驅動程式庫堆疊遷移至現代 Fuchsia 平台基礎架構,例如 DFv2 和 FIDL。使用者不會看到任何變更。
- 為了保持一致性,我們重新命名顯示器驅動程式:
- 已將
simple-display
重新命名為framebuffer-display
。 - 已將
intel-i915
重新命名為intel-display
。 - 已將
virtio-guest
重新命名為virtio-gpu-display
。
- 已將
驅動程式架構
我們已對 Driver Framework 進行下列更新:
- 改用列舉表示法,改善平台匯流排程式庫的中斷模式,提升類型安全性和程式碼清晰度。
- 變更:fxr/1100893
- 根據解析器重新命名驅動程式庫集合。
- 變更:fxr/1105706
- ** 簡化
ScopedGlobalLogger
以改善測試記錄,並重新啟用先前停用的測試並進行更新。與已移除的測試相關聯的未使用 API 也已刪除。** - 更新 GPIO FIDL:新增空位元組型,供日後的中斷選項使用,並將
SetPolarity
重新命名為ConfigureInterrupt
。GPIO 初始化中繼資料也已切換為使用 pinimpl 類型。 - 簡化
ScopedGlobalLogger
實作方式,以改善實作方式:由於它實際上從未進行任何非同步呼叫,因此不需要為記錄器建立執行緒。- 變更:fxr/1109755
- 使用
realm_builder_exposed_dir
轉送連線,簡化driver_test_realm
中的轉送機制:這可修正公開 fuchsia.hardware.ramdisk 服務時,未使用轉送機制的問題,並讓我們使用dtr_exposes
,而非已淘汰的公開 Start 引數。- 變更:fxr/1098232
- 將已淘汰的驅動程式庫測試程式庫片段遷移至內部命名空間:針對使用命名空間的測試新增警告,以防止新測試複製這些測試。
- 變更:fxr/1105273
- 透過額外的單元測試和程式碼精修,改善驅動程式庫程式傳輸和簡易驅動程式庫:驅動程式庫傳輸範例現在可展示 FIDL 用戶端互動、最佳化傳輸大小查詢,以及改善的位元率設定,而簡易驅動程式庫範例則可展示前景和背景驅動程式庫測試之間的差異。**
FIDL
我們已對 FIDL 進行以下更新:
- 更新與音訊和元件管理相關的多個 FIDL 通訊協定,以便與 ABI 相容:
fuchsia.hardware.audio.signalprocessing/Reader
和fuchsia.hardware.audio/RingBuffer
現已提供彈性方法和開放式通訊協定 (以及其組合通訊協定)。fuchsia.component/ComponentController
現已開放,可使用靈活的OnEscrow
和OnStopInfo
事件。 - 改善 FIDL 建構系統:「未命名版本」FIDL 程式庫不再進行相容性測試,且「命名版本」邏輯會在建構範本中整合。此外,我們也重新產生
fuchsia.io
的 Go 繫結。
GPU
我們已針對 GPU 進行下列更新:
- 合併
arm-mali
GPU 驅動程式庫的上游變更。
核心
我們已對核心進行以下更新:
- 虛擬記憶體:
- 不允許為實體或連續的 VMOs 建立串流。
- 變更:fxr/1021612
- 錯誤:fxb/330793404
- 開始移除目標 PmmNode 周圍的
pmm_
包裝函式。- 變更:fxr/1102014
- 新增選項,可為 VMOs 提供超出內容大小的零。
- 變更:fxr/1104694
- 禁止在實體 VMOs 上執行快取作業。
- 變更:fxr/1097312
- 新增 PMM 競技場選取演算法。
- 變更:fxr/1074514
- 不允許為實體或連續的 VMOs 建立串流。
- 電源:
- 新增對暫停單調計時器的功能旗標支援。
- 異動:fxr/1093967
- 新增對暫停單調計時器的功能旗標支援。
- 其他:
- 已移除對 IMX UART 的支援。
- 變更:fxr/1098052
- 錯誤:fxb/326502088
- 已移除對 IMX UART 的支援。
Matter
我們已針對 Matter 做出以下更新:
- 改善 Matter/GHP:修正錯誤並提升穩定性。
平台驅動程式
我們已針對平台驅動程式進行下列更新:
- 在 SPMI 中新增 FIDL API,用於表示匯流排上的目標/次要 SPMI 裝置,以便支援多部裝置。
- 變更:fxr/1104132
- 錯誤:361309707
- 強化 GPIO,提供新的 FIDL 位元類型,以便日後使用中斷選項,並遷移至
pinimpl
通訊協定。核心驅動程式現在會在gpioimpl
和pinimpl
之間進行選擇。 - 強化 I2C,納入裝置樹狀結構訪客支援,以便在
reg
欄位中支援多個周邊位址,並將 I2C 位址新增至產生的節點屬性。這可簡化複雜的 I2C 設定處理作業。 - 為 SPI 新增裝置樹狀結構訪客,將
fuchsia.hardware.spi.businfo
中繼資料附加至spiimpl
節點。- 變更:fxr/1095739
- 為平台裝置新增資源屬性,讓驅動程式庫驗證正確的資源分配。
- 變更:fxr/1107895
- 新增 Banana Pi F3 的裝置樹狀架構來源。
- 變更:fxr/1099853
荒漠油廠
我們已對 Rust 進行以下更新:
- 為第一方和第三方 Crate 啟用 rustdoc 子目標,提供
fx rustdoc-link
指令碼來合併產生的文件。- 變更:fxr/1104273
- 改善對不可到達模式的偵測功能,特別是使用
never
或Infallible
時。 - 更新多個依附元件,包括修正
nom
minimal-lexical
依附元件,並在hex
和log
Crate 中啟用新功能。 - 因與 LLD 不相容,暫時停用 Rust LTO。
軟體推送
我們已針對軟體提交方式進行以下更新:
- 改善 Omaha 用戶端和 pkgctl 指令。
- 新增指令來操作 Blob,並修正相關錯誤。
- 變更:fxr/1045998
- 改善了 pkg 指令,並修正 omaha-client 中的錯誤。
- 在 artifactory 指令中新增衝突檢查功能。
- 變更:fxr/1098024
- 修正了 Clippy 的 Lint 問題,並重新啟用部分目標的 warn-all。
- 變更:fxr/1099405
- 錯誤:fxb/356474618
Starnix
我們已為 Starnix 進行下列更新:
- 將多個檔案系統模組化。現在已將 selinuxfs、layeredfs、overlayfs、functionfs、tracefs、FUSE、tun、ext4 和迴圈裝置模組化。檔案系統註冊和建立作業也已集中處理,且 nmfs 會使用
FsRegistry
註冊。 - 透過新功能改善 Starnix 執行程式:將執行程式公用程式移至程式庫、hrtimer 事件可喚醒容器、新增
SuspendContainer
,以及新增內部喚醒鎖的功能旗標。 - 在 BPF 中新增對 PERCPU_ARRAY 對應類型的支援。
- 變更:fxr/1111712
- 更新輸入系統。
is_uinput_running()
函式已修正,並新增用於擷取裝置名稱的 ioctl,輸入裝置現在會使用獨特的 Fuchsia 供應商和產品 ID。 - 強化 POSIX 計時器系統呼叫。新增鬧鐘類型的支援、重構計時器截止期限,並修正
timer_settime
中的指標檢查。 - 更新了 Open 系統呼叫 API。移除了 Open1 備用方案,現在必須使用 Open3。StarnixNodeConnection 現在實作 Open3。
- 修正在 remotefs 中回報符號連結目標大小的方式。
- 變更:fxr/1097114
- SELinux 獲得大幅改善。稽核記錄會傳送至核心記錄、檔案系統標示功能會改善、假模式會停用,並新增結構描述檔案。
測試
我們已為測試功能進行以下更新:
- 透過在每個基準測試案例目錄中儲存構件,改善 iperf 基準測試:這項修正可解決伺服器 JSON 輸出檔案和
trace.fxt
檔案彼此衝突的問題。- 異動:fxr/1100484
- 更新透過迴圈執行對密封網狀結構的 iperf 基準測試:我們將現有測試重新用於使用 netemul 沙箱執行 iperf,並修改為基準測試。我們保留了用於執行 iperf 基準測試的現有 Python 指令碼,以便重複使用將 iperf JSON 輸出內容轉換為 fuchsiaperf 輸出內容的邏輯。
- 變更:fxr/1096183
- 錯誤:fxb/349129633
執行緒
我們已對 Thread 進行以下更新:
- 為 ot-radio 模組啟用全雙工交易:這項變更可提升
ot-radio
驅動程式庫的效能,並解決在傳送和接收方向上,傳輸量過高時,傳送交易會耗盡的問題。- 變更:fxr/1099455
計時
我們已對打卡系統進行以下更新:
- 新增更平衡的時間來源記錄。
- 新增從 RTC 強制啟動功能:這項異動會新增從 RTC 強制啟動時鐘的功能,但會忽略已知的 RTC 錯誤讀數。
- 變更:fxr/1100898
工具鏈
我們已對工具鍊進行以下更新:
- 更新 Fuchsia 平台和 Zircon 工具鍊,以便使用 C++20 和 Clang 的預設設定。
- 更新 C++ 工具鍊,以便預設產生連結地圖。
- 變更:fxr/1100073
- 錯誤:fxb/358673680
- 在 AArch64 和 RISC-V 上為 Rust 啟用陰影呼叫堆疊 (SCS)。
- 在 Fuchsia 和 Cobalt 的 libc++ 更新後,新增缺少的標頭。
- 已更新
emit_tool_path
變數,以便透過 Rust GNI 進行管線處理。- 變更:fxr/1100759
工具
我們已對工具進行下列更新:
- 改善偵錯工具,包括支援從已附加的程序收集迷你傾印檔 (可用於偵錯測試逾時)、修正未驗證的列表表項目導致的當機問題、在端對端測試中一致納入 SSH 連接埠、將
CURRENT_SUPPORTED_API_LEVEL
更新至 22 (移除舊版 IPC 版本的相容性),以及移除舊版 DebugAgent 啟動器。 - 更新 DevShell 以使用 jiri 的更新引數順序。
- 變更:fxr/1106816
- 停用 VSCode 的 Source Control 圖表視覺化功能,以改善 Fuchsia 存放區的效能。
- 變更:fxr/1108534
ffx
以下是 ffx
的更新內容:
- 改善模擬器的穩定性。我們做出了幾項變更,以改善模擬器的穩定性並解決常見問題。
- 新增對啟動載入器 Fat 分區和 EFI 產品套件的支援。這可讓模擬器從僅包含啟動載入器分區或含有以 EFI 為基礎的核心的產品套件啟動。
- 新增 FfxCoreSubCommand 和 check_core_constraints。這個函式會在指令執行前進行檢查,確保指令是透過機器介面叫用,且只傳遞一個設定標記,而傳遞的設定標記是檔案的路徑。目標也會透過 CLI 指定。libfho 會在執行前對子工具呼叫此函式。
- 變更:fxr/1109449
- 已將 active_channels 新增至 play 指令。這會在
ffx audio device play
指令中加入--channels
標記。這個標記會操控要啟用的管道,並透過 CLI 設定音訊裝置的電源狀態。- 變更:fxr/1097680
- 改善錯誤處理機制。我們改善了 ffx 的錯誤處理和回報機制。這包括正確回報 SSH 錯誤、改善使用中連接埠的錯誤訊息,以及為不正確的建構目錄新增錯誤。
- 已更新
ffx
,以便支援使用--core
標記的直接連線。這項更新會處理 ffx 行為,以便處理連線,並為開發人員提供 FIDL 通訊協定。將--core
旗標傳遞至指令時,系統會盡可能使用非守護程序行為。- 變更:fxr/1097107
- 清理舊版設定產生程式碼,並在
fx set
中新增--assembly-override
選項。這個選項會在args.gn
中正確設定新的開發人員組合覆寫對應項目。 - 更新
OvernetConnector
以提早結束並移除不必要的 ASCII 圖片。
fx
以下是 fx
的更新內容:
- 更新
fx serve
,專門使用前景存放區伺服器,簡化其運作方式。ffx
現為預設的存放區伺服器,相關設定已更新。這也為移除 pm 做好準備。 - 更新指令碼,確保無論環境為何,指令碼都會在路徑中。這項變更可確保即使使用者未使用
fx-env.sh
,也能在PATH
上找到指令碼目錄。- 變更:fxr/1098552
- 已公開
fx set --rbe-mode=MODE
。這可簡化 RBE 設定。- 變更:fxr/1092786
- 在 Python 中重新實作
fx status
。- 變更:fxr/1099458
ffxutil
以下是 ffxutil
的更新內容:
- 在 ffx 設定中新增 SDK 工具覆寫值。
- 變更:fxr/1097204
UI
我們已針對 UI 進行以下更新:
- 更新輸入管道事件,加入裝置 ID。
- 變更:fxr/1107757
- 更新了幾項 UI 測試,以便使用新的 FIDL 和 C++ 繫結。
- 重構 UI 測試並更新 WebTestBase,以便使用 GraphicalPresenter。
影片
我們已對影片做出下列更新:
- 已淘汰的
SetTags
已遭移除。我們已多次進行這項變更,以因應 SetTags 淘汰的問題。 - 已淘汰
BuildAndInitializeWithTags
,並替換為WithTags
。- 變更:fxr/1100417
- 錯誤:b/299996898
- 上游 libcxx 變更了 cmath 標頭隱含納入的方式,導致 Fuchsia 的建構作業中斷。這個修正程式會將缺少的「cmath」套件加入至多個 Fuchsia 元件。
- 變更:fxr/1098073
- 錯誤:fxb/358451491
- 您不需要手動設定 LogSink 的路由,因為這項作業會透過用戶端區塊隱含執行。日後的 CL 會更新分割區中使用的路由,因此必須清除這些重複的路由,才能更新分割區。
- 異動:fxr/1097792
WLAN
我們已對 WLAN 進行以下更新:
- 新增漫遊功能。這項功能可讓 WLAN 透過 fullmac 裝置韌體啟動漫遊功能。在漫遊時,現在會重新初始化政策漫遊監控器,以提升可靠性。
- 將 FullmacDevice 變更為使用 FIDL 管道,而非 Banjo。使用 FIDL 管道,在 FullmacDevice 結構體和供應商驅動程式庫之間進行通訊,藉此提升效能。
- 改善 WLAN 記錄功能。
wlancfg
現在會在系統成功從 WLAN 問題復原時,擷取系統狀態的快照。client-connections-toggle-events
節點已重新命名,記錄行現在會正確指出已收到國家/地區代碼。介面管理員會在復原期間採取行動前,記錄所有用戶端和 AP 狀態機制的狀態。wlan_connectivity_states
、connected_networks
、disconnected_networks
和disconnect_sources
時序資料現在已記錄。 - 清理技術債。
log_cobalt_1dot1
巨集已完成清理,AP 狀態機器人現在會公開目前的狀態資訊,且已解決兩個 clippy 的 Lint 問題。指標到期日已更新。 - 修正 WLAN 問題。修正了在移除介面時移除物理介面可能導致
wlandevicemonitor
保留舊版介面的問題。send_assoc_req_frame
函式不再有引數。呼叫stop_fullmac_mlme()
後,系統就不會再存取WlanFullmacImplIfc
FFI。