jetc.dev Newsletter Issue #333
Published: 2026-09-29
This week, we got stable versions of Wear Compose and Nav3 for Compose, a patch release for Compose Multiplatform, plus our first glimpses of official A2UI support.
In addition, we see how CORS interacts with Compose for Web and explore an Android TV search screen composable, complete with on-screen keyboard.
Ooooo… What Did We Get?
Reviewing the release notes for the latest Jetpack Compose update!
While the alpha BOM got a bump to 2026.09.01, most of Compose did not get updated. Compose Material3 is up to 1.5.0-alpha29. onValueChange is now required on Slider() and RangeSlider(). In addition, some bugs were squashed.
Wear Compose shipped a stable 1.7.0! 🎉 And Nav3 for Compose released a stable 1.2.0! 🎊
Nav3 for Compose also released 1.3.0-alpha01. It fixes a predictive back animation issue.
Remote Compose is up to 1.0.0-alpha20, with a lot of additions to the RemotePathScope API.
Glance Adaptive reached 1.0.0-alpha03, albeit apparently without any developer-facing changes. Similarly, Glance for Wear shipped 1.0.0-alpha19 without any public changes.
Google finally released a Compose renderer for A2UI, a framework for allowing an LLM to generate a semi-arbitrary UI to present to users. I wrote a bit more about it in this Pedal Assist Coding newsletter issue. In terms of artifacts, we got:
androidx.a2ui:a2ui-engine:1.0.0-alpha01androidx.a2ui:a2ui-model:1.0.0-alpha01androidx.a2ui.compose:compose-runtime:1.0.0-alpha01androidx.a2ui.compose:compose-ui:1.0.0-alpha01androidx.a2ui.compose:compose-ui-testing:1.0.0-alpha01androidx.compose.material3:material3-a2ui:1.0.0-alpha01
And, in other Compose-related artifact updates, we got:
androidx.activity:activity-compose:1.14.0-alpha03androidx.fragment:fragment-compose:1.9.1androidx.ink:ink-authoring-compose:1.1.0-alpha09androidx.ink:ink-authoring-compose-android:1.1.0-alpha09androidx.ink:ink-brush-compose:1.1.0-alpha09androidx.ink:ink-brush-compose-android:1.1.0-alpha09androidx.ink:ink-geometry-compose:1.1.0-alpha09androidx.ink:ink-geometry-compose-android:1.1.0-alpha09androidx.lifecycle:lifecycle-runtime-compose:2.12.0-alpha04(and multiplatform targets)androidx.lifecycle:lifecycle-viewmodel-compose:2.12.0-alpha04(and multiplatform targets)androidx.navigation:navigation-compose:2.10.2(and multiplatform targets)androidx.navigation:navigation-fragment-compose:2.10.2androidx.navigationevent:navigationevent-compose:1.2.0-rc01(and multiplatform targets)androidx.savedstate:savedstate-compose:1.6.0-alpha04(and multiplatform targets)androidx.text:text-vertical-compose:1.0.0-beta02
Finally, JetBrains released Compose Multiplatform 1.12.1. LocalSystemTheme was added back in, albeit in deprecated form. Beyond that, this just fixes some bugs.
Composable Commentary
Posts, videos, and other new information related to Jetpack Compose!
Compose Multiplatform vs CORS
JetBrains’ Konstantin Tskhovrebov (Mastodon) points out that Compose for Web can run into the same CORS issues that any other Web app does. Konstantin demonstrates how to use Cloudflare Pages and Cloudflare Workers, plus a custom TypeScript proxy, to address CORS in your simple Web apps.
How to represent a fetching state: FetchingState
Marcin Moskala notes that typical loading/content/error wrappers fail to take refreshing into account, such as from PullToRefreshBox(). Marcin shows another approach to model these states including while the repository is refreshing the data.
Rendering AI agent generated UI using Jetpack Compose A2UI and Koog
John O’Reilly
(Mastodon, Bluesky)explains how to integrate Google’s A2UI renderer for Compose into a Compose app. The rendering engine exposes a Surface() composable that processes the A2UI request; you need to place that Surface() somewhere suitable in your UI.
Other Interesting Links
- Medium: Beyond the Gang of Four: 11 Navigation Patterns Every Mobile Architect Should Know
- Medium: Compose Performance: 7 Optimizations That Actually Matter
- Medium: Jetpack Compose Custom Layout: Libby’s Book Arrangement
- Medium: One Compose lambda in my Android app captured 251 values. The dex format stops at 255.
Resource Roundup
100% pure code!
GitHub: rock3r / jewel-tooling
Google’s Sebatiano Poggi (Mastodon, Bluesky)created a plugin for IntelliJ IDEA, aimed at Compose developers, that shows inlay hints for composable parameters noting their stability contract (or lack thereof), along with the imputed stability overall for the composable.
GitHub: halilozel1903 / android-tv-search-keyboard
Halil Özel brings us an on-screen keyboard designed for Android TV apps, specifically aimed at doing searches. It includes a search field and an area for live results, along with the keyboard grid and focus management.
GitHub: PiotrPrus / KBlobs
Piotr Prus (Bluesky) created… well, it’s a little hard to describe in words. If you want animated shapes somewhere between a lava lamp and the eyes of Hypnotoad, this library for Compose for Android and iOS may be of use. And, face it, everybody loves Hypnotoad!
Other Interesting Links
- GitHub: Anglesvar / shimmer-android (shimmer for Compose for Android)
- GitHub: HLCaptain / symbols (Material Symbols replacement for Compose Multiplatform)
- GitHub: JALAL591 / compose-bridge (Compose Hot Reload analogue, designed for use with hardware)
- GitHub: jershell / shadcn-multiplatform (shadcn/ui design system for Compose Multiplatform)
- GitHub: MadFlasheroo7 / Mugen (token-driven design system for Compose Multiplatform)
- GitHub: RaulETSINF / LiquidPagerCMP (wave-animated pager for Compose for Android and iOS)
Recent Issues:
- 2026-09-15: SideEffect keys! CEF-based WebView and window chrome controls for desktop apps! And... why does the keyboard flicker?!?
- 2026-09-08: Apple TV! Apple foldables! Microsoft Office! And other topics not necessarily involving gigantic firms!
- 2026-09-01: Compose Multiplatform `1.12.0`! New Remote Compose and Glance artifact groups! Cross-platform page curls! Streaming Kotlinx HTML via Molecule! Prevent screenshots! And... what does Material3 have against the rich?!?