Changelog

Version 2.2.4

2024/01/29

Make the WebcomError.toException() public

Switch the build chain to Gradle-Kotlin

Version 2.2.1

2023/12/13

Fix the release version of the Webcom SDK, which was buggy when using minification/shrinking with pro-guard (WEBCOM-1958)

Version 2.2.0

2023/10/31

datasync: Added retrieval of long-term subscriptions (through push notifications and webhooks) with DatasyncService.getLongTermSubscriptions() and DatasyncService.cleanLongTermSubscriptions() methods (WEBCOM-1676)

datasync: Added a callback parameter to the DatasyncNode.cancelNextDisconnectionAction() method

datasync: Added a constructor to the ISO8601Date() class to build a date from an ISO6801 string

Added an API to manage logs emitted by the Webcom SDK in the Webcom() static object

Include version 3.5.3 of the javascript Webcom SDK (webcom-auth-sldb.js)

Update dependencies

Version 2.1.3

2023/06/15

Include version 3.4.1 of the javascript Webcom SDK (webcom-auth-sldb.js)

Version 2.1.1

2023/02/21

auth: removed Spain (OES) from Mobile Connect available OrangeVariant countries (WEBCOM-1556)

Version 2.1.0

2023/02/02

Fix calls to some SDK APIs may block calling application

Version 2.0.8

2023/01/24

Fix missing classes from SDK (disable proguard minification)

Version 2.0.7

2023/01/19

datasync: Added support of DatasyncTime.OnDisconnection value for 'at' parameter of set/merge/clear APIs

datasync: Added CryptoMethod.availableMethods() API to get list of the user's device currently available cryptographic methods.

datasync: Added isWebcomPushNotification() API to know if push notification is originating from webcom

datasync: Added subscription API to data and auth through Livedata

auth: Added extra OAuth2 parameters expiresIn, refreshToken

datasync: Added dispose/finalize APIs to delete resources from manager or application

datasync: Fix wrong usage of 'at' parameter of set/merge/clear APIs

unit tests

Gitlab CImoved to grass runners, improved rdt devices release, fix wrong test results on failure

SDK:

Version 2.0.6

2022/09/29

Moved sdkv2 package to sdk

Added missing parts of documentation

Version 2.0.5

2022/09/16

Remove deprecated APIs

Internally, use only JS V3 APIs

Refactor project: removed old code and merge sdk and sdkv2 packages

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:

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.sdk.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!