Changelog: Twilio Conversations Android SDK
- Latest release documentation.
- Versioning and Support Lifecycle.
- aar
- SHA-256:
0941553efaf1737e6877aa1a7af4e7bffad69b382d8bf478613f5c1a8c69f192
- Documentation
Changes:
- Updated targetSdk to 35.
- Added support for optional synchronization on startup. See setSynchronizeOnStartup for details.
- Added support for 16 KB page size devices.
- aar
- SHA-256:
da05aa0c64a64f9d27890f16eaa9ba146ee828c41460361098ad66c7d47a5cb9
- Documentation
Changes:
- Fixed a memory leak when client creation fails.
- aar
- SHA-256:
ea75251271c3e419e6c9420ee5fbecde060407fe3720cecd9b9e730a2dad5da1
- Documentation
Changes:
- Fixed a memory leak when client creation fails.
- aar
- SHA-256:
7100398c71adcfeb28d598abb574cc755889455cccb6e2b5bc5e6425561f5974
- Documentation
Changes:
- Fixed received media size integer overflow on 32-bit devices.
- aar
- SHA-256:
c3a4d4206afe133c874d76c8444e688f338cf191bfb449b42f6a27be90b6780b
- Documentation
Changes:
- Fixed a crash which could occur on client creation.
- Fixed issues in transport protocol handling.
- Starting with this release the Gradle Module Metadata file is published to maven central. Now binary incompatibility between SyncSDK and ConversationsSDK will be automatically reported at compile time.
- aar
- SHA-256:
e326c72cefb31295fd8d4477f11d1b5a5ecb32c5554e283b73f4dff5b35a9608
- Documentation
Changes:
- Default
CommandTimeout
set to 10 seconds.
Breaking Changes
- (Java) Replaced
Participant.getType()
withParticipant.getChannel()
to support any Participant channel type. - (Kotlin) Replaced
Participant.getType()
withParticipant.channelType: ChannelType
to support any Participant channel type.
- aar
- SHA-256:
9f16e761aad94c1df57005e901425c5beb75750d229a3a1331940f2267400455
- Documentation
Changes:
- Fixed a crash when both Sync SDK and Conversations SDK are in the same app.
- aar
- SHA-256:
0bd6d47cb2984444d2ad9b7cd963c673fe3b31f01338878c7cfb65c2506610a7
- Documentation
Changes:
- Added support for Content API
- aar
- SHA-256:
e806407d7c50be0744aff35e65f9a0012985e8ea624693df004fb3e991ef8431
- Documentation
Changes:
- Bumped the kotlin version to v1.8.0
Breaking Changes
- Bumped Android minSdkVersion to 21
- aar
- SHA-256:
655bab9a0c654d46a68cf4435814e2f5fb437454ccb788df4a716a6915d7f6f7
- Documentation
Changes:
- Bump the ktor dependency to v2.1.2
- aar
- SHA-256:
7b81154168fa8db48790344d446c26ceac2478f01094be325ce71386b0a83b90
- Documentation
Changes:
- Fixed crash on device connectivity changes
- targetSdkVersion bumped to android-33
- aar
- SHA-256:
e9f2e50fe85dd56c7736d87b646f42a7d3ba03d7c5581d4e784102c44986d210
- Documentation
Changes:
- Reduced the SDK footprint: AAR library has decreased in size by 6,86 %
- Significantly improved stability by refactoring transport layer to eliminate race conditions by design
- Added retrier logic for commands (like sendMessage, createConversation etc. which re-sends command in case when connection lost before reply for command arrived)
Breaking Changes
- For the
UNAUTHORIZED
error theErrorInfo.code
is now 5 (was 1) - In edge cases error codes and messages changed to more informative. So if your app relies on any specific error codes and/or messages - these cases should be double checked after updating to this version.
- aar
- SHA-256:
0ac6fe437bd93eb2678170552e73ec30f59382f226efdea63c9ef55703cf5b62
- Documentation
Changes:
- Improved client synchronization time for users with many Conversations and Participants.
- aar
- SHA-256:
dbc578634a14867350e056f8d79eb079cf2caa537eb3bf2344c88fe329582ac7
- Documentation
Changes:
- Added Kotlin extensions functions. For instance, it's now possible to send message in a way that is more idiomatic to Kotlin:
1import com.twilio.conversations.extensions.sendMessage23val message = conversation.sendMessage {4body = "Hello!"5}
- aar
- SHA-256:
f91addc480ba0e1040e187a6527b89cda90af3ce9a6e1772c94e6635f87a8351
- Documentation
Changes:
- Added multiple media support. Messages can now contain both text and media. A message can have more than one Media. See
ConversationLimits
.
Breaking changes
Message.Type
andMessage.hasMedia
are removed. UseMessage.getAttachedMedia().isEmpty()
instead.Message.getMediaSid
is removed. UseMedia.getSid
instead.Message.getFileName
is removed. UseMedia.getFileName
instead.Message.getMediaType
is removed. UseMedia.getContentType
instead.Message.getMediaSize
is removed. UseMedia.getSize
instead.Message.getMediaContentTemporaryUrl
is removed. UseMessage.getTemporaryContentUrlsForAttachedMedia
orMessage.getTemporaryContentUrlsForMedia
orMedia.getTemporaryContentUrl
instead.Message.Options
andConversation.sendMessage(options)
are removed. UseConversation.prepareMessage
instead.Message.getMessageBody
is renamed toMessage.getBody
.Message.updateMessageBody
is renamed toMessage.updateBody
.
- aar
- SHA-256:
f746e085d3e95d45f98a4489a49080347cf0bf05850f0695243224b38b219d9d
- Documentation
Breaking changes
- Major under-the-hood improvement (the "Sessionless" protocol). This improvement is designed primarily for improved reliability. While this is not a breaking code change, it does carry a meaningful impact on timing:
- SDK commands will return success or failure up to ~10% more quickly than before.
- Real-time updates of data are now likely to arrive after the command completes. For example,
Conversation.updateAttributes()
will resolve successfully whileConversation#attributes
still contains the old value. To see the new value, we recommend waiting for an#updated
event.
- Some error messages have changed. For example, trying to leave a conversation you're not part of will return error
50432, Participant not found
instead of50400, User not member of channel
. - Passing
null
toConversation.sendMessage
will result in the message body being an empty string. User.updateFriendlyName
no longer acceptsnull
as the value.Conversation.updateFriendlyName
no longer acceptsnull
as the value.
- aar
- SHA-256:
a0c5e8acd95ed33d33098f51181a1cf1ab0d7c9837c92333e79ffa4311347c66
- Documentation
Changes:
- Added proxy support for uploading media.
Note:
SDK fully supports proxy with authentication only on Android versions with API 22 and newer. This limitation affects only media messages. Proxy without authentication will work with older APIs as well as newer ones.
- aar
- SHA-256:
6d5f16b67f815c5b33a2c97550c5888175b3dc7ad57b7864f0d4853ae5c8f6ba
- Documentation
Changes:
- Fixed a crash when
InputStream.read()
throws an exception while uploading media. NowConversation.sendMessage()
returns an error in this case. - Reduced the SDK footprint.
- aar
- SHA-256:
25c2891017e4384a86869913069212946d5f4748a58c88879ec09acad79b7721
- Documentation
Changes:
- Fixed a reconnection issue after restoring application from background.
- aar
- SHA-256:
b81452c6f19e09fc1062f721644a2274dd6e17d81837b24ba14d5a2155a4e5e1
- Documentation
Changes:
- Fixed a bug when getters in
NotificationPayload
returned incorrect values. - Introduced the methods
getValue()
andfromInt()
for all public enums.
- aar
- SHA-256:
a1f7950265edb3fbc27febc14afd2bd7c07494aa9305c5e96854aa0498a355f4
- Documentation
Changes:
- Fixed a bug when user update event with reason
ReachabilityOnline
is not received in some cases.
Note
Starting from this release, all artifacts are published on mavenCentral
instead of jcenter
. Additionally, the root build.gradle
has to be updated by adding the mavenCentral()
repository:
1allprojects {2repositories {3mavenCentral()4}5}
- aar
- SHA-256:
0de52b367c1f3494ef6d2b6b6e2264e23452bb65f3672072acdaac9727ba9495
- Documentation
Changes:
- Added support for connection via proxy. See
ConversationsClient.Properties.Builder.setUseProxy()
. - Fixed a bug when
onConversationDeleted
isn't triggered when a participant is removed by the other user. - Fixed a bug which could lead to an app getting stuck at client synchronization.
- aar
- SHA-256:
3907e77c485463bc23eb6b23c3e7d5af59692438be61f81f9565fee7e9e51870
- Documentation
Changes:
- Added detailed delivery receipts. See
Message.getDetailedDeliveryReceiptList()
.
- aar
- SHA-256:
85cb7ff0ce9b8390d39433acb393d5f91f1372f418e97002f5a1fb5760606aac
- Documentation
Changes:
- Fixed a crash when invoking
Message.getAggregatedDeliveryReceipt()
.
- aar
- sha256
fc6d48a6c8f7d97be7984d2bd7d7ccbfa3950ce7d8e9defa08478da4b087e18e
- Documentation
Changes:
- First public release of the new Conversations product.