Date: April 12, 2023
The following changes have been implemented:
Most components now run as v2, except Opal, Kronk,
The following improvements have been made in the Bazel workflows:
- FIDL libraries defined outside of the Fuchsia platform must not start with Fuchsia.
fuchsia_package.depsshould be updated to
- Running and publishing a component prints each step being taken; the user does not need to make any changes for this update.
Issue: Need to add initial publishing rules.
Impact: A new
fuchsia_task_publish rule was added, which is automatically created for packages. Calling
bazel run :pkg.publish will now publish the package.
Issue: Need to add parallel extraction to CIPD downloads.
Impact: Parallel extraction was added to CIPD downloads, which increased download speeds of Clang and SDK.
Issue: Need to deprecate deps in
Impact: Deprecated deps in
fuchsia_package. No changes needed, but a warning will be printed until
fuchsia_package is updated to use components and assets.
The following updates have been made in
ffx and other tools:
- Product bundle downloads will not redownload a product bundle if it already exists on your machine.
- New ability to clean up previously downloaded product bundles.
- Improved UI when downloading product bundles.
ffxcomponent copy plugin supports copying files between host and a component on target.
- More reliable resumption of incomplete downloads.
- Profile tooling:
- Added option to report the memory usage with buckets.
- Fixed accounting bug involving incorrect charging of indirect VMOs.
- Cosmetic improvements, including adding an option to choose between human readable sizes and exact sizes, aligning outputs, and clearer descriptions.
- Debugging tools:
- Enhanced compatibility support so users should see fewer version mismatches.
- Resolved "Debugger not connected to device" issue for Fuchsia VSCode extension.
- All component tests are subject to the hermetic resolver by default; tests that launch components in packages other than the test component's package will fail unless the packages are declared. See Hermetic component resolution.
ffx log --severityto take both warn and warning as arguments.
- Graduated from experimental:
ffx package build– Build a package.
ffx repository publish– Publish one or more packages to a repository.
ffx repository package list– List all packages in a repository.
ffx repository package show– List the contents of a package.
- Introduced to experimental:
ffx package far– For working with generic
ffx package archive– For working with package archives.
ffx driver list-devices– For fuzzy matching support.
ffx driver list-nodes-groups.
ffx inspect list-files.
- Removed hub usage from
ffx inspect list-filesand deleted
ffx inspect show-files.
- The API for querying inspect based on a filename now moves to
ffx inspect show --fileand takes a filename relative to the component namespace.
- Removed hub usage from
ffx componentplugins (
destroy, doctor, explore, start, stop, resolve, reload) support partial matching on moniker, URL and instance ID.
- When specifying
ffx trace, a wildcard
*may be used to indicate enabling all categories matching a given prefix; for example,
- Added the ability to print a
set, map, unordered_set, and
- Added a new setting
source-mapthat allows more flexibility in finding source files.
- Improved the display of connection errors.
- Introduced synchronous UI; short-running commands will block the input.
ffx product-bundle get,which will overwrite a package repository rather than declining to do so because the prior one is present.
- Increased tracing debug output in logs.
- No partial downloads: using temporary directory until download is complete, avoiding partial download issues.
Issue: Support for OAuth2 OOB is being removed.
Impact: Update to default to new OAuth2 non-OOB workflow.
Issue: When listing or removing bundles, the
product-bundle tool would not return anything and would not effectively inform the user.
Impact: Update has been made so that tool is more explicit when no bundles are found.
Issue: Users were unclear which bundles are about to be deleted by the
remove --all command.
Impact: Update has been made to list the bundles to be removed beforehand.
Issue: Sort order of
ffx product-bundle list is causing the oldest image to appear at the top of the list.
Impact: Update made to reverse sort order of list so that the newest bundles are listed first.
Issue: When attempting to
get a duplicate product bundle message (PBM), the tool was printing the duplicate repo message instead of the duplicate bundle message.
Impact: Fix was implemented to reorder PBM messages on duplicates.
Issue: Default remove commands were removing in-tree builds.
Impact: Fix was implemented to not include in-tree builds in remove.
Issue: Users were unable to set their severity limit in logger.
Impact: Drivers now support having their severity set dynamically via
ffx log --severity.
- The Archivist no longer provides Lifecycle events as a data source, only Inspect and Logs. Archivist was also refactored to ingest data using the new event stream capabilities.
- RFC-171 was implemented and it is now ensured that all components get LogSink, improving developer experience.
- Improvements to the triage parser and a few language improvements such as
_-separated numbers, Any, All.
- Sampler was refactored to not emit empty histogram buckets reducing the load on Cobalt.
ffx inspectgained new features such as:
ffx inspect list-files,
iquery show –filewith globs, and was improved to not rely on the hub.
- A few bugs were fixed for the Rust logging library and it became a bit smaller, saving space in BlobFS.
Support for unknown interactions is starting to roll out in binaries. See RFC-0138.
Graphics and Media
- Various stability improvements to i915 on Tigerlake devices. Driver has been enabled by default.
Issue: Device was stuck at black screen after enabling "Display Settings" testcase.
Impact: Fix was made to AMLogic display to correct some fixed panels.
Issue: Drivers were running into deadlocks when using Driver Framework v2.
Impact: i915 display driver was moved to Driver Framework v2.
HCI (Input, A11y, i18n, and View System)
Issue: Test failures occurring during scene controller.
Impact: Update was made to allow clients to present a flatland view using a raw
Issue: Highlights are a different color on Flatland.
Impact: Fix was made to the a11y highlight color in Flatland.
Issue: Need to have screenshot capabilities.
Impact: Update was made to add image compression skeleton.
Issue: Users should be notified when the clipboard contents change.
Impact: Update was made to add a clipboard watch method.
Issue: Need to add image flip options API.
Impact: Update was made to add image flip options API.
pixel_scale field was deprecated and should be removed.
Impact: Update was made to change the status of
pixel_scale from deprecated to removed.
Issue: Update needed to emit a process record named "kernel" for PID 0 to restore parity with
Impact: Process record was created for kernel with kernel threads and per-CPU event tracks.
Issue: Need ability to boot emulators through UEFI by default, locally and in automation.
Impact: Update was made to enable UEFI testing on emulators in automation.
Issue: Need to migrate
zxc library with
Impact: Update was made to migrate
zxc references to
Issue: Need to reduce padding in thread.
Impact: Update was made to reduce padding in thread.
Issue: Updates needed for
ktrace serializer templates to support
val_type parameters and
StringRef to accept string size parameters.
Impact: Updates were made to serializer templates and dependents in
Issue: Need to change references to
Undef __UNUSED in C++.
Impact: Update was made to change references from
Undef __UNUSED to
maybe_unused in C++.
Issue: Suggestion was made to implement optimistic timeslice extension.
Impact: Improvements were made to kernel mutex performance when using timeslice extension.
- Improved error messages when launching VMs fail.
- Ported the
vshtool from C++ to Rust.
- Implemented cursor command support in
- Added initial