| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| 0.33.0 source code.tar.gz | 2026-02-11 | 4.3 MB | |
| 0.33.0 source code.zip | 2026-02-11 | 4.8 MB | |
| README.md | 2026-02-11 | 6.1 kB | |
| Totals: 3 Items | 9.1 MB | 0 | |
New Navigation Architecture
Circuit now supports bidirectional navigation with browser-style forward/backward capabilities!
:::kotlin
val navStack = rememberSaveableNavStack(root = HomeScreen)
val navigator = rememberCircuitNavigator(navStack)
navigator.backward() // Move back without removing history
navigator.forward() // Move forward to a previously visited screen
Navigation changes:
Navigator.forward(): Move forward in navigation historyNavigator.backward(): Move backward in navigation historyNavigator.peekNavStack(): Immutable snapshot of the current navigation stack stateNavigableCircuitContentis aware of the full navigation stack and providesNavStackListto decorations, enabling them to render forward stack records.
SaveableNavStack:
- New implementation in
circuit-foundationproviding full bidirectional navigation state - The existing
SaveableBackStackimplementation has been updated to extendNavStack
New circuit-runtime-navigation artifact:
NavStack: Core navigation stack supporting push/pop and forward/backward traversalNavStackList: Immutable snapshot of navigation state
circuitx-navigation:
InterceptingNavigatornow supportsforward()andbackward()navigation methods- Updated to use
NavStackandNavStackListinstead ofBackStackandList<Screen> - Rewrite interceptors can now rewrite to any
NavEvent(not just specific navigation types likeInterceptedGoToResult.RewriteorInterceptedResetRootResult.Rewrite) FailureNotifierinterface updated withforwardFailure()andbackwardFailure()methods with default implementations
Updates
New
- Add
mingwX64()target tocircuit-codegen-annotations.
Fixes
- Fix an issue where
AnsweringResultHandlerwas not correctly parceling pending results.
Changes
- Compile against kotlin-inject-anvil
0.1.7. NavigationEventHandlerusage is now disabled by default when noNavigationEventDispatcherOwneris available, preventing crashes in environments with dynamic navigation event support. This behaviour can be configured with theCircuit.lenientNavigationEventDispatcherOwneroption.BottomSheetOverlaynow exposescontentWindowInsets, mirroringModalBottomSheet
Contributors
Special thanks to the following contributors for contributing to this release!
What's Changed
- NavStack by @stagg in https://github.com/slackhq/circuit/pull/2501
- Fix PopResult bad parcelization by @stagg in https://github.com/slackhq/circuit/pull/2513
- fix(deps): update dependency org.robolectric:robolectric to v4.16.1 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2516
- Circuitx - NavStack support by @stagg in https://github.com/slackhq/circuit/pull/2514
- fix(deps): update ktor monorepo to v3.4.0 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2523
- chore(deps): update dependency pymdown-extensions to v10.20.1 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2524
- [Docs] NavStack by @stagg in https://github.com/slackhq/circuit/pull/2515
- fix(deps): update dependency org.jetbrains.kotlinx:atomicfu to v0.31.0 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2527
- Update to KIA 0.1.7 + enable windows target by @ZacSweers in https://github.com/slackhq/circuit/pull/2530
- fix(deps): update androidx.activity to v1.12.3 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2536
- fix(deps): update ksp monorepo to v2.3.5 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2539
- feat(overlays): Expose contentWindowInsets in BottomSheetOverlay by @spectrl in https://github.com/slackhq/circuit/pull/2543
- Fix the circuitx artifacts on the about page by @stagg in https://github.com/slackhq/circuit/pull/2544
- chore(deps): update gradle to v9.3.1 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2542
- fix(deps): update androidx.compose to v1.10.2 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2537
- fix(deps): update dependency androidx.compose.runtime:runtime to v1.10.2 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2538
- fix(deps): update dependency com.google.testparameterinjector:test-parameter-injector to v1.21 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2534
- fix(deps): update roborazzi to v1.58.0 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2547
- chore(deps): update plugin emulatorwtf to v1.3.1 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2549
- fix(deps): update markdownrenderer to v0.39.2 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2545
- fix(deps): update dagger to v2.59.1 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2550
- chore(deps): update dependency fastlane to v2.232.0 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2552
- fix(deps): update kotlin monorepo to v2.3.10 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2551
- Lenient use of LocalNavigationEventDispatcherOwner by @stagg in https://github.com/slackhq/circuit/pull/2548
- chore(deps): update plugin nativecoroutines to v1.0.1 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2553
- chore(deps): update dependency markdown to v3.10.2 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2554
- chore(deps): update plugin metro to v0.10.3 by @slack-oss-bot in https://github.com/slackhq/circuit/pull/2555
New Contributors
- @spectrl made their first contribution in https://github.com/slackhq/circuit/pull/2543
Full Changelog: https://github.com/slackhq/circuit/compare/0.32.0...0.33.0