2024/02/DD
datasync: Replace the
PushNotificationEvent.makeFromPushNotification() method with
PushNotificationEvent.makeFromMessageData(), which filters out received notification relating to
outdated long-term subscriptions (WEBCOM-1960)
datasync: Improve the management of long term subscriptions (typically push notifications):
datasync: Make
Subscriber.subscribeThroughPushNotification() and
Subscriber.subscribeThroughWebhook() return a
LongTermSubscription instead of a simple Subscription
2024/01/29
Make the
WebcomError.toException() public
Switch the build chain to Gradle-Kotlin
2023/12/13
Fix the release version of the Webcom SDK, which was buggy when using minification/shrinking with pro-guard (WEBCOM-1958)
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
2023/06/15
Include version 3.4.1 of the javascript Webcom SDK (webcom-auth-sldb.js)
2023/02/21
auth: removed Spain (OES) from Mobile Connect available OrangeVariant countries (WEBCOM-1556)
2023/02/02
Fix calls to some SDK APIs may block calling application
2023/01/24
Fix missing classes from SDK (disable proguard minification)
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:
2022/09/29
Moved sdkv2 package to sdk
Added missing parts of documentation
2022/09/16
Remove deprecated APIs
Internally, use only JS V3 APIs
Refactor project: removed old code and merge sdk and sdkv2 packages
2022/06/14
Upgrade to gradle 7 build tools
Improve unit tests
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
2022/02/02
datasync: Fix the initialization of the online/offline events (WEBCOM-1245)
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)
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:
Notifiable base interface for events (to subscribe to), with the special
SubscribableEvent interface for all datasync node subscriptionsNotification<out T:Notifiable> interface for notification of events, to be
passed to callback functionsSubscriber class) to pass the subscribed
events as KClass<T:SubscribableEvent> (instead of EventType, which has been
removed)SubscriberCallbackEvent 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
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
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
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
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
2020/06/02
The 2.X Webcom SDK for Android is out!