Changelog¶
Pending changes¶
-
1.3.0¶
- #425 – Fixed: Up navigation should be properly propagated from Appyx to RIBs
- #384 – Updated: Compose BOM version and activity-compose version
22 Jun 2023
1.2.0¶
- #393 – Breaking change: Removed non-lazy implementations from NodeCustomisationDirectory
- #393 – Breaking change: Removed NodeCustomisationDirectoryImpl#put(vararg values: T)due to potential uncaught bugs. Please call the reifiedputextension function instead.
11 Apr 2023
1.1.2¶
- #391 – Added: Introduced putLazyandputSubDirectoryLazyfunctions withinNodeCustomisationDirectoryImplviaLazyMutableNodeCustomisationDirectory
04 Apr 2023
1.1.1¶
- #386 – Updated: RIBs version to 0.39.0
31 Mar 2023
1.1.0¶
- #383 – Changed: Removed deprecated methods in Node, ParentNode and CombinedHandler classes
- #376 – Changed: Androidx lifecycle version updated to 2.6.1.
- #376 – Updated: Kotlin and Compose compiler version updated to 1.8.10 to align kotlin version used in androidx lifecycle
- #375 – Fixed: SaveableStateHolder does no longer save state for destroyed elements
27 Mar 2023
1.0.5¶
- #370 – Added: RetainedInstanceStorehas two new functions which allows a developer to check whether an object is retained. These are:isRetainedByStoreIdandisRetained.
04 Mar 2023
1.0.4¶
- #361 – Added: Introduced RetainedInstanceStore. This provides developers the ability to retain objects between configuration changes.
- #336 – Updated: ChildAware API does not enforce Node subtypes only anymore, making it possible to use interfaces as public contracts for child nodes.
20 Feb 2023
1.0.3¶
- #325 – Fixed: Crash when using PermanentChild API in View testing
23 Jan 2023
1.0.2¶
- #287 – Added: Introduced a new rememberCombinedHandlerimplementation that takes an immutable list to avoid non-skippable compositions. The previous implementation is now deprecated.
- #287 – Added: ImmutableListhas been added to avoid non-skippable compositions.
- #289 – Added: Introduced interop-rx3for RxJava 3 support. This has identical functionality tointerop-rx2.
- #298 – Updated: ChildView documentation. TransitionDescriptorgenerics has been renamed toNavTargetandState
- #307 - Added: Spotlight.current()method to observe currently activeNavTarget.
- #314 – Fixed: Lifecycle is properly destroyed for suspended nodes.
10 Jan 2023
1.0.1¶
- #268 – Fixed: PermanentChildnow does not crash in UI tests withComposeTestRule.
- #276 – Fixed: Back press handlers order is fixed for RIBs-Appyx integration.
- #272 – Changed: attachWorkflowrenamed toattachChild.executeWorkflowrenamed toexecuteAction.
- #272 – Added: NodeReadyObserverplugin to observe when theNodeis ready
22 Nov 2022
1.0.0¶
- #247 – Added: Added EmptyNavModelto core for cases in which aParentNodeonly usesPermanentChild. TheDummyNavModeltest class is deprecated.
- #250 – Updated: Jetpack Compose to 1.3.0
31 Oct 2022
1.0.0-rc02¶
- #231 – Fixed: Changing transition handler at runtime does not redraw children
- #239 – Fixed: Fixed an issue with desynchronisation between NavModel and children's restoration process
- #218 – Updated: androidx.core:core-ktxto 1.9.0.
21 Oct 2022
1.0.0-rc01¶
- #214 – Breaking change: AppyxViewTestRulestops supporting automatic launching activity. Activities should be started explicitly in tests.
- #197 – Breaking change: ParentNodeViewdoes not implement plugin anymore.Nodeinstance is retrieved viaLocalComposition.AppyxParentViewTestRuleandAbstractParentNodeViewhave been removed.
- #196 – Breaking change: InteropBuildernow should be supplied with AppyxIntegrationPointProviderto attach it at the same time Appyx Node is created.
- #185 – Breaking change: Activitymust implementIntegrationPointProviderand createIntegrationPointmanually. Weak references usage has been removed.
- #173 – Breaking change: ActivityStarterandPermissionRequesternow exposes coroutine based API instead ofminimal.reactive.
- #200 – Breaking change: Reordered the parameters for ParentNode<NavTarget>.Childandfun <N : Node> NodeHostto meet Compose guidelines.
- #43 – Updated: Jetpack Compose to 1.2.1and Kotlin to1.7.10.
- #168 – Updated: Kotlin coroutines to 1.6.4.
- #171 – Updated: RIBs to 0.36.1.
- #212 – Updated: Nodeparent property is now public instead of private.
- #174 – Fixed: IntegrationPointExampledoes not work with "do not keep activities"
- #180 – Added: Ensure that super.onSaveInstanceState()was called to restore Node's state correctly
13 Oct 2022
1.0-alpha09¶
- #151 - Breaking change: Renamed RoutingtoNavTarget. All related namings are affected (RoutingElement,RoutingKey, etc.)
- #158 - Breaking change: Renamed TransitionStatetoStatein all NavModel impls. RenamedSTASHED_IN_BACK_STACKtoSTASHED.
- #146 - Breaking change: Removed FragmentIntegrationPoint. Clients should useActivityIntegrationPoint.getIntegrationPoint(context: Context)to get integration point from Fragment
- #160 - Breaking change: Renamed navmodel-addonstonavmodel-samplesand stopped publishing the binary. If you feel we should add any of the samples to the main codebase, please let us know!
- #138 - Fixed: androidx.appcompat:appcompatfrom is exposed viaapiwithincom.bumble.appyx:core. This prevents potential compilation bugs.
- #143 - Fixed: Correctly exposed transitive dependencies that are part of the libraries ABI
- #162 - Fixed: NodeTestHelper'smoveTofunction can now move toLifecycle.State.DESTROYED. The node itself has safeguards to prevent moving from destroyed state, and moving to destroyed is a valid test case.
- #145 - Updated: SpotlightSlidernow uses offset modifier with lambda
- #159 - Added: NodeHostnow takes modifier parameter to decorate the view of a root node
- #162 - Added: disposeOnDestroyPluginextension has been added to interop-rx2. This will allow Rx2 code to be easily disposed when the node it belongs to is destroyed.
- #161 - Added: Operations helpers
22 Sep 2022
1.0-alpha08¶
- #140 - Breaking change: Added testing-ui-activitymodule to avoid needing to addtesting-uias a debug implementation as part of instrumentation testing. See the linked issue for more details
- #139 - Fixed: IntegrationPointmemory leak created byActivityIntegrationPoint
12 Sep 2022
1.0-alpha07¶
- #122 - Breaking change: ChildEntry.ChildModeis removed, now nodes are always created when a nav model changes (previously default behaviour)
- #99 – Breaking change: Removed IntegrationPointAppyxProviderand madeActivityIntegrationPoint's constructor private. UseActivityIntegrationPoint.createIntegrationPoint. This uses a weak reference to keep track of the integration points, and will not introduce memory leaks.
- #122 - Added: New ChildEntry.KeepModethat allows to destroy nodes that are currently not visible on the screen
- #132 - Added: New NodeComponentActivityto extend when wanting to work withComponentActivityas your base activity, eg when migrating from a project built from the Jetpack Compose template
- #119 - Fixed: Lifecycle observers are invoked in incorrect order (child before parent)
- #62 - Fixed: Node is marked with stable annotation making some of the composable functions skippable
- #129 - Updated: Removed sealed interface from operations to allow client to define their own
- #133 - Updated: NodeViewinterface andParentNodemarked as stable improving amount of skippable composables
9 Sep 2022
1.0-alpha06¶
- #96 – Breaking change: Removed InteractorTestHelper. Please use Node tests instead of Interactor tests.
- #99 – Breaking change: Modified package of NodeConnectorandConnectable
- #99 – Added: Source.rx2() to convert Source to io.reactivex.Observable 
- #107 – Fixed: Back press handlers are not properly registered on lifecycle events
26 Aug 2022
1.0-alpha05¶
- #83 – Breaking change: RoutingSourcerenamed toNavModel. All subclasses, fields, package names, etc., any mentions of the word follow suit.
- #91 – Fixed: Spotlight next and previous operations crash fix
19 Aug 2022
1.0-alpha04¶
- #39 – Added: Workflows implementation to support deeplinks
- #32 – Added: BackPressHandlerplugin that allows to control back press behaviour viaandroidx.activity.OnBackPressedCallback
- #59 – Added: interface for ParentNodeView<>
- #32 – Added: Jetpack Compose Navigation code sample
- #81 – Added: Support integration point for multiple roots
- #65 – Added: InteropBuilderStubandInteropSimpleBuilderStubtesting util classes
- #47 – Updated: The customisationsmodule is now pure Java/Kotlin.
- #85 – Updated: Improved InteropViewerror messaging whenActivitydoes not implementIntegrationPointAppyxProvider
- #88 – Updated: Moved TestUpNavigationHandlertotesting-unit-common
18 Aug 2022
1.0-alpha03¶
- #38 – Added: JUnit5 support
2 Aug 2022
1.0-alpha02¶
- #19 – Fixed: Do not allow setting Node.integrationPointon non-root nodes
- #23 – Fixed: Integration point attached twice crash when using live literals
- #14 – Fixed: Transition interruptions bug
- #23 – Added: Unit test support
- #26 – Added: Publish snapshot versions
- #9 – Migrated: app-tree-utils into this repository
19 Jul 2022
1.0-alpha01¶
- Initial release
4 Jul 2022