| **Date:** February 14, 2024 |
| |
| **Version:** F16 |
| |
| The following changes have been implemented: |
| |
| ### Application Runtimes (Flutter, Starnix, and Web) |
| |
| #### Starnix |
| |
| The following updates have been made for Starnix: |
| |
| * Added support for `/dev/uinput` and route it appropriately to the Fuchsia |
| input subsystem. |
| * Added a double-paging Ext4 reader for Starnix which adds a user pager to |
| Starnix for pager-backed Ext4 files. |
| * Added initial support for integrating the Zircon scheduler with Starnix |
| profiles. This allows the Starnix kernel to communicate with the Zircon kernel |
| about the scheduling disciplines and parameters requested by Linux system |
| calls. |
| * Added support for multiple sync points per sync file in Magma. This is part of |
| the overall effort to implement sync file descriptors support. |
| * Added optimization for `usercopy` in Starnix. |
| * Added `/sys/class` and `/sys/block` subsystems. |
| * Added `/sys/power/\{wakeup_count, state, sync_on_suspend\}` |
| * Added additional support for various `ptrace` functions. |
| * Added default `FIONREAD` ioctl. |
| * Enabled RISC-V support in Starnix with basic tests running (Starnix with |
| vDSO tests). |
| * Ensure that additional gVisor and LTP tests pass across the board. |
| * Fixed and improved the handling of tasks in binder and remote-binder. |
| * Fixed modify and last access time in remote-fs. |
| * Implemented `FUTEX_LOCK_PI` and `FUTEX_UNLOCK_PI`. |
| * Implemented additional syscalls in vDSO, resulting in performance improvements. |
| * Implemented `timer_*` syscalls. |
| * Implemented `usercopy` routines using exceptions which improves performance. |
| * Improved binder performance by using a `BTreeSet` instead of `HashSet` to |
| store binder's `RefCountActions`. |
| * Improved Starnix imports, globs, and split various libraries into crates. |
| * Improved and fixed lock ordering across Starnix. |
| * Initial implementation of SELinux server in Starnix. |
| |
| ### Connectivity (Bluetooth, IOT, WLAN, Netstack) |
| |
| The following updates have been made for Connectivity: |
| |
| #### Bluetooth |
| |
| * Fixed an issue where some headphones were not showing up in Bluetooth Devices |
| when scanning for devices. |
| * Fixed additional issues where media info was not showing up when paired with |
| some phones. |
| * Fixed a volume control issue when using a device as a speaker. |
| * Fixed an issue where audio was not sent to headphones while connecting a |
| headset during a Duo call. |
| |
| #### Connectivity Drivers |
| |
| * Added the ability to recover the FW sub system on SDIO timeouts. |
| * Added minor fixes and improvements. |
| * Fixed stability issues for firmware recovery. |
| * Re-enabled `sdio_timeout` recovery trigger condition. |
| * Added a request for SDIO card reset during FW recovery. |
| |
| #### Matter |
| |
| * Added support for Air Quality Sensor. |
| * Added support for subscribing to all device fabrics. |
| * Added support for Matter update group. |
| * Added transition time handling for commands related to color. |
| |
| #### Thread |
| |
| * Rolled out TREL which aims to reduce Thread partition and reduce Thread |
| network usage when possible. |
| |
| ### Developer |
| |
| The following updates have been made for Developer workflows: |
| |
| #### Tools |
| |
| * Changed the auth library used by `ffx product` to use `gcloud` client id and |
| secret. |
| * Stopped producing Product Bundle version 1. |
| |
| #### Command Line |
| |
| * Added `fuchsia-sdk-run` to the IDK. |
| * Added `funnel` to the SDK. |
| * Added `ffx test` to SDK. |
| * Added `ffx package archive add`. |
| * Added `ffx package archive remove`. |
| * `ffx assembly`: Added support for `power-manager` configuration to board input |
| bundles. |
| * `ffx assembly`: Added support for `power-manager` thermal configuration to board |
| input bundles. |
| * `ffx assembly`: Moved kernel into its own platform input bundle. |
| * `ffx component start`: Added `--debug` flag. |
| * `ffx debug`: Fixed help for `--debugger` flag. |
| * `ffx emu`: Updated the start help documentation. |
| * `ffx product`: Added support for getting product version from the product |
| bundle. |
| * `ffx product`: Added `--machine` product lookup. Also added a fix for list. |
| * `ffx scrutiny`: Added a `pre_signing` scrutiny verifier. |
| * Removed `ffx guest` as it's no longer used. |
| * Removed the deprecated `ffx product get` command. |
| * Removed the deprecated `oob auth` for `ffx product`. |
| * Removed `ffx power` from the SDK. |
| * Removed `lsblk` from `ffx driver`. |
| |
| ### Diagnostics |
| |
| The following updates have been made for Diagnostics: |
| |
| * Added support for `log_listener` to return JSON logs. |
| * Added log macros to the C++ and Rust syslog libraries. |
| * Improved memory usage across many components by lazily initializing the |
| Publisher in `diagnostics_log`. |
| * Improved the support of tracing crate spans on the Rust logging library. |
| * Updated the diagnostics pipeline configurations to be part of assembly. |
| |
| ### FIDL |
| |
| The following updates have been made for FIDL: |
| |
| * Added enforcement of the replacement syntax from [RFC-0231][rfc-0231]. |
| * Implemented the replacement syntax from [RFC-0231][rfc-0231]. |
| * Improved error message for `@available` order. |
| * Updated bindings for HLCPP to emit alias definitions. |
| |
| ### Firmware |
| |
| The following updates have been made for Firmware: |
| |
| * Updated build to 64-bit compiler toolchain. |
| |
| ### Fleet Services (Managed OS and Forensics) |
| |
| The following updates have been made for Fleet Services: |
| |
| #### Cobalt |
| |
| * Switched to HPKE for encryption which reduces network bandwidth usage. |
| |
| ### Platform Drivers |
| |
| The following updates have been made for Platform Drivers: |
| |
| * Fixed a bug in CRC calculation for GPT (GUID Partition Table). |
| |
| ### Timekeeping |
| |
| The following updates have been made for Timekeeping: |
| |
| * Improved UTC clock management. |
| |
| [rfc-0231]: /docs/contribute/governance/rfcs/0231_fidl_versioning_replacement_syntax.md |