0.28.0
Compose 1.8
This release updates to Compose 1.8 🎉
As part of this update the published jvmTarget
has moved to 11
to match the upstream change.
Behaviour Changes
The Android version of rememberCircuitNavigator()
that could handle back navigation was changed to delay the root Navigator.pop
by a composition such that its BackHandler
could be fully disabled first. This change fixed an issue where a root pop would not propagate to outer BackHandler
's or OnBackPressedCallback
's. With the addition of compose:ui-backhandler
, this variant of rememberCircuitNavigator()
was moved from the Android to the common circuit-foundation
artifact.
New circuitx-navigation
adding navigation interception capabilities
We've added a new navigation intercepting system to CircuitX that lets you hook into and modify navigation before it happens. The InterceptingNavigator
sits before a regular Circuit Navigator
, giving you a chance to inspect or change navigation events. With the NavigationInterceptor
interface, you can handle goTo
, pop
, and resetRoot
calls and decide if they should proceed, fail, be skipped, or be rewritten to navigate somewhere else. There's also aNavigationEventListener
if you just want to know when navigation happens without changing it.
This new system is handy for advanced routing, blocking navigation, or tracking navigation events for analytics.
dependencies {
implementation("com.slack.circuit:circuitx-navigation:<version>")
}
Docs: https://slackhq.github.io/circuit/circuitx/navigation
Misc:
- Fix the provided
Modifier
not being used inNavigatorDefaults.EmptyDecoration
- [docs] Add more alternative state designs.
- [docs] Split up the Circuitx docs into sub pages
What's Changed
- Rename navigation sample by @stagg in #2041
- fix(deps): update dagger to v2.56.2 by @slack-oss-bot in #2039
- Split up the Circuitx docs into sub pages by @stagg in #2053
- fix(deps): update kotlininject to v0.8.0 by @slack-oss-bot in #2059
- Flesh out state docs more + different designs by @ZacSweers in #2061
- fix(deps): update dependency app.cash.molecule:molecule-runtime to v2.1.0 by @slack-oss-bot in #2034
- CircuitX Navigation by @stagg in #1669
- Circuitx Navigation doc page by @stagg in #2068
- Circuitx navigation tests by @stagg in #2067
- Compose 1.8 by @stagg in #2056
- Fix navigation BackHandler by @stagg in #2073
- fix(deps): update agp to v8.10.0 by @slack-oss-bot in #2074
- fix(deps): update compose.runtime to v1.8.1 by @slack-oss-bot in #2076
- fix(deps): update dependency androidx.compose:compose-bom to v2025.05.00 by @slack-oss-bot in #2083
- fix(deps): update androidx.lifecycle to v2.9.0 by @slack-oss-bot in #2082
- fix(deps): update kotlininject.anvil to v0.1.5 by @slack-oss-bot in #2084
Full Changelog: 0.27.1...0.28.0