This guide assists in migrating from FlowX v4.7.x to v5.0.
Remove old packages and install new FlowX v5.0 packages
<version>
with the correct version corresponding to your FlowX v5.0 platform version. Check: Release Notes → v5.0 → Deployment guidelines → Component versions.Verify Angular dependencies
Update flx-process-renderer configuration
<flx-process-renderer>
component has a new mandatory parameter: workspaceId
.
Name | Description | Type | Requirement |
---|---|---|---|
workspaceId | Workspace identifier that contains the project and process to be started | string | Mandatory |
<flx-process-renderer>
component:
Remove old packages and install new FlowX v5.0 packages
<version>
with the correct version corresponding to your FlowX v5.0 platform version. Check: Release Notes → v5.0 → Deployment guidelines → Component versions.Update React dependencies (if needed)
Update FlxProcessRenderer configuration
<FlxProcessRenderer>
component has a new mandatory parameter: workspaceId
.
Name | Description | Type | Requirement |
---|---|---|---|
workspaceId | Workspace identifier that contains the project and process to be started | string | Mandatory |
<FlxProcessRenderer>
component:
Update dependency coordinates
Increase the `compileSdk` version to `35`
Recommendation: Upgrade JVM compatibility to Java 17
Update the `Android Gradle plugin` version to at least `8.10.0`
Update `Gradle` version to at least `8.11.1`
Update `Kotlin` version to at least `2.2.0`
Apply the `Compose Compiler Gradle plugin`
Enable core library desugaring
Ensure your `android.app.Application` extending class implements the `FlowxOwner` interface
Rename `FlowxSdkApi` class to `Flowx` and update imports accordingly
FlowxSdkApi.getInstance()
must be replaced with Flowx.getInstance()
.Update the `Flowx.getInstance().init()` method parameters
Detailed step-by-step changes
Rename the `SdkConfig` class to `Config` and update imports accordingly
config
parameter is no longer a data class
. It is now an interface
.Remove the `enableLog` flag from the configuration parameters
FxLogger
interface may be provided during initialization when logging functionality is requiredRemove the `accessTokenProvider` parameter from the initialization parameters (if previously used)
Flowx.getInstance().setAccessToken(accessToken: String?)
method with the appropriate argumentUpdate main imports for `Custom` provided UI components (if used explicitly)
Update `Analytics` related imports
Update `NewProcessStartedHandler` related imports (if used explicitly)
Update the method for providing access tokens
setAccessTokenProvider
method on the SDK instance has been replaced with setAccessToken
.setAccessTokenProvider
must be replaced with calls to setAccessToken
:`closeModalFunc` is now scoped to the `CloseModalProcessScope`
CloseModalProcessConfirmAlert
, the closeModalFunc
lambda passed as a parameter when starting (i.e. Flowx.getInstance.startProcess(...)
) or continuing (i.e. Flowx.getInstance.continueProcess(...)
) is now scoped to the CloseModalProcessScope
interface, which allows that.Update custom components implementation
CustomComposable
class has been renamed to CustomComponent
.provideCustomComposableComponent()
method within CustomComponentsProvider
has been replaced with fun provideCustomComponent(): CustomComponent?
.CustomComposableComponent
class has been removed.composable
property of the CustomComponent
interface can now only exist and be called within the context of a CustomComponentScope
receiver.CustomComponentScope
receiver (i.e., they can now be called only from within a custom component implementation).CustomComponentScope
are now called through the actual scope itself, rather than relying on Flowx.getInstance()
, since they are no longer visible on the SDK instance.CustomComponentAction
is no longer a data class
as before. It is now an interface
.CustomComponentScope.getEnumeration(...)
method, the returned type has changed from List<FxEnumerationItem>
to FxEnumeration
Update custom stepper header implementation
ComposableStepperHeader
class has been renamed to CustomStepperHeader
.CustomStepperHeaderData
class has been moved under the CustomStepperHeader
and renamed to Data
.provideCustomComposableStepperHeader()
method within CustomStepperProvider
has been replaced with fun provideCustomStepperHeader(): CustomStepperHeader?
.CustomComposableStepperHeader
class has been removed.Remove usage of the undocumented `updateConfig(config: SdkConfig)` function
changeEnvironment
method available on the SDK instance.workspaceId
.
workspaceId
.