Kotlin KMP (Kotlin Multiplatform)Jetpack Compose Android Studio Memory OptimizationAndroid DevelopmentUI Development 1 min read

Haze 2.1.0 Released With Stable Glass Module for Jetpack Compose

Haze 2.1.0 introduces a stable Glass module for Compose, improved performance, and optimized blur effects for Jetpack Compose and Compose Multiplatform.

Haze 2.1.0 ships with a stable Glass module for Jetpack Compose and Compose Multiplatform, published by Chris Banes on 2 November 2026. The haze-glass and haze-glass-material3 artifacts no longer require ExperimentalHazeApi.

You can now merge Glass surfaces using the hazeGlassContainer modifier on a parent composable with a configured mergeDistance, while children use hazeGlass. Haze handles the animation as surfaces join, grow, and retract. In the project's demo, a Row with mergeDistance = 16.dp holds three 48 dp boxes linked via hazeState to hazeSource. Dense scrolling containers can cost more than independent surfaces because a merged surface covers its members and the space between them.

Regular and Clear styles remain built-in, supporting custom shapes, tint, lighting, and interaction responses. Blur and Glass styles can now read animated state directly inside the style block, such as an animateDpAsState radius, allowing Haze to update the effect on the next frame without rebuilding the style or recomposing hazeGlass. Mohammad Jaber contributed the Blur support.

On a Pixel 8a, Glass used about 7% less peak GPU memory than 2.0.1 in Android sample workloads, and Blur Quality used at least 9% less. Upgrading requires matching core and Glass artifact versions at 2.1.0.