Skip to content

0.28.0

Compare
Choose a tag to compare
@stagg stagg released this 13 May 01:37
· 105 commits to main since this release

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 in NavigatorDefaults.EmptyDecoration
  • [docs] Add more alternative state designs.
  • [docs] Split up the Circuitx docs into sub pages

What's Changed

Full Changelog: 0.27.1...0.28.0