Fuchsia F16 版本说明

日期:2024 年 2 月 14 日

版本:F16

已实现以下更改:

应用运行时(Flutter、Starnix 和 Web)

Starnix

Starnix 进行了以下更新:

  • 添加了对 /dev/uinput 的支持,并将其适当地路由到 Fuchsia 输入子系统。
  • 为 Starnix 添加了双分页 Ext4 读取器,该读取器会向 Starnix 添加用户分页器,以便为分页器支持的 Ext4 文件提供分页器。
  • 添加了对将 Zircon 调度程序与 Starnix 配置文件集成的初步支持。这样,Starnix 内核就可以与 Zircon 内核就 Linux 系统调用请求的调度纪律和参数进行通信。
  • 在 Magma 中添加了对每个同步文件有多个同步点的支持。这是实现同步文件描述符支持的整体工作中的一部分。
  • 在 Starnix 中添加了对 usercopy 的优化。
  • 添加了 /sys/class/sys/block 子系统。
  • 添加了 /sys/power/\{wakeup_count, state, sync_on_suspend\}
  • 添加了对各种 ptrace 函数的额外支持。
  • 添加了默认的 FIONREAD ioctl。
  • 在 Starnix 中启用了 RISC-V 支持,并运行了基本测试(Starnix with vDSO tests)。
  • 确保所有 gVisor 和 LTP 测试都通过。
  • 修复并改进了 binder 和 remote-binder 中的任务处理。
  • 修复了 remote-fs 中的修改时间和上次访问时间。
  • 实现了 FUTEX_LOCK_PIFUTEX_UNLOCK_PI
  • 在 vDSO 中实现了其他系统调用,从而提升了性能。
  • 实现了 timer_* 系统调用。
  • 使用异常实现了 usercopy 例程,从而提高了性能。
  • 通过使用 BTreeSet(而非 HashSet)存储 binder 的 RefCountActions,提高了 binder 性能。
  • 改进了 Starnix 导入、正则表达式,并将各种库拆分为 crate。
  • 改进并修复了 Starnix 中的锁定顺序。
  • 在 Starnix 中初始实现了 SELinux 服务器。

连接(蓝牙、IoT、WLAN、Netstack)

Connectivity 进行了以下更新:

蓝牙

  • 修复了扫描设备时部分耳机未显示在蓝牙设备中的问题。
  • 修复了与某些手机配对时媒体信息不显示的其他问题。
  • 修复了将设备用作音箱时出现的音量控制问题。
  • 修复了在 Duo 通话期间连接耳机时音频无法发送到耳机的问题。

连接驱动程序

  • 添加了在 SDIO 超时时恢复固件子系统的功能。
  • 添加了一些次要修复和改进。
  • 修复了固件恢复的稳定性问题。
  • 重新启用了 sdio_timeout 恢复触发器条件。
  • 添加了在固件恢复期间请求重置 SDIO 卡的功能。

Matter

  • 添加了对空气质量传感器的支持。
  • 添加了对订阅所有设备 Fabric 的支持。
  • 添加了对 Matter 更新组的支持。
  • 为与颜色相关的命令添加了过渡时间处理。

线程

  • 推出了 TREL,旨在尽可能减少线程分区并减少线程网络使用。

开发者

我们对开发者工作流进行了以下更新:

工具

  • 更改了 ffx product 使用的身份验证库,以使用 gcloud 客户端 ID 和密钥。
  • 停止生成商品套装版本 1。

命令行

  • 向 IDK 添加了 fuchsia-sdk-run
  • 向 SDK 添加了 funnel
  • 向 SDK 添加了 ffx test
  • 添加了 ffx package archive add
  • 添加了 ffx package archive remove
  • ffx assembly:向板级输入软件包添加了对 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
  • ffx driver 中移除了 lsblk

诊断

我们对“诊断”进行了以下更新:

  • 添加了对 log_listener 返回 JSON 日志的支持。
  • 向 C++ 和 Rust syslog 库添加了日志宏。
  • 通过在 diagnostics_log 中延迟初始化发布端,提高了许多组件的内存用量。
  • 改进了对 Rust 日志库中的 crate 跨度的跟踪支持。
  • 将诊断流水线配置更新为组装的一部分。

FIDL

我们对 FIDL 进行了以下更新:

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

固件

固件进行了以下更新:

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

车队服务(托管式操作系统和取证)

我们对车队服务进行了以下更新:

钴蓝

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

平台驱动程序

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

  • 修复了 GPT(GUID 分区表)的 CRC 计算中的一个 bug。

计时

我们对时间记录功能进行了以下更新:

  • 改进了 UTC 时钟管理。