Date: August 24, 2023
The following changes have been implemented:
Application Runtimes (Flutter, Starnix, and Web)
The following updates have been made for Starnix:
- Landed fixes for various
gVisor and LTP tests to ensure they pass.
- Enabled gVisor support for
arm64 restricted mode support.
- Fixed binder and remote binder support.
- Improved debuggability on
- Use subpackages for Starnix kernel.
- Enabled in-thread exception handling.
- Initial support for
- Initial support for Fxfs in Starnix.
The following updates have been made for Component Framework:
- Removed support for
appmgr (CFv1) from the platform.
Connectivity (Bluetooth, IOT, WLAN, Netstack)
The following updates have been made for Connectivity:
- Fixed occasional media playback time inaccuracy when using a Bluetooth speaker.
- Fixed Bluetooth audio resumes after connecting during an ongoing video call.
- Initial in-band audio support for HFP.
- Improved latency when streaming A2DP to a speaker.
- Fixed identify response in the case of multiple devices to prevent response flood.
- Enabled inspect for matter.
- Fixed crash in localhome during subscription timeout.
- Fixed a crash in leader election in
- Fixed a crash in converting out of range colors. This affects the user experience where some colors were inaccurate.
- Implemented cache flush handling in the Fuchsia mDNS stack.
- Enabled Thread telemetry in the Nest thread controller.
- Enabled the Dynamic logging feature.
- Enabled VIM3 support in
brcmfmac WLAN driver recovery.
- Changed thread profile in
brcmfmac along with netstack.
The following updates have been made for Developer workflows:
- Support driver development with the Fuchsia SDK with Bazel integration. This depends on the specific driver's required interfaces.
ffx connecting to target devices through USB.
- Improved emulator instance management when using user mode networking.
- Updates in
ffx and other tools:
- Graduated from experimental:
ffx package archive cat: Print the contents of a file in a package archive.
ffx package archive create: Create a package archive.
ffx package archive extract: Extract a package archive into a directory.
ffx package archive list: List the contents of a package archive.
ffx package far cat: Print the contents of a file in a far archive.
ffx package far create: Create a far archive.
ffx package far extract: Extract a far archive into a directory.
ffx package far list: List the contents of a far archive.
ffx package file-hash: Compute the blob hash of one or more files.
The following updates have been made for Diagnostics:
- Improved the performance of writing for multiple Rust Inspect processes that resulted in 70-80% faster benchmarks on average.
- Improved the performance of Rust logging encoding that resulted in 30-60% faster benchmarks.
- Implemented a new protocol that allows
ffx log and
fix inspect to directly communicate with Archivist which results in a significant performance improvement for these tools. Before this fix, the tools used the diagnostics bridge component to communicate.
- Improved the component manager CPU stats format which resulted in ~70% less bytes for measurements in Inspect and ~55% less bytes in snapshots.
- Added support for tracing crate spans for Fuchsia Logging.
- Improved Triage error messages and output.
- Added the count of dropped and rolled out logs to the output of
- Added support for CBOR format for Logs and Inspect.
- Aligned the formatting of logs of
ffx log and
- Archivist now forwards logs for configured components to serial directly without first sending them to the console component.
- All Rust code on Fuchsia now uses the tracing library for structured logging.
The following updates have been made for FIDL:
- Added a requirement for the FIDL annotation
@available for FIDLs that are included in the SDK.
- Added a requirement for unknown interaction keywords.
The following updates have been made for Firmware:
- Improved boot reliability when encountering hardware initialization errors.
- Reduced display brightness during power-up by 50%.
Fleet Services (Managed OS and Forensics)
The following updates have been made for Fleet Services:
Graphics and Media
The following updates have been made for Graphics and Media:
- Virtual audio drivers added for improved test coverage.
audio-driver-ctl developer tool deprecated in favor of
- Various extensions and fixes for the fake display stack, adding more hardware-agnostic test capabilities.
- Removed the system driver C API in favor of C++. Hardware acceleration for graphics in the Starnix environment.
- Added performance tweaks for improved playback on shipped devices.
HCI (Input, A11y, i18n, and View System)
The following updates have been made for HCI:
- Enabled Flatland for Smart Display. Improves performance and reduces maintenance cost.
- Various fixes to improve accessibility ratings.
The following updates have been made for the Kernel:
- Added support for
The following updates have been made for Rust:
- Began rolling RISC-V targets for the Rust compiler.
The following updates have been made for Software Assembly:
- Reduced the contents in the legacy bundle.
- Added the ability to check a package's ABI revision to determine compatibility with platform, at assembly time.
The following updates have been made for Timekeeping:
Issue: High memory and CPU resources are needed when using push communications for time sources.
Impact: Migrated time sources to pull communication which reduces the memory and CPU needed for clock maintenance.
HWASan is supported on Fuchsia.