jetc.dev Newsletter Issue #265
Published: 2025-05-20
The family emergency I mentioned in my last message was the final hospitalization of my father, who passed on a few days ago. So, this issue is a bit shorter and more melancholy than normal.
Ooooo… What Did We Get?
Reviewing the release notes for the latest Jetpack Compose update!
The Compose BOMs were updated to 2025.05.00
. The production BOM largely points to
the new 1.8.1
patch release, which contains bug fixes.
We also received a 1.9.0-alpha02
release of the main Compose artifacts. The biggest
change seems to be that they deprecated the variant of rememberSaveable()
that accepts
a custom key, asking us instead to rely on positional scoping. 🧐 Otherwise, this appears
to mostly be bug fixes.
Glance is up to 1.2.0-alpha01
. It now supports generated previews and multiple
processes, among other changes.
Wear Compose is out with 1.5.0-beta01
.
SwipeToReveal
was moved to the Material3 package and out of Foundation. 😞 Otherwise,
this mostly contains bug fixes.
Four new Compose-related artifacts were released:
androidx.compose.runtime:runtime-annotation-wasm-js
androidx.compose.runtime:runtime-wasm-js
androidx.glance:glance-appwidget-multiprocess
androidx.pdf:pdf-compose
The latter is interesting, suggesting that Jetpack PDF rendering support is coming to Compose.
We also got updates to some Compose-adjacent artifacts, including:
androidx.camera:camera-compose:1.5.0-beta01
androidx.camera.viewfinder:viewfinder-compose:1.5.0-beta01
androidx.hilt:hilt-navigation-compose:1.3.0-alpha01
androidx.lifecycle:lifecycle-runtime-compose:2.9.0
androidx.lifecycle:lifecycle-runtime-compose-android:2.9.0
androidx.lifecycle:lifecycle-runtime-compose-jvmstubs:2.9.0
androidx.lifecycle:lifecycle-runtime-compose-linuxx64stubs:2.9.0
androidx.lifecycle:lifecycle-viewmodel-compose:2.9.0
androidx.lifecycle:lifecycle-viewmodel-compose-android:2.9.0
androidx.lifecycle:lifecycle-viewmodel-compose-jvmstubs:2.9.0
androidx.lifecycle:lifecycle-viewmodel-compose-linuxx64stubs:2.9.0
androidx.navigation:navigation-compose:2.9.0
androidx.navigation:navigation-compose-android:2.9.0
androidx.navigation:navigation-compose-jvmstubs:2.9.0
androidx.navigation:navigation-compose-linuxx64stubs:2.9.0
androidx.navigation:navigation-fragment-compose:2.9.0
androidx.savedstate:savedstate-compose:1.3.0
androidx.savedstate:savedstate-compose-android:1.3.0
androidx.savedstate:savedstate-compose-jvmstubs:1.3.0
androidx.savedstate:savedstate-compose-linuxx64stubs:1.3.0
Last, but certainly not least, JetBrains published a stable release of Compose
Multiplatform 1.8.0
, including production-ready iOS support! 🎉
One Off the Stack, One Off the Slack
You’ve got questions. That’s understandable!
I am electing to skip this section this week in the interests of time, but it should return next week.
Composable Commentary
Posts, videos, and other new information related to Jetpack Compose!
Building delightful Android camera and media experiences
Google’s Mayuri Khinvasara Khabya, Mozart Louis, Donovan McMurray, and Nevin Mital review the status of Media3, including its recent addition of Compose support.
Compose Multiplatform 1.8.0 Released: Compose Multiplatform for iOS Is Stable and Production-Ready
Ekaterina Petrova of JetBrains announced Compose Multiplatform 1.8.0, bringing CMP up to date with Compose 1.8.0.
Present and Future of Kotlin for Web
JetBrains’ Zalim Bashorov and Artem Kobzar describe the efforts to improve Kotlin Multiplatform support for Web targets. This includes striving to get Compose Multiplatform Web/Wasm support to beta status, plus improving support for some older browsers.
Other Interesting Links
- Creating Web Components in Kotlin and Compose HTML
- Exploring Jetpack Compose for Widgets with Glance
- How Bitkey Uses Cross-Platform Development
- Medium: Building an Android Video Player with Media3 and Jetpack Compose
- Medium: Building Interactive Trading Charts in Jetpack Compose
- Medium: Compose UI Performance Secrets (Part 2): 5 Advanced Techniques for Ultra-Smooth Apps
- Medium: Custom Shimmer Effect in Jetpack Compose: Fast, Lightweight, Production-Ready
- Medium: Expandable List in Jetpack Compose
- Medium: Express Yourself: Designing with Material 3 Expressive in Compose
- Medium: Fixing State Problems in Jetpack Compose
- Medium: Handling Permissions in Compose Multiplatform
- Medium: How to Create a Custom Corner Badge in Jetpack Compose
- Medium: How to setup custom theme in Jetpack Compose
- Medium: Jetpack Compose InfiniteTransition: Creating Smooth Animations for Beginners
- Medium: LaunchedEffect vs SideEffect vs DisposableEffect — The Compose Avengers You Probably Miscast
- Medium: Mastering Compose API Design with
SelectableChipDefaults
- Medium: Mastering Recomposition in Jetpack Compose: Performance Tips That Don’t Hurt Readability
- Medium: Scratch Card Implementation in Jetpack compose
- Medium: Stop Launching Coroutines in Composables!
- Testing Compose Desktop apps: preparations
- Using movableContentOf for shared transitions in Jetpack Compose
Resource Roundup
100% pure code!
GitHub: tungnk123 / top-sheet-compose
Like bottom sheets, but wish they were, well, somewhere else? GitHub user tungnk123 brings us top sheets: styled akin to bottom sheets, just descending from the top.
GitHub: kotlinlabs / Ganttastic
GitHub user kotlinlabs has implemented Gantt charts in Compose Multiplatform (Web/Wasm now, mobile and desktop planned). Tasks can be linked, can have custom progress colors, and can have details displayed in tooltips.
GitHub: Tweener / chartopia
In related charting news, Vivien Mahé published a Compose Multiplatform charting library. Right now, it offers line charts and the ever-popular donut chart. 🍩
GitHub: krizzu / kolor-picker
Krzysztof Borowy implemented a color picker for Compose Multiplatform (Android, iOS, desktop, and Web). It employs a 2D color selector alongside a hue slider.
Notable Releases
Circuit is up to 0.28.0
,
adding support for Compose 1.8, tweaking back handling a bit,
and introducing a new circuitx-navigation
library for navigation interception.
Coil’s long-awaited 3.2.0
release shipped. This adds Compose 1.8 support and includes
a lot of bug fixes.
Compose Unstyled had two releases in recent days. 1.30.0
deprecates LocalModalWindow
and adds verticalAlignment
to TextField()
.
1.31.0
adds Compose Multiplatform 1.8.0 support and cleans up the overall project a bit.
Or, you can subscribe to the Atom feed or follow Mark Murphy in the Fediverse.
Recent Issues:
- 2025-04-29: Compose 1.8.0 released! First 1.9.0 alpha! Tooltips! Paths! Tables! And... is Modifier.Node too complicated?!?
- 2025-04-22: Paging! Accessibility! Tooltips! Effects! And... Amazon has *another* app platform?!?
- 2025-04-15: Compose RC! Compose Multiplatform beta! Cameras and tabletops! Effect handlers! YouTube players! Other types of media players! And... are screenshot tests worth it?!?