blob: 809dcd3d0fb85f20f351f63a4876feb819dd9c85 [file] [log] [blame] [view] [edit]
**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