b.well SDK v1.1.0

b.well SDK v1.1.0 Change Log

b.well SDK version 1.1.0 includes new features, a breaking change, and operational improvements that enhance the SDK's functionality in non-Production environments.

New Additions

  • Notification Handling
    A new endpoint, handleNotification, has been introduced. This allows SDK clients to inform us when a silent push notification is opened. This feature aims to improve user engagement tracking and the effectiveness of push notification campaigns.
suspend fun handleNotification(data: String) : OperationOutcome
  • Delete Connection
    A new endpoint, deleteConnection, has been introduced. This endpoint will allow a user to delete a connection, deleting the associated token and the user's data specific to the connection. This endpoint is not fully functional with this release. Currently it will set the connection status to DELETED, but will not delete the data. Full end to end functionality will be introduced in a following release.
suspend fun deleteConnection(connectionId: String): OperationOutcome

A new enum, DELETED has been added to ConnectionStatus

enum ConnectionStatus {
  CONNECTED,
  DISCONNECTED,
  ERROR,
  EXPIRED,
  DELETED
}

Configuration Management Updates

    • Configuration parameters passed during the initialization (initialize) of the SDK will now only be respected in non-Production environments. This allows for more flexible development and testing configurations without affecting live production setups.
    • In Production environments, configurations are now dynamically pulled at runtime, ensuring that the most current settings are always in use.

Updates

  • A paging issue with getTasks was corrected, which will allow the full list of a user's tasks to be retrieved using paging. Here is an example builder function:
private fun getTasks() {
        val taskRequest = TasksRequest.Builder()
            .enrichContent(true)
            .status(TaskStatus.READY)
            .smartSort(true)
            .page(0)
            .pageSize(50)
            .build()

Breaking Changes

  • Enhanced Retry Policy Configuration

    • The BwellConfig.Builder() includes an update to the retry policy configuration.
    • This change requires updates to the initialization code where the SDK configuration is set. Please adjust your implementations accordingly.

New implementation example

.retryPolicy(
    RetryPolicy.Builder()
        .maxRetries(5)
        .retryInterval(500) // in milliseconds
        .build()
)

Previous implementation example, for reference

.retryPolicy(RetryPolicy(maxRetries = 5, retryInterval = 500))