| **Date:** August 24, 2023 |
| |
| **Version:** F12 |
| |
| The following changes have been implemented: |
| |
| ### Application Runtimes (Flutter, Starnix, and Web) |
| |
| #### Starnix |
| |
| The following updates have been made for Starnix: |
| |
| * Renamed `src/proc` to `src/starnix`. |
| * Landed fixes for various `gVisor` and LTP tests to ensure they pass. |
| * Enabled gVisor support for `arm64`. |
| * Implemented `RLIMIT`. |
| * Implemented `sysinfo()`. |
| * Added `arm64` restricted mode support. |
| * Fixed binder and remote binder support. |
| * Improved debuggability on `arm64`. |
| * Use subpackages for Starnix kernel. |
| * Enabled in-thread exception handling. |
| * Initial support for `SECCOMP` and `NETLINK`. |
| * Initial support for Fxfs in Starnix. |
| |
| ### Component Framework |
| |
| 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: |
| |
| #### Bluetooth |
| |
| * 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. |
| |
| #### Matter |
| |
| * 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 `usonia`. |
| * 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. |
| |
| #### Thread |
| |
| * Enabled Thread telemetry in the Nest thread controller. |
| * Enabled the Dynamic logging feature. |
| |
| #### WLAN |
| |
| * Enabled VIM3 support in `brcmfmac` driver. |
| * Stabilized `brcmfmac` WLAN driver recovery. |
| * Changed thread profile in `brcmfmac` along with netstack. |
| |
| ### Developer |
| |
| 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. |
| * Support `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. |
| |
| ### Diagnostics |
| |
| 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 `ffx log`. |
| * Added support for CBOR format for Logs and Inspect. |
| * Aligned the formatting of logs of `ffx log` and `ffx test`. |
| * 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. |
| |
| ### FIDL |
| |
| 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. |
| |
| ### Firmware |
| |
| 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: |
| |
| * Deleted `LogStats`. |
| |
| ### Graphics and Media |
| |
| The following updates have been made for Graphics and Media: |
| |
| #### Audio |
| |
| * Virtual audio drivers added for improved test coverage. `audio-driver-ctl` |
| developer tool deprecated in favor of `ffx audio`. |
| |
| #### Display |
| |
| * Various extensions and fixes for the fake display stack, adding more |
| hardware-agnostic test capabilities. |
| |
| #### GPU |
| |
| * Removed the system driver C API in favor of C++. Hardware acceleration for |
| graphics in the Starnix environment. |
| |
| #### Video |
| |
| * 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. |
| |
| ### Kernel |
| |
| The following updates have been made for the Kernel: |
| |
| * Added support for `riscv64`. |
| |
| ### Rust |
| |
| The following updates have been made for Rust: |
| |
| * Began rolling RISC-V targets for the Rust compiler. |
| |
| ### Software Assembly |
| |
| 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. |
| |
| ### Timekeeping |
| |
| 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. |
| |
| ### Toolchain |
| |
| * `HWASan` is supported on Fuchsia. |