日期:2024 年 2 月 14 日
版本:F16
已实施以下变更:
应用运行时(Flutter、Starnix 和 Web)
斯达尼克
对 Starnix 进行了以下更新:
- 添加了对
/dev/uinput
的支持,并相应地将其路由到 Fuchsia 输入子系统。 - 为 Starnix 添加了双分页 Ext4 读取器,该读取器在 Starnix 中添加了针对分页器支持的 Ext4 文件的用户分页器。
- 添加了对将 Zircon 调度器与 Starnix 配置文件集成的初始支持。这样,Starnix 内核就可以就 Linux 系统调用请求的调度规则和参数与 Zircon 内核进行通信。
- 在 Magma 中,添加了对每个同步文件多个同步点的支持。这是实现同步文件描述符支持所做全部工作的一部分。
- 在 Starnix 中添加了针对
usercopy
的优化。 - 添加了
/sys/class
和/sys/block
子系统。 - 添加了
/sys/power/\{wakeup_count, state, sync_on_suspend\}
- 添加了对各种
ptrace
函数的额外支持。 - 添加了默认的
FIONREAD
ioctl。 - 通过运行基本测试,在 Starnix 中启用了 RISC-V 支持(使用 vDSO 测试的 Starnix 进行了测试)。
- 确保其他 gVisor 和 LTP 测试全面通过。
- 修复了并改进了 binder 和 Remote-Binder 中任务的处理。
- 修复了 Remote-fs 中的修改时间和上次访问时间问题。
- 实现了
FUTEX_LOCK_PI
和FUTEX_UNLOCK_PI
。 - 在 vDSO 中实施了其他系统调用,从而提升了性能。
- 实现了
timer_*
系统调用。 - 使用异常实现了
usercopy
例程,从而提高了性能。 - 使用
BTreeSet
(而非HashSet
)存储 binder 的RefCountActions
,提升了 binder 性能。 - 改进了 Starnix 导入和 glob,并将各种库拆分为 crate。
- 改进了和修复了 Starnix 的锁排序。
- Starnix 中 SELinux 服务器的初始实现。
连接(蓝牙、IoT、WLAN、Netstack)
对连接性进行了以下更新:
蓝牙
- 修复了在扫描设备时某些耳机未显示在蓝牙设备的问题。
- 修复了与某些手机配对时媒体信息不显示的其他问题。
- 修复了将设备用作扬声器时出现的音量控制问题。
- 修复了在 Duo 通话期间连接耳机时音频无法发送到耳机的问题。
连接性驱动因素
- 添加了在 SDIO 超时后恢复 FW 子系统的功能。
- 添加了一些小的修复和改进。
- 修复了固件恢复的稳定性问题。
- 重新启用了
sdio_timeout
恢复触发条件。 - 添加了在固件恢复期间重置 SDIO 卡的请求。
Matter
- 添加了对空气质量传感器的支持。
- 添加了对订阅所有设备结构的支持。
- 添加了对 Matter 更新群组的支持。
- 为与颜色相关的命令添加了过渡时间处理。
线程
- 发布了 TREL,目标是尽可能减少 Thread 分区和 Thread 网络使用量。
开发者
我们对开发者工作流程进行了以下更新:
工具
- 更改了
ffx product
使用的身份验证库,以使用gcloud
客户端 ID 和密钥。 - 已停止生成商品套装版本 1。
命令行
- 向 IDK 添加了
fuchsia-sdk-run
。 - 向 SDK 添加了
funnel
。 - 向 SDK 添加了
ffx test
。 - 添加了
ffx package archive add
。 - 添加了
ffx package archive remove
。 ffx assembly
:添加了对板级输入 bundle 的power-manager
配置的支持。ffx assembly
:添加了对板级输入软件包的power-manager
热配置的支持。ffx assembly
:将内核移到了自己的平台输入软件包中。ffx component start
:添加了--debug
标记。ffx debug
:修复了--debugger
标志的帮助。ffx emu
:更新了启动帮助文档。ffx product
:添加了对从商品软件包获取产品版本的支持。ffx product
:添加了--machine
商品查找。此外,还为列表添加了修复程序。ffx scrutiny
:添加了pre_signing
审查验证程序。- 移除了
ffx guest
,因为系统不再使用它。 - 移除了已废弃的
ffx product get
命令。 - 为
ffx product
移除了已废弃的oob auth
。 - 从 SDK 中移除了
ffx power
。 - 已将
lsblk
从ffx driver
中移除。
诊断
对“诊断”功能进行了以下更新:
- 添加了对
log_listener
以返回 JSON 日志的支持。 - 向 C++ 和 Rust Syslog 库添加了日志宏。
- 通过在
diagnostics_log
中延迟初始化发布商,提高了许多组件的内存用量。 - 改进了对在 Rust 日志记录库上跟踪 crate span 的支持。
- 将诊断流水线配置更新为组装步骤。
FIDL
对 FIDL 进行了以下更新:
固件
对固件进行了以下更新:
- 已将 build 更新为 64 位编译器工具链。
舰队服务(代管式操作系统和取证)
对舰队服务进行了以下更新:
钴蓝
- 已改用 HPKE 进行加密,从而减少网络带宽用量。
平台驱动程序
对平台驱动程序进行了以下更新:
- 修复了 GPT 的 CRC 计算错误(GUID 分区表)。
计时功能
对计时功能进行了以下更新:
- 改进了 UTC 时钟管理。