# 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](https://fuchsia.dev/docs/development/components/run#reloading) 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](http://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](https://fuchsia.dev/docs/contribute/governance/rfcs/0170_remove_binary_images_from_the_update_package).

- 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](https://fuchsia.dev/docs/contribute/governance/rfcs/0135_package_abi_revision).

### 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.