blob: 83733c8188dbffd3ccf8ac5d569dc10a461888f9 [file] [view] [edit]
**Date:** April 26, 2024
**Version:** F19
The following changes have been implemented:
## Audio
The following updates have been made for Audio:
* **Improved audio modularity:** The soundplayer component now resides in its
own AIB, removed unused storage capabilities from `audio_core`, and fixed
missing `audio_core` vectors causing `ValueErrors`.
* Changes:
[fxr/1010893](https://fuchsia-review.googlesource.com/c/fuchsia/+/1010893),
[fxr/1009217](https://fuchsia-review.googlesource.com/c/fuchsia/+/1009217),
[fxr/1008320](https://fuchsia-review.googlesource.com/c/fuchsia/+/1008320)
* **Refactored and improved `ffxdaemon` for audio:** This includes
modularizing renderer and capturer logic, refactoring the `RingBuffer` for
multiple protocol support, renaming and clarifying internal components
related to WAV sockets, improving dependency management, and refactoring the
`AudioDaemon` struct.
* Changes:
[fxr/1003116](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003116),
[fxr/1001999](https://fuchsia-review.googlesource.com/c/fuchsia/+/1001999),
[fxr/1003114](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003114),
[fxr/1003115](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003115),
[fxr/1002318](https://fuchsia-review.googlesource.com/c/fuchsia/+/1002318),
[fxr/1004053](https://fuchsia-review.googlesource.com/c/fuchsia/+/1004053),
[fxr/1003113](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003113)
## Bluetooth
* **Added a new bluetooth tool and Pandora gRPC server framework:** Added the
`ffx bluetooth` subtool and implemented the Pandora gRPC server framework.
* Changes:
[fxr/961208](https://fuchsia-review.googlesource.com/c/fuchsia/+/961208),
[fxr/961207](https://fuchsia-review.googlesource.com/c/fuchsia/+/961207)
* **Enhanced Bluetooth low Energy capabilities:** Added a credit-based flow
control TxEngine to improve LE flow control, implemented
`ExtendedLowEnergyConnector` and `ExtendedLowEnergyScanner` which supports
extended advertising and connection features, and added advertising packet
filtering constants to the vendor protocol. Also, fixed a `LowEnergyScanner`
crash related to scan response timeouts and an issue in
`LowEnergyMultipleAdvertisingTest`.
* Changes:
[fxr/1002193](https://fuchsia-review.googlesource.com/c/fuchsia/+/1002193),
[fxr/985356](https://fuchsia-review.googlesource.com/c/fuchsia/+/985356),
[fxr/985355](https://fuchsia-review.googlesource.com/c/fuchsia/+/985355),
[fxr/983023](https://fuchsia-review.googlesource.com/c/fuchsia/+/983023),
[fxr/1006214](https://fuchsia-review.googlesource.com/c/fuchsia/+/1006214),
[fxr/986428](https://fuchsia-review.googlesource.com/c/fuchsia/+/986428),
[fxr/984735](https://fuchsia-review.googlesource.com/c/fuchsia/+/984735),
[fxr/983022](https://fuchsia-review.googlesource.com/c/fuchsia/+/983022),
[fxr/1008935](https://fuchsia-review.googlesource.com/c/fuchsia/+/1008935)
* Bugs:
[b/312896684](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=312896684),
[b/312896673](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=312896673)
* **Improved the support of isochronous data stream support:** Added
`IsochronousStream::Read` and `IsochronousStream::ReadSupportedDelayRange`
APIs, implemented support for ISO data streams in Banjo and FIDL
controllers, and added ISO Channel FIDL Protocol support in drivers. Also,
fixed an emulator crash and a controller shutdown issue related to missing
or failing ISO channel support.
* Changes:
[fxr/1005272](https://fuchsia-review.googlesource.com/c/fuchsia/+/1005272),
[fxr/997312](https://fuchsia-review.googlesource.com/c/fuchsia/+/997312),
[fxr/998736](https://fuchsia-review.googlesource.com/c/fuchsia/+/998736),
[fxr/1002652](https://fuchsia-review.googlesource.com/c/fuchsia/+/1002652),
[fxr/1003012](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003012)
* Bugs:
[b/328457492](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=328457492),
[b/328459391](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=328459391),
* **Enhanced HFP and SCO:** Implemented the HFP core shard and added
procedures for audio connection and call initiation, and implemented the SCO
FIDL API for `FidlController`. Also, translated \+CIEVs in HFP to typed
values.
* Changes:
[fxr/996354](https://fuchsia-review.googlesource.com/c/fuchsia/+/996354),
[fxr/921672](https://fuchsia-review.googlesource.com/c/fuchsia/+/921672),
[fxr/877537](https://fuchsia-review.googlesource.com/c/fuchsia/+/877537),
[fxr/1003974](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003974),
[fxr/895561](https://fuchsia-review.googlesource.com/c/fuchsia/+/895561)
* **Expanded support and connection handling for bluetooth LE:** Improved
Bluetooth LE isochronous stream support by adding `Read`, `SetupDataPath`,
and `ReadSupportedDelayRange` methods. Also, added `Connection::AcceptCis()`
for accepting Connectionless Isochronous Streams.
* Changes:
[fxr/1001175](https://fuchsia-review.git.corp.google.com/c/fuchsia/+/1001175),
[fxr/997312](https://fuchsia-review.googlesource.com/c/fuchsia/+/997312),
[fxr/980617](https://fuchsia-review.googlesource.com/c/fuchsia/+/980617)
* **Improved OBEX and RFCOMM:** Added support for advertising and searching
for MAP services. Fixed protocol list construction, PSM parsing, incorrect
PSM values, and issues with duplicate headers and missing `ConnectionIds`
for OBEX services. Also, added support for assigning `ConnectionId` in OBEX.
Improved RFCOMM logging.
* Changes:
[fxr/987352](https://fuchsia-review.googlesource.com/c/fuchsia/+/987352),
[fxr/1000122](https://fuchsia-review.googlesource.com/c/fuchsia/+/1000122),
[fxr/1001394](https://fuchsia-review.googlesource.com/c/fuchsia/+/1001394),
[fxr/1006716](https://fuchsia-review.googlesource.com/c/fuchsia/+/1006716),
[fxr/1005712](https://fuchsia-review.googlesource.com/c/fuchsia/+/1005712),
[fxr/1005372](https://fuchsia-review.googlesource.com/c/fuchsia/+/1005372),
[fxr/1002584](https://fuchsia-review.googlesource.com/c/fuchsia/+/1002584)
* Bugs:
[b/42076096](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=42076096),
[b/42080293](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=42080293)
* **Migrate bt-host from driver to component:** includes migrating
`serialimpl` protocol to FIDL and `LoopbackDevice` driver to FIDL. Also,
fixed driver name issues during DFv2 migration and a storage offer issue in
`bt-init`.
* Changes:
[fxr/991355](https://fuchsia-review.googlesource.com/c/fuchsia/+/991355),
[fxr/974880](https://fuchsia-review.googlesource.com/c/fuchsia/+/974880),
[fxr/1010218](https://fuchsia-review.googlesource.com/c/fuchsia/+/1010218),
[fxr/1003659](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003659),
[fxr/1005092](https://fuchsia-review.googlesource.com/c/fuchsia/+/1005092),
[fxr/996212](https://fuchsia-review.googlesource.com/c/fuchsia/+/996212),
[fxr/1006820](https://fuchsia-review.googlesource.com/c/fuchsia/+/1006820),
[fxr/1007754](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007754),
[fxr/1007170](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007170),
[fxr/996482](https://fuchsia-review.googlesource.com/c/fuchsia/+/996482),
[fxr/1009315](https://fuchsia-review.googlesource.com/c/fuchsia/+/1009315)
* Bugs:
[b/329506134](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=329506134),
[b/328663864](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=328663864),
[b/42085239](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=42085239),
[b/325099398](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=325099398),
[b/324276236](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=324276236)ß
## Build
The following updates have been made for Build:
* **Improved the hermeticity of Bazel build:** Updated BoringSSL build to
generate Bazel rules during roll and improved Bazel SDK and Clang workspace
initialization.
* Changes:
[fxr/1008842](https://fuchsia-review.googlesource.com/c/fuchsia/+/1008842),
[fxr/1007952](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007952)
## Cobalt
The following updates have been made for Cobalt:
* **Removed Profile provider routes.** This change is due to Cobalt's
migration to the role manager.
* Changes: [fxr/1010304](https://fuchsia-review.googlesource.com/c/fuchsia/+/1010304)
* **Update to include metrics as an SDK area in Cobalt's FIDL interface.**
* Changes: [fxr/999785](https://fuchsia-review.googlesource.com/c/fuchsia/+/999785)
## Component Framework
The following updates have been made for Component Framework:
* **Enhanced component lifecycle management:**
* Introduced the `fuchsia.component.Escrow` API to manage component state
during shutdown and integrated it into component start/stop actions.
* Changes:
[fxr/991412](https://fuchsia-review.googlesource.com/c/fuchsia/+/991412),
[fxr/1000121](https://fuchsia-review.googlesource.com/c/fuchsia/+/1000121),
* Bugs: [fxb/319754472](https://fxbug.dev/319754472)
* **Improved capability handling:**
* Added `delivery: "on_readable"` for protocol capabilities.
* Changes:
[fxr/1011079](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011079),
* Bugs: [fxb/319754472](https://fxbug.dev/319754472)
* **Enhanced CML and routing:**
* Improved the handling of dictionaries for cycle detection, shutdown
order, and routing robustness.
* **Improved tooling:**
* Enabled schema support for `ffx component show`.
* Changes:
[fxr/1005672](https://fuchsia-review.googlesource.com/c/fuchsia/+/1005672)
* **Removed the Config Value File (CVF) requirement:**
* Changes: [fxr/1000095](https://fuchsia-review.googlesource.com/c/fuchsia/+/1000095)
## Developer
The following updates have been made for Developer:
* **Expanded support for `roll-compiler`:** Added `aarch64` mac support.
* Changes: [fxr/1004719](https://fuchsia-review.googlesource.com/c/fuchsia/+/1004719)
* **Improved ProfileResource routing:** This resource is now routed to the
serial console.
* Changes: [fxr/1001364](https://fuchsia-review.googlesource.com/c/fuchsia/+/1001364)
## Diagnostics
The following key updates have been made for Diagnostics:
* **Enhanced Archivist:** Archivist’s own minimum log severity can now be
dynamically adjusted, allowing for more flexible control over its log
output. The JSON log encoding's "verbosity" field has been renamed to
"raw\_severity" for consistency. Archivist per component batch timeout is
now configurable. Minor performance improvements in Archivist.
* Changes: [fxr/989275](https://fuchsia-review.googlesource.com/c/fuchsia/+/989275)
* **Improved debugging through zxdb:** Enhanced debugger functionality with
recursive component filters which allows attaching to all children of a
filtered component, and a new notification signals filter application.
Debugger command analytics are now collected.
* Changes:
[fxr/1011476](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011476),
[fxr/1013624](https://fuchsia-review.googlesource.com/c/fuchsia/+/1013624),
[fxr/1007579](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007579)
* Bugs:
[b/329916323](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=329916323),
[b/330571289](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=330571289)
* **Improved tracing:** The trace importer is more robust against corrupted
traces.
* Changes: [fxr/1001403](https://fuchsia-review.googlesource.com/c/fuchsia/+/1001403)
* Bugs: [fxb/328124336](https://fxbug.dev/328124336)
* **Improved the Rust Inspect API:** Inspect Rust API was enhanced to support
atomic updates in properties.
* **Improved `ffx inspect`:** ffx inspect and iquery no longer support reading
files directly.
* **Improved ffx log:** Added a new asynchronous transactional log reader and
parser to enhance the performance of `ffx log`. Added buffering to
symbolizer writes to prevent deadlocks. Log backtraces
prettification is now supported in `ffx log` and can be disabled for
improved performance. `ffx log` output is also improved by
deduplicating monikers in tags and gracefully handling symbolization errors.
* Changes:
[fxr/1004536](https://fuchsia-review.git.corp.google.com/c/fuchsia/+/1004536),
[fxr/997397](https://fuchsia-review.git.corp.google.com/c/fuchsia/+/997397),
[fxr/1002857](https://fuchsia-review.git.corp.google.com/c/fuchsia/+/1002857),
[fxr/1010935,](https://fuchsia-review.git.corp.google.com/c/fuchsia/+/1010935)
[fxr/101559](https://fuchsia-review.googlesource.com/c/fuchsia/+/1015593),
[fxr/1014600](https://fuchsia-review.googlesource.com/c/fuchsia/+/1014600),
[fxr/1008847](https://fuchsia-review.googlesource.com/c/fuchsia/+/1008847),
[fxr/1012852](https://fuchsia-review.googlesource.com/c/fuchsia/+/1012852),
* Bugs:
[b/299980894](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=299980894)
## Display
The following key updates have been made for Display:
* The display driver stack is being migrated to modern Fuchsia Platform
infrastructure, such as DFv2 and FIDL.
## Driver Framework
The following updates have been made for Driver Framework:
* **Enhanced driver context and startup:** Updated `DriverStartArgs` to
include `node_properties`.
* Changes: [fxr/986452](https://fuchsia-review.googlesource.com/c/fuchsia/+/986452)
* Bugs: [b/42182546](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=42182546)
* **Improved the interaction of `devfs` and controller:** `DevfsAddArgs` now
allows overriding the controller interface for compat shims, and devnodes
now use separate callbacks for `fuchsia.device/Controller` and device
channels which improves clarity and prevents accidental multiplexing.
* Changes:
[fxr/1005017](https://fuchsia-review.googlesource.com/c/fuchsia/+/1005017),
[fxr/1005016](https://fuchsia-review.googlesource.com/c/fuchsia/+/1005016),
[fxr/994994](https://fuchsia-review.googlesource.com/c/fuchsia/+/994994),
[fxr/994995](https://fuchsia-review.googlesource.com/c/fuchsia/+/994995),
[fxr/994993](https://fuchsia-review.googlesource.com/c/fuchsia/+/994993),
[fxr/999192](https://fuchsia-review.googlesource.com/c/fuchsia/+/999192)
* Bugs: [fxb/42063787](https://fxbug.dev/42063787)
* **Improved stability and resource management:** Node deallocation now
cancels rebind requests. Fixed colocation flags for `aml-sdmmc` and
`vim3-usb-phy`.
* Changes:
[fxr/999514](https://fuchsia-review.googlesource.com/c/fuchsia/+/999514),
[fxr/999632](https://fuchsia-review.googlesource.com/c/fuchsia/+/999632)
## FIDL
The following updates have been made for FIDL:
* **Enhanced FIDL tooling:** Added a new tool that assesses runtime
compatibility across API levels and then generates detailed reports to aid
in maintaining stability across Fuchsia releases.
* Changes: [fxr/907296](https://fuchsia-review.git.corp.google.com/c/fuchsia/+/907296)
* **Improved FIDL API versioning:** Added `deprecated`, `platform`, and
`legacy` fields to the FIDL JSON IR and a `fidlc --platform` flag to enhance
API versioning and deprecation management. Removed the `@transitional`
annotation in favor of explicit versioning.
* Changes:
[fxr/1011080](https://fuchsia-review.googlesource.com/c/fuchsia/+/1001434),
[fxr/1001433](https://fuchsia-review.googlesource.com/c/fuchsia/+/1001433),
[fxr/1003613](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003613),
[fxr/1000412](https://fuchsia-review.googlesource.com/c/fuchsia/+/1000412),
[fxr/995757](https://fuchsia-review.googlesource.com/c/fuchsia/+/995757)
* Bugs:
[b/325669391](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=325669391),
[fxb/42084545](https://fxbug.dev/42084545),
[fxb/42078310](https://fxbug.dev/42078310),
[fxb/42085274](https://fxbug.dev/42085274)
* **Improved error handling:** All FIDL errors are now broadcast and they are
all terminal.
* Changes: [fxr/1011592](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011592)
## GPU
The following updates have been made for GPU:
* **Enhanced power management:** Added support for powering down shader cores
on suspend and then powering them up on resume. Also, allowed atoms to be
preempted to reduce the suspended latency. Added a FIDL protocol for GPU
power management.
* Changes:
[fxr/1004556](https://fuchsia-review.googlesource.com/c/fuchsia/+/1004556),
[fxr/1004555](https://fuchsia-review.googlesource.com/c/fuchsia/+/1004555),
[fxr/1001258](https://fuchsia-review.googlesource.com/c/fuchsia/+/1001258)
## i18n
The following updates have been made for I18n:
* **Fixed change detector tests for stability of date localization:**
Addressed an issue where date formatting changes in the ICU library caused
test failures. The affected test has been updated to be less brittle.
* Changes: [fxr/1014633](https://fuchsia-review.googlesource.com/c/fuchsia/+/1014633)
## Kernel
The following updates have been made for Kernel:
* **Power and task scheduling**
* Added provisional syscall for registering CPU energy models in service
of Runtime Processor Power Management (RPPM).
* Changes:
[fxr/994713](https://fuchsia-review.googlesource.com/c/fuchsia/+/994713)
* Added provisional support for wake vectors, allowing the system to be
woken from suspend by a device interrupt.
* Changes:
[fxr/994109](https://fuchsia-review.googlesource.com/c/fuchsia/+/994109)
* Began building out libsched, a library that encapsulates the scheduler
run queue.
* Changes:
[fxr/1006654](https://fuchsia-review.googlesource.com/c/fuchsia/+/1006654)
* Fixed a bookkeeping error in PI propagation.
* Changes:
[fxr/994748](https://fuchsia-review.googlesource.com/c/fuchsia/+/994748)
* **Virtual memory**
* Refactored page fault handling and laid groundwork for future "fault
ahead" optimizations.
* Changes:
[fxr/998132](https://fuchsia-review.googlesource.com/c/fuchsia/+/998132),
[fxr/990574](https://fuchsia-review.googlesource.com/c/fuchsia/+/990574),
[fxr/1013312](https://fuchsia-review.googlesource.com/c/fuchsia/+/1013312)
* Bugs: [fxb/42085825](https://fxbug.dev/42085825)
* Implemented break-before-make for large page splitting on arm64 to
improve correctness in some edge cases.
* Changes:
[fxr/994412](https://fuchsia-review.googlesource.com/c/fuchsia/+/994412)
* Added support for "unbounded VMOs" (see RFC-0238).
* Changes:
[fxr/1004252](https://fuchsia-review.googlesource.com/c/fuchsia/+/1004252)
* Added support for "upgrading" mappings.
* Changes:
[fxr/959154](https://fuchsia-review.googlesource.com/c/fuchsia/+/959154),
[fxr/939173](https://fuchsia-review.googlesource.com/c/fuchsia/+/939173),
[fxr/1002413](https://fuchsia-review.googlesource.com/c/fuchsia/+/1002413)
* Bugs: [fxb/42182886](https://fxbug.dev/42182886)
* **Performance profiling**
* Added experimental support for the new sampling profiler using
zx_\*sampler_\* syscalls.
* Changes:
[fxr/933215](https://fuchsia-review.googlesource.com/c/fuchsia/+/933215),
[fxr/939358](https://fuchsia-review.googlesource.com/c/fuchsia/+/939358)
* **IPC and Clocks**
* Fixed a bug related to socket datagram read with a bad buffer.
* Changes:
[fxr/994605](https://fuchsia-review.googlesource.com/c/fuchsia/+/994605)
* Added a new clock object signal, `ZX_CLOCK_UPDATED` to notify observers
when the underlying clock parameters have changed. This signal can be
used to implement more efficient and accurate "get time" calls for Linux
programs running under Starnix.
* Changes:
[fxr/920132](https://fuchsia-review.googlesource.com/c/fuchsia/+/920132)
* Bugs: [fxb/297305722](https://fxbug.dev/297305722)
* **Security**
* Added support for per-cpu arm64 exception vectors to facilitate more
precise speculative execution mitigations.
* Changes:
[fxr/993134](https://fuchsia-review.googlesource.com/c/fuchsia/+/993134),
[fxr/995833](https://fuchsia-review.googlesource.com/c/fuchsia/+/995833)
* Bugs: [fxb/322202704](https://fxbug.dev/322202704)
* **Other notable improvements**
* Restructured user-copy and fault handling routines to enable limited
faulting while holding spinlocks. This enabled us to replace the
FutexState mutex with a spinlock, simplify FutexContext, and prepare for
removal of the global thread lock.
* Changes:
[fxr/1004052](https://fuchsia-review.googlesource.com/c/fuchsia/+/1004052),
[fxr/1006873](https://fuchsia-review.googlesource.com/c/fuchsia/+/1006873),
[fxr/1007035](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007035),
[fxr/1007793](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007793)
* Refactored arm64 low level cache maintenance routines.
* Changes:
[fxr/992023](https://fuchsia-review.googlesource.com/c/fuchsia/+/992023),
[fxr/1004836](https://fuchsia-review.googlesource.com/c/fuchsia/+/1004836)
## Platform Drivers
The following updates have been made for Platform Drivers:
* **Enhanced power management:** Added a new support library that simplifies
driver integration with the power framework. A "Power Mode" power element,
dependent on the SAG, manages power-on leases during Starnix kernel
initialization. Additionally, the Power Broker FIDL APIs have been improved
for concurrency and reliability.
* Changes:
[fxr/987383](https://fuchsia-review.googlesource.com/c/fuchsia/+/987383),
[fxr/970380](https://fuchsia-review.googlesource.com/c/fuchsia/+/970380),
[fxr/1002672](https://fuchsia-review.googlesource.com/c/fuchsia/+/1002672)
* Bugs:
[b/42083491](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=42083491),
* **Improved driver stability:** Fixed an issue with the SDMMC driver's
`PrepareStop` crash. UMS now supports the SCSI UNMAP command. Updated the
Goldfish pipe driver to gracefully handle `ZX_ERR_PEER_CLOSED`. Resolved
issues that the SPI core driver had with scheduler roles and asynchronous
calls.
* Changes:
[fxr/1012885](https://fuchsia-review.googlesource.com/c/fuchsia/+/1012885),
[fxr/941292](https://fuchsia-review.googlesource.com/c/fuchsia/+/941292),
[fxr/996281](https://fuchsia-review.googlesource.com/c/fuchsia/+/996281),
[fxr/968459](https://fuchsia-review.googlesource.com/c/fuchsia/+/968459),
[fxr/992876](https://fuchsia-review.googlesource.com/c/fuchsia/+/992876)
## Power Management
The following updates have been made for Power Management:
* **Enhanced power management:** Added a new support library that simplifies
driver integration with the power framework. A "Power Mode" power element,
dependent on the SAG, manages power-on leases during Starnix kernel
initialization. Additionally, the Power Broker FIDL APIs have been improved
for concurrency and reliability.
* Changes:
[fxr/987383](https://fuchsia-review.googlesource.com/c/fuchsia/+/987383),
[fxr/970380](https://fuchsia-review.googlesource.com/c/fuchsia/+/970380),
[fxr/1002672](https://fuchsia-review.googlesource.com/c/fuchsia/+/1002672)
* Bugs:
[b/42083491](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=42083491)
## Software Delivery
The following updates have been made for Software Delivery:
* **Refactored the system updater for writing of system images:** Improved
readability and maintainability when writing system images with correct
`fuchsia.mem.Buffer` size handling.
* Changes:
[fxr/1011712](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011712),
[fxr/1010302](https://fuchsia-review.googlesource.com/c/fuchsia/+/1010302)
* **Improved package management:** Added support for the `ffx repository
publish` to publish from product bundles and mutable API levels (like
`api-level=HEAD`). Updated package types to match match paver naming
conventions. Also, removed the redundant `--abi-revision` flag from
`package-tool`.
* Changes:
[fxr/1003995](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003995),
[fxr/998738](https://fuchsia-review.googlesource.com/c/fuchsia/+/998738),
[fxr/1011161](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011161),
[fxr/997492](https://fuchsia-review.googlesource.com/c/fuchsia/+/997492)
* Bugs: [fxb/326095523](https://fxbug.dev/326095523)
* **Enhanced `pkg-cache`:** Resolved an issue with dynamic index garbage
collection, updated the `Get` server end required to improve security, and
introduced `WritingIndex` to protect packages during caching.
* Changes:
[fxr/999681](https://fuchsia-review.googlesource.com/c/fuchsia/+/999681),
[fxr/1003093](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003093),
[fxr/996574](https://fuchsia-review.googlesource.com/c/fuchsia/+/996574)
* **Improved the paver:** Fixed the `PartitionRead` API for ZBI content
truncation.
* Changes: [fxr/1006940](https://fuchsia-review.googlesource.com/c/fuchsia/+/1006940)
## Starnix
The following updates have been made for Starnix:
**Security and Stability:**
* **Implemented eBPF verifier and expanded the support of the eBPF program:**
Enhances the security and stability of eBPF programs, which includes
handling array pointers, field mapping, and improves program loading. Also,
fixed an integer overflow issue in eBPF maps.
* Changes:
[fxr/999353](https://fuchsia-review.googlesource.com/c/fuchsia/+/999353),
[fxr/1007172](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007172),
[fxr/1007596](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007596),
[fxr/1008232](https://fuchsia-review.googlesource.com/c/fuchsia/+/1008232),
[fxr/1008233](https://fuchsia-review.googlesource.com/c/fuchsia/+/1008233),
[fxr/1008955](https://fuchsia-review.googlesource.com/c/fuchsia/+/1008955),
[fxr/1010953](https://fuchsia-review.googlesource.com/c/fuchsia/+/1010953),
[fxr/1000473](https://fuchsia-review.googlesource.com/c/fuchsia/+/1000473),
[fxr/1001272](https://fuchsia-review.googlesource.com/c/fuchsia/+/1001272),
[fxr/1001377](https://fuchsia-review.googlesource.com/c/fuchsia/+/1001377)
* **Improved the context handling for SELinux security:** Fixed several issues
related to security contexts, including trimming trailing null characters
and restoring `Copy` support for Security IDs. Improved the hooks test
policy and reference policy initial SID declarations.
* Changes:
[fxr/1011912](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011912),
[fxr/1010236](https://fuchsia-review.googlesource.com/c/fuchsia/+/1010236),
[fxr/1008913](https://fuchsia-review.googlesource.com/c/fuchsia/+/1008913),
[fxr/1011874](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011874),
[fxr/1004332](https://fuchsia-review.googlesource.com/c/fuchsia/+/1004332),
[fxr/100633](https://fuchsia-review.googlesource.com/c/fuchsia/+/1006332).
**Functionality and syscalls:**
* **Enhanced file system and I/O operations:** Implemented the `openat2()`
syscall and `io_submit` in the VFS, which includes support for
`IOCB_FLAG_RESFD`, and improves file system access and asynchronous I/O.
* Changes:
[fxr/995601](https://fuchsia-review.googlesource.com/c/fuchsia/+/995601),
[fxr/994747](https://fuchsia-review.googlesource.com/c/fuchsia/+/994747),
[fxr/1002213](https://fuchsia-review.googlesource.com/c/fuchsia/+/1002213)
* **Improved signal handling:** Implemented the `rt_sigpending()` function and
the `SA_RESETHAND` and `SA_NODEFER` signal flags, which enhances signal
management flexibility. Also, fixed a flake in the `rt_sigtimedwait01` test.
* Changes:
[fxr/1002000](https://fuchsia-review.googlesource.com/c/fuchsia/+/1002000),
[fxr/1002142](https://fuchsia-review.googlesource.com/c/fuchsia/+/1002142),
[fxr/1008156](https://fuchsia-review.googlesource.com/c/fuchsia/+/1008156)
* **Implemented `getcpu()` function:** This function provides a way to
retrieve CPU information.
* Changes: [fxr/997713](https://fuchsia-review.googlesource.com/c/fuchsia/+/997713)
* Bugs:
[b/297305396](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=297305396)
**Devices and drivers:**
* **Improved support for touchscreens:** Implemented `write()` for Uinput
Touch devices and `ioctl()` for `UI_DEV_CREATE`, which enables processing of
EV_ABS events.
* Changes:
[fxr/997255](https://fuchsia-review.googlesource.com/c/fuchsia/+/997255),
[fxr/996138](https://fuchsia-review.googlesource.com/c/fuchsia/+/996138)
* **Added skeleton GPU device:** Laid the groundwork for future `virtio-gpu`
and `gfxstream` implementation. Added a `gfxstream` feature flag.
* Changes:
[fxr/1010753](https://fuchsia-review.googlesource.com/c/fuchsia/+/1010655).
**ADB and debugging:**
* **Improved functionality of ADB:** Improved error handling and support for
large file transfers. Enhanced the connection of ADB `FunctionFS` to
`fuchsia.hardware.usb`.
* Changes:
[fxr/1012292](https://fuchsia-review.googlesource.com/c/fuchsia/+/1012292),
[fxr/1006886](https://fuchsia-review.googlesource.com/c/fuchsia/+/1006886),
[fxr/990247](https://fuchsia-review.googlesource.com/c/fuchsia/+/990247)
* **Added a `vmo` subcommand to `starnix` tool:** This tool allows querying
processes with open files backed by a specific VMO koid.
* Changes:
[fxr/1011913](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011913).
**Other improvements:**
* **Improved the handling of time and reboot:** Improved reboot syscall
handling and the handling of UTC time signals.
* Changes:
[fxr/1014594](https://fuchsia-review.googlesource.com/c/fuchsia/+/1014594),
[fxr/1011873](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011873)
* Bugs: [fxb/297305722](https://fxbug.dev/297305722)
* **Defined `SyncFenceRegistry`:** Replaced the VMO-backed implementation for
Linux synchronization fences.
* Changes: [fxr/953721](https://fuchsia-review.googlesource.com/c/fuchsia/+/953721)
## Testing
The following updates have been made for Testing:
* **Improved `fx test`: Added support for environment variables (`-e`,
`--env`), slow test filtering (`--slow`), log printing (`--print-logs`),
boot test detection, updated build format, and numerous bug fixes related to
test filtering, argument parsing, and temporary file handling.**
* Changes:
[fxr/1015701](https://fuchsia-review.googlesource.com/c/fuchsia/+/1015701),
[fxr/984516](https://fuchsia-review.googlesource.com/c/fuchsia/+/984516),
[fxr/1003952](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003952),
[fxr/101446](https://fuchsia-review.googlesource.com/c/fuchsia/+/1014461),
[fxr/997674](https://fuchsia-review.googlesource.com/c/fuchsia/+/997674),
[fxr/997752](https://fuchsia-review.googlesource.com/c/fuchsia/+/997752),
[fxr/997792](https://fuchsia-review.googlesource.com/c/fuchsia/+/997792),
[fxr/1015534](https://fuchsia-review.googlesource.com/c/fuchsia/+/1015534),
[fxr/1011768](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011768),
[fxr/1010468](https://fuchsia-review.googlesource.com/c/fuchsia/+/1010468),
[fxr/1009610](https://fuchsia-review.googlesource.com/c/fuchsia/+/1009610)
* Bugs:
[b/319465603](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=319465603),
[b/319138893](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=319138893),
[fxb/330513884](https://fxbug.dev/330513884)
* **Improved `gtest`:** Handles extra newlines in stdout and adds support for
`ASSERT_DEATH`.
* Changes:
[fxr/1000092](https://fuchsia-review.googlesource.com/c/fuchsia/+/1000092),
[fxr/1009294](https://fuchsia-review.googlesource.com/c/fuchsia/+/1009294)
* Bugs:
[fxb/42178254](https://fxbug.dev/42178254)
## Thread
The following updates have been made for Thread:
* **Add DHCPv6 PD feature flag support**
* Changes: [fxr/997735](https://fuchsia-review.googlesource.com/c/fuchsia/+/997735)
* **Add Upstream DNS feature flag API:**
* Changes: [fxr/1016174](https://fuchsia-review.googlesource.com/c/fuchsia/+/1016174)
## Timekeeping
The following updates have been made for Timekeeping:
* **Integrated with power management:** Timekeeper now participates in the
power management subsystem, responding to power management signals and
registering with the power broker. Also, improved error logging when power
management is unavailable.
* Changes:
[fxr/987962](https://fuchsia-review.googlesource.com/c/fuchsia/+/987962),
[fxr/998604](https://fuchsia-review.googlesource.com/c/fuchsia/+/998604),
[fxr/999701](https://fuchsia-review.googlesource.com/c/fuchsia/+/999701)
* **Improved `fake-clock` library:** The `fake-clock` library now prevents
concurrent use of the monotonic and UTC clocks.
* Changes: [fxr/999777](https://fuchsia-review.googlesource.com/c/fuchsia/+/999777)
* **Cleaned up dependencies and build:** Removed the dependency between
`realm-proxy` and `timekeeper_integration`, along with unnecessary expose
stanzas and a `deps` line in a `group` block. This improves build hygiene
and reduces unnecessary dependencies.
* Changes:
[fxr/1013521](https://fuchsia-review.googlesource.com/c/fuchsia/+/1013521),
[fxr/1009326](https://fuchsia-review.googlesource.com/c/fuchsia/+/1009326),
[fxr/1002152](https://fuchsia-review.googlesource.com/c/fuchsia/+/1002152)
* **Added regression tests for initial update pause:** Added regression tests
to address issues with the initial update pause.
* Changes: [fxr/989392](https://fuchsia-review.googlesource.com/c/fuchsia/+/989392)
## Toolchain
The following updates have been made for Toolchain:
* **Improved `llvm-profdata` compatibility with v10 profile format.**
* Changes: [fxr/999612](https://fuchsia-review.googlesource.com/c/fuchsia/+/999612)
* Bugs: [fxb/327273958](https://fxbug.dev/327273958)
## Tools
The following updates have been made for Tools:
### ffx
* **Improved target management:** Refactored local target discovery for better
substring matching and improved default handling. Added schema support to
`target add` and `target remove` commands.
* Changes:
[fxr/1012813](https://fuchsia-review.googlesource.com/c/fuchsia/+/1012813),
[fxr/1011055](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011055),
[fxr/1010838](https://fuchsia-review.googlesource.com/c/fuchsia/+/1010838)
* **Enhanced usability and performance:** Improved error handling for user
errors and build performance. Allows immediate foreground repository server
restarts by ignoring time-wait sockets.
* Changes:
[fxr/1012792](https://fuchsia-review.googlesource.com/c/fuchsia/+/1012792),
[fxr/1014836](https://fuchsia-review.googlesource.com/c/fuchsia/+/1014836),
[fxr/1010714](https://fuchsia-review.googlesource.com/c/fuchsia/+/1010714)
* Bugs:
[fxb/42061451](https://fxbug.dev/42061451),
[b/330912658](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=330912658)
* **Expanded functionality:** Added a hidden Bluetooth subtool with Pandora
functionality, `ffx playground` for interactive FIDL interaction, product
bundle support for serving a foreground repository (`--product-bundle`), and
improved the `ffx driver` workflow.
* Changes:
[fxr/961208](https://fuchsia-review.googlesource.com/c/fuchsia/+/961208),
[fxr/952041](https://fuchsia-review.googlesource.com/c/fuchsia/+/952041),
[fxr/1011174](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011174),
[fxr/1011155](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011155)
* Bugs:
[b/329911083](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=329911083)
* **Removed plugins:** Removed the `inspect`, `setui`, `assembly`, `wlan`, and
`fuzz` plugins.
* Changes:
[fxr/916715](https://fuchsia-review.googlesource.com/c/fuchsia/+/916715),
[fxr/1003647](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003647),
[fxr/916513](https://fuchsia-review.googlesource.com/c/fuchsia/+/916513),
[fxr/1003648](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003648),
[fxr/1003643](https://fuchsia-review.googlesource.com/c/fuchsia/+/1003643)
* **Improved to SSH key management:** Moved `sshconfig` file generation to
`tools/devshell` and added the `ffx config check-ssh-keys` subcommand.
* Changes:
[fxr/1001693](https://fuchsia-review.googlesource.com/c/fuchsia/+/1001693),
[fxr/999672](https://fuchsia-review.googlesource.com/c/fuchsia/+/999672)
### fx
* **Improved build and package management:** `fx build` now supports GN
labels. `fx show-package` now displays subpackages. Improved dependency
categorization in `fx sdk-deps`.
* Changes:
[fxr/997433](https://fuchsia-review.googlesource.com/c/fuchsia/+/997433),
[fxr/1007587](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007587)
* Bugs: [fxb/42084668](https://fxbug.dev/42084668)
* **Enhanced server and testing:** `fx serve` now handles incompatible server
configurations. `fx size-check` now supports Bazel builds. Added product
bundle workflows.
* Changes:
[fxr/1011092](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011092),
[fxr/1011473](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011473),
[fxr/1009532](https://fuchsia-review.googlesource.com/c/fuchsia/+/1009532),
[fxr/1000274](https://fuchsia-review.googlesource.com/c/fuchsia/+/1000274)
* Bugs:
[b/330339316](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=330339316)
* **Unified SSH key management:** `fx` now manages SSH key through `ffx`.
* Changes: [fxr/1001367](https://fuchsia-review.googlesource.com/c/fuchsia/+/1001367)
### Other Tools
* **Improved testing and tooling:** `mock-paver` now simulates normal
behavior. Added `run_lacewing_test` wrapper, host scripts for test
components, aarch64 mac support to `roll-compiler`, and `rust_extract`
tool. Deleted the unused `bt-hci-tool`.
* Changes:
[fxr/1012072](https://fuchsia-review.googlesource.com/c/fuchsia/+/1012072),
[fxr/1007964](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007964),
[fxr/1005923](https://fuchsia-review.googlesource.com/c/fuchsia/+/1005923),
[fxr/1004719](https://fuchsia-review.googlesource.com/c/fuchsia/+/1004719),
[fxr/999379](https://fuchsia-review.googlesource.com/c/fuchsia/+/999379),
[fxr/1013620](https://fuchsia-review.googlesource.com/c/fuchsia/+/1013620)
* Bugs:
[fxb/327640651](https://fxbug.dev/327640651)
* **Enhanced debugging with faster `zxdb` startup using recursive filters and
improved cursor visibility in `fx test`.**
* Changes:
[fxr/1001901](https://fuchsia-review.googlesource.com/c/fuchsia/+/1001901),
[fxr/1011533](https://fuchsia-review.googlesource.com/c/fuchsia/+/1011533)
* Bugs:
[b/322420507](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=322420507),
[b/329916323](https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=329916323)
* **Improved for `fxfs` profile management:** Added `fxfs delete_profile`
subcommand and a debug endpoint for deleting profiles.
* Changes:
[fxr/1009293](https://fuchsia-review.googlesource.com/c/fuchsia/+/1009293),
[fxr/1009292](https://fuchsia-review.googlesource.com/c/fuchsia/+/1009292)
## UI
The following updates have been made for UI:
* **Enhanced UI testing and debugging:** Starnix touch tests now use
GraphicalPresenter, aligning with runtime changes. Added
`WatchViewPresentations` for better UI test synchronization, improved UI
test debugging with added logging to the `puppet_factory`, enabled input CTF
tests, added per-app present tracing, moved UI conformance tests, and added
multi-touch event order tests.
* Changes:
[fxr/1010392](https://fuchsia-review.googlesource.com/c/fuchsia/+/1010392),
[fxr/1010393](https://fuchsia-review.googlesource.com/c/fuchsia/+/1010393),
[fxr/1002075](https://fuchsia-review.googlesource.com/c/fuchsia/+/1002075),,
[fxr/1004112](https://fuchsia-review.googlesource.com/c/fuchsia/+/1004112),
[fxr/1004092](https://fuchsia-review.googlesource.com/c/fuchsia/+/1004092),
[fxr/1007454](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007454),
[fxr/1000612](https://fuchsia-review.googlesource.com/c/fuchsia/+/1000612)
* Bugs:
[fxb/42078965](https://fxbug.dev/42078965)
* **Improved screenshot testing and display power management:** Integration
tests for PNG encoded screenshots have been added, and the
`fuchsia.ui.display.internal.DisplayPower` protocol is now routed to
session.
* Changes:
[fxr/980616](https://fuchsia-review.googlesource.com/c/fuchsia/+/980616),
[fxr/1006575](https://fuchsia-review.googlesource.com/c/fuchsia/+/1006575)
* **Implemented `SyncFenceRegistry` in `starnix_kernel`:** Defined and
implemented the `SyncFenceRegistry`.
* Changes: [fxr/953721](https://fuchsia-review.googlesource.com/c/fuchsia/+/953721)
## Video
The following updates have been made for Video:
* **Migrated CodecImpl to sysmem2 with backwards compatibility:** This change
allows for a gradual migration while supporting existing sysmem(1) clients.
* Changes: [fxr/964472](https://fuchsia-review.googlesource.com/c/fuchsia/+/964472)
## WLAN
The following updates have been made for WLAN:
* **Improved WLAN logging:** Enhanced debug logging of scan results and
incompatible BSSs. Unified logging by using shared channel implementation
for Inspect. Corrected the log severity for `ltrace_fn`.
* Changes:
[fxr/1007474](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007474),
[fxr/1007472](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007472),
[fxr/1007473](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007473),
[fxr/1014332](https://fuchsia-review.googlesource.com/c/fuchsia/+/1014332),
[fxr/997252](https://fuchsia-review.googlesource.com/c/fuchsia/+/997252)
* **Resolved race conditions and panics in hw-sim simulator:** Fixed a race
condition preventing data reception. Resolved a race condition with ethernet
status. Addressed a panic in `hw-sim` tests.
* Changes:
[fxr/1009694](https://fuchsia-review.googlesource.com/c/fuchsia/+/1009694),
[fxr/1009451](https://fuchsia-review.googlesource.com/c/fuchsia/+/1009451),
[fxr/1014636](https://fuchsia-review.googlesource.com/c/fuchsia/+/1014636))
* **Minor WLAN policy tech debt cleanups:** Improved WLAN policy by grouping
RSSI and SNR. Changed numerical type for dB, dBm, and dBm/s to `f64`.
Allowed selecting the WLAN Policy layer in assembly. Renamed `wlan_base`
bundle to `wlan_policy`. Improved the WLAN configuration manager by directly
recording scan results for better hidden network detection.
* Changes:
[fxr/1007592](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007592),
[fxr/1007575](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007575),
[fxr/997437](https://fuchsia-review.googlesource.com/c/fuchsia/+/997437),
[fxr/997436](https://fuchsia-review.googlesource.com/c/fuchsia/+/997436),
[fxr/1007813](https://fuchsia-review.googlesource.com/c/fuchsia/+/1007813)
* **Refactored `wlansoftmac`:** Migrated from Banjo to FIDL, removed dead
code, and improved testing.