Releases: chrisbanes/haze
2.0.0-alpha02
See CHANGELOG.md for details.
2.0.0-alpha01
Major architectural refactor introducing a pluggable visual effects system for improved modularity and extensibility.
Highlights
New VisualEffect Interface
Haze now uses a VisualEffect interface that separates the core effect infrastructure from specific effect implementations. This enables better separation of concerns, a smaller core module, and potential for custom visual effects in the future.
New haze-blur Module
All blur functionality has been extracted from the core haze module into a separate haze-blur module:
implementation("dev.chrisbanes.haze:haze:2.0.0-alpha01")
implementation("dev.chrisbanes.haze:haze-blur:2.0.0-alpha01")New blurEffect {} API
All blur-related properties now require a blurEffect {} wrapper:
Modifier.hazeEffect(state = hazeState) {
blurEffect {
blurRadius = 20.dp
colorEffects = listOf(HazeColorEffect.tint(...))
}
}Configurable HazePositionStrategy
New positionStrategy parameter on rememberHazeState() to control how effect positions are calculated, fixing split-window blur misalignment scenarios.
Breaking Changes
- New module dependency: Blur functionality now requires the
haze-blurmodule - API nesting: Blur properties (
blurRadius,colorEffects,style,noiseFactor,progressive,mask, etc.) now requireblurEffect {}wrapper - Package changes: Blur classes moved to
dev.chrisbanes.haze.blurpackage - Removed APIs:
rememberHazeState(blurEnabled)parameter removed (useblurEffect { blurEnabled = ... }) - Internal API renames:
create*ImageFilterfunctions renamed tocreate*RenderEffect - Dropped targets:
iosX64andmacosX64targets removed (Compose Multiplatform 1.11 deprecation)
Key Dependencies
- Kotlin 2.3.20
- Compose Multiplatform 1.11.0-alpha04
Migration
For detailed migration instructions, see the Migration Guide.
Full Changelog: 1.7.1...2.0.0-alpha01
1.7.2
What's Changed
- Add changelog by @chrisbanes in #830
- [v1] Update Compose Multiplatform to 1.10.0 by @chrisbanes in #869
Full Changelog: 1.7.1...1.7.2
1.7.1
What's Changed
- Update agp to v8.13.1 by @renovate[bot] in #817
- Use LruCache rather than SieveCache by @chrisbanes in #827
Full Changelog: 1.7.0...1.7.1
1.7.0
Highlights
- 🆕
forceInvalidateOnPreDrawparameter onHazeEffectScope(doc) - Optimized noise texture handling on Android
- Only enable pre-draw listeners when we need to use them
- This should be the last of the v1.x releases (barring any blocking issues which crop up).
Key dependencies
- Kotlin 2.2.20
- Compose Multiplatform 1.9.3
- Jetpack Compose 1.9.4
What's Changed
- Dependency updates by @chrisbanes in #752
- Add workaround for Kotlin Yarn errors by @chrisbanes in #764
- Add LeakCanary to sample by @chrisbanes in #769
- Bump compile and min SDK versions by @chrisbanes in #773
- [Android] Optimize noise texture by @chrisbanes in #778
- Optimize areas and area offsets by @chrisbanes in #779
- Enable Kotlin explicit API by @chrisbanes in #790
- Compose 1.9.x and Kotlin 2.2.20 by @chrisbanes in #791
- Reduce screenshot test thresholds by @chrisbanes in #806
- Introduce expandLayerBounds flag by @chrisbanes in #807
- Only enable pre-draw listeners when necessary by @chrisbanes in #809
- Add forceInvalidateOnPreDraw flag by @chrisbanes in #810
- Add a common pre-draw listener by @chrisbanes in #811
- Invalidate on position change by @chrisbanes in #812
- Update Android version references in platforms.md by @XIVIX134 in #814
New Contributors
Full Changelog: 1.6.10...1.7.0
1.6.10
1.6.9
1.6.8
What's Changed
- Check if node is attached from updateEffect by @chrisbanes in #724
- Reduce unnecessary draw invalidations by @chrisbanes in #725
Full Changelog: 1.6.7...1.6.8
1.6.7
What's Changed
- Workaround Compose draw exception on Android 9 by @chrisbanes in #707
- Fix bounded edge treatment not working by @chrisbanes in #710
- Fix Haze'd dialogs not blurring background content by @chrisbanes in #714
Full Changelog: 1.6.6...1.6.7
1.6.6
What's Changed
- Remove dependency on kotlinx-datetime by @chrisbanes in #704
Full Changelog: 1.6.5...1.6.6