Files
coco 723ce1af5c a
2026-07-03 15:12:48 +08:00

12 KiB
Raw Permalink Blame History

Changelog

Pending changes

  • #287 Added: Introduced a new rememberCombinedHandler implementation that takes an immutable list to avoid non-skippable compositions. The previous implementation is now deprecated.
  • #287 Added: ImmutableList has been added to avoid non-skippable compositions.
  • #289 Added: Introduced interop-rx3 for RxJava 3 support. This has identical functionality to interop-rx2.
  • #298 Updated: ChildView documentation. TransitionDescriptor generics has been renamed to NavTarget and State
  • #307 - Added: Spotlight.current() method to observe currently active `NavTarget.

1.0.1

  • #268 Fixed: PermanentChild now does not crash in UI tests with ComposeTestRule.
  • #276 Fixed: Back press handlers order is fixed for RIBs-Appyx integration.
  • #272 Changed: attachWorkflow renamed to attachChild. executeWorkflow renamed to executeAction.
  • #272 Added: NodeReadyObserver plugin to observe when the Node is ready
22 Nov 2022

1.0.0

  • #247 Added: Added EmptyNavModel to core for cases in which a ParentNode only uses PermanentChild. The DummyNavModel test 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-ktx to 1.9.0.
21 Oct 2022

1.0.0-rc01

  • #214 Breaking change: AppyxViewTestRule stops supporting automatic launching activity. Activities should be started explicitly in tests.
  • #197 Breaking change: ParentNodeView does not implement plugin anymore. Node instance is retrieved via LocalComposition. AppyxParentViewTestRule and AbstractParentNodeView have been removed.
  • #196 Breaking change: InteropBuilder now should be supplied with Appyx IntegrationPointProvider to attach it at the same time Appyx Node is created.
  • #185 Breaking change: Activity must implement IntegrationPointProvider and create IntegrationPoint manually. Weak references usage has been removed.
  • #173 Breaking change: ActivityStarter and PermissionRequester now exposes coroutine based API instead of minimal.reactive.
  • #200 Breaking change: Reordered the parameters for ParentNode<NavTarget>.Child and fun <N : Node> NodeHost to meet Compose guidelines.
  • #43 Updated: Jetpack Compose to 1.2.1 and Kotlin to 1.7.10.
  • #168 Updated: Kotlin coroutines to 1.6.4.
  • #171 Updated: RIBs to 0.36.1.
  • #212 Updated: Node parent property is now public instead of private.
  • #174 Fixed: IntegrationPointExample does 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 Routing to NavTarget. All related namings are affected (RoutingElement, RoutingKey, etc.)
  • #158 - Breaking change: Renamed TransitionState to State in all NavModel impls. Renamed STASHED_IN_BACK_STACK to STASHED.
  • #146 - Breaking change: Removed FragmentIntegrationPoint. Clients should use ActivityIntegrationPoint.getIntegrationPoint(context: Context) to get integration point from Fragment
  • #160 - Breaking change: Renamed navmodel-addons to navmodel-samples and 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:appcompat from is exposed via api within com.bumble.appyx:core. This prevents potential compilation bugs.
  • #143 - Fixed: Correctly exposed transitive dependencies that are part of the libraries ABI
  • #162 - Fixed: NodeTestHelper's moveTo function can now move to Lifecycle.State.DESTROYED. The node itself has safeguards to prevent moving from destroyed state, and moving to destroyed is a valid test case.
  • #145 - Updated: SpotlightSlider now uses offset modifier with lambda
  • #159 - Added: NodeHost now takes modifier parameter to decorate the view of a root node
  • #162 - Added: disposeOnDestroyPlugin extension 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-activity module to avoid needing to add testing-ui as a debug implementation as part of instrumentation testing. See the linked issue for more details
  • #139 - Fixed: IntegrationPoint memory leak created by ActivityIntegrationPoint
12 Sep 2022

1.0-alpha07

  • #122 - Breaking change: ChildEntry.ChildMode is removed, now nodes are always created when a nav model changes (previously default behaviour)
  • #99 Breaking change: Removed IntegrationPointAppyxProvider and made ActivityIntegrationPoint's constructor private. Use ActivityIntegrationPoint.createIntegrationPoint. This uses a weak reference to keep track of the integration points, and will not introduce memory leaks.
  • #122 - Added: New ChildEntry.KeepMode that allows to destroy nodes that are currently not visible on the screen
  • #132 - Added: New NodeComponentActivity to extend when wanting to work with ComponentActivity as 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: NodeView interface and ParentNode marked 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 NodeConnector and Connectable
  • #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: RoutingSource renamed to NavModel. 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: BackPressHandler plugin that allows to control back press behaviour via androidx.activity.OnBackPressedCallback
  • #59 Added: interface for ParentNodeView<>
  • #32 Added: Jetpack Compose Navigation code sample
  • #81 Added: Support integration point for multiple roots
  • #65 Added: InteropBuilderStub and InteropSimpleBuilderStub testing util classes
  • #47 Updated: The customisations module is now pure Java/Kotlin.
  • #85 Updated: Improved InteropView error messaging when Activity does not implement IntegrationPointAppyxProvider
  • #88 Updated: Moved TestUpNavigationHandler to testing-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.integrationPoint on 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