Fuchsia F16 版本说明

日期: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_PIFUTEX_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
  • 已将 lsblkffx driver 中移除。

诊断

对“诊断”功能进行了以下更新:

  • 添加了对 log_listener 以返回 JSON 日志的支持。
  • 向 C++ 和 Rust Syslog 库添加了日志宏。
  • 通过在 diagnostics_log 中延迟初始化发布商,提高了许多组件的内存用量。
  • 改进了对在 Rust 日志记录库上跟踪 crate span 的支持。
  • 将诊断流水线配置更新为组装步骤。

FIDL

对 FIDL 进行了以下更新:

  • 新增了强制执行 RFC-0231 中的替换语法的功能。
  • 实现了 RFC-0231 中的替换语法。
  • 改进了 @available 订单的错误消息。
  • 更新了 HLCPP 的绑定,以发出别名定义。

固件

对固件进行了以下更新:

  • 已将 build 更新为 64 位编译器工具链。

舰队服务(代管式操作系统和取证)

对舰队服务进行了以下更新:

钴蓝

  • 已改用 HPKE 进行加密,从而减少网络带宽用量。

平台驱动程序

对平台驱动程序进行了以下更新:

  • 修复了 GPT 的 CRC 计算错误(GUID 分区表)。

计时功能

对计时功能进行了以下更新:

  • 改进了 UTC 时钟管理。