jetc.dev Newsletter Issue #294
Published: 2025-12-16
This week, we look at the latest RC for Compose Multiplatform and explore a Card()
corner clipping conundrum. We extend our reality in some The Android Show segments and
continue to grapple with Nav3. We explore using React Native(!) syntax to set up
composables. And I point out a problem with malicious GitHub repositories, peddling malware
in lieu of Compose libraries.
Ooooo⌠What Did We Get?
Reviewing the release notes for the latest Jetpack Compose update!
JetBrains released Compose Multiplatform 1.10.0-rc02,
so perhaps we will get a stable release by the end of 2025! As one would expect from a second
RC release, this one has a few bug fixes.
Also, note that we got composable updates for Jetpack Camera and Jetpack Media3:
androidx.camera:camera-compose:1.5.2androidx.media3:media3-ui-compose:1.9.0-rc01androidx.media3:media3-ui-compose-material3:1.9.0-rc01
One Off the Stack, One Off the Slack
Youâve got questions. Thatâs understandable!
Why Does My Card Get Corners When Clicked?
Normally, to make a composable clickable, you use something like the clickable() modifier.
Occasionally, a composable offers its own onClick slot parameter. For those composables,
using the slot parameter tends to be a better solution, as we see in this weekâs highlighted
Stack Overflow question.
What Is Required To Be @Stable?
The @Stable annotation is powerful, but adding it to a type means that the Compose Compiler
will expect that type to adhere to the @Stable rules. See what those rules are and how
to interpret them in this weekâs highlighted Kotlinlang #compose Slack thread.
The Android Show, XR Edition
Some segments of the âXR Editionâ of The Android Show cover using Compose for XR app development, including:
- Whatâs new in the Jetpack XR SDK for immersive experiences
- Introducing Jetpack Compose Glimmer
- Getting started developing on AI Glasses
This official blog post on Glimmer may also be of interest!
Composable Commentary
Posts, videos, and other new information related to Jetpack Compose!
Video: Navigating Navigation 3
Googleâs Don Turner and Alex Vanyo spend time with the Code with the Italians team, exploring whatâs new with Compose for Navigation 3 and how to adapt your app to Nav3âs specific approaches.
Tap Detection on Arbitrary Shapes with Compose
Romain Guy explains how to use PathHitTester in Compose to detect when a shape defined
by an arbitrary Path is tapped upon. Romain also points out his pathway
library that, among other things, supports deriving a Path from a bitmap.
Medium: From View.INVISIBLE to Modifier.visible(): Rethinking Visibility ď¸in Jetpack Compose
Nav Singh highlights the visible() modifier in 1.11.0-alpha01 of Compose Foundation.
This modifier, when passed a false parameter, works a lot like View.INVISIBLE: it allocates
the space for the composable but does not render its contents.
Medium: Demystifying Jetpack Compose sizing Modifiers
Sherry Yuan walks through several different modifiers for defining the width of a composable, explaining the role of each and when each should be used.
Medium: Navigation 3 â The new navigation system for Jetpack Compose
Nicos Nicolaou takes a deep dive into Nav3, from basic setup through transition animations and adaptive screen support.
Revisiting Compose Perf-Land in 2025
theapache64 takes a tour of Compose performance challenges from yesteryear and reports on which ones have changed or been addressed by improvements in Compose itself.
Shared element transitions for large screened devices
TJ Dahunsi is a strong proponent of shared element transitions but has encountered challenges using them on larger screens. TJ explains what is going on and how to work around the difficulties.
Other Interesting Links
- Inclusive Android Apps #1: The Problem of Rows Breaking with Large Text
- Medium: 8 Jetpack Compose Recomposition Mistakes That Are Killing Your App Performance
- Medium: Dive Into Spatial Panel UI in Android XR with Jetpack Compose for XR
- Medium: Keep your CTA Button in view when Scrolling in Compose
- Medium: Media3âs PlayerSurface Transforms Video Playback in Compose
- Medium: The New Platform Standard: Why Compose Multiplatform Is the Non-Negotiable Default in 2026
- Medium: The Ultimate Guide to Side Effects in Jetpack Compose (2025 Edition)
- Medium: Understanding Navigation 3 in Jetpack Compose
- Video: Advanced PDF Reader in Jetpack Compose
- Video: The Augmented Developer: Composing Native Magic and Collaborating with AI
Resource Roundup
100% pure code!
GitHub: deanalvero / rn-compose-multiplatform
Dean Alvero is working on a library that allows you to use React Native-style JSX syntax for building a composition in Compose Multiplatform, supporting all targets.
GitHub: justdeko / kuiver
Denis Koljada brings us a Compose Multiplatform library that renders cyclic and acyclic graphs, offering a ton of customization options for how the graph and individual nodes get rendered.
GitHub: timoseyfarth / tabler-icons-kmp
Timo Seyfarth set up a Compose Multiplatform library (Android, iOS, desktop) with ~6,000 icons from the Tabler icons set.
âŚAnd One More Thing
I am seeing GitHub repositories that pretend to be Compose libraries from prominent developers, but instead [are distributing malware]. Be careful where you get your Compose libraries from!
Or, you can subscribe to the Atom feed or follow Mark Murphy in the Fediverse.
Recent Issues:
- 2025-12-02: Performance! Memory leaks! RemoteCompose! Hot Reload! And... where is HERE?!?
- 2025-11-25: Compose patch release! Compose RC! Nav3 is stable! Compose Multiplatform beta! Media3! And... can we compose all our appointments?!?
- 2025-11-18: Text input! Expressive Wear OS! Mixed Espresso and Compose tests! Forms! Time ranges!