Skip to content

Upgrading dev.chrisbanes.haze:haze 1 to 2

Breaking1.7.3 → 2.0.1Breaking9New2Changed2Other1

BreakingUpgrade verdict

9 breaking changes.

  • The blurEnabled argument on rememberHazeState is gone; set blurEnabled inside blurEffect instead.
  • The library no longer builds for Intel iOS simulators or Intel macOS.
  • The library now has a general-purpose effect system, so different visual effects can be added or swapped more easily.
  • Blur features now live in a separate library that must be added alongside the main one.
Top 3 of 9 that need code or config changes

dev.chrisbanes.haze:haze publishes an official migration guide for version 2. It covers more than the release notes do.

Migration Guide ↗
Breaking9
Removes the rememberHazeState(blurEnabled) parameter in favor of blurEffect { blurEnabled = ... }.
rememberHazeState()blurEnabledblurEffect
Drops the iosX64 and macosX64 targets due to Compose Multiplatform 1.11 deprecation.
iosX64macosX64
Introduces a pluggable VisualEffect interface separating core effect infrastructure from specific effect implementations.
VisualEffect
Extracts all blur functionality from the core haze module into a new haze-blur module.
haze-blur
Requires a blurEffect {} wrapper around all blur-related properties.
blurEffectModifier.hazeEffect
Blur functionality now requires the haze-blur module dependency.
haze-blur
Blur properties such as blurRadius, colorEffects, style, noiseFactor, progressive and mask now require a blurEffect {} wrapper.
blurRadiuscolorEffectsstylenoiseFactorprogressivemaskblurEffect
Moves blur classes to the dev.chrisbanes.haze.blur package.
dev.chrisbanes.haze.blur
Renames internal create*ImageFilter functions to create*RenderEffect.
create*ImageFiltercreate*RenderEffect