0.31.0
Breaking Changes:
Remove kotlinx-immutable dependency. With Compose's strong skipping mode, we no longer feel this is necessary.
Result delivery is now handled by NavigableCircuitContent via an internal AnsweringResultNavigator wrapper, and result handling APIs have been removed from BackStack and SaveableBackStack as this is now purely a navigation concern. This separates result handling concerns from the backstack implementation and provides better encapsulation.
The callback block in rememberAnsweringNavigator is no longer suspendable as it was never intended for any long running operations.
Behaviour Changes:
On iOS GestureNavigationDecorationFactory now uses IOSPredictiveBackNavDecorator instead of CupertinoGestureNavigationDecorator. This new decorator uses the Compose multi-platform PredictiveBackHandler to drive the back animation, instead of a custom swipe gesture or nested scroll.
The Navigator.resetRoot API is now using a StateOptions class to allow saving, restoring, and clearing of back stack state. The previous resetRoot function with saveState and restoreState booleans is available as an extension function.
Misc:
- Switched Compose uses to depend on Compose Multiplatform over Jetpack Compose
- Android minimum SDK is now
minSdk23 - Added saved state peek/remove to
Backstack - Fixed
Navigator.onNavEvent()not passing all arguments toresetRoot() - Fixes to
rememberCircuitNavigator()capturingonRootPopand not recreating if a new backstack was provided - Update Compose Multiplatform to
1.9.2. - Update to Kotlin
2.2.21. - Update to Molecule
2.2.0. - Build against KSP
2.2.20-2.0.4.
What's Changed
- Kotlin 2.2.10 by @ZacSweers in https://github.com/slackhq/circuit/pull/2199
- fix(deps): update dependency androidx.core:core-ktx to v1.17.0 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2245
- fix(deps): update dependency org.jsoup:jsoup to v1.21.2 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2260
- fix(deps): update dependency com.jakewharton.mosaic:mosaic-runtime to v0.18.0 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2256
- Create a common
PredictiveBackNavigationDecoratorby @stagg in https://github.com/slackhq/circuit/pull/2262 - Fix z-index issue with
CupertinoGestureNavigationDecoratorby @stagg in https://github.com/slackhq/circuit/pull/2251 - Add an iOS variant for the navigation sample by @stagg in https://github.com/slackhq/circuit/pull/2270
- fix(deps): update agp to v8.13.0 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2271
- Remove kotlinx-immutable by @ZacSweers in https://github.com/slackhq/circuit/pull/2273
- Use navigable circuit content in star sample home by @ZacSweers in https://github.com/slackhq/circuit/pull/2277
- Add
IOSPredictiveBackNavDecoratorby @stagg in https://github.com/slackhq/circuit/pull/2278 - Compose 1.9 by @stagg in https://github.com/slackhq/circuit/pull/2241
- Dependency cleanup by @stagg in https://github.com/slackhq/circuit/pull/2317
- Fix codegen with screen objects to always use
ischeck by @simon-duchastel in https://github.com/slackhq/circuit/pull/2307 - fix(deps): update dagger to v2.57.2 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2320
- minSdk 23 by @stagg in https://github.com/slackhq/circuit/pull/2322
- Fix minor typo in setup doc by @eboudrant in https://github.com/slackhq/circuit/pull/2324
- Fix local emulator instrumentation tests by @stagg in https://github.com/slackhq/circuit/pull/2325
- Update to Kotlin 2.2.20 by @ZacSweers in https://github.com/slackhq/circuit/pull/2200
- Fix
onNavEventnot passing along all arguments to reset root by @stagg in https://github.com/slackhq/circuit/pull/2334 - Fixes for
rememberCircuitNavigatorby @stagg in https://github.com/slackhq/circuit/pull/2335 - fix(deps): update dependency me.saket.telephoto:zoomable-image-coil to v0.18.0 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2336
- fix(deps): update ktor monorepo to v3.3.1 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2346
- fix(deps): update ksp monorepo to v2.2.20-2.0.4 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2341
- chore(deps): update dependency org.jetbrains.compose.hot-reload to v1.0.0-rc02 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2348
New Contributors
- @simon-duchastel made their first contribution in https://github.com/slackhq/circuit/pull/2307
Full Changelog: https://github.com/slackhq/circuit/compare/0.30.0...0.31.0