THIS UPDATE CONTAINS BREAKING CHANGES RELATED TO NavigationNodeFactory
things
Code
:- Replace
NavigationNodeFactory.Companion.Typed
factory intoNavigationNodeFactory.Typed
- Change order of
NavigationNodeFactory.Typed
type args - Add default aggregator for
NavigationNodeFactory
- Add extension
changesInSubtreeFlow
for either chains and nodes
- Replace
Versions
:MicroUtils
:0.22.3
->0.22.4
Core
:- Add default config for
Empty
node (just empty config object) - Add default factory for
Empty
node, based on default config - Add
NavigationNodeFactory.Typed
default node factory with inline factory fun
- Add default config for
Compose
:- Add opportunity to setup initial chains and nodes in
initNavigation
- A lot of fixes in Compose Navigation Extensions
- Add opportunity to setup initial chains and nodes in
Compose
:- Fixes in handling of non-
ComposeView
- Fixes in handling of non-
Sample
:- Add opportunity to see
Versions
:Coroutines
:1.8.1
->1.9.0
Serialization
:1.7.2
->1.7.3
MicroUtils
:0.22.2
->0.22.3
Koin
:3.5.6
->4.0.0
Compose
:1.7.0-alpha03
->1.7.0-beta02
androidx.compose.material3:material3
has been replaced withorg.jetbrains.compose.material3:material3
Versions
:Kotlin
:1.9.23
->2.0.20
Serialization
:1.6.3
->1.7.2
KSLog
:1.3.4
->1.3.6
Compose
:1.6.2
->1.7.0-alpha03
MicroUtils
:0.21.0
->0.22.2
Android Compile SDK
:34
->35
- Add support for native targets
Versions
:MicroUtils
:0.20.53
->0.21.0
Versions
:Coroutines
:1.8.0
->1.8.1
MicroUtils
:0.20.43
->0.20.53
KSLog
:1.3.3
->1.3.4
Koin
:3.5.4
->3.5.6
Core
:- Drop redundant
inline
s from extensions likefindInSubTree
to avoid efficiency degrading
- Drop redundant
Compose
:- Module has been created to provide support of
Compose
-oriented navigation
- Module has been created to provide support of
Sample
:- Sample has been fully rewritten to work with
Compose
-oriented way
- Sample has been fully rewritten to work with
Versions
:Kotlin
:1.9.22
->1.9.23
MicroUtils
:0.20.38
->0.20.43
KSLog
:1.3.2
->1.3.3
UUID
:0.8.2
->0.8.4
Koin
:3.5.3
->3.5.4
Versions
:Coroutines
:1.7.3
->1.8.0
Serialization
:1.6.2
->1.6.3
MicroUtils
:0.20.31
->0.20.38
Core
:Android
:- Add opportunity to configure
FragmentTransaction
- Add opportunity to configure
Versions
:Kotlin
:1.9.21
->1.9.22
MicroUtils
:0.20.22
->0.20.31
KSLog
:1.3.1
->1.3.2
Core
:- Rename
CookiesNavigationConfigsRepo
toStorageNavigationConfigsRepo
- Add opportunity to set the
Storage
inStorageNavigationConfigsRepo
- New configs repo
UrlParametersNavigationConfigsRepo
- Rename
Core
:- Fixes in saving of hierarchy: now changes in configs taking in care
Core
:- All callbacks in
onChangesInSubTree
/onChangesInSubChains
/onChangesInSubNodes
suspendable
- All callbacks in
Versions
:Serialization
:1.6.1
->1.6.2
MicroUtils
:0.20.15
->0.20.22
Core
:- Add opportunity to use
onChangesInSubTree
/onChangesInSubChains
/onChangesInSubNodes
- Rewrite saving algorithm basing
- Add opportunity to use
Core
:- A lot of different urgent fixes in
Chain
/Node
flow extensions- Also added
fun
ctional variants of flow getter which allow to setup initial value of result flow
- Also added
- A lot of different urgent fixes in
Core
:Common
:- Fixes in hierarchy saver/loader
- All
restoreHierarchy
extensions now not suspendable
JS
:- Experimentally added
OneParameterUrlNavigationConfigsRepo
- Experimentally added
MVVM
:- New
ViewFragment#onSetNode
hook
- New
Versions
:Kotlin
:1.9.20
->1.9.21
Serialization
:1.6.0
->1.6.1
MicroUtils
:0.20.12
->0.20.15
KSLog
:1.2.4
->1.3.1
UUID
:0.8.1
->0.8.2
Compose
:1.5.10
->1.5.11
This update contains upgrade up to gradle 8+. Be careful during to use of this library
This update have set up compatibility
and target
JDK versions to 17
Versions
:Kotlin
:1.9.0
->1.9.20
MicroUtils
:0.20.0
->0.20.11
KSLog
:1.2.0
->1.2.3
Koin
:3.4.3
->3.5.0
Compose
:1.5.1
->1.5.10
Versions
:Kotlin
:1.8.22
->1.9.0
MicroUtils
:0.19.8
->0.20.0
KSLog
:1.1.1
->1.2.0
UUID
:0.7.1
->0.8.0
Koin
:3.4.2
->3.4.3
Versions
:Kotlin
:1.8.22
Coroutines
:1.7.3
MicroUtils
:0.19.8
Compose
:1.4.3
- Fixes in part of non-storable nodes in hierarchy saving
Versions
:Coroutines
:1.7.2
MicroUtils
:0.19.7
Compose
:1.4.1
- Fix in
NavigationChain
saving
Versions
:Kotlin
:1.8.20
Serialization
:1.5.1
MicroUtils
:0.19.5
UUID
:0.7.1
MVVM
:- Add
NavigationMVVMSingleActivity
as abstract class for single-activity oriented way of navigation - All
initNavigation
variants uses coroutine scope with supervisor job to avoid redundant navigation fails- Add
NavigationFragmentInfoProvider
. Realizations ofNavigationFragmentInfoProvider
can be used for passing in a list intoinitNavigation
function for automatization of its parts registration
- Add
- Add
- Fixes in updates listening of chains and nodes
Versions
:MicroUtils
:0.17.6
->0.18.3
- Get back
mvvm
module with filled abstractions - Improve Sample
- Fix of bug in start of chain
Versions
:Kotlin
:1.8.20
MicroUtils
:0.17.6
KSLog
:1.1.1
THIS UPDATE CONTAINS DEPRECATIONS REMOVING
- Fixes for android
- Add find extensions for chains and nodes
NavigationChain.parentNode
now is public- Improvements in CRUD operations in navigation tree
- Improvements in replacing of nodes and chain diffs handlings
- Fixes in
restoreHierarchy
- Fixes in
createSubChain
Versions
:MicroUtils
:0.17.5
NavigationChain
got its own optional idNavigationChain
andNavigationNode
gotfindChain
extensionNavigationChain
andNavigationNode
gotfindNode
extension- On restoring of hierarchy it is possible to remove the chains which do not fit restoring one
- Add opportunity to walk across whole navigation tree
Versions
:MicroUtils
:0.17.2
Versions
:Kotlin
:1.8.10
Serialization
:1.5.0
MicroUtils
:0.17.0
KSLog
:1.0.0
UUID
:0.7.0
Common
:NavigationChain
now have more useful logs for different methods- Reworked
push
,drop
andstart
methods ofNavigationChain
NavigationNode
now have more useful logs object- Fixes in
NavigationNode.start
- Fixes in
NavigationChain#onNodesStackDiffFlow
and all subsequent diff flows - Fixes in
NavigationNode#onChainsStackDiffFlow
and all subsequent diff flows
Android
:AndroidFragmentNode
now will automatically attach to any found view with its navigation tag equal toConfig#id
- Rewrite chain lists with immutable stacks
JS
:JsNavigationNode
gothtmlElementStateFlow
which is automatically updated when node is in resume state
Versions
:MicroUtils
:0.16.5
- Fixes in using of
rootChain
inrestoreHierarchy
JS
:- Add more logs in
initNavigation
- Add more logs in
JS
:initNavigation
got variant with opportunity to pass root chain
- Extended support of JS platform:
- Extensions
NavigationNodeDefaultConfig#htmlElement
(orNull
/orThrow
) CookiesNavigationConfigsRepo
initNavigation
function for simple navigation enablingJsNavigationNode
abstraction as an analogue of android navigation node
- Extensions
NevigationChain
now uses regular mutable list instead of array dequeVersions
:Kotlin
:1.7.21
MicroUtils
:0.14.4
UUID
:0.6.0
Versions
:Kotlin
:1.7.20
Serialization
:1.4.1
MicroUtils
:0.13.2
KSLog
:0.5.3
- Internal optimizations
THIS RELEASE CONTAINS BREAKING CHANGES
NavigationNode
now use two types:Config : Base
andBase
- All
NavigationNode
s now haveconfigState
with typeStateFlow
. Under the hood any node may implement mutability of this flow as it is required
Versions
:MicroUtils
:0.13.1
- Fixes and improvements in android part
Versions
:MicroUtils
:0.13.0
KSLog
:0.5.2
- Several tools for android navigation have been added
- Small sample for android have been added
Project inited