Changelog: Twilio Conversations iOS SDK
- Latest release documentation.
- All releases are also available through GitHub Releases.
- Versioning and Support Lifecycle.
(information)
Info
If you are interested in Mac Catalyst support, it will be enabled for iOS SDKs starting with 4.1.0. You can then build Mac Catalyst applications using this SDK.
Fixes:
- Fix one of the crashes on shutdown.
- Fix ordering when processing incoming messages, should make shutdown more reliable, also fix other races.
- Misc bugfixes.
Fixes:
- Fixed an issue when debugging with LLDB would become impossible after depending on the Conversations SDK.
Changes:
- Fixed an issue when a client could hang during the initialization
Breaking changes
- Participant channel type is refactored to include the actual value of
other
channel type.
Changes:
- Fixed a crash which could happen during de-initialization.
- Fixed a problem with reconnection after restoring an app from background.
Changes:
- Added support for Content API
Fixes:
- Fixed an issue when an event about a token expiration could come twice
Changes:
- Reduced the SDK footprint by ~75%
- Significantly improved stability by refactoring the transport layer
Breaking changes
- Dropped support for iOS 12
Changes:
- Fixed an issue with accessing temporary media URLs
Changes:
- Fixed a crash that could occur on setting the delegate of 'TwilioConversationsClient' to 'nil'.
Changes:
- Fixed a rare crash caused by adding a
nil
key to a dictionary.
Changes:
- Fixed duplicate completion execution on client initialization with an invalid token.
Changes:
- Fixed handling of URL-unsafe symbols for setting attributes and friendly names.
- Fixed a rare issue when, on destruction of the client, the
sendAndBuild
command could crash onnil
conversations limits.
Changes:
- Improved connection recovery on network failures.
- Fixed the ability to get legacy media attachments using the new multiple media API.
Changes:
- Fixed an issue causing the SDK to crash on assertions.
Changes:
- Fixed a crash that occurred when a token was updated while the network was unavailable.
Changes:
- Improved client synchronization time for users with many Conversations and Participants.
Changes:
- Added multiple media support. From now on a message can contain both text and media, and have more than one media. See
TCHConversation.limits
in the docs. - New method to build a message:
[TCHConversation prepareMessage]
. - New property to get all media attachments from the message:
attachedMedia
. - New methods in
TwilioConversationsClient
to get temporary content URLs from media and media SIDs. - Deprecated
TCHMessageOptions
,TCHMessageType
, and all the methods and properties related to them. - Reduced the SDK footprint.
Changes:
- Improved internal stability.
Changes:
- Fixed a crash triggered by network unavailability.
Changes:
- Dropped support for iOS 11.
- Reduced the SDK footprint.
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,
[TCHConversation setAttributes]
will invoke completion (i.e., success) while[TCHConversation attributes]
still returns the old value. To see the new value, we recommend waiting for an update event, e.g., in theconversationsClient:conversation:updated:``TCHConversationUpdateAttributes
delegate.
- 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
. [TCHMessageOptions withAttributes]
is simplified. It does not take a completion callback anymore, and returns an error if it failed to set any attributes.
Changes:
- Fixed reconnection after restoring the application from background. The issue was introduced in 1.2.0, and users are highly encouraged to upgrade to this version to avoid experiencing disconnection problems.
Changes:
- Added the possibility to set dispatch queue to get reports not from the main queue, but from the selected one.
- Added support of XCFramework with arm64 simulator.
- Added support for SPM.
- Removed support of Carthage until it supports binary XCFrameworks.
- Fixed an issue when a connection could be not established after returning from background.
Changes:
- The SDK now supports HTTP proxy. Proxy could be enabled by using a new flag
useProxy
passed to client properties on a client creation. Settings read from the system configuration. - Added ability to defer certificates check to the OS (disable pinning) using new flag
deferCertificateTrustToPlatform
passed to client properties on a client creation.
Changes:
- Fixed a bug when
conversationDeleted
doesn't come when the Participant is removed by another user. - Fixed a bug that could lead to client synchronization stuck.
- Fixed a crash on accessing
participantWithIdentity
from multiple threads.
Changes:
- Added support for detailed delivery receipts. See
[Message getDetailedDeliveryReceiptsWithCompletion:]
The first public release for the new Conversations product.