Changelog

Version 2.0.4

2022/06/14

Upgrade to gradle 7 build tools

Improve unit tests

Version 2.0.3

2022/05/18

Fix the obfuscation problems when activating proguard/R8 (WEBCOM-1296)

datasync Synchronize the access to the list of current subscriptions within DatasyncManager in order to avoid exceptions when cancelling a subscription (WEBCOM-1267)

Include version 3.0.0 of the javascript Webcom SDK

Version 2.0.2

2022/02/02

datasync Fix the initialization of the online/offline events (WEBCOM-1245)

Version 2.0.1

2022/01/24

datasync Set the default keepAlive period to 170 seconds (instead of 45 seconds) in order to save the battery on mobile devices (WEBCOM-947)

datasync Prevent the subscription callbacks from being called with data from the local cache when the subscription is done while the websocket is being established (WEBCOM-1152)

Version 2.0.0

2021/12/09

auth Add the PersonalPasswordMethod.resendVerificationToken() method

auth Better type the IdentityDetails.providerProfile property (Map<String,String>? instead of Any?)

auth Add the mcc parameter to the AuthenticationService.getOrangeMobileNetworkMethod() method

datasync Add the previousKey property to the SubscribableEvent.Child.Added and SubscribableEvent.Child.Changed interfaces

datasync Add the Subscriber.cancelSubscriptionsThroughPushNotification() and Subscriber.cancelSubscriptionsThroughWebhook() methods

datasync Add the DatasyncManager.rootNode property

datasync Add the DatasyncNode.timestamp property

datasync Add the TimeStampData.Server constant to represent the server timestamp

datasync Add a constraint parameter to the DatasyncNode.get() method

datasync Add the startOnline property to the WebcomConfiguration class, in order to make it possible to start the DatasyncService of an application offline

datasync Make the configuration property of the WebcomApplication class public

Add the WebcomConfiguration.withOfflineCache() and WebcomConfiguration.withStartOnline() methods to dynamically set up a Webcom configuration

datasync Fix the getCache() method on the root node of an application

datasync Fix the cancelation of subscriptions with constraints (WEBCOM-1170)

datasync Fix the unsubscription through the mobile push notification channel: revocations are no longer sent if not requested and are correctly deciphered if so (WEBCOM-1192)

datasync Fix the getter of the DatasyncService.isConnectionEnabled property when the Webcom application starts offline

datasync Fix the DatasyncNode.get() method so that it keeps read data within the local cache

datasync Introduce the TreeLikeData interface to specify the DatasyncValue API, entirely review the method set to convert instances to primitive or custom classes.

datasync Rename the DatasyncManager.unsubscribeFromAllEvents method into DatasyncManager.dispose.

datasync Rename the DatasyncNode.getCache method into DatasyncNode.getFromCache.

datasync Review the design of event subscription and notification:

  • Add the Notifiable base interface for events (to subscribe to), with the special SubscribableEvent interface for all datasync node subscriptions
  • Add the Notification<out T:Notifiable> interface for notification of events, to be passed to callback functions
  • Update the signature of subscription methods (in the Subscriber class) to pass the subscribed events as KClass<T:SubscribableEvent> (instead of EventType, which has been removed)
  • Update the type of the callback functions passed to all subscription methods of Subscriber
  • Rename CallbackEvent to SubscribableEvent

auth Rename OAuth2Method.Provider.DIOD into OAuth2Method.Provider.OrangeConnect, and OAuth2Method.Provider.Employee into OAuth2Method.Provider.OrangeEmployee

auth Move the options parameter (of type OAuth2Method.Options of the OAuth2Method.authenticate() method to the AuthenticationService.getOAuth2Method() method.

Replace the WebcomApplication constructor with the WebcomApplication.fromConfiguration(), WebcomApplication.fromAsset() and WebcomApplication.fromProperties() static methods
Remove the WebcomApplication.withConfiguration(), WebcomApplication.withAsset() and WebcomApplication.withProperties() static methods

Version 2.0.0-beta6

2021/09/16

auth Add the withCustomTabsBuilder method to the OAuth2Method.Options class, to make it possible to customize the look and feel of the browser that displays the OAuth2 authorize endpoint

datasync Add the SubscriptionOptions class to support a cancelation policy specifically to each subscription (WEBCOM-689)

datasync Add the DatasyncNode.getCache method to get the value of a data node currently stored in the local cache (WEBCOM-689)

datasync Rename DatasyncValuable class into DatasyncValue

datasync Move all subscription-related classes to the sdkv2.datasync.subscription package

datasync Introduce the Notification class, and update accordingly the signature of the Subscriber.subscribe method

datasync Rename SubscriptionCancelationPolicy class into CancelationPolicy

datasync Rename Type class into EventType and update its class hierarchy

datasync Rename DataEvent class into PushNotificationEvent and update its class hierarchy according to the one of the new EventType class

datasync Rename Event class into CallbackEvent and update its class hierarchy according to the one of the new EventType class

auth Replace the forcesWebView property of OAuth2Method.Options with userAgent (WEBCOM-999)

Include version 2.15.0 of the javascript Webcom SDK

Version 2.0.0-beta5

2021/05/11

datasync Add the DatasyncNode.increment method, which implements atomic increment in a more efficient way than the TransactionOperation.increment and TransactionOperation.decrement methods (WEBCOM-819)

datasync Add the includesAcknowledgements parameter to the Subscriber.subscribe method, as well as the Event.acknowledged and Event.isAcknowledgement properties. All together, these make it possible to watch whether some data is acknowledged by the Webcom back end (WEBCOM-727)

datasync Add the Webcom.DeviceIdentifier type to manage both FCM- and HMS- based push notifications (WEBCOM-632)

datasync Add the WebcomConfiguration.pingDelayMs and WebcomConfiguration.pongDelayMs properties to control the keep-alive mechanism on the websocket

datasync Add the DatasyncState.authenticationDetails property

datasync Add the ConnectionState.backendTimeOffsetMilliseconds property

datasync Update the DatasyncNode.push() method so that the passed callback now receives the name of the created sub-node in parameter

auth Add the AuthenticationState.details property

datasync Fix DatasyncSubscription.cancel() method when subscribed to several event types (WEBCOM-965)

datasync Fix exceptions raised when handling asynchronously the execution of callbacks associated with already cancelled subscriptions

datasync Make it possible to decode tokens from not encrypted notifications

auth Fix the deserialization of the Email provider within authentication details

datasync Remove the OneTimePasswordMethod.SMSSender enum class (WEBCOM-962, 433, 1003)

datasync Rename members of SubscriptionCancellationPolicy into SubscriptionCancelationPolicy, and its members into KeepUpdating, KeepUpdatingWhenImplicit and Clear

datasync Replace DatasyncService.connect(), DatasyncService.disconnect(), DatasyncService.shouldBeConnected with the boolean settable DatasyncService.isConnectionEnabled property

datasync Rename the DatasyncNode.name property into key and the DatasyncNode.child() method into relativeNode()

auth Rename AuthenticationState.Required into AuthenticationState.Invalid

Include version 2.14.0 of the javascript Webcom SDK

Version 2.0.0-beta4

2020/09/09

datasync Add the DatasyncService.state property

datasync Add the DatasyncService.PresenceState class to simplify the usage of the presence publisher feature

Replace the WebcomApplication.service() methods with a specific property for each available service: authenticationService and datasyncService

datasync Rename offlineData into offlineCache within property and method names

Version 2.0.0-beta3

2020/09/02

datasync: Improve the API and implementation of the DatasyncValuable class

datasync: Improve the API of the subscribe methods of the Subscriber class in order to handle subscription revocations from the back end (the catchingCancel method has been removed)

datasync: Add a subscription cancelation policy to DatasyncManager in order to control how data watched by canceled subscriptions are kept within the local cache (WEBCOM-586)

datasync: Add offlineData and cleanOfflineData methods to the DatasyncService class in order to get or clean data within the local cache (WEBCOM-586)

authentication: Improve the OAuth2 call-flow (WEBCOM-599)

Fix some serialization/deserialization problems to/from the tree-like representation of values from the Datasync service

Complete the Kotlin documentation of classes and methods (except in the com.orange.webcom.sdkv2.lifecycle package)

Include version 2.11.4 of the javascript Webcom SDK

Version 2.0.0-beta2

2020/06/02

The 2.X Webcom SDK for Android is out!