A2UI Compose
| Latest Update | Stable Release | Release Candidate | Beta Release | Alpha Release |
|---|---|---|---|---|
| September 23, 2026 | - | - | - | 1.0.0-alpha01 |
Declaring dependencies
To add a dependency on A2UI Compose, you must add the Google Maven repository to your project. Read Google's Maven repository for more information.
Add the dependencies for the artifacts you need in the build.gradle file for
your app or module:
Groovy
dependencies { implementation "androidx.a2ui.compose:compose-runtime:1.0.0-alpha01" implementation "androidx.a2ui.compose:compose-ui:1.0.0-alpha01" androidTestImplementation "androidx.a2ui.compose:compose-ui-testing:1.0.0-alpha01" }
Kotlin
dependencies { implementation("androidx.a2ui.compose:compose-runtime:1.0.0-alpha01") implementation("androidx.a2ui.compose:compose-ui:1.0.0-alpha01") androidTestImplementation("androidx.a2ui.compose:compose-ui-testing:1.0.0-alpha01") }
For more information about dependencies, see Add build dependencies.
Feedback
Your feedback helps make Jetpack better. Let us know if you discover new issues or have ideas for improving this library. Please take a look at the existing issues in this library before you create a new one. You can add your vote to an existing issue by clicking the star button.
See the Issue Tracker documentation for more information.
Version 1.0
Version 1.0.0-alpha01
September 23, 2026
androidx.a2ui.compose:compose-runtime:1.0.0-alpha01, androidx.a2ui.compose:compose-ui:1.0.0-alpha01, and androidx.a2ui.compose:compose-ui-testing:1.0.0-alpha01 are released. Version 1.0.0-alpha01 contains these commits.
New Features
The Jetpack Compose Agent-to-UI (A2UI) renderer provides an implementation of the A2UI protocol, enabling AI agents to generate rich, interactive user interfaces that render native Compose components—without executing arbitrary code. This library maps the A2UI protocol messages to Compose primitives while providing fine-grained reactivity based on the Compose Snapshot state system. The library also provides APIs for creating custom components and catalogs.
API Changes
- Updated
A2uiBasicCatalogV1.CatalogIdfrom.../v0_9_1/...to.../v0_9/...to align with the canonical A2UI protocol specification. (Idcc20) - Update the order of components in
A2uiBasicCatalogVto exactly match the basic catalog specification. (I23093, b/547851648) - Added
ChecksPropertyto all relevant component interfaces underA2uiBasicCatalogV1and made the property value available via a parameter passed toTypedContentof each component. (I9f393, b/547851648) - Added
A2uiBasicCatalogV1.ChoicePickerandMaterialA2uiBasicCatalogV1Defaults.choicePicker. (I875a6, b/547851648) - Added
A2uiBasicCatalogV1.ModalandMaterialA2uiBasicCatalogV1Defaults.modal. (Icd553, b/547851648) - Renamed properties in
A2uiBasicCatalogV1to follow the pascal-case naming style. (I91512, b/547851648) - Added
AccessibilityPropertyto all component interfaces underA2uiBasicCatalogV1and made the property value available via a parameter passed toTypedContentof each component. (I76b80, b/547851648) - Added
A2uiBasicCatalogV1.TextFieldandMaterialA2uiBasicCatalogV1Defaults.textField. (Ifdaec, b/547851648) - Added
A2uiBasicCatalogV1.VideoandMaterialA2uiBasicCatalogV1Defaults.video. (I8595c, b/547851648) - Added
A2uiBasicCatalogV1.AudioPlayerandMaterialA2uiBasicCatalogV1Defaults.audioPlayer. (Ida509, b/547851648) - Added support for
formatand conditionalif-thenschema keywords ina2ui-modelanda2ui-engine, and updatedA2uiBasicCatalogV1.DateTimeInputmin and max property schemas. (I556d5, b/553193771) - Added
A2uiBasicCatalogV1.SliderandMaterialA2uiBasicCatalogV1Defaults.slider. (Ieb72d, b/547851648) - Added
A2uiBasicCatalogV1.CheckBoxandMaterialA2uiBasicCatalogV1Defaults.checkBox. (I84525, b/547851648) - Added
A2uiBasicCatalogV1.DividerandMaterialA2uiBasicCatalogV1Defaults.divider. (I91208, b/547851648) - Added
A2uiBasicCatalogV1.TabsandMaterialA2uiBasicCatalogV1Defaults.tabs. (Ic33d3, b/547851648) - Added
A2uiBasicCatalogV1.ListandMaterialA2uiBasicCatalogV1Defaults.list. (I89f73, b/547851648) - Added
A2uiBasicCatalogV1.IconandMaterialA2uiBasicCatalogV1Defaults.icon. (I65524, b/547851648) - Added
ProvideActionInterceptorfor intercepting actions of child components. (I6ae69, b/552486965) - Added support for advertising inline catalog schemas in
A2uiClientCapabilitiesandA2uiCoreCatalog. (I973cf, b/537714970) - Added
A2uiBasicCatalogV1.ImageandMaterialA2uiBasicCatalogV1Defaults.image. (I673b3, b/547851648) - Added
A2uiBasicCatalogV1.ButtonandMaterialA2uiBasicCatalogV1Defaults.button. (I5215f, b/547851648) - Added
A2uiBasicCatalogV1.Row/A2uiBasicCatalogV1.ColumnandMaterialA2uiBasicCatalogV1Defaults.row/MaterialA2uiBasicCatalogV1Defaults.column. (Ibcbe7, b/547851648) - Added
defaultparameters to the enum, number, and booleanA2uiPropertytypes. (Id509e, b/547851648) - Added
A2uiBasicCatalogV1.CardandMaterialA2uiBasicCatalogV1Defaults.card. (Icf604, b/547851648) - Added
isAdditionalPropertiesAllowedandadditionalPropertiesSchemaparameters toA2uiProperty.nestedandA2uiProperty.nestedList. (I72836, b/547815898) - Added
minItemsandmaxItemsparameters to the listA2uiPropertytypes. (I716d3, b/547798330) - Added
A2uiProperty.enum,A2uiProperty.custom, andA2uiProperty.dynamicCustomproperty types. (I0647d, b/545522395) - Replace
A2uiCoreSurfaceModelwithA2uiSurfaceModelinobserveA2uiComponentStateto ensure that the public APIs inandroidx.a2ui.compose.runtimedon't expose types fromandroidx.a2ui.engine. (Ic45e2, b/544705890) - Added
A2uiTestSurfacecomposable to mount and test A2UI surfaces and components in isolation. (I03c8a, b/527415570) A2uiSchemanow support keywords within each subclass instead of dedicated subclasses foroneOf,allOf,anyOf,not,const,defaultandenum. (I6a6f8)- Added testing APIs for the Compose A2UI renderer. (I59c9f, b/527415570)
- Added
A2uiReadinessEvaluatorand related APIs. (Ib37d3, b/527415547, b/524122705) - Added
A2uiComponentCollection,A2uiFunctionCollection, andA2uiCoreComponentDefinitionCollection, and updated the catalog APIs to use the new collections. (I96438, b/527415547) - Added an
A2uiMessageParserfactory function. (I8596a, b/524122705) - Added the
A2uiRuntimeCatalogmarker interface, and APIs inandroidx.a2ui.compose.uifor defining components and catalogs. (Ibea7a, b/527415547, b/524122705) - Moved
androidx.compose.runtime:runtime-a2uitoandroidx.a2ui.compose:compose-runtime. (Ifc7cf, b/524122705)
Bug Fixes
androidx.lifecycle:lifecycle-runtimedependency was updated to 2.10.0. This version is required for bundled lifecycle runtime lint checks to run with AGP version 9.5.0-alpha04 or later. (Id18ea, b/556807521)compileSdkfor Compose libraries updated to 37.1. This will require transitively updatingcompileSdkfor all apps and libraries using Compose. (I05b0f)- Updated default
Columnhorizontal alignment toAlignment.StartinA2UI Basic Catalog V1. Ia1c6db - Updated default
Rowvertical alignment toAlignment.TopinA2UI Basic Catalog V1. If0bca4