Compose Navigator Versions Save

Navigation Component for Jetpack Compose with support for screens, dialogs, bottomsheets, transitions and multi module projects

1.0.0-beta05

3 months ago

Just a quick maintenance one: Update Compose BOM version.

The library is still currently being upgraded to be a KMM project with Web, Android, Ios and Desktop as targets.

1.0.0-beta04

9 months ago

This release updates dependencies while the project is being migrated to KMM. (Thanks to @ilyasshafigin for https://github.com/roudikk/guia/pull/19 )

The library is almost KMM ready with some additional changes to the API, the next release will have support for Android, IOS and Desktop.

1.0.0-beta03

1 year ago

Bugfixes

  • The wrong animation was being played on back navigation. This was fixed in #17 (@ilyasshafigin)

Dependencies

  • Update the Compose dependencies to latest (1.4.0-rc01)

Tests

  • Written tests for most containers, bringing the library closer to a 1.0.0 stable release

1.0.0-beta02

1 year ago

๐Ÿงพ Refactoring

For the sake of consistency, some classes were renamed to match other naming conventions used in the library.

Nav is used a lot as a prefix but the transition API and entry container were using Navigation so they are now updated to match the rest:

  • NavigationTransition was renamed to NavTransition
  • NavigationVisibilityScope was renamed to NavVisibilityScope
  • NavigationEntryContainer was renamed to NavEntryContainer

Visible Backstack

VisibleBackstack is confusing since it should represent what is currently being rendered on the screen for the user so it was renamed

  • VisibileBackstack was renamed to RenderGroup

BackstackManager naming and package

BackstackManager indicates that it manages the backstack of a Navigator where in reality it manages the lifecycle of the backstack so it was renamed and updated the public lambdas to be fun interfaces

  • BackstackManager was renamed to LifecycleManager
  • Preiovusly getVisibileBackstack and updateLifecyles are now fun interfaces GetRenderGroup and UpdateLifecycles
  • Renamed BackstackViewModel to ViewModelStoreProvider
  • Moved LifecycleEntry, LifecycleManager, ViewModelStoreProvider and DefaultLifecycleManager to lifecycle package

Gitbook

  • Remove Gitbook files as they were not intended to be pushed to the master branch

Misc

  • Updated some documentation across the project.
  • NavigatorResultManager is now internal.

๐Ÿ› Bugfixes

  • LocalNavigator was not present when using the NavEntryContainer resulting in a crash when used outside the context of a NavContainer

1.0.0-beta01

1 year ago

Initial release for Guia ๐ŸŽ‰

Check the GitBook for documentation.

2.0.2

1 year ago

What's Changed

  • Update Compose to 1.3.0-beta03
  • Update dependencies and fix tests

2.0.1

1 year ago

What's Changed

  • Fix bug where a bottomsheet would dismiss if it was folllowed by multiple dialogs @roudikk (#10)
  • Add support for NavigationNode being reused as Screen, Dialog and BottomSheet at the same time @roudikk (#9)

2.0.0

1 year ago

This release is an almost complete rewrite of version 1.x, check the updated README for updated information.

๐Ÿ”ด Breaking Changes

  • Packages have been updated for better readability and clarity, this means you will need to update your imports moving from 1.x
  • NavHost was removed in favor of rememberNavigator, multiple navigators can now be created by calling rememberNavigator on different instances
  • NavigatorKey was removed, navigators no longer need to have a unique key since they are now defined by their instance
  • DeepLinkHandler was removed in favor of a less opinionated deeplink handling, check the updated README deeplinks section for details
  • NavigationNode's Content no longer has AnimatedVisibilityScope receiver, instead you can get reference to the current navigation animation using LocalNavigationAnimation.current

๐ŸŽ‰ New features

  • Each NavigationNode in the back stack now has its own LifecycleOwner, lifecycle events can be listened to using LifecycleEffect
  • Each NavigationNode has its own ViewModelStoreOwner and SavedStateRegistryOwner, allowing it to have its own scope ViewModels supporting SavedStateHandle
  • New navigation operations: replaceLast, replaceUpTo, moveToTop, singleInstance, singleTop, any
  • Default navigation node transition (Both Single and Multi Stack)
  • Default stack transition (Multi Stack)

1.1.4

2 years ago

What's Changed

  • Remove experimental annotation ExperimentalNavigatorApi
  • NavigationNode now uses java.name instead of java.simpleName as a key

1.1.3

2 years ago

What's Changed

  • Add test tag modifier to navigation nodes for easier UI Testing based on navigation node's key