Compose 8 min read

Compose 1.13 Beta: PolygonShape Rewrite, Required Slider onValueChange and a Faster Modifier.border

Compose 1.13 has been in alpha since August. Beta01 landed on October 7, 2026 and beta02 followed on October 21, and the beta01 API notes are where the real work is: several source-breaking renames, a Slider parameter that is now mandatory, a PolygonShape API that was restructured, and a Kotlin 2.2 floor. Beta02 is bug-fix only, but it quietly swaps in a new Modifier.border implementation you should test.

beta01
Released October 7, 2026
beta02
Bug fixes only, October 21, 2026
Kotlin 2.2
Libraries now require kotlinc 2.2

1. Toolchain: Kotlin 2.2 Is the Floor

Beta01 libraries target Kotlin 2.2 and require kotlinc 2.2. If your project is still on an older compiler, the Compose upgrade is also a Kotlin upgrade. Do that first, in its own commit, so a compiler regression isn't confused with a Compose one.

2. Slider: onValueChange Is Now Required

onValueChange is now a required parameter on Slider, VerticalSlider and RangeSlider. The previously hidden deprecated APIs were also removed, including the DraggableState implementation on SliderState, the legacy Saver overloads and isVertical on SliderState. The SliderDefaults.Thumb overload taking SliderState is deprecated; use the overload with isVertical.

var volume by remember { mutableFloatStateOf(0.5f) }

Slider(
    value = volume,
    onValueChange = { volume = it },
    valueRange = 0f..1f
)

Any code that built a slider from a SliderState without supplying a change callback, or that treated SliderState as a DraggableState, will stop compiling. Grep for both before you bump.

3. PolygonShape Was Restructured

Two API changes in Foundation and UI hit anyone using PolygonShape:

Because transform is in place, call copy() first when the original shape is shared. The notes describe it as an in-place mutable transform, so don't assume the old return-a-new-shape behavior.

4. Modifier.blur, MediaQuery and Interaction Barrier

Pattern: most of these are renames or removals of things that were still experimental or previously hidden. They fail at compile time, which is the good kind of breakage: bump the version on a branch and let the compiler produce your worklist.

5. Beta02: A New Modifier.border

Beta02 is documented as bug fixes only, but the first entry is significant: Modifier.border uses a new, more performant implementation, and it can now render generic and polygon shapes using a runtime shader. A separate fix addresses an edge case when rendering certain rounded rectangle outlines.

Both have escape hatches in case of visual diffs:

// Foundation flags from the 1.13.0-beta02 notes
ComposeFoundationFlags.isNewBorderImplementationEnabled = false
ComposeFoundationFlags.isRoundedRectangleBorderRenderingFixEnabled = false

If you need either flag, the release notes ask you to file a bug. Run your screenshot tests over bordered cards, chips and text fields before shipping this.

6. Smaller Fixes Worth Knowing

Should You Move Now?

Beta means the API surface is meant to be settled, so this is the right time to compile against it and see what breaks, not to ship it. My order: Kotlin 2.2 first, then the Compose bump on a branch, fix slider and shape call sites, then run screenshot tests specifically for borders and text field focus. If a flag is needed, file the bug before stable ships while it can still be fixed.

Sources: the Compose Foundation and Compose UI release notes on developer.android.com (1.13.0-beta01 and 1.13.0-beta02).

Comments 0

No comments yet. Be the first to leave one!

Leave a comment