jetc.dev Newsletter Issue #331

Published: 2026-09-15

This week, we see the keyed SideEffect() and (unfortunately) see keyboard flickers. And we see a couple of Compose for Desktop libraries, one adding a CEF-based WebView equivalent and one offering control over window chrome elements (e.g., minimize/maximize buttons).

Ooooo… What Did We Get?

Reviewing the release notes for the latest Jetpack Compose update!

The Compose BOMs are up to 2026.09.00. The production BOM generally points to 1.12.1 of the major artifacts, presumably containing minor bug fixes.

The alpha BOM points to 1.13.0-alpha03 of the major artifacts, which made some changes:

  • The compileSdk was raised to 37.1, which will require all Compose consumers to upgrade as well
  • Replaced Style with CommonStyle as part of splitting the styles DSL out from the modifiers that use that DSL
  • Added support for multiple styles for compound widgets (e.g., DatePicker())
  • The BasicTextField() overloads taking value and onValueChanged are deprecated in favor of the TextFieldState variants
  • The blur() modifier now has a DSL option
  • There is a new interactionBarrier() modifier “to block touch, focus, and accessibility interactions”
  • Added PolygonShape and MorphPolygonShape

Compose Material3 is up to 1.5.0-alpha28, deprecating the stateless Slider() and RangeSlider() among other changes.

Compose Material3 Adaptive has reached 1.4.0-alpha02, with minor tweaks.

Remote Compose shipped 1.0.0-alpha19, with a few small additions.

Wear Compose pushed out 1.7.0-rc01, just a version bump to RC status with “no signficant changes”.

Glance for Wear crept up to 1.0.0-alpha18, adding useSafeFallbackRendererVersion to WearWidgetPreview.

Nav3 reached 1.2.0-rc01. The only change was to “disallow duplicate placeholder names in deep link URI patterns”.

And we also got:

  • androidx.activity:activity-compose:1.14.0-alpha02
  • androidx.ink:ink-authoring-compose:1.1.0-alpha08
  • androidx.ink:ink-authoring-compose-android:1.1.0-alpha08
  • androidx.ink:ink-brush-compose:1.1.0-alpha08
  • androidx.ink:ink-brush-compose-android:1.1.0-alpha08
  • androidx.ink:ink-geometry-compose:1.1.0-alpha08
  • androidx.ink:ink-geometry-compose-android:1.1.0-alpha08
  • androidx.lifecycle:lifecycle-runtime-compose:2.12.0-alpha03 (and multiplatform targets)
  • androidx.lifecycle:lifecycle-viewmodel-compose:2.12.0-alpha03 (and multiplatform targets)
  • androidx.navigation:navigation-compose:2.10.1 (and multiplatform targets)
  • androidx.navigation:navigation-fragment-compose:2.10.1
  • androidx.savedstate:savedstate-compose:1.6.0-alpha03 (and multiplatform targets)

Composable Commentary

Posts, videos, and other new information related to Jetpack Compose!

Medium: One flag stops the Compose 1.12.0 keyboard flicker

Luca Fioravanti notes that Compose 1.12.0 has a bug, where the keyboard closes then reopens as the focus moves from field to field. Luca describes a workaround, until the bug gets fixed.

Medium: SideEffect with Keys in Jetpack Compose 1.12 — Stop Paying the Coroutine Tax

Sunil Kumar reminds us that Compose 1.12.0 gives us a keyed SideEffect(), which we previously lacked. If you are using LaunchedEffect() because of its key support, but you do not need the coroutine support, consider migrating to SideEffect() — this post explains how.

How to blur what’s behind a Compose dialog, down to API 23

Timofey Krestyanov points out that since a Compose dialog is its own window, the normal modifier-based ways to blur the background do not work. Instead, the post demonstrates a couple of other options for blurring the content that is underneath a Compose dialog (on the Z axis).

Resource Roundup

100% pure code!

GitHub: daviantegroup / kromium

The Daviante Group offers us a wrapper around the Chromium Embedded Framework, resulting in a WebView-style KromiumView() for Compose for Desktop, in addition to support for other JVM desktop frameworks.

GitHub: youndie / appframe

pavel votyakov tackles the Compose for Desktop issue of window manager controls (close, minimize, maximize), aiming for platform fidelity while still offering flexibility for where you might want to do something different.

GitHub: fethica / compose-popupbar

GitHub user fethica created an implementation of the mini-player pattern: a small bar that sits above bottom tabs that can be expanded to fill the screen.

Notable Releases

Coil 3.6.2 fixes a couple of bugs.

A Very Particular Set of Skills

Adding Compose capabilities to your coding agents!

The Mercari team brings us the Kotlin PSI MCP Server. This plugin exposes your project’s semantic analysis to agents.

Also, here are a couple more skills that I found: