Support for 2.0.2 ended on February 8, 2024 Please upgrade to the latest version. See: Versioning and Support Lifecycle.
The latest release of the Sync SDK for Android is v3.0.3, published on Maven Central.
Links are provided to specific patch versions here. We don't recommend using these links unless you have a specific need for a certain patch of a release.
5edd0a6c2abad43681b54425dadddd71ee5c6b019c62a12e821c17343fd34465
implementation "com.twilio:sync-android:3.0.3"
fae097470c70fec1b5f967028abc74c9c12d9c89bc0ec4b51e5112bcbcee7663
implementation "com.twilio:sync-android:3.0.2"
c7a4470785cae0e3b2771d003d3b3a011e5ac2cd3aa14fbd8ccf5767269e8877
implementation "com.twilio:sync-android:3.0.1"
30b32eaa4248b0e15405001867359ddf1a0d848bb205140998ffdebf6bd8d2b2
implementation "com.twilio:sync-android:3.0.0"
44e140754fd7e41f0dddc16d3fd0ad507c78b3d01ef123f8a6f0cf65b5687feb
implementation "com.twilio:sync-android:2.0.2"
cb51f8c153741dcc8b05af5770fc17683219e57e85f659fbea19502fccd98c63
implementation "com.twilio:sync-android:2.0.1"
5e4c0afc5c688e832c2afe6e342febdefd9328afb93c80c717a5ef369d0f74c8
implementation "com.twilio:sync-android:2.0.0"
UNAUTHORIZED
error the
ErrorInfo.code
is now 5 (was 1)
e4cfe5f38e13a73fdda9815699546a7b7b8cedfc644f3568b3795dcd2cd21f1d
implementation "com.twilio:sync-android:1.1.0"
293868bd9e4f1b70898df1376728ec771a7befda8a8c7955bca59c2a12000f5c
implementation "com.twilio:sync-android:1.0.3"
a8e474a9ce48daf40b1f4d444a52580848fad3e649b4d8240b6a41b1721805f3
implementation "com.twilio:sync-android:1.0.2"
afb799129b7860e19e3060d3c36aad5ca5f490bc16669287d454c3ca88be752e
implementation "com.twilio:sync-android:1.0.1"
Starting from this release all artifacts are published on mavenCentral
instead of jcenter
.
Root build.gradle
have to be updated by adding mavenCentral()
repository:
_10allprojects {_10 repositories {_10 mavenCentral()_10 }_10}
bc416e2aa08aafbb148de797e6d633950640edefe6bb7740b1d52e66a08704b7
implementation "com.twilio:sync-android:1.0.0"
build.gradle
the following compile options, necessary to use Java8 syntax features:
_10compileOptions {_10 sourceCompatibility JavaVersion.VERSION_1_8_10 targetCompatibility JavaVersion.VERSION_1_8_10}_10_10// Also if kotlin is used in the project_10kotlinOptions {_10 jvmTarget = '1.8'_10}
List of renamed entities:
List
->
SyncList
ListIterator
->
SyncListIterator
ListObserver
->
SyncListObserver
ListPaginator
->
SyncListPaginator
Map
->
SyncMap
MapIterator
->
SyncMapIterator
MapObserver
->
SyncMapObserver
MapPaginator
->
SyncMapPaginator
Document
->
SyncDocument
DocumentObserver
->
SyncDocumentObserver
Stream
->
SyncStream
StreamObserver
->
SyncStreamObserver
Mutator
->
SyncMutator
Options
->
SyncOptions
ConnectionStateListener
->
SyncClientListener
SyncClient.setConnectionStateListener()
->
SyncClient.setListener()
InfiniteDuration
->
INFINITE_DURATION
SuccessListener
is interface now. So remove constructor invocation in Kotlin code to make it compile.
SyncOptions
is interface now. Use
SyncOptions.create()
for creating new instance.
previousData
parameter added to
SyncDocumentObserver.onRemoved()
callback.
PageSort
parameter while querying items from
SyncList
or
SyncMap
. The order of items within the page is not guaranteed. Implement necessary sorting in application code if needed.
dateUpdated
for all sync objects (SyncList, SyncMap, SyncMap.Item etc).
onTokenAboutToExpire
and
onTokenExpired
callbacks to
SyncClientListener
.
previousData
/
previousItemData
is null in updated/removed callbacks for client who made the modification.
onError()
callback after initialisation with invalid token.
v1.0.1
or newer, if you got runtime error:
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/getkeepsafe/relinker/ReLinker
implementation "com.twilio:sync-android:0.9.0"
javax.net.ssl.SSLSocket
), resulting in a noticeable decrease in final application size compared to previous release 0.8.7.
implementation "com.twilio:sync-android:0.8.7"
implementation "com.twilio:sync-android:0.8.6"
implementation "com.twilio:sync-android:0.8.5"
StreamObserver.onRemoved()
event is received twice.
implementation "com.twilio:sync-android:0.8.2"
implementation "com.twilio:sync-android:0.8.1"
implementation "com.twilio:sync-android:0.8.0"
compile "com.twilio:sync-android:0.7.2"
compile "com.twilio:sync-android:0.7.1"
compile "com.twilio:sync-android:0.7.0"
Synopsis of enhancements:
Migration tips:
FlowId has been removed globally; most methods that previously accepted a flowID now also accept metadata which can be null today if you are not specifying a TTL.
Most observer methods have changed signature. The individual remote and local observer methods have been combined into a single observer method for operations. Observers which previously received only an index or key will now also receive the full value. Most observer methods now also provide a EventContext object which will indicate whether the operation was locally or remotely initiated.
Update squashing:
Individual local operations will continue to return the status of each operation via their SuccessListener interface but updates sent to the server may be batched for efficiency. This means remote clients may not see every state update performed individually, but will instead see updates with the object's final updated state.
If you require updates to be treated as individual operations for purposes of notifying remote clients, it is recommended you schedule subsequent updates to occur after the completion of each operation.
Other enhancements and bugfixes:
compile "com.twilio:sync-android:0.6.3"
compile "com.twilio:sync-android:0.6.2"