blob: 99f97f536e266dd8d29ca7999ca2330f0373c92c [file] [log] [blame] [view] [edit]
**Date:** July 15, 2025
**Version:** F27
The following changes have been implemented:
## A11y
The following updates have been made for A11y:
* **Improved A11yManager modularity** by making the `ColorConverter` protocol
connection conditional on the `AttachA11yView` flag.
* Changes: [fxr/1207064](https://fuchsia-review.googlesource.com/c/fuchsia/+/1207064)
## Audio
The following updates have been made for Audio:
* **Improved the Audio Device Registry (ADR)** to gracefully handle Composite
device removals, preventing potential crashes. A new platform configuration
flag has also been introduced to control the eager startup of the ADR
service.
* Changes:
[fxr/1261445](https://fuchsia-review.googlesource.com/c/fuchsia/+/1261445),
[fxr/1228466](https://fuchsia-review.googlesource.com/c/fuchsia/+/1228466),
[fxr/1228525](https://fuchsia-review.googlesource.com/c/fuchsia/+/1228525)
* **Enhanced audio drivers** for improved stability and identification.
AML-G12 drivers now expose `manufacturer` and `product` properties, use the
SDK `platform-device` library, and no longer crash if `Stop` is called
before `Start`. The `intel-hda` driver now correctly handles the creation of
a second ring buffer.
* Changes:
[fxr/1258030](https://fuchsia-review.googlesource.com/c/fuchsia/+/1258030),
[fxr/1239285](https://fuchsia-review.googlesource.com/c/fuchsia/+/1239285),
[fxr/1238289](https://fuchsia-review.googlesource.com/c/fuchsia/+/1238289),
[fxr/1239505](https://fuchsia-review.googlesource.com/c/fuchsia/+/1239505),
[fxr/1239045](https://fuchsia-review.googlesource.com/c/fuchsia/+/1239045)
* Bugs: [fxb/366517646](https://fxbug.dev/366517646),
* **Updated the virtual audio driver** to offer the `Composite` FIDL protocol
directly, deprecating `CompositeConnector`. The modern, non-legacy virtual
audio driver is now included in development builds, verified by tests, and
has partial support for position notifications.
* Changes:
[fxr/1257744](https://fuchsia-review.googlesource.com/c/fuchsia/+/1257744),
[fxr/1210065](https://fuchsia-review.googlesource.com/c/fuchsia/+/1210065),
[fxr/1251145](https://fuchsia-review.googlesource.com/c/fuchsia/+/1251145),
[fxr/1251144](https://fuchsia-review.googlesource.com/c/fuchsia/+/1251144)
* Bugs: [fxb/388880875](https://fxbug.dev/388880875)
* **Significantly enhanced the `audio_driver_tests` suite** with comprehensive
negative testing, fixes for race conditions, and a 25% reduction in
execution time. The suite is now split into `basic`, `admin`, and `realtime`
packages for more targeted testing.
* Changes:
[fxr/957396](https://fuchsia-review.googlesource.com/c/fuchsia/+/957396),
[fxr/1254332](https://fuchsia-review.googlesource.com/c/fuchsia/+/1254332),
[fxr/1254326](https://fuchsia-review.googlesource.com/c/fuchsia/+/1254326),
[fxr/1253644](https://fuchsia-review.googlesource.com/c/fuchsia/+/1253644),
[fxr/1251224](https://fuchsia-review.googlesource.com/c/fuchsia/+/1251224),
[fxr/1241090](https://fuchsia-review.googlesource.com/c/fuchsia/+/1241090)
* **Expanded service routing for audio capabilities** to aid migration away
from devfs. The `StreamConfigConnectorService` has been split into distinct
`Input` and `Output` services.
* Changes:
[fxr/1221166](https://fuchsia-review.googlesource.com/c/fuchsia/+/1221166),
[fxr/1221224](https://fuchsia-review.googlesource.com/c/fuchsia/+/1221224)
## Bluetooth
The following updates have been made for Bluetooth:
* **Allow multiple LE advertisements with the same local address**
* Changes: [pwrev.dev/294754](http://pwrev.dev/294754),
[pwrev.dev/295234](http://pwrev.dev/295234)
* Bugs: [fxb/42158085](http://fxb/42158085)
* **Introduced a way to configure the SCO index** for offloaded audio and
updated the test harness to offer this capability.
* Changes:
[fxr/1261384](https://fuchsia-review.googlesource.com/c/fuchsia/+/1261384),
[fxr/1257764](https://fuchsia-review.googlesource.com/c/fuchsia/+/1257764)
* **Introduced and implemented the
`fuchsia.bluetooth.sys.Access.SetConnectionPolicy` FIDL API**, allowing
applications to control the BR/EDR connectability of the Bluetooth stack.
* Changes:
[fxr/1232025](https://fuchsia-review.googlesource.com/c/fuchsia/+/1232025),
[fxr/1231720](https://fuchsia-review.googlesource.com/c/fuchsia/+/1231720)
* **Refactored the Hands-Free Profile (HFP) configuration schema** to
explicitly enable Audio Gateway (AG) and Hands-Free (HF) roles with specific
features, completing the migration from the deprecated
`bluetooth.hfp.enabled` field.
* Changes:
[fxr/1222946](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222946),
[fxr/1222204](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222204),
[fxr/1221429](https://fuchsia-review.googlesource.com/c/fuchsia/+/1221429)
* **Modernized MAC address handling**, the `bt-hci` driver now retrieves the
MAC address using the modern driver metadata library, and
`bt-transport-uart` forwards it using `fdf_metadata::MetadataServer`,
replacing legacy methods.
* Changes:
[fxr/1245604](https://fuchsia-review.googlesource.com/c/fuchsia/+/1245604),
[fxr/1238464](https://fuchsia-review.googlesource.com/c/fuchsia/+/1238464)
* **Removed legacy HLCPP support from `fuchsia.hardware.bluetooth`** and the
unused `fuchsia.hardware.bt.hci` and `fuchsia.hardware.bt.vendor` Banjo
libraries, completing the migration to modern FIDL and C++ bindings.
* Changes:
[fxr/1233153](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233153),
[fxr/1238356](https://fuchsia-review.googlesource.com/c/fuchsia/+/1238356),
[fxr/1238626](https://fuchsia-review.googlesource.com/c/fuchsia/+/1238626)
* Bugs: [fxb/327637386](https://fxbug.dev/327637386)
* **Added `SuspendEnabled` and `SystemActivityGovernor` capabilities** to
`bt-init`'s component manifest (CML) and its integration test harness.
* Changes: [fxr/1260724](https://fuchsia-review.googlesource.com/c/fuchsia/+/1260724)
* **Bluetooth components can now be started with an optional `config`
capability**, allowing for more flexible system configurations.
* Changes: [fxr/1260204](https://fuchsia-review.googlesource.com/c/fuchsia/+/1260204)
* **Added new FIDL interfaces** to support Connected Isochronous Groups (CIG)
management.
* Changes: [fxr/1254284](https://fuchsia-review.googlesource.com/c/fuchsia/+/1254284)
* **Increased the timeout for `bt-gap` to find the `bt-host` component** from
5 to 100 seconds to enhance robustness.
* Changes: [fxr/1252604](https://fuchsia-review.googlesource.com/c/fuchsia/+/1252604)
* **Introduced the `ConnectionReceiver2` FIDL**, which supports wake lease
handshakes and flow control for new Bluetooth connections.
* Changes: [fxr/1248027](https://fuchsia-review.googlesource.com/c/fuchsia/+/1248027)
* **Replaced Bluetooth `devfs` capability routing with modern service routes**
to simplify client upgrades.
* Changes: [fxr/1222688](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222688)
## Cobalt
The following updates have been made for Cobalt:
* **Improved data upload efficiency** by moving system profiles to the
envelope level, which significantly reduces uploaded bytes by de-duplicating
system profiles across observation batches.
* Changes:
[fxr/1249825](https://fuchsia-review.googlesource.com/c/cobalt/+/1249825),
[fxr/1221014](https://fuchsia-review.googlesource.com/c/cobalt/+/1221014)
* **Fixed a build issue** by adding a missing include to comply with
include-what-you-use guidelines.
* Changes: [fxr/1254359](https://fuchsia-review.googlesource.com/c/cobalt/+/1254359)
* **Allowed non-camel-case Rust enums** in the source generator, ensuring that
event codes with special characters can be used without causing build
failures.
* Changes: [fxr/1253535](https://fuchsia-review.googlesource.com/c/cobalt/+/1253535)
* **Completed migration to `step_multiplier_float`** from the deprecated
`step_multiplier` for integer histogram reports, including removing old
field definitions and validations.
* Changes:
[fxr/1221008](https://fuchsia-review.googlesource.com/c/cobalt/+/1221008),
[fxr/1246884](https://fuchsia-review.googlesource.com/c/cobalt/+/1246884),
[fxr/1222304](https://fuchsia-review.googlesource.com/c/cobalt/+/1222304),
[fxr/1235425](https://fuchsia-review.googlesource.com/c/cobalt/+/1235425),
[fxr/1231104](https://fuchsia-review.googlesource.com/c/cobalt/+/1231104),
[fxr/1224884](https://fuchsia-review.googlesource.com/c/cobalt/+/1224884)
## Component Framework
The following updates have been made for Component Framework:
* **Added a new method `GetResolvedInfo` to the `fuchsia.component.Realm` FIDL
protocol**, which allows for querying resolved component information.
* Changes: [fxr/1235109](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235109)
* Bugs: [fxb/363315648](https://fxbug.dev/363315648)
* **Migrated the component model to the `fuchsia.io2` library**, replacing
deprecated `fuchsia.io` functionality.
* Changes:
[fxr/1229305](https://fuchsia-review.googlesource.com/c/fuchsia/+/1229305),
[fxr/1233484](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233484),
[fxr/1232086](https://fuchsia-review.googlesource.com/c/fuchsia/+/1232086)
* Bugs: [fxb/324111518](https://fxbug.dev/324111518)
* **Included a persistent storage shard for Realm Builder**, preserving
component data across restarts, which is particularly useful for tests that
require state persistence.
* Changes: [fxr/1233390](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233390)
* **Enhanced component manifests and tools**. This includes support for weak
dictionaries in CML, services in dictionaries in `cmc`, and improved error
messages and argument standardization in command-line tools.
* Changes:
[fxr/1250124](https://fuchsia-review.googlesource.com/c/fuchsia/+/1250124),
[fxr/1235224](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235224),
[fxr/1260026](https://fuchsia-review.googlesource.com/c/fuchsia/+/1260026),
[fxr/1246364](https://fuchsia-review.googlesource.com/c/fuchsia/+/1246364),
[fxr/1236822](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236822)
* **Expanded support for config capabilities**. Support has been added to
built-in runners, and Component Manager now performs type checking for
config capabilities during routing.
* Changes:
[fxr/1256827](https://fuchsia-review.googlesource.com/c/fuchsia/+/1256827),
[fxr/1235158](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235158)
* **Improved performance and stability**. Full Link-Time Optimization (LTO) is
now enabled for Component Manager, reducing its binary size, and the
`service-broker` now shuts down more promptly.
* Changes:
[fxr/1181952](https://fuchsia-review.googlesource.com/c/fuchsia/+/1181952),
[fxr/1228248](https://fuchsia-review.googlesource.com/c/fuchsia/+/1228248)
## Build
The following updates have been made for Build:
* **Improved performance and developer experience.** This includes caching
Bazel query results, optimizing the 'balanced' compilation mode to use
ThinLTO, and enhancing error reporting for DTC and `fx build` target names.
* Changes:
[fxr/1240809](https://fuchsia-review.googlesource.com/c/fuchsia/+/1240809),
[fxr/1255703](https://fuchsia-review.googlesource.com/c/fuchsia/+/1255703),
[fxr/1213986](https://fuchsia-review.googlesource.com/c/fuchsia/+/1213986),
[fxr/1233124](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233124)
* Bugs: [fxb/42084668](https://fxbug.dev/42084668)
* **Refactored the Bazel integration workflow.** The in-tree IDK repository is
now generated at `fx gen` time, and the `--config=no_sdk` flag has been
removed in favor of an explicit `--config=host` flag for host builds, fixing
incremental build issues.
* Changes:
[fxr/1252735](https://fuchsia-review.googlesource.com/c/fuchsia/+/1252735),
[fxr/1253252](https://fuchsia-review.googlesource.com/c/fuchsia/+/1253252),
[fxr/1253187](https://fuchsia-review.googlesource.com/c/fuchsia/+/1253187)
* Bugs: [fxb/338009514](https://fxbug.dev/338009514)
## Diagnostics
The following updates have been made for Diagnostics:
* **Adopted the FXT format for log fetching and streaming**, replacing JSON in
feedback services and `ArchiveAccessor`. A new C++ log decoder built on a
Rust FFI layer further enhances log parsing performance and memory
efficiency.
* Changes:
[fxr/1231051](https://fuchsia-review.googlesource.com/c/fuchsia/+/1231051),
[fxr/1231050](https://fuchsia-review.googlesource.com/c/fuchsia/+/1231050),
[fxr/1205644](https://fuchsia-review.googlesource.com/c/fuchsia/+/1205644),
[fxr/1253426](https://fuchsia-review.googlesource.com/c/fuchsia/+/1253426)
* Bugs: [fxb/389545819](https://fxbug.dev/389545819)
* **Improved diagnostics performance and stability**, including collecting
performance metrics for snapshots, purging memory in the system log
recorder, and fixing a crash when `get_koid` fails during logging.
* Changes:
[fxr/1256973](https://fuchsia-review.googlesource.com/c/fuchsia/+/1256973),
[fxr/1255702](https://fuchsia-review.googlesource.com/c/fuchsia/+/1255702),
[fxr/1252319](https://fuchsia-review.googlesource.com/c/fuchsia/+/1252319),
[fxr/1247667](https://fuchsia-review.googlesource.com/c/fuchsia/+/1247667),
[fxr/1250605](https://fuchsia-review.googlesource.com/c/fuchsia/+/1250605),
[fxr/1249526](https://fuchsia-review.googlesource.com/c/fuchsia/+/1249526)
* **Replaced `select_all_for_moniker` with `select_all_for_component`**,
fixing an Inspect-specific bug where the root selector was incorrectly
omitted.
* Changes: [fxr/1237284](https://fuchsia-review.googlesource.com/c/fuchsia/+/1237284)
* **Enhanced kernel and system-level diagnostics**, adding a tally to the `k
pmm dump` command and ensuring `dmesg_restrict` correctly handles
unprivileged syslog access.
* Changes:
[fxr/1233568](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233568),
[fxr/1232625](https://fuchsia-review.googlesource.com/c/fuchsia/+/1232625)
* **Enhanced Power Broker observability** with more efficient and
comprehensive Inspect events, including bundling dependency information into
`add_element` events and merging multiple `update_level` events into a
single event.
* Changes:
[fxr/1253437](https://fuchsia-review.googlesource.com/c/fuchsia/+/1253437),
[fxr/1236527](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236527),
[fxr/1236384](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236384),
[fxr/1235052](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235052),
[fxr/1235524](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235524),
[fxr/1234284](https://fuchsia-review.googlesource.com/c/fuchsia/+/1234284)
* Bugs: [fxb/404958940](https://fxbug.dev/404958940),
[fxb/404631762](https://fxbug.dev/404631762),
[fxb/404631256](https://fxbug.dev/404631256),
[fxb/404629706](https://fxbug.dev/404629706)
* **Added new Inspect metrics and data sources**, including metrics for
`ota_health_verification` and UTC time adjustments, as well as exposing
structured configuration for easier debugging.
* Changes:
[fxr/1222047](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222047),
[fxr/1256970](https://fuchsia-review.googlesource.com/c/fuchsia/+/1256970),
[fxr/1234127](https://fuchsia-review.googlesource.com/c/fuchsia/+/1234127),
[fxr/1230544](https://fuchsia-review.googlesource.com/c/fuchsia/+/1230544)
* Bugs: [fxb/400778800](https://fxbug.dev/400778800)
## Display
* **Expanded pixel format support.** Magma and virtio-gpu now support
`R8G8B8A8` formats, increasing compatibility with more hardware and
applications.
* Changes: [fxr/1234067](https://fuchsia-review.googlesource.com/c/fuchsia/+/1234067)
* **Improved graphics rendering and stability.** A shutdown crash in the Intel
display driver has been fixed.
* Changes: [fxr/1252457](https://fuchsia-review.googlesource.com/c/fuchsia/+/1252457)
## Driver Framework
The following updates have been made for Driver Framework:
* **Completed Rust driver host transition:** The C++ `driver_host` has been
removed, completing the transition to the Rust implementation. The Rust
driver host is now enabled by default across core products and in the driver
test realm, streamlining the driver execution environment.
* Changes:
[fxr/1243198](https://fuchsia-review.googlesource.com/c/fuchsia/+/1243198),
[fxr/1243197](https://fuchsia-review.googlesource.com/c/fuchsia/+/1243197),
[fxr/1242624](https://fuchsia-review.googlesource.com/c/fuchsia/+/1242624),
[fxr/1236336](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236336),
[fxr/1231056](https://fuchsia-review.googlesource.com/c/fuchsia/+/1231056),
[fxr/1231055](https://fuchsia-review.googlesource.com/c/fuchsia/+/1231055),
[fxr/1231054](https://fuchsia-review.googlesource.com/c/fuchsia/+/1231054),
[fxr/1255646](https://fuchsia-review.googlesource.com/c/fuchsia/+/1255646),
[fxr/1231053](https://fuchsia-review.googlesource.com/c/fuchsia/+/1231053),
[fxr/1212286](https://fuchsia-review.googlesource.com/c/fuchsia/+/1212286),
[fxr/1224746](https://fuchsia-review.googlesource.com/c/fuchsia/+/1224746),
[fxr/1233528](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233528),
[fxr/1237624](https://fuchsia-review.googlesource.com/c/fuchsia/+/1237624)
* **Improved driver host stability and debugging:** Reliability is improved
with fixes for shutdown ordering, lock contention, and a new protocol for
driver crash introspection. Debugging is aided by a new 'driver\_dispatcher'
trace category in Perfetto.
* Changes:
[fxr/1241766](https://fuchsia-review.googlesource.com/c/fuchsia/+/1241766),
[fxr/1241765](https://fuchsia-review.googlesource.com/c/fuchsia/+/1241765),
[fxr/1236339](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236339),
[fxr/1236041](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236041),
[fxr/1248484](https://fuchsia-review.googlesource.com/c/fuchsia/+/1248484),
[fxr/1217256](https://fuchsia-review.googlesource.com/c/fuchsia/+/1217256),
[fxr/1222644](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222644),
[fxr/1224346](https://fuchsia-review.googlesource.com/c/fuchsia/+/1224346)
* **Added a new driver:** A `usb-fastboot-function` driver has been added for
userspace fastboot.
* Changes: [fxr/1258844](https://fuchsia-review.googlesource.com/c/fuchsia/+/1258844)
* **Enhanced driver development API:** The `OnBind` method now provides a
`node_token` for referencing child nodes. Rust drivers gain `pipe_if` and
`pipe_opt` methods for conditional logic, and new `BindRules2` and
`ParentSpec2` types simplify using string-keyed properties.
* Changes:
[fxr/1252644](https://fuchsia-review.googlesource.com/c/fuchsia/+/1252644),
[fxr/1259405](https://fuchsia-review.googlesource.com/c/fuchsia/+/1259405),
[fxr/1253384](https://fuchsia-review.googlesource.com/c/fuchsia/+/1253384),
[fxr/1248337](https://fuchsia-review.googlesource.com/c/fuchsia/+/1248337),
[fxr/1247127](https://fuchsia-review.googlesource.com/c/fuchsia/+/1247127)
* **Enhanced mocking and testing support:** Diagnostics for `mock-mmio` are
improved with detailed `ZX_ASSERT` messages. The `mock-mmio` library is now
in the partner SDK, and its API has been updated for consistency.
* Changes:
[fxr/711448](https://fuchsia-review.googlesource.com/c/fuchsia/+/711448),
[fxr/1171413](https://fuchsia-review.googlesource.com/c/fuchsia/+/1171413),
[fxr/1248867](https://fuchsia-review.googlesource.com/c/fuchsia/+/1248867),
[fxr/1248336](https://fuchsia-review.googlesource.com/c/fuchsia/+/1248336)
* Bugs: [fxb/382792202](https://fxbug.dev/382792202)
* **Enhanced security and policy enforcement:** The driver runtime now
enforces that drivers can only use scheduler roles explicitly allowed in
their component manifest, enhancing system security.
* Changes:
[fxr/1225090](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225090),
[fxr/1225088](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225088),
[fxr/1225089](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225089)
## FIDL
The following updates have been made for FIDL:
* **Significant C++ build time reductions** have been achieved by moving
generated function bodies out of headers and decoupling wire and natural
bindings, reducing redundant compilation work.
* Changes:
[fxr/1260904](https://fuchsia-review.googlesource.com/c/fuchsia/+/1260904),
[fxr/1255849](https://fuchsia-review.googlesource.com/c/fuchsia/+/1255849),
[fxr/1221350](https://fuchsia-review.googlesource.com/c/fuchsia/+/1221350)
* Bugs: [fxb/361634289](https://fxbug.dev/361634289)
* **Improved ergonomics and performance** for Rust wire bindings. Enhancements
include support for encoding by value/reference, pre-decoded message
buffers, and an escape hatch for non-blocking sends. Performance is boosted
by optimized padding zeroing, and channel closure errors now explicitly
include epitaphs.
* Changes:
[fxr/1255645](https://fuchsia-review.googlesource.com/c/fuchsia/+/1255645),
[fxr/1253511](https://fuchsia-review.googlesource.com/c/fuchsia/+/1253511),
[fxr/1253364](https://fuchsia-review.googlesource.com/c/fuchsia/+/1253364),
[fxr/1230104](https://fuchsia-review.googlesource.com/c/fuchsia/+/1230104),
[fxr/1184853](https://fuchsia-review.googlesource.com/c/fuchsia/+/1184853),
[fxr/1225705](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225705)
* **Added support for `zx::Counter`** to the Rust FIDL bindings.
* Changes: [fxr/1220866](https://fuchsia-review.googlesource.com/c/fuchsia/+/1220866)
* **Added a new static Python FIDL backend (`fidlgen_python`)**, and bindings
are generated by default for all FIDL libraries. This initial version
includes support for protocol methods, robust external type imports,
required struct fields, and improved IDE discoverability.
* Changes:
[fxr/1188515](https://fuchsia-review.googlesource.com/c/fuchsia/+/1188515),
[fxr/1216346](https://fuchsia-review.googlesource.com/c/fuchsia/+/1216346),
[fxr/1224609](https://fuchsia-review.googlesource.com/c/fuchsia/+/1224609),
[fxr/1249186](https://fuchsia-review.googlesource.com/c/fuchsia/+/1249186),
[fxr/1246545](https://fuchsia-review.googlesource.com/c/fuchsia/+/1246545),
[fxr/1246284](https://fuchsia-review.googlesource.com/c/fuchsia/+/1246284)
## GPU and Graphics
The following updates have been made for GPU and Graphics:
* **Significantly improved Magma's core.** Semaphores now use `zx::counter`
instead of `zx::vmo` for better performance and lower memory use.
Additionally, context creation now supports priorities, buffer release is
safer on connection shutdown, and a new C++ to C binding library is
available.
* Changes:
[fxr/1262224](https://fuchsia-review.googlesource.com/c/fuchsia/+/1262224),
[fxr/1242685](https://fuchsia-review.googlesource.com/c/fuchsia/+/1242685),
[fxr/1243604](https://fuchsia-review.googlesource.com/c/fuchsia/+/1243604),
[fxr/1259528](https://fuchsia-review.googlesource.com/c/fuchsia/+/1259528),
[fxr/1253424](https://fuchsia-review.googlesource.com/c/fuchsia/+/1253424),
[fxr/1236311](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236311),
[fxr/1243244](https://fuchsia-review.googlesource.com/c/fuchsia/+/1243244)
* **Migrated graphics drivers from `devfs` to FIDL services.** This
system-wide effort modernizes graphics components, including the Mali driver
and Magma integrations, improving security and the clarity of exposed
capabilities. Legacy DFv1 libraries have also been removed.
* Changes:
[fxr/1227324](https://fuchsia-review.googlesource.com/c/fuchsia/+/1227324),
[fxr/1241905](https://fuchsia-review.googlesource.com/c/fuchsia/+/1241905),
[fxr/1231527](https://fuchsia-review.googlesource.com/c/fuchsia/+/1231527),
[fxr/1227049](https://fuchsia-review.googlesource.com/c/fuchsia/+/1227049),
[fxr/1223061](https://fuchsia-review.googlesource.com/c/fuchsia/+/1223061),
[fxr/1225864](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225864),
[fxr/1225686](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225686),
[fxr/1225984](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225984),
[fxr/1223204](https://fuchsia-review.googlesource.com/c/fuchsia/+/1223204),
[fxr/1236304](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236304)
* **Expanded pixel format support.** Magma and virtio-gpu now support
`A2B10G10R10`, `P010`, increasing compatibility with more hardware and
applications.
* Changes:
[fxr/1260347](https://fuchsia-review.googlesource.com/c/fuchsia/+/1260347),
[fxr/1233329](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233329),
[fxr/1233364](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233364)
* Bugs: [fxb/42073721](https://fxbug.dev/42073721)
* **Improved graphics rendering and stability.** The Vulkan swapchain now
correctly handles the `alphaComposite` mode, ensuring proper rendering of
opaque surfaces.
* Changes: [fxr/1233007](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233007)
* **Improved FIDL API and ABI for graphics services.** The
`fuchsia.vulkan.loader/Loader` protocol is now marked for ABI checking. The
Magma service FIDL now more clearly exposes the `CombinedDevice` protocol,
simplifying the client API.
* Changes:
[fxr/1261447](https://fuchsia-review.googlesource.com/c/fuchsia/+/1261447),
[fxr/1221144](https://fuchsia-review.googlesource.com/c/fuchsia/+/1221144)
## IOT, Matter, and Thread
The following updates have been made for IOT, Matter, and Thread:
* **Updated the `third_party/openthread` dependency**. This update includes
new features and fixes such as improved border agent and routing manager
functionality, support for ePSKc, and alignment of LoWPAN components with
the latest OpenThread version. Fuchsia's platform code, tests, and bindings
were also updated for compatibility.
* Changes:
[fxr/1233151](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233151),
[fxr/1258025](https://fuchsia-review.googlesource.com/c/fuchsia/+/1258025),
[fxr/1258024](https://fuchsia-review.googlesource.com/c/fuchsia/+/1258024),
[fxr/1254524](https://fuchsia-review.googlesource.com/c/fuchsia/+/1254524),
[fxr/1249120](https://fuchsia-review.googlesource.com/c/fuchsia/+/1249120),
[fxr/1244305](https://fuchsia-review.googlesource.com/c/fuchsia/+/1244305),
[fxr/1244414](https://fuchsia-review.googlesource.com/c/fuchsia/+/1244414),
[fxr/1229668](https://fuchsia-review.googlesource.com/c/fuchsia/+/1229668),
[fxr/1232584](https://fuchsia-review.googlesource.com/c/fuchsia/+/1232584),
[fxr/1229844](https://fuchsia-review.googlesource.com/c/fuchsia/+/1229844)
* **Added support for pinging a device's RLOC address**, a feature now handled
directly within the OpenThread netstack.
* Changes: [fxr/1259525](https://fuchsia-review.googlesource.com/c/fuchsia/+/1259525)
## Kernel
The following updates have been made for Kernel:
* **Implemented the `ZX_VM_FAULT_BEYOND_STREAM_SIZE` flag** for `zx_vmar_map`.
This allows memory access beyond a VMO's content size to fault, improving
compatibility with POSIX `mmap` semantics.
* **Added support for ktrace streaming.** `zx_ktrace_read` now consumes the
data it reads, enabling userspace to stream kernel trace data by invoking
this syscall in a loop. As part of this cleanup, the unused
`zx_ktrace_write` syscall was removed.
* **Added support for mappable kernel clocks.** These clocks support efficient
read access without entering the kernel in most circumstances. See [RFC
0266](/docs/contribute/governance/rfcs/0266_memory_mappable_kernel_clocks.md)
for details on the design.
## Netstack
The following updates have been made for Nestack:
* **Netstack3 is planned to be enabled (via a feature flag) right after F27
rolls out to 100% and before F28 starts rolling out.**
* **Introduced comprehensive support for TCP Selective Acknowledgement
(SACK)**, including SACK-based loss recovery and congestion control updates,
to significantly improve TCP performance over lossy networks.
* Changes: [fxr/1242089](https://fuchsia-review.googlesource.com/c/fuchsia/+/1242089)
* Bugs: [fxb/42078221](https://fxbug.dev/42078221)
* **Improved TCP ACK behavior** by enabling delayed ACKs by default,
introducing quickack periods, and ensuring more accurate window update
calculations for better performance.
* Changes:
[fxr/1209986](https://fuchsia-review.googlesource.com/c/fuchsia/+/1209986),
[fxr/1216272](https://fuchsia-review.googlesource.com/c/fuchsia/+/1216272),
[fxr/1216246](https://fuchsia-review.googlesource.com/c/fuchsia/+/1216246),
[fxr/1216245](https://fuchsia-review.googlesource.com/c/fuchsia/+/1216245)
* **Enhanced TCP reliability and correctness** by fixing several critical
bugs, including an arithmetic overflow in CUBIC, a panic on out-of-order
SACKs, incorrect RTT/RTO calculations, and improper retransmission timer
re-arming.
* Changes:
[fxr/1258625](https://fuchsia-review.googlesource.com/c/fuchsia/+/1258625),
[fxr/1249108](https://fuchsia-review.googlesource.com/c/fuchsia/+/1249108),
[fxr/1224404](https://fuchsia-review.googlesource.com/c/fuchsia/+/1224404),
[fxr/1222686](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222686),
[fxr/1230625](https://fuchsia-review.googlesource.com/c/fuchsia/+/1230625)
* Bugs: [fxb/409599338](https://fxbug.dev/409599338),
[fxb/401575491](https://fxbug.dev/401575491)
* **Improved TCP's response to network conditions** by dynamically adjusting
the Maximum Segment Size (MSS) based on Path MTU updates and aligning ICMP
error propagation with Linux behavior.
* Changes:
[fxr/1233389](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233389),
[fxr/1216279](https://fuchsia-review.googlesource.com/c/fuchsia/+/1216279)
* Bugs: [fxb/404628798](https://fxbug.dev/404628798),
[fxb/42052672](https://fxbug.dev/42052672)
* **Fixed IP fragment reassembly** by correcting the handling of out-of-order
and duplicate fragments, and reduced the IPv4 reassembly timeout to 15s to
align with RFC-791.
* Changes:
[fxr/1261544](https://fuchsia-review.googlesource.com/c/fuchsia/+/1261544),
[fxr/1260604](https://fuchsia-review.googlesource.com/c/fuchsia/+/1260604),
[fxr/1262566](https://fuchsia-review.googlesource.com/c/fuchsia/+/1262566)
* **Prepared for IPv4 Duplicate Address Detection (DAD)** by refactoring the
DAD mechanism to be IP-agnostic and adding necessary configuration options.
* Changes:
[fxr/1254245](https://fuchsia-review.googlesource.com/c/fuchsia/+/1254245),
[fxr/1253164](https://fuchsia-review.googlesource.com/c/fuchsia/+/1253164)
* **Limited the Path MTU cache size using an LRU policy** to mitigate a
potential denial-of-service vulnerability from repeated PacketTooBig
messages.
* Changes: [fxr/1237566](https://fuchsia-review.googlesource.com/c/fuchsia/+/1237566)
* Bugs: [fxb/404634511](https://fxbug.dev/404634511)
* **The netstack now sends ICMP Port Unreachable messages** for datagrams sent
to unbound UDP ports, with protection from existing ICMP rate limiting.
* Changes: [fxr/1239544](https://fuchsia-review.googlesource.com/c/fuchsia/+/1239544)
* **Introduced support for eBPF-based socket egress filters** through the new
`fuchsia.net.filter.SocketControl` FIDL protocol, enabling advanced packet
filtering capabilities.
* Changes:
[fxr/1255225](https://fuchsia-review.googlesource.com/c/fuchsia/+/1255225),
[fxr/1255356](https://fuchsia-review.googlesource.com/c/fuchsia/+/1255356)
* Bugs: [fxb/407809292](https://fxbug.dev/407809292)
* **Enhanced network filtering with packet marking**, allowing
`fuchsia.net.filter` rules to mark packets and for these marks to be used in
forwarding decisions.
* Changes:
[fxr/1234136](https://fuchsia-review.googlesource.com/c/fuchsia/+/1234136),
[fxr/1220266](https://fuchsia-review.googlesource.com/c/fuchsia/+/1220266),
[fxr/1229845](https://fuchsia-review.googlesource.com/c/fuchsia/+/1229845)
* Bugs: [fxb/398328518](https://fxbug.dev/398328518),
[fxb/369133279](https://fxbug.dev/369133279)
* **Improved connection tracking to parse inner ICMP error packets**,
associating them with the originating connection to enable features like NAT
for ICMP errors.
* Changes: [fxr/1255147](https://fuchsia-review.googlesource.com/c/fuchsia/+/1255147)
* Bugs: [fxb/328057704](https://fxbug.dev/328057704)
* **The `fuchsia.netpol` FIDL library has been renamed to
`fuchsia.net.policy`** for consistency with new API standards.
* Changes: [fxr/1238424](https://fuchsia-review.googlesource.com/c/fuchsia/+/1238424)
* **Strengthened NDP and MLD message validation** to enforce that the
hop-limit is correct as per RFCs, and ensured learned IPv6 parameters are
reset when an interface is disabled.
* Changes:
[fxr/1240784](https://fuchsia-review.googlesource.com/c/fuchsia/+/1240784),
[fxr/1219885](https://fuchsia-review.googlesource.com/c/fuchsia/+/1219885),
[fxr/1246645](https://fuchsia-review.googlesource.com/c/fuchsia/+/1246645)
* Bugs: [fxb/42179534](https://fxbug.dev/42179534)
* **Enhanced network observability with more granular counters**, including
per-device IP counters, per-socket UDP counters, and MLD Inspect counters.
* Changes:
[fxr/1238625](https://fuchsia-review.googlesource.com/c/fuchsia/+/1238625),
[fxr/1235064](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235064),
[fxr/1219884](https://fuchsia-review.googlesource.com/c/fuchsia/+/1219884)
* Bugs: [fxb/42081990](https://fxbug.dev/42081990)
## Platform Drivers
The following updates have been made for Platform Drivers:
* **Migrated various device classes from the legacy devfs file-based system to
component services.** This improves system architecture and client
communication by updating classes like serial, camera, audio, graphics, and
network to use modern service-based protocols.
* Changes:
[fxr/1231484](https://fuchsia-review.googlesource.com/c/fuchsia/+/1231484),
[fxr/1219466](https://fuchsia-review.googlesource.com/c/fuchsia/+/1219466),
[fxr/1223348](https://fuchsia-review.googlesource.com/c/fuchsia/+/1223348),
[fxr/1222012](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222012),
[fxr/1227049](https://fuchsia-review.googlesource.com/c/fuchsia/+/1227049),
[fxr/1222011](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222011),
[fxr/1222010](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222010),
[fxr/1223204](https://fuchsia-review.googlesource.com/c/fuchsia/+/1223204),
[fxr/1222688](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222688),
[fxr/1221224](https://fuchsia-review.googlesource.com/c/fuchsia/+/1221224),
[fxr/1219085](https://fuchsia-review.googlesource.com/c/fuchsia/+/1219085),
[fxr/1208828](https://fuchsia-review.googlesource.com/c/fuchsia/+/1208828),
[fxr/1221166](https://fuchsia-review.googlesource.com/c/fuchsia/+/1221166)
* **Added a new `usb-vsock` driver to replace `overnet-usb`,** enabling
VSOCK-based FFX communication. This includes a new two-phase sync protocol,
vsock framing, and support for additional composite device configurations
(e.g., adb+vsock).
* Changes:
[fxr/1232185](https://fuchsia-review.googlesource.com/c/fuchsia/+/1232185),
[fxr/1249104](https://fuchsia-review.googlesource.com/c/fuchsia/+/1249104),
[fxr/1253646](https://fuchsia-review.googlesource.com/c/fuchsia/+/1253646),
[fxr/1238138](https://fuchsia-review.googlesource.com/c/fuchsia/+/1238138)
* Bugs: [fxb/397962936](https://fxbug.dev/397962936),
[fxb/410623034](https://fxbug.dev/410623034)
* **Updated the `usb-peripheral` driver** to use modern metadata libraries for
MAC address and serial number retrieval. Also fixed a bug related to
incorrect interface counting after a reset.
* Changes:
[fxr/1255104](https://fuchsia-review.googlesource.com/c/fuchsia/+/1255104),
[fxr/1243025](https://fuchsia-review.googlesource.com/c/fuchsia/+/1243025),
[fxr/1221247](https://fuchsia-review.googlesource.com/c/fuchsia/+/1221247)
* **Migrated the `platform-bus` driver to DFv2,** now uses `ParentSpec2` in
its FIDL API, and supports the `NodeController/OnBind` event. This
simplifies integration and allows board drivers to configure wake sources
directly.
* Changes:
[fxr/1241365](https://fuchsia-review.googlesource.com/c/fuchsia/+/1241365),
[fxr/1252144](https://fuchsia-review.googlesource.com/c/fuchsia/+/1252144),
[fxr/1252460](https://fuchsia-review.googlesource.com/c/fuchsia/+/1252460),
[fxr/1222699](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222699)
* **Added a driver for HVDC-P Opti:** This new driver has been introduced with
support for `power_supply` and IIO devices, along with `/dev/qbg` and
`/dev/qbg_battery` nodes for Starnix. It is also now permitted to fail
gracefully without causing system instability.
* Changes:
[fxr/1264124](https://fuchsia-review.googlesource.com/c/fuchsia/+/1264124),
[fxr/1259508](https://fuchsia-review.googlesource.com/c/fuchsia/+/1259508),
[fxr/1258966](https://fuchsia-review.googlesource.com/c/fuchsia/+/1258966),
[fxr/1258324](https://fuchsia-review.googlesource.com/c/fuchsia/+/1258324)
## Power Management
The following updates have been made for Power Management:
* **Added the `ThermalLoadDriver` which can limit the CPU thermal client,**
offering an alternative to `ThermalPolicy` and includes new trace counters
for testing.
* Changes: [fxr/1257685](https://fuchsia-review.googlesource.com/c/fuchsia/+/1257685)
* **Added the ability for Power Manager to log the temperature when the
shutdown threshold is crossed,** improving diagnostics for thermal events.
* Changes: [fxr/1243011](https://fuchsia-review.googlesource.com/c/fuchsia/+/1243011)
* **Significantly improved Power Broker's Inspect data** for better
observability and efficiency. These changes include enhanced event details,
optimized data storage, and more streamlined event logging.
* Changes:
[fxr/1253437](https://fuchsia-review.googlesource.com/c/fuchsia/+/1253437),
[fxr/1239246](https://fuchsia-review.googlesource.com/c/fuchsia/+/1239246),
[fxr/1237426](https://fuchsia-review.googlesource.com/c/fuchsia/+/1237426),
[fxr/1237425](https://fuchsia-review.googlesource.com/c/fuchsia/+/1237425),
[fxr/1236527](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236527),
[fxr/1236384](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236384),
[fxr/1235052](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235052),
[fxr/1235524](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235524),
[fxr/1234284](https://fuchsia-review.googlesource.com/c/fuchsia/+/1234284)
* Bugs: [fxb/404934494](https://fxbug.dev/404934494),
[fxb/404958940](https://fxbug.dev/404958940),
[fxb/404631762](https://fxbug.dev/404631762),
[fxb/404631256](https://fxbug.dev/404631256),
[fxb/404629706](https://fxbug.dev/404629706)
## Software Delivery
The following updates have been made for Software Delivery:
* **Added a health check protocol to the `system-update-committer`** that
fails commits that take longer than five minutes, improving overall update
reliability.
* Changes:
[fxr/1233611](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233611),
[fxr/1214029](https://fuchsia-review.googlesource.com/c/fuchsia/+/1214029)
* **Improved diagnostic logging for the `system-update-checker`** to detect
when the connection to the UpdateManager is lost.
* Changes: [fxr/1233534](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233534)
* **Migrated the recovery component** to use `ArchiveReader` and a new `Open`
method, replacing the deprecated `LogProcessor`.
* Changes:
[fxr/1236647](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236647),
[fxr/1222509](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222509)
* Bugs: [fxb/324111518](https://fxbug.dev/324111518)
## Starnix
The following updates have been made for Starnix:
* **Implemented a suite of security hooks for socket operations**, enhancing
security for creating, binding, connecting, listening on, and shutting down
various socket types.
* Changes:
[fxr/1261085](https://fuchsia-review.googlesource.com/c/fuchsia/+/1261085),
[fxr/1263024](https://fuchsia-review.googlesource.com/c/fuchsia/+/1263024),
[fxr/1260624](https://fuchsia-review.googlesource.com/c/fuchsia/+/1260624),
[fxr/1257589](https://fuchsia-review.googlesource.com/c/fuchsia/+/1257589),
[fxr/1246628](https://fuchsia-review.googlesource.com/c/fuchsia/+/1246628),
[fxr/1238225](https://fuchsia-review.googlesource.com/c/fuchsia/+/1238225),
[fxr/1237264](https://fuchsia-review.googlesource.com/c/fuchsia/+/1237264)
* **Added a comprehensive set of security hooks for BPF operations**, covering
`bpf`, `bpf_map`, `bpf_prog`, and the allocation of BPF resources, along
with necessary capability checks.
* Changes:
[fxr/1233965](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233965),
[fxr/1227705](https://fuchsia-review.googlesource.com/c/fuchsia/+/1227705),
[fxr/1218892](https://fuchsia-review.googlesource.com/c/fuchsia/+/1218892),
[fxr/1225207](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225207),
[fxr/1224304](https://fuchsia-review.googlesource.com/c/fuchsia/+/1224304),
[fxr/1213964](https://fuchsia-review.googlesource.com/c/fuchsia/+/1213964)
* **Implemented new security hooks for various kernel operations**, including
for `mmap` to check memory mapping permissions, `file_receive` for receiving
file descriptors, and `task_setrlimit` for setting resource limits.
* Changes:
[fxr/1228904](https://fuchsia-review.googlesource.com/c/fuchsia/+/1228904),
[fxr/1225325](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225325),
[fxr/1074972](https://fuchsia-review.googlesource.com/c/fuchsia/+/1074972)
* **Modernized SELinux exception and policy management**, replacing file-based
configurations with a flexible config capability, removing obsolete
exceptions, and adding support for permissive subject domains.
* Changes:
[fxr/1261087](https://fuchsia-review.googlesource.com/c/fuchsia/+/1261087),
[fxr/1247585](https://fuchsia-review.googlesource.com/c/fuchsia/+/1247585),
[fxr/1252465](https://fuchsia-review.googlesource.com/c/fuchsia/+/1252465),
[fxr/1245706](https://fuchsia-review.googlesource.com/c/fuchsia/+/1245706)
* **Updated SEStarnix to perform extended permission (xperm) checks for
`ioctl` calls**, using a new API, a performance cache, and expanded test
coverage to enforce fine-grained controls.
* Changes:
[fxr/1236191](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236191),
[fxr/1233749](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233749),
[fxr/1233608](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233608),
[fxr/1215329](https://fuchsia-review.googlesource.com/c/fuchsia/+/1215329),
[fxr/1211959](https://fuchsia-review.googlesource.com/c/fuchsia/+/1211959)
* **Introduced support for "private" anonymous file system nodes**, which
bypass SELinux checks for internal file types like `signalfd`, `eventfd`,
and `sync_file` to improve compatibility and performance.
* Changes:
[fxr/1242104](https://fuchsia-review.googlesource.com/c/fuchsia/+/1242104),
[fxr/1241804](https://fuchsia-review.googlesource.com/c/fuchsia/+/1241804),
[fxr/1236385](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236385),
[fxr/1243044](https://fuchsia-review.googlesource.com/c/fuchsia/+/1243044)
* **Improved socket labeling and classification**, ensuring sockets (TCP, UDP,
raw IP) are assigned the correct security class and context upon creation.
* Changes:
[fxr/1249644](https://fuchsia-review.googlesource.com/c/fuchsia/+/1249644),
[fxr/1227744](https://fuchsia-review.googlesource.com/c/fuchsia/+/1227744),
[fxr/1225465](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225465),
[fxr/1216564](https://fuchsia-review.googlesource.com/c/fuchsia/+/1216564)
* **Updated the `fuchsia.starnix.binder` FIDL API to include a `WriteBytes`
method**, providing a more efficient way to perform small memory writes by
avoiding VMO creation.
* Changes:
[fxr/1259684](https://fuchsia-review.googlesource.com/c/fuchsia/+/1259684),
[fxr/1263125](https://fuchsia-review.googlesource.com/c/fuchsia/+/1263125),
[fxr/1262167](https://fuchsia-review.googlesource.com/c/fuchsia/+/1262167)
* **Added support in Starnix for File-Based Encryption (FBE) on Fxfs.** This
includes support for symbolic links and proper handling of encrypted paths.
Encryption keys are now securely stored in `/data`, improving volume
management and enabling reliable cold boot simulations.
* Changes:
[fxr/1243014](https://fuchsia-review.googlesource.com/c/fuchsia/+/1243014),
[fxr/1228226](https://fuchsia-review.googlesource.com/c/fuchsia/+/1228226),
[fxr/1221010](https://fuchsia-review.googlesource.com/c/fuchsia/+/1221010)
## Storage
The following updates have been made for Storage:
* **Fixed bugs and made performance enhancements for fxfs.** These changes
improve filesystem robustness by preventing duplicate tombstone creation,
optimizing sparse image creation, enhancing thread management for better
parallelism, and ensuring the filesystem remains operational if the Crypt
service becomes unresponsive.
* Changes:
[fxr/1263964](https://fuchsia-review.googlesource.com/c/fuchsia/+/1263964),
[fxr/1259844](https://fuchsia-review.googlesource.com/c/fuchsia/+/1259844),
[fxr/1258364](https://fuchsia-review.googlesource.com/c/fuchsia/+/1258364),
[fxr/1258266](https://fuchsia-review.googlesource.com/c/fuchsia/+/1258266),
[fxr/1245144](https://fuchsia-review.googlesource.com/c/fuchsia/+/1245144),
[fxr/1236650](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236650),
[fxr/1224553](https://fuchsia-review.googlesource.com/c/fuchsia/+/1224553),
[fxr/1221995](https://fuchsia-review.googlesource.com/c/fuchsia/+/1221995),
[fxr/1222624](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222624),
[fxr/1215204](https://fuchsia-review.googlesource.com/c/fuchsia/+/1215204),
[fxr/1241187](https://fuchsia-review.googlesource.com/c/fuchsia/+/1241187),
[fxr/1241185](https://fuchsia-review.googlesource.com/c/fuchsia/+/1241185)
* Bugs: [fxb/399171573](https://fxbug.dev/399171573)
* **Improved Blobfs reliability.** These include preventing crashes from null
pointer dereferences, adding support for atomically overwriting existing
blobs, and actively checking for existing writers to prevent race
conditions.
* Changes:
[fxr/1262964](https://fuchsia-review.googlesource.com/c/fuchsia/+/1262964),
[fxr/1250905](https://fuchsia-review.googlesource.com/c/fuchsia/+/1250905),
[fxr/1229252](https://fuchsia-review.googlesource.com/c/fuchsia/+/1229252)
* **Added support for Fxfs to persist file access times (`atime`).** This
ensures the `atime` attribute is updated and stored correctly when a file or
directory is accessed.
* Changes: [fxr/1235945](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235945)
* Bugs: [fxb/401073280](https://fxbug.dev/401073280),
[fxb/401071741](https://fxbug.dev/401071741)
## Testing
The following updates have been made for Testing:
* **Improved host-side framework and execution.** The Honeydew framework,
testrunner, and host-target test workflows have been significantly enhanced.
This includes migrating Honeydew to modern `fidlgen_python` bindings, adding
a `restart` session affordance, refactoring `ffx` usage for consistency,
performing device health checks after failures, and improving serial test
reliability.
* Changes:
[fxr/1262932](https://fuchsia-review.googlesource.com/c/fuchsia/+/1262932),
[fxr/1263384](https://fuchsia-review.googlesource.com/c/fuchsia/+/1263384),
[fxr/1258984](https://fuchsia-review.googlesource.com/c/fuchsia/+/1258984),
[fxr/1255904](https://fuchsia-review.googlesource.com/c/fuchsia/+/1255904),
[fxr/1261507](https://fuchsia-review.googlesource.com/c/fuchsia/+/1261507),
[fxr/1261506](https://fuchsia-review.googlesource.com/c/fuchsia/+/1261506),
[fxr/1256946](https://fuchsia-review.googlesource.com/c/fuchsia/+/1256946),
[fxr/1256813](https://fuchsia-review.googlesource.com/c/fuchsia/+/1256813),
[fxr/1255850](https://fuchsia-review.googlesource.com/c/fuchsia/+/1255850),
[fxr/1243345](https://fuchsia-review.googlesource.com/c/fuchsia/+/1243345),
[fxr/1228985](https://fuchsia-review.googlesource.com/c/fuchsia/+/1228985),
[fxr/1228224](https://fuchsia-review.googlesource.com/c/fuchsia/+/1228224),
[fxr/1148232](https://fuchsia-review.googlesource.com/c/fuchsia/+/1148232),
[fxr/1230246](https://fuchsia-review.googlesource.com/c/fuchsia/+/1230246),
[fxr/1222024](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222024)
* Bugs:
[b/411422054](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=411422054),
[b/406696005](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=406696005)
* **Enhanced system and driver tests.** Tests for audio, graphics, and other
system drivers have been made more comprehensive and robust. Audio driver
tests now include new negative test cases and stricter checks, Vulkan tests
have been reorganized into a hermetic suite, boot tests now support DTBOs,
and TEE tests have been re-enabled.
* Changes:
[fxr/1254326](https://fuchsia-review.googlesource.com/c/fuchsia/+/1254326),
[fxr/1239039](https://fuchsia-review.googlesource.com/c/fuchsia/+/1239039),
[fxr/1239040](https://fuchsia-review.googlesource.com/c/fuchsia/+/1239040),
[fxr/1239094](https://fuchsia-review.googlesource.com/c/fuchsia/+/1239094),
[fxr/1252986](https://fuchsia-review.googlesource.com/c/fuchsia/+/1252986),
[fxr/1245188](https://fuchsia-review.googlesource.com/c/fuchsia/+/1245188),
[fxr/1243024](https://fuchsia-review.googlesource.com/c/fuchsia/+/1243024),
[fxr/1232112](https://fuchsia-review.googlesource.com/c/fuchsia/+/1232112),
[fxr/1225686](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225686),
[fxr/1222505](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222505)
* Bugs: [fxb/366517646](https://fxbug.dev/366517646)
## Timekeeping
The following updates have been made for Timekeeping:
* **Introduced power management integration for Timekeeper**, including a
feature flag and logic to prevent premature clock updates before the clock
is started.
* Changes:
[fxr/1262924](https://fuchsia-review.googlesource.com/c/fuchsia/+/1262924),
[fxr/1262704](https://fuchsia-review.googlesource.com/c/fuchsia/+/1262704)
* **Enhanced RTC reliability** by disallowing negative boot timeline reference
adjustments, which indicate an invalid state caused by a reset.
* Changes: [fxr/1259245](https://fuchsia-review.googlesource.com/c/fuchsia/+/1259245)
* **Enhanced Timekeeping observability and debuggability via Inspect** by
adding metrics for UTC adjustment successes/failures, logging last
adjustment details, and exposing structured configuration data.
* Changes:
[fxr/1256970](https://fuchsia-review.googlesource.com/c/fuchsia/+/1256970),
[fxr/1234127](https://fuchsia-review.googlesource.com/c/fuchsia/+/1234127),
[fxr/1230544](https://fuchsia-review.googlesource.com/c/fuchsia/+/1230544)
* **Improved Starnix UTC time accuracy and configurability** by correcting the
reference timeline to boot, implementing a proxy for external adjustments,
and finalizing routing for settable UTC time.
* Changes:
[fxr/1233408](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233408),
[fxr/1228426](https://fuchsia-review.googlesource.com/c/fuchsia/+/1228426),
[fxr/1230784](https://fuchsia-review.googlesource.com/c/fuchsia/+/1230784),
[fxr/1207238](https://fuchsia-review.googlesource.com/c/fuchsia/+/1207238)
* **Introduced a comprehensive external UTC time adjustment mechanism**,
including core decision logic, integration into the UTC control loop,
asynchronous command handling, and configurable security-focused time window
limits.
* Changes:
[fxr/1212205](https://fuchsia-review.googlesource.com/c/fuchsia/+/1212205),
[fxr/1211052](https://fuchsia-review.googlesource.com/c/fuchsia/+/1211052),
[fxr/1211051](https://fuchsia-review.googlesource.com/c/fuchsia/+/1211051),
[fxr/1210385](https://fuchsia-review.googlesource.com/c/fuchsia/+/1210385),
[fxr/1210246](https://fuchsia-review.googlesource.com/c/fuchsia/+/1210246)
* **Enabled persistent storage for Timekeeper** by adding a component instance
ID and experimentally making the storage AIB available.
* Changes:
[fxr/1227104](https://fuchsia-review.googlesource.com/c/fuchsia/+/1227104),
[fxr/1226786](https://fuchsia-review.googlesource.com/c/fuchsia/+/1226786)
* **Improved alarm handling and RTC emulation** by correcting timer index
selection based on device properties and refining the use of always-on
counters.
* Changes:
[fxr/1221505](https://fuchsia-review.googlesource.com/c/fuchsia/+/1221505),
[fxr/1217824](https://fuchsia-review.googlesource.com/c/fuchsia/+/1217824),
[fxr/1220268](https://fuchsia-review.googlesource.com/c/fuchsia/+/1220268)
## Tools
The following updates have been made for Tools:
### fx
The following updates have been made for fx:
* **Improved the `fx set` command for better build directory management.** It
now defaults to `--auto-dir` to create product-specific build directories,
with `out/default` becoming a convenient symlink. Several bugs have been
fixed, including issues with the `--dir` and `--fint-params-path` flags, and
the build directory is no longer stored in `fx.config`, preventing staleness
issues.
* Changes:
[fxr/1262444](https://fuchsia-review.googlesource.com/c/fuchsia/+/1262444),
[fxr/1262024](https://fuchsia-review.googlesource.com/c/fuchsia/+/1262024),
[fxr/1262366](https://fuchsia-review.googlesource.com/c/fuchsia/+/1262366),
[fxr/1261405](https://fuchsia-review.googlesource.com/c/fuchsia/+/1261405),
[fxr/1240890](https://fuchsia-review.googlesource.com/c/fuchsia/+/1240890)
* **Standardized and improved target selection flags.** The `fx -d` flag is
now deprecated in favor of `fx -t` or `fx --target` to align with `ffx`.
* Changes:
[fxr/1252244](https://fuchsia-review.googlesource.com/c/fuchsia/+/1252244),
[fxr/1214024](https://fuchsia-review.googlesource.com/c/fuchsia/+/1214024)
* **Added a warning to the `fx build` command to warn developers against using
Ninja target names instead of GN labels.** This change encourages proper
build argument usage and helps prepare for future Bazel integration.
* Changes: [fxr/1233124](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233124)
* Bugs: [fxb/42084668](https://fxbug.dev/42084668)
* **Enhanced build analytics from `fx`** to report more context, such as
whether a build was triggered by `fx test` or `fx multi`, and to include
more build arguments from `args.json`.
* Changes:
[fxr/1245197](https://fuchsia-review.googlesource.com/c/fuchsia/+/1245197),
[fxr/1245328](https://fuchsia-review.googlesource.com/c/fuchsia/+/1245328),
[fxr/1239424](https://fuchsia-review.googlesource.com/c/fuchsia/+/1239424),
[fxr/1234130](https://fuchsia-review.googlesource.com/c/fuchsia/+/1234130),
[fxr/1235287](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235287),
[fxr/1219813](https://fuchsia-review.googlesource.com/c/fuchsia/+/1219813)
### ffx
The following updates have been made for ffx:
* **Removed the daemon-based package server from `ffx`.** All associated
commands (`ffx repository add`, `list`, `remove`, `status`, etc.) are also
removed. Users should now use the standalone `ffx repository server`
commands.
* Changes:
[fxr/1223504](https://fuchsia-review.googlesource.com/c/fuchsia/+/1223504),
[fxr/1225307](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225307),
[fxr/1222831](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222831),
[fxr/1219104](https://fuchsia-review.googlesource.com/c/fuchsia/+/1219104),
[fxr/1201826](https://fuchsia-review.googlesource.com/c/fuchsia/+/1201826),
[fxr/1220264](https://fuchsia-review.googlesource.com/c/fuchsia/+/1220264),
[fxr/1195719](https://fuchsia-review.googlesource.com/c/fuchsia/+/1195719),
[fxr/1229749](https://fuchsia-review.googlesource.com/c/fuchsia/+/1229749)
* Bugs: [fxb/393632288](https://fxbug.dev/393632288),
[fxb/393632047](https://fxbug.dev/393632047)
* **Improved networking and connectivity.** `ffx` now correctly handles IPv6
addresses with scope IDs, provides more useful error messages for connection
failures, and more robustly discovers and manages targets, especially over
USB/VSOCK. Support for Overnet over VSOCK has also been added.
* Changes:
[fxr/1260729](https://fuchsia-review.googlesource.com/c/fuchsia/+/1260729),
[fxr/1254328](https://fuchsia-review.googlesource.com/c/fuchsia/+/1254328),
[fxr/1249646](https://fuchsia-review.googlesource.com/c/fuchsia/+/1249646),
[fxr/1253433](https://fuchsia-review.googlesource.com/c/fuchsia/+/1253433),
[fxr/1250227](https://fuchsia-review.googlesource.com/c/fuchsia/+/1250227),
[fxr/1222685](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222685),
[fxr/1245565](https://fuchsia-review.googlesource.com/c/fuchsia/+/1245565)
* **Added an opt-in Terminal User Interface (TUI)** for `ffx` and `fx`
commands to provide enhanced formatting. This can be enabled via the
`ffx.ui.mode` configuration. The `fx use` command is the first to adopt
this.
* Changes: [fxr/1255350](https://fuchsia-review.googlesource.com/c/fuchsia/+/1255350)
* **Updated `ffx product` and `ffx package` to be standalone executables,**
which are no longer bundled into the main `ffx` binary. This change improves
build times.
* Changes:
[fxr/1219912](https://fuchsia-review.googlesource.com/c/fuchsia/+/1219912),
[fxr/1225904](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225904)
* **Updated the `ffx test run` command to be more automation-friendly,**
supporting strict output requirements and machine-readable JSON.
* Changes:
[fxr/1228427](https://fuchsia-review.googlesource.com/c/fuchsia/+/1228427),
[fxr/1225870](https://fuchsia-review.googlesource.com/c/fuchsia/+/1225870),
[fxr/1224364](https://fuchsia-review.googlesource.com/c/fuchsia/+/1224364)
* **Replaced the `ffx inspect` command's `--component` flag with `--data`**
for more intuitive querying.
* Changes: [fxr/1148106](https://fuchsia-review.googlesource.com/c/fuchsia/+/1148106)
* **Improved the `ffx driver` command** with a new `--unbound` flag to list
only unbound nodes and more accurate reporting of unbindable nodes.
* Changes:
[fxr/1236072](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236072),
[fxr/1236071](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236071)
* **Improved flashing speed and reliability.** The `ffx flash` command is now
significantly faster for large images due to an increased transfer buffer
size. It can also now correctly handle large sparse images by automatically
re-chunking them. A bug causing an "Unknown Ninja path" error in `fx flash`
has also been fixed.
* Changes:
[fxr/1252985](https://fuchsia-review.googlesource.com/c/fuchsia/+/1252985),
[fxr/1243987](https://fuchsia-review.googlesource.com/c/fuchsia/+/1243987),
[fxr/1238368](https://fuchsia-review.googlesource.com/c/fuchsia/+/1238368)
* **Updated the `ffx trace` command to better visualize FIDL IPC traces.** It
uses a two-pass approach to correctly render asynchronous two-way FIDL calls
as single, continuous flows in Perfetto and sets event names to FIDL method
names for easier debugging.
* Changes:
[fxr/1232114](https://fuchsia-review.googlesource.com/c/fuchsia/+/1232114),
[fxr/1233148](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233148),
[fxr/1233024](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233024)
### zxdb
The following updates have been made for zxdb:
* **Enabled host-side unwinding as the default in zxdb,** leveraging full
debugging information to provide higher-quality backtraces. A
`--force-remote-unwind` option has been added to revert to the previous
target-side behavior.
* Changes:
[fxr/1172993](https://fuchsia-review.googlesource.com/c/fuchsia/+/1172993),
[fxr/1195609](https://fuchsia-review.googlesource.com/c/fuchsia/+/1195609)
* Bugs: [fxb/292107156](https://fxbug.dev/292107156)
## UI
The following updates have been made for UI:
* **Enabled direct-to-display** in Flatland. This allows for more efficient
rendering by directly displaying client images instead of composing them and
includes critical fixes to the buffer collection import process.
* Changes:
[fxr/1234464](https://fuchsia-review.googlesource.com/c/fuchsia/+/1234464),
[fxr/1232464](https://fuchsia-review.googlesource.com/c/fuchsia/+/1232464),
[fxr/1231213](https://fuchsia-review.googlesource.com/c/fuchsia/+/1231213),
[fxr/1211426](https://fuchsia-review.googlesource.com/c/fuchsia/+/1211426)
* Bugs: [fxb/377979329](https://fxbug.dev/377979329),
[fxb/399228128](https://fxbug.dev/399228128)
* **Improved the input system and core UI stability.** These changes fix an
issue in Scenic's vsync interval computation to prevent crashes and add
support for mouse devices.
* Changes:
[fxr/1249219](https://fuchsia-review.googlesource.com/c/fuchsia/+/1249219),
[fxr/1236342](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236342)
* **Enhanced performance and configurability for UI services.** Scenic and
Scene Manager can now be configured with thread and memory profiles,
allowing integrators to fine-tune resource allocation. Additionally,
Scenic's frame prediction margin is now parameterizable.
* Changes:
[fxr/1241924](https://fuchsia-review.googlesource.com/c/fuchsia/+/1241924),
[fxr/1235465](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235465),
[fxr/1222945](https://fuchsia-review.googlesource.com/c/fuchsia/+/1222945),
[fxr/1221091](https://fuchsia-review.googlesource.com/c/fuchsia/+/1221091)
## WLAN and Connectivity
The following updates have been made for WLAN and Connectivity:
* **Introduced a new `GetMacAddress` FIDL method** to `wlanix` for retrieving
the device's MAC address.
* Changes:
[fxr/1259485](https://fuchsia-review.googlesource.com/c/fuchsia/+/1259485)
* **The `wlantool` command-line utility can now connect to a network using a
BSSID** in addition to an SSID.
* Changes: [fxr/1226545](https://fuchsia-review.googlesource.com/c/fuchsia/+/1226545)
* **Refined the roaming algorithm to be more responsive and efficient.** This
includes making the scan backoff exponential, resetting the backoff more
intelligently, and simplifying the stationary roam profile by removing SNR
as a trigger.
* Changes:
[fxr/1252322](https://fuchsia-review.googlesource.com/c/fuchsia/+/1252322),
[fxr/1252321](https://fuchsia-review.googlesource.com/c/fuchsia/+/1252321),
[fxr/1254547](https://fuchsia-review.googlesource.com/c/fuchsia/+/1254547),
[fxr/1254546](https://fuchsia-review.googlesource.com/c/fuchsia/+/1254546),
[fxr/1251018](https://fuchsia-review.googlesource.com/c/fuchsia/+/1251018),
[fxr/1250028](https://fuchsia-review.googlesource.com/c/fuchsia/+/1250028),
[fxr/1196704](https://fuchsia-review.googlesource.com/c/fuchsia/+/1196704)
* **Streamlined the core WLAN FIDL APIs** by removing unused methods and
migration flags, moving SoftMAC-specific types out of common libraries, and
renaming stats-related APIs for clarity.
* Changes:
[fxr/1236310](https://fuchsia-review.googlesource.com/c/fuchsia/+/1236310),
[fxr/1235565](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235565),
[fxr/1235067](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235067),
[fxr/1235068](https://fuchsia-review.googlesource.com/c/fuchsia/+/1235068),
[fxr/1173773](https://fuchsia-review.googlesource.com/c/fuchsia/+/1173773)
* **Enhanced driver telemetry** by exposing new counters for WLAN preemptions,
SDIO bus metrics, and firmware RX/TX errors to improve monitoring.
* Change:
[fxr/1233070](https://fuchsia-review.googlesource.com/c/fuchsia/+/1233070),
[fxr/1230486](https://fuchsia-review.googlesource.com/c/fuchsia/+/1230486),
[fxr/1216229](https://fuchsia-review.googlesource.com/c/fuchsia/+/1216229),
[fxr/1217629](https://fuchsia-review.googlesource.com/c/fuchsia/+/1217629)
* **Resolved a stability issue** by adjusting the maximum TX glom frames to
prevent the batch size from exceeding protocol limits.
* Change: [fxr/1228148](https://fuchsia-review.googlesource.com/c/fuchsia/+/1228148)