blob: d4d5507ed87008a837c4a32c8d113e6b456b217f [file] [view] [edit]
**Version:** F23
The following changes have been implemented:
## A11y
The following updates have been made for A11y:
* Improved screen reader behavior by fixing bugs related to behavior with
disabled nodes.
## Audio
The following updates have been made for Audio.
* **Audio drivers and driver API**:
* Opened key FIDL protocols related to audio signal processing and ring
buffers for improved ABI compatibility.
* Changes: [fxr/1105376](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105376)
* Changed devfs alias names for composite audio to align with standard naming.
* Changes: [fxr/1101196](https://fuchsia-review.googlesource.com/c/fuchsia/+/1101196)
* Added inspect for power transitions (`aml-g12-tdm` audio driver).
* Changes: [fxr/1107073](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107073)
* Added tracing for power transitions for the `aml-g12-tdm` driver.
* Changes: [fxr/1103681](https://fuchsia-review.googlesource.com/c/fuchsia/+/1103681)
* Improved logging for the `aml-g12-audio-composite` driver.
* Changes: [fxr/1103473](https://fuchsia-review.googlesource.com/c/fuchsia/+/1103473)
* **AudioCore and smart display support**:
* Disabled some audio tests that were causing SSH connection errors.
* Changes: [fxr/1100487](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100487)
* **AudioDeviceRegistry service**:
* Added tracing to `audio_device_registry` to track power transitions.
* Changes: [fxr/1103681](https://fuchsia-review.googlesource.com/c/fuchsia/+/1103681)
* Clarified logging.
* Changes: [fxr/1103473](https://fuchsia-review.googlesource.com/c/fuchsia/+/1103473)
* Modified the `WatchDevicesAdded` method to respond immediately to the first
call, even with an empty vector.
* Changes: [fxr/1100522](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100522)
* **Audio developer tools**:
* Added a `--channels` flag to the `ffx audio device play` command to control
active channels and the audio device's power state.
* Changes: [fxr/1097680](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097680)
* Fixed glitches and ring buffer handling in `ffx audio record` and
`ffx audio device record` to correctly capture audio.
* Changes: [fxr/1097205](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097205),
[fxr/1096946](https://fuchsia-review.googlesource.com/c/fuchsia/+/1096946)
## Bluetooth
The following updates have been made for Bluetooth:
* **The Message Access Service (MAS) client has been implemented, enabling
connection to multiple MAS instances.**
* Change: [fxr/1099712](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099712)
* **Hands-Free Profile (HFP) now supports `AudioDeviceRegistry` products and is
more compatible:** HFP now uses the first supported DAI frame format for
improved hardware compatibility. On products using the `AudioDeviceRegistry`,
peers are added to the registry on connect, and Media can start/stop audio
without an active call.
* Changes: [fxr/1065732](https://fuchsia-review.googlesource.com/c/fuchsia/+/1065732),
[fxr/1057872](https://fuchsia-review.googlesource.com/c/fuchsia/+/1057872),
[fxr/1101553](https://fuchsia-review.googlesource.com/c/fuchsia/+/1101553)
* **BR/EDR Legacy Pairing now supports PIN code requests and integrates with
the `PairingStateManager` to manage pairing method selection (SSP or legacy).
Configuration for enabling/disabling legacy pairing based on product assembly
has also been added.** Inspect properties for pairing have been updated to
reflect these changes.
* Changes: [fxr/1069533](https://fuchsia-review.googlesource.com/c/fuchsia/+/1069533),
[fxr/1108261](https://fuchsia-review.googlesource.com/c/fuchsia/+/1108261),
[fxr/1102453](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102453),
[fxr/1102393](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102393),
[fxr/1103486](https://fuchsia-review.googlesource.com/c/fuchsia/+/1103486)
* Bugs: [b/342151162](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=342151162),
* **L2CAP connection-oriented channels have been added.**
* Change: [fxr/1086595](https://fuchsia-review.googlesource.com/c/fuchsia/+/1086595)
* **LE remote feature interrogation can now fail gracefully, improving
connection compatibility.**
* Change: [fxr/1108632](https://fuchsia-review.googlesource.com/c/fuchsia/+/1108632)
* **Bluetooth FIDL modernization:** Several enums updated to be flexible.
`Vendor` protocol has updated terminology and documentation. Flow control has
been reworked for `fuchsia.bluetooth.Channel` and related protocols, using
FIDL flow control over zircon sockets. Support for L2CAP connection-oriented
channels. With these changes, many Bluetooth protocols are also staged to be
added to the SDK.
* Changes: [fxr/1103553](https://fuchsia-review.googlesource.com/c/fuchsia/+/1103553),
[fxr/1102285](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102285),
[fxr/1102284](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102284),
[fxr/1101106](https://fuchsia-review.googlesource.com/c/fuchsia/+/1101106),
[fxr/1099715](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099715),
[fxr/1102457](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102457),
[fxr/1101016](https://fuchsia-review.googlesource.com/c/fuchsia/+/1101016),
[fxr/1100697](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100697),
[fxr/1102535](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102535),
[fxr/1086595](https://fuchsia-review.googlesource.com/c/fuchsia/+/1086595),
[fxr/1105014](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105014),
[fxr/1105646](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105646)
* **Embossified various Bluetooth test functions to use emboss definitions:**
This is a change from using packed structs.
* Change: [fxr/1108697](https://fuchsia-review.googlesource.com/c/fuchsia/+/1108697),
[fxr/1107957](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107957),
[fxr/1108733](https://fuchsia-review.googlesource.com/c/fuchsia/+/1108733),
[fxr/1108772](https://fuchsia-review.googlesource.com/c/fuchsia/+/1108772),
[fxr/1107956](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107956),
[fxr/1099714](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099714),
[fxr/1099716](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099716),
[fxr/1098652](https://fuchsia-review.googlesource.com/c/fuchsia/+/1098652)
* Bug: [b/42167863](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=42167863)
## Build
The following updates have been made for Build:
* **Added a new environment variable, `TEST_UNDECLARED_OUTPUTS_DIR_OVERRIDE`,
to control the location where undeclared outputs are written**: This is
useful for testing purposes.
* Changes: [fxr/1110434](https://fuchsia-review.googlesource.com/c/fuchsia-infra-bazel-rules/+/1110434)
* **Added a bazel build target for `scoped_global_logger`**: This target is
for in-tree Bazel targets.
* Changes: [fxr/1108085](https://fuchsia-review.googlesource.com/c/fuchsia/+/1108085)
## Cobalt
The following updates have been made for Cobalt:
* **Migrated the Cobalt component to use the `FUCHSIA_LOG` macro** instead of
the deprecated `fuchsia_logging::` severity levels.
* Changes: [fxr/1110397](https://fuchsia-review.googlesource.com/c/fuchsia/+/1110397)
* Bugs: [b/299996898](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=299996898)
## Component Framework
The following updates have been made for Component Framework:
* **Added support for Component Manager to rout runner capabilities from the
`environment` and config values from dictionaries.**
* Changes: [fxr/1097572](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097572),
[fxr/1100312](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100312)
* **Added support for weak service offers in `fuchsia.component.decl`.**
* Changes: [fxr/1098532](https://fuchsia-review.googlesource.com/c/fuchsia/+/1098532)
* Bugs: [b/356347441](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=356347441)
* **Removed dynamic config capabilities and replaced with bedrock
dictionaries.**
* Changes: [fxr/1099592](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099592)
* **Component exit code and termination status are now reported in the `OnStop`
event, and `StopConclusion` and `ComponentStopOutcome` have been merged for
simplified component stopping.**
* Changes: [fxr/1099940](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099940),
[fxr/1097098](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097098)
## Connectivity Drivers
The following updates have been made for Connectivity Drivers:
* **The `dwmac` driver now directly implements the NetworkDevice protocol,
improving performance in most benchmarks.**
* Changes: [fxr/1089712](https://fuchsia-review.googlesource.com/c/fuchsia/+/1089712)
* Bugs: [fxb/42068759](https://fxbug.dev/42068759)
* **The `brcmfmac` driver now correctly sets the wnm iovar, resolving a
`BCME_BUSY` error on VIM3.**
* Changes: [fxr/1097798](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097798)
* **Removed the `fuchsia.hardware.network/DeviceClass` the latest NEXT API
version, affecting `fuchsia.net.interfaces/Properties`.**
* Changes: [fxr/1099292](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099292)
* **Fixed filter-fidl tests by retaining sockets for each test case:** The
filter-fidl tests are flaking due to subsequent test cases binding sockets
that happen to pick the same ports as preceding ones. This change keeps the
previous cases' sockets open so that the netstack will pick fresh ports
for each case.
* Changes: [fxr/1099412](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099412)
* **Updated the weave/tests to use the modern route FIDL APIs:** This is a
change from using the deprecated `fuchsia.net.stack AddForwardingEntry` for
adding routes, use `fuchsia.net.routes.admin`.
* Changes: [fxr/1097719](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097719)
* Bugs: [b/42081105](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=42081105)
* **Avoided the `unused_tuple_struct Lint` by making the members of
KeepResource named.**
* Changes: [fxr/1097972](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097972)
## Diagnostics
The following updates have been made for Diagnostics:
* **Archivist:**
* Enabled initial interest configuration from assembly.
* Changes: [fxr/1107987](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107987)
* Improved Inspect name filtering.
* Changes: [fxr/1096232](https://fuchsia-review.googlesource.com/c/fuchsia/+/1096232),
[fxr/1100559](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100559)
* **Sampler:**
* Suppressed a spammy warning related to component IDs in templates and a
dead-code lint in the validator.
* Changes: [fxr/1109450](https://fuchsia-review.googlesource.com/c/fuchsia/+/1109450),
[fxr/1101655](https://fuchsia-review.googlesource.com/c/fuchsia/+/1101655)
* Bugs: [b/351850634](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=351850634)
* **Syslog:**
* Improved the relevant C++ libraries.
* Bugs: [b/299996898](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=299996898)
* **Ensured inspect-runner based tests are treated as system tests.**
* Changes: [fxr/1102372](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102372)
## Display
The following updates have been made for Display:
* **Migrated the display driver stack to modern Fuchsia Platform infrastructure,
such as DFv2 and FIDL.** No user-visible changes are expected.
* **Renamed display drivers for consistency:**
* `simple-display` to `framebuffer-display`.
* `intel-i915` to `intel-display`.
* `virtio-guest` to `virtio-gpu-display`.
## Driver Framework
The following updates have been made for Driver Framework:
* **Improved the platform bus library's interrupt mode by switching to an enum
representation, increasing type safety and code clarity.**
* Changes: [fxr/1100893](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100893)
* **Renamed driver collections based on their resolver.**
* Changes: [fxr/1105706](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105706)
* ** Simplified `ScopedGlobalLogger` for improved test logging, and a previously
disabled test has been re-enabled and updated. An unused API associated with a
removed test has also been deleted.**
* Changes: [fxr/109755](https://fuchsia-review.googlesource.com/c/fuchsia/+/1109755),
[fxr/1109495](https://fuchsia-review.googlesource.com/c/fuchsia/+/1109495),
[fxr/1110349](https://fuchsia-review.googlesource.com/c/fuchsia/+/1110349)
* **Updated GPIO FIDL:** Added an empty bits type for future interrupt options,
and renamed `SetPolarity` to `ConfigureInterrupt`. GPIO init metadata was
also switched to use pinimpl types.
* Changes: [fxr/1102576](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102576),
[fxr/1077897](https://fuchsia-review.googlesource.com/c/fuchsia/+/1077897),
[fxr/1073686](https://fuchsia-review.googlesource.com/c/fuchsia/+/1073686)
* Bugs: [fxb/42082459](https://fxbug.dev/42082459)
* **Improved the `ScopedGlobalLogger` implementation by simplifying it:**As it
never actually makes any async calls, there is no need to create a thread for
the logger.
* Changes: [fxr/1109755](https://fuchsia-review.googlesource.com/c/fuchsia/+/1109755)
* **Simplified the forwarding mechanism in `driver_test_realm` by using
`realm_builder_exposed_dir` to forward connections:** This fixes an issue
with exposing the fuchsia.hardware.ramdisk service which wasn't using the
forwarding mechanism, and also allows us to use `dtr_exposes` rather than the
deprecated exposes Start argument.
* Changes: [fxr/1098232](https://fuchsia-review.googlesource.com/c/fuchsia/+/1098232)
* **Migrated deprecated driver test library pieces into the internal
namespace:** Added a warning to tests that are using the namespace to prevent
new tests from copying those tests.
* Changes: [fxr/1105273](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105273)
* **Improved the driver transport and simple driver with additional unit tests
and code refinements:** The driver transport example now
showcases FIDL client interaction, optimize d transfer size queries, and
improved bitrate setting, while the simple driver example demonstrates the
difference between Foreground and Background driver tests.**
* Changes: [fxr/1100571](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100571),
[fxr/1096296](https://fuchsia-review.googlesource.com/c/fuchsia/+/1096296)
## FIDL
The following updates have been made for FIDL:
* **Updated Several FIDL protocols related to audio and component management for
ABI compatibility:** `fuchsia.hardware.audio.signalprocessing/Reader` and
`fuchsia.hardware.audio/RingBuffer` now have flexible methods and open
protocols (along with their composing protocols).
`fuchsia.component/ComponentController` is now open with flexible `OnEscrow`
and `OnStopInfo` events.
* Changes: [fxr/1105376](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105376),
[fxr/1105374](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105374)
* Bugs: [fxb/356225729](https://fxbug.dev/356225729)
* **Improved the FIDL build system:** "Unversioned" FIDL libraries no longer
undergo compatibility tests, and "versioned" logic is consolidated in the
build template. Also, regenerated Go bindings for `fuchsia.io`.
* Changes: [fxr/1110521](https://fuchsia-review.googlesource.com/c/fuchsia/+/1110521),
[fxr/1110519](https://fuchsia-review.googlesource.com/c/fuchsia/+/1110519),
[fxr/1110085](https://fuchsia-review.googlesource.com/c/fuchsia/+/1110085)
* Bugs: [fxb/325669391](https://fxbug.dev/325669391),
[fxb/356225729](https://fxbug.dev/356225729)
## GPU
The following updates have been made for GPU:
* Merged upstream changes for `arm-mali` GPU driver.
## Kernel
The following updates have been made for Kernel:
* **Virtual memory:**
* Disallowed stream creation for physical or contiguous VMOs.
* Changes: [fxr/1021612](https://fuchsia-review.googlesource.com/c/fuchsia/+/1021612)
* Bugs: [fxb/330793404](https://fxbug.dev/330793404)
* Began to eliminate the `pmm_` wrapper functions around the goal PmmNode.
* Changes: [fxr/1102014](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102014)
* Added an option for supplying zeros to VMOs beyond their content size.
* Changes: [fxr/1104694](https://fuchsia-review.googlesource.com/c/fuchsia/+/1104694)
* Disallowed cache ops on physical VMOs.
* Changes: [fxr/1097312](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097312)
* Added new PMM arena selection algorithm.
* Changes: [fxr/1074514](https://fuchsia-review.googlesource.com/c/fuchsia/+/1074514)
* **Power:**
* Added support for pausing monotonic timer behind feature flag.
* Changes: [fxr/1093967](https://fuchsia-review.googlesource.com/c/fuchsia/+/1093967)
* **Other:**
* Removed support for IMX UART.
* Changes: [fxr/1098052](https://fuchsia-review.googlesource.com/c/fuchsia/+/1098052)
* Bugs: [fxb/326502088](https://fxbug.dev/326502088)
## Matter
The following updates have been made for Matter:
* **Improved Matter/GHP:** Fixed bugs and improved stability.
## Platform Drivers
The following updates have been made for Platform Drivers:
* **Added a FIDL API in SPMI that represents target/secondary SPMI devices on a
bus, enabling support for multiple devices.**
* Changes: [fxr/1104132](https://fuchsia-review.googlesource.com/c/fuchsia/+/1104132)
* Bugs: [361309707](https://fxbug.dev/361309707)
* **Enhanced GPIO with a new FIDL bits type for future interrupt options and
migrated toward the `pinimpl` protocol.** The core driver now selects between
`gpioimpl` and `pinimpl`.
* Changes: [fxr/1077897](https://fuchsia-review.googlesource.com/c/fuchsia/+/1077897),
[fxr/1102576](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102576),
[fxr/1106972](https://fuchsia-review.googlesource.com/c/fuchsia/+/1106972)
* Bugs: [fxb/42082459](https://fxbug.dev/42082459)
* **Enhanced I2C to include devicetree visitor support for multiple peripheral
addresses in the `reg` field, and added the I2C address to generated node
properties.** This simplifies handling of complex I2C configurations.
* Changes: [fxr/1105482](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105482),
[fxr/1105615](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105615)
* **Added a devicetree visitor for SPI, attaching `fuchsia.hardware.spi.businfo`
metadata to `spiimpl` nodes.**
* Changes: [fxr/1095739](https://fuchsia-review.googlesource.com/c/fuchsia/+/1095739)
* **Added resource properties to platform devices, allowing driver validation of
correct resource allocation.**
* Changes: [fxr/1107895](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107895)
* **Added device tree source for Banana Pi F3.**
* Changes: [fxr/1099853](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099853)
## Rust
The following updates have been made for Rust:
* **Enabled rustdoc subtargets for first and third-party crates, providing an
`fx rustdoc-link` script to merge generated documentation.**
* Changes: [fxr/1104273](https://fuchsia-review.googlesource.com/c/fuchsia/+/1104273)
* **Improved detection of unreachable patterns, especially with `never` or
`Infallible`.**
* Changes: [fxr/1102156](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102156),
[fxr/1102157](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102157),
[fxr/1102158](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102158),
[fxr/1102159](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102159)
* Bugs: [fxb/357638987](https://fxbug.dev/357638987)
* **Updated several dependencies, including a fix for the `nom`
`minimal-lexical` dependency, and enabled new features in the `hex` and `log`
crates.**
* **Temporarily disabled Rust LTO due to incompatibility with LLD.**
## Software Delivery
The following updates have been made for Software Delivery:
* **Improved the Omaha client and pkgctl command.**
* Changes: [fxr/1106796](https://fuchsia-review.googlesource.com/c/fuchsia/+/1106796),
[fxr/1096372](https://fuchsia-review.googlesource.com/c/fuchsia/+/1096372)
* Bugs: [fxb/357638242](https://fxbug.dev/357638242)
* **Added commands to manipulate blobs and fixed related bugs.**
* Changes: [fxr/1045998](https://fuchsia-review.googlesource.com/c/fuchsia/+/1045998)
* **Improved the pkg command and fixed a bug in the omaha-client.**
* Changes: [fxr/1098171](https://fuchsia-review.googlesource.com/c/fuchsia/+/1098171),
[fxr/1099243](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099243)
* **Added collision checking to the artifactory command.**
* Changes: [fxr/1098024](https://fuchsia-review.googlesource.com/c/fuchsia/+/1098024)
* **Fixed clippy lints and re-enabled warn-all on some targets.**
* Changes: [fxr/1099405](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099405)
* Bugs: [fxb/356474618](https://fxbug.dev/356474618)
## Starnix
The following updates have been made for Starnix:
* **Modularized several file systems.** selinuxfs, layeredfs, overlayfs,
functionfs, tracefs, FUSE, tun, ext4, and the loop device are now modularized.
File system registrations and creation are also centralized, and nmfs is
registered using `FsRegistry`.
* Changes: [fxr/1109332](https://fuchsia-review.googlesource.com/c/fuchsia/+/1109332),
[fxr/1107894](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107894),
[fxr/1107711](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107711),
[fxr/1107707](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107707),
[fxr/1107735](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107735),
[fxr/1107713](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107713),
[fxr/1107654](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107654),
[fxr/1105433](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105433),
[fxr/1108552](https://fuchsia-review.googlesource.com/c/fuchsia/+/1108552),
[fxr/1105168](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105168),
[fxr/1105640](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105640),
[fxr/1106201](https://fuchsia-review.googlesource.com/c/fuchsia/+/1106201)
* **Improved the Starnix runner with new features:** Moved runner utilities to a
library, hrtimer events can wake containers, added `SuspendContainer`, and
added a feature flag for internal wake locks.
* Changes: [fxr/1111192](https://fuchsia-review.googlesource.com/c/fuchsia/+/1111192),
[fxr/1111093](https://fuchsia-review.googlesource.com/c/fuchsia/+/1111093),
[fxr/1111092](https://fuchsia-review.googlesource.com/c/fuchsia/+/1111092),
[fxr/1110673](https://fuchsia-review.googlesource.com/c/fuchsia/+/1110673),
[fxr/1109192](https://fuchsia-review.googlesource.com/c/fuchsia/+/1109192)
* **Added support for PERCPU\_ARRAY map type in BPF.**
* Changes: [fxr/1111712](https://fuchsia-review.googlesource.com/c/fuchsia/+/1111712)
* **Updated the input system.** The `is_uinput_running()` function is fixed, an
ioctl for retrieving device names is added, and input devices now use unique
Fuchsia vendor and product IDs.
* Changes: [fxr/1110634](https://fuchsia-review.googlesource.com/c/fuchsia/+/1110634),
[fxr/1103574](https://fuchsia-review.googlesource.com/c/fuchsia/+/1103574),
[fxr/1102435](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102435)
* **Enhanced POSIX timer syscalls.** Support for the alarm type is added,
timer deadlines are refactored, and a pointer check in `timer_settime` is
corrected.
* Changes: [fxr/1104312](https://fuchsia-review.googlesource.com/c/fuchsia/+/1104312),
[fxr/1103868](https://fuchsia-review.googlesource.com/c/fuchsia/+/1103868),
[fxr/1105016](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105016)
* **Updated the Open syscall API.** Removed the Open1 fallback and Open3 is now
required. StarnixNodeConnection now implements Open3.
* Changes: [fxr/1100253](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100253),
[fxr/1100860](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100860)
* Bugs: [fxb/359323478](https://fxbug.dev/359323478),
[fxb/360032389](https://fxbug.dev/360032389)
* **Fixed how symlink target sizes are reported in remotefs.**
* Changes: [fxr/1097114](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097114)
* **SELinux received substantial improvements.** Audit logs are emitted to the
kernel log, file system labeling is improved, fake mode is disabled, and a
metadata file is added.
* Changes: [fxr/1106432](https://fuchsia-review.googlesource.com/c/fuchsia/+/1106432),
[fxr/1091452](https://fuchsia-review.googlesource.com/c/fuchsia/+/1091452),
[fxr/1097713](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097713)
## Testing
The following updates have been made for Testing:
* **Improved iperf benchmarks by storing artifacts in a per benchmark case
directory:** This fixes a problem where the server JSON output file and the
`trace.fxt` file were clobbering each other.
* Changes: [fxr/1100484](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100484)
* **Updated the iperf benchmarks that run over loopback run against a hermetic
netstack:** Existing tests were repurposed to run iperf using netemul sandbox
and modified into benchmarks. The existing python script for running the
iperf benchmarks was kept to reuse the logic for turning iperf JSON output
to fuchsiaperf output.
* Changes: [fxr/1096183](https://fuchsia-review.googlesource.com/c/fuchsia/+/1096183)
* Bugs: [fxb/349129633](https://fxbug.dev/349129633)
## Thread
The following updates have been made for Thread:
* **Enabled full-duplex transaction for the ot-radio module:** This change
improves the performance of the `ot-radio` driver and resolved an issue
of starving TX transactions when throughput is high in both TX and RX
direction.
* Changes: [fxr/1099455](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099455)
## Timekeeping
The following updates have been made for Timekeeping:
* **Added more balanced time source logging**.
* Changes: [fxr/1108513](https://fuchsia-review.googlesource.com/c/fuchsia/+/1108513),
[fxr/1108727](https://fuchsia-review.googlesource.com/c/fuchsia/+/1108727),
[fxr/1104327](https://fuchsia-review.googlesource.com/c/fuchsia/+/1104327),
[fxr/1103866](https://fuchsia-review.googlesource.com/c/fuchsia/+/1103866)
* **Added the ability to force-start from RTC:** This change adds the ability
to force-start the clock from RTC, but ignores known bad RTC readings.
* Changes: [fxr/1100898](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100898)
## Toolchain
The following updates have been made for Toolchain:
* **Updated the Fuchsia platform and Zircon toolchain to use C++20 and Clang
default configurations.**
* Changes: [fxr/1093351](https://fuchsia-review.googlesource.com/c/fuchsia/+/1093351),
[fxr/1111012](https://fuchsia-review.googlesource.com/c/fuchsia/+/1111012)
* Bugs: [fxb/42064981](https://fxbug.dev/42064981)
* **Updated C++ toolchains to generate link maps by default.**
* Changes: [fxr/1100073](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100073)
* Bugs: [fxb/358673680](https://fxbug.dev/358673680)
* **Enabled Shadow Call Stack (SCS) for Rust on AArch64 and RISC-V.**
* Changes: [fxr/791504](https://fuchsia-review.googlesource.com/c/fuchsia/+/791504)
* Bugs: [fxb/42069386](https://fxbug.dev/42069386),
[fxb/360955800](https://fxbug.dev/360955800)
* **Added missing headers after the libc++ update for Fuchsia and Cobalt.**
* Changes: [fxr/1100755](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100755),
[fxr/1100813](https://fuchsia-review.googlesource.com/c/cobalt/+/1100813)
* Bugs: [fxb/359865937](https://fxbug.dev/359865937)
* **Updated the `emit_tool_path` variable to be plumbed through the Rust GNIs.**
* Changes: [fxr/1100759](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100759)
## Tools
The following updates have been made for Tools:
* **Improved the debugger, including support for collecting minidumps from
attached processes (useful for debugging test timeouts), a fix for a crash
caused by unverified line table entries, consistent inclusion of the SSH port
in end-to-end tests, an update to the `CURRENT_SUPPORTED_API_LEVEL` to 22
(removing older IPC version compatibility), and removal of the legacy
DebugAgent launcher.**
* Changes: [fxr/1093293](https://fuchsia-review.googlesource.com/c/fuchsia/+/1093293),
[fxr/1110912](https://fuchsia-review.googlesource.com/c/fuchsia/+/1110912),
[fxr/1110833](https://fuchsia-review.googlesource.com/c/fuchsia/+/1110833),
[fxr/1110832](https://fuchsia-review.googlesource.com/c/fuchsia/+/1110832),
[fxr/1108313](https://fuchsia-review.googlesource.com/c/fuchsia/+/1108313),
[fxr/1093292](https://fuchsia-review.googlesource.com/c/fuchsia/+/1093292)
* Bugs: [fxb/356667550](https://fxbug.dev/356667550),
[fxb/360821506](https://fxbug.dev/360821506)
* **Updated DevShell to use jiri's updated argument ordering.**
* Changes: [fxr/1106816](https://fuchsia-review.googlesource.com/c/fuchsia/+/1106816)
* **Disabled VSCode's Source Control graph visualization to improve performance
with Fuchsia repositories.**
* Changes: [fxr/1108534](https://fuchsia-review.googlesource.com/c/fuchsia/+/1108534)
### ffx
The following updates have been made for `ffx`:
* **Improved the stability of the emulator stability.** Several changes were
made to improve emulator stability and address common issues.
* Changes: [fxr/1109333](https://fuchsia-review.googlesource.com/c/fuchsia/+/1109333),
[fxr/1109339](https://fuchsia-review.googlesource.com/c/fuchsia/+/1109339),
[fxr/1107716](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107716),
[fxr/1107892](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107892)
* **Added support for bootloader Fat partitions and EFI product bundles.** This
allows the emulator to launch from product bundles that only include
bootloader partitions or contain EFI based kernels.
* Changes: [fxr/1104347](https://fuchsia-review.googlesource.com/c/fuchsia/+/1104347),
[fxr/1094270](https://fuchsia-review.googlesource.com/c/fuchsia/+/1094270)
* **Added FfxCoreSubCommand and check\_core\_constraints.** This function makes
checks before command execution to ensure the command is invoked with the
machine interface, has only one config flag passed, and the config flag passed
is a path to a file. The target is also specified from the CLI. libfho will
invoke this function on the subtool before execution.
* Changes: [fxr/1109449](https://fuchsia-review.googlesource.com/c/fuchsia/+/1109449)
* **Added active\_channels to play command.** This adds a `--channels` flag to
the `ffx audio device play` command. This flag manipulates which channels are
activated and configures the audio device's power state from the CLI.
* Changes: [fxr/1097680](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097680)
* **Improved error handling.** Several improvements were made to the error
handling and reporting of ffx. This includes reporting SSH errors properly,
improving the error message for port in use, and adding an error for incorrect
build directories.
* Changes: [fxr/1109339](https://fuchsia-review.googlesource.com/c/fuchsia/+/1109339),
[fxr/1105292](https://fuchsia-review.googlesource.com/c/fuchsia/+/1105292),
[fxr/1106412](https://fuchsia-review.googlesource.com/c/fuchsia/+/1106412)
* **Updated `ffx` to support direct connections with the `--core` flag.** This
updates the ffx behavior for handling connections and providing FIDL protocols
for developers. When passing the `--core` flag to a command, non-daemon
behavior will be put to use where possible.
* Changes: [fxr/1097107](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097107)
* **Cleaned up old configuration generation code and added a new
`--assembly-override` option to `fx set`.** This option sets the new developer
assembly overrides mapping up correctly in `args.gn`.
* Changes: [fxr/1104135](https://fuchsia-review.googlesource.com/c/fuchsia/+/1104135),
[fxr/1098152](https://fuchsia-review.googlesource.com/c/fuchsia/+/1098152)
* **Updated `OvernetConnector` to exit early and removes unnecessary ASCII
art.**
* Changes: [fxr/1099468](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099468),
[fxr/1101054](https://fuchsia-review.googlesource.com/c/fuchsia/+/1101054),
[fxr/1100477](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100477),
[fxr/1098168](https://fuchsia-review.googlesource.com/c/fuchsia/+/1098168)
### fx
The following updates have been made for `fx`:
* **Updated `fx serve` to exclusively use the foreground repository server,
simplifying its operation. `ffx` is now the default repository server, and
related configurations have been updated. This also prepares for the removal
of pm.**
* Changes: [fxr/1100093](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100093),
[fxr/1100095](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100095),
[fxr/1100094](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100094),
[fxr/1100632](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100632)
* Bugs: [b/359260643](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=359260643)
* **Updated scripts to ensure they are on the path regardless of environment.**
This change ensures that the scripts directory can be found on the `PATH`,
even if the user has not used `fx-env.sh`.
* Changes: [fxr/1098552](https://fuchsia-review.googlesource.com/c/fuchsia/+/1098552)
* **Exposed `fx set --rbe-mode=MODE`.** This simplifies RBE configuration.
* Changes: [fxr/1092786](https://fuchsia-review.googlesource.com/c/fuchsia/+/1092786)
* **Re-implemented `fx status` in python.**
* Changes: [fxr/1099458](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099458)
### ffxutil
The following updates have been made for `ffxutil`:
* **Added SDK tool overrides in ffx config.**
* Changes: [fxr/1097204](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097204)
## UI
The following updates have been made for UI:
* **Updated input pipeline events to include device ID.**
* Changes: [fxr/1107757](https://fuchsia-review.googlesource.com/c/fuchsia/+/1107757)
* **Updated several UI tests to use new FIDL and C++ bindings.**
* Changes: [fxr/1108972](https://fuchsia-review.googlesource.com/c/fuchsia/+/1108972),
[fxr/1099294](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099294),
[fxr/1093512](https://fuchsia-review.googlesource.com/c/fuchsia/+/1093512),
[fxr/1091314](https://fuchsia-review.googlesource.com/c/fuchsia/+/1091314)
* **Refactored UI tests and updated WebTestBase to use GraphicalPresenter.**
* Changes: [fxr/1099772](https://fuchsia-review.googlesource.com/c/fuchsia/+/1099772),
[fxr/1101033](https://fuchsia-review.googlesource.com/c/fuchsia/+/1101033),
[fxr/1101032](https://fuchsia-review.googlesource.com/c/fuchsia/+/1101032)
## Video
The following updates have been made for Video:
* **Deprecated `SetTags` has it is being removed.** This change has been made
multiple times to address the deprecation of SetTags.
* Changes: [fxr/1106196](https://fuchsia-review.googlesource.com/c/fuchsia/+/1106196),
[fxr/1106197](https://fuchsia-review.googlesource.com/c/fuchsia/+/1106197),
[fxr/1100554](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100554)
* Bugs: [b/299996898](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=299996898)
* **Deprecated `BuildAndInitializeWithTags` and replacing it with `WithTags`.**
* Changes: [fxr/1100417](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100417)
* Bugs: [b/299996898](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=299996898)
* **Upstream libcxx changes the way how cmath header is implicitly included,
causing build breakages on Fuchsia. This patch adds the missing 'cmath'
include to multiple Fuchsia components.**
* Changes: [fxr/1098073](https://fuchsia-review.googlesource.com/c/fuchsia/+/1098073)
* Bugs: [fxb/358451491](https://fxbug.dev/358451491)
* **Routing LogSink manually is not needed, as this is done implicitly through
the client shard. Future CLs will update the routing used in the shard, so
it's necessary to cleanup these duplicate routes in order to update the
shards.**
* Changes: [fxr/1097792](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097792)
## WLAN
The following updates have been made for WLAN:
* **Added roaming functionality.** This feature allows WLAN to initiate roaming
through the fullmac device firmware. Upon roam, the Policy roam monitor is
now reinitialized to improve reliability.
* Changes: [fxr/914513](https://fuchsia-review.googlesource.com/c/fuchsia/+/914513),
[fxr/1110335](https://fuchsia-review.googlesource.com/c/fuchsia/+/1110335),
[fxr/1108533](https://fuchsia-review.googlesource.com/c/fuchsia/+/1108533)
* **Changed FullmacDevice to use FIDL channel instead of Banjo.** Improves
performance by using FIDL channels for communication between the FullmacDevice
struct and the vendor driver.
* Changes: [fxr/1085652](https://fuchsia-review.googlesource.com/c/fuchsia/+/1085652),
[fxr/1091692](https://fuchsia-review.googlesource.com/c/fuchsia/+/1091692),
[fxr/1092932](https://fuchsia-review.googlesource.com/c/fuchsia/+/1092932),
[fxr/1092933](https://fuchsia-review.googlesource.com/c/fuchsia/+/1092933)
* **Improved WLAN logging.** `wlancfg` now captures a snapshot of the system
state when it successfully recovers from WLAN issues. The
`client-connections-toggle-events` node has been renamed, the log line now
correctly states that the country code was received. The interface manager
will log the state of all client and AP state machines before taking action
during recovery. The `wlan_connectivity_states`, `connected_networks`,
`disconnected_networks`, and `disconnect_sources` time series are now logged.
* Changes: [fxr/1109979](https://fuchsia-review.googlesource.com/c/fuchsia/+/1109979),
[fxr/1100479](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100479),
[fxr/1100875](https://fuchsia-review.googlesource.com/c/fuchsia/+/1100875),
[fxr/1088737](https://fuchsia-review.googlesource.com/c/fuchsia/+/1088737),
[fxr/1088952](https://fuchsia-review.googlesource.com/c/fuchsia/+/1088952)
* **Cleaned up tech-debt.** The `log_cobalt_1dot1` macro has been made
hygienic, AP state machines now expose their current state information, and
two clippy lints have been addressed. Metric expiration has been updated.
* Changes: [fxr/1103634](https://fuchsia-review.googlesource.com/c/fuchsia/+/1103634),
[fxr/1088736](https://fuchsia-review.googlesource.com/c/fuchsia/+/1088736),
[fxr/1102192](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102192),
[fxr/1097681](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097681)
* Bugs: [fxb/357638987](https://fxbug.dev/357638987)
* **Fixed WLAN issues.** An issue has been fixed where a phy removal during
iface removal could result in `wlandevicemonitor` keeping a stale iface. The
`send_assoc_req_frame` function no longer has arguments. The
`WlanFullmacImplIfc` FFI is no longer accessed after `stop_fullmac_mlme()`
has been called.
* Changes: [fxr/1102334](https://fuchsia-review.googlesource.com/c/fuchsia/+/1102334),
[fxr/1106252](https://fuchsia-review.googlesource.com/c/fuchsia/+/1106252),
[fxr/1097714](https://fuchsia-review.googlesource.com/c/fuchsia/+/1097714)