| **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) |