Fuchsia F9 release notes

Date: January 10, 2023

Version: F9

The following changes have been implemented.

Application Runtimes (Flutter, Starnix, and Web)

Issue: Build out kernel functionality to support Starnix New Execution Model.
Impact: Restricted mode executor was added to Starnix to run by default.

Cobalt

All metrics producers have been migrated to Cobalt 1.1 and their 1.0 metric definitions have been deleted.

Developer

  • ffx debug/zxdb can now do the following:

    • List running components.
    • Find the component associated with a process.
    • Attach directly to components via their URL.
    • Launch tests and attach to them.
  • Fast component updates are now possible with the new ffx component reload command. See Reload for details.

  • Improvements were made to the Bazel workflow to include the following:

    • Bazel binary is now downloaded to the tools/bazel directory when you run the scripts/bootstrap.sh script. See the changes in the SDK get-started guide on fuchsia.dev.
    • Bazel commands must be executed from tools/bazel to ensure the correct version of Bazel is used.
    • Running tools/ffx automatically bootstraps Bazel and the SDK if needed.
    • Bazel tests can now be run on fuchsia_tests targets to execute multiple tests at once.
  • ffx and other tooling changes include the following:

    • The tools/ffx product-bundle get command will fail if another product bundle with the same name is already cached on your host machine, such as from a different SDK version.
    • When registering a package repository, users must now specify all applicable aliases. For example, tools/ffx target repository register -r workstation-packages --alias fuchsia.com --alias chromium.org.

Graphics and Media

  • Improved playback for videos that switch streams (e.g. YouTube).
  • USB camera frame rate improved to 30 frames per second.
  • Intel display and GPU drivers officially support Tiger Lake devices.

Software Delivery

  • Added support for the new update package format to significantly reduce the size of update packages, specified by RFC-0170.

  • Added support for eager package updates, which allows periodic update checks for single packages that will be updated out-of-band of the system image, specified by RFC-0135.

Virtualization

  • Ported virtio-balloon, virtio-console, virtio-gpu, virtio-input, and virtio-vsock devices to Rust.
  • All in-process support for virtio devices has been removed. All devices now run as isolated components.
  • Graceful VM shutdown has been implemented.
  • Support to use fxfs files in virtio-block using the block-device protocol has been added.