Releases: twilio/twilio-video-ios
Twilio Video SDK iOS 5.10.1
- Programmable Video iOS SDK 5.10.1 [XCFramework] (checksum: cada84190cf33254e3cf1e094a704d6987f7f8c3ec1c04b205aaa89c70a74b17).
- Programmable Video iOS SDK 5.10.1 [Static-XCFramework] (checksum: fb67237d8cea22cf714e3730c3d5fa99ddf98e28ee9e3d88687ebab1fd70fd67).
Enhancements
- The
TwilioAudioProcessors
framework is now available in static XCFramework format. Follow these steps to add the static lib to your iOS app:- Follow the integration instructions to add the static framework to your application.
- In Build Phases, add the
TwilioKrisp.bundle
that comes with the framework to Copy Bundle Resource.
Note: The TwilioAudioProcessors
static framework requires the TwilioVideo
static framework to compile and link properly.
API changes
- The AVAudioSession option
AVAudioSessionCategoryOptionAllowBluetooth
inTVIDefaultAudioDevice.h
is deprecated and replaced withAVAudioSessionCategoryOptionAllowBluetoothHFP
when building on Xcode 26. - In this release
TVITrackPriority
is deprecated and all the APIs that useTVITrackPriority
are deprecated.TVITrackPriority
Enum is deprecated. All the Enum values (TVITrackPriorityLow
,TVITrackPriorityStandard
,TVITrackPriorityHigh
) are deprecated as well.- In
TVILocalAudioTrackPublication
theTVITrackPriority priority
property is deprecated. - In
TVILocalDataTrackPublication
theTVITrackPriority priority
property is deprecated. - In
TVILocalVideoTrackPublication
theTVITrackPriority priority
property is deprecated. - In
TVIRemoteAudioTrackPublication
theTVITrackPriority priority
property is deprecated. - In
TVIRemoteDataTrackPublication
theTVITrackPriority priority
property is deprecated. - In
TVILocalTrackPublicationOptions
theTVITrackPriority priority
property is deprecated. AlsooptionsWithPriority:
initializer is deprecated. - In
TVIRemoteParticipantDelegate
the following methods are deprecated.remoteParticipant:didChangePublishPriority:forAudioTrack:
remoteParticipant:didChangePublishPriority:forVideoTrack:
remoteParticipant:didChangePublishPriority:forDataTrack:
- In
TVIRemoteVideoTrack
theTVITrackPriority priority
property is deprecated. - In
TVIRemoteVideoTrackPublication
theTVITrackPriority priority
property is deprecated. - In
TVIVideoBandwidthProfileOptionsBuilder
theTVITrackPriority dominantSpeakerPriority
property is deprecated. - In
TVIVideoBandwidthProfileOptions
theTVITrackPriority dominantSpeakerPriority
property is deprecated.
Known issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be visible to the participants. #34 - H.264 video can become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work-arounds.
- Publishing H.264 video above 1280x720 @ 30 fps is not supported. If a failure occurs, no error is returned to the developer. [ISDK-1590]
Size Impact (Dynamic)
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.4 MB | 20.2 MB |
arm64 | 6.4 MB | 20.2 MB |
Size Impact (Static)
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.0 MB | 40.0 KB |
arm64 | 6.0 MB | 40.0 KB |
Twilio Video SDK iOS 5.10.0
This release consumes twilio-video-cpp-7.1.0.
- Programmable Video iOS SDK 5.10.0 [XCFramework] (checksum: 5ffc7378e83f0ca93630eb84edae2d5bfa54a8251afa982316ac166db6e4fbb6).
- Programmable Video iOS SDK 5.10.0 [Static-XCFramework] (checksum: 386f2ccb50b7a087fd537505900834d7278f8634f5787ea1898d30c494365dc6).
Enhancements
-
Minimum supported iOS deployment target for the Twilio Video SDK is set to iOS 12.2. This version is built with Xcode 15.3.0.
-
The SDK now also comes in the static XCFramework format. Follow the steps to add the static lib to your iOS app:
- Drag and drop the
TwilioVideo.xcframework
extracted fromTwilioVideo-static.xcframework.zip
into the Xcode project. - In Frameworks, Libraries, and Embedded Content, add
SystemConfiguration.framework
,GLKit.framework
andVideoToolbox.framework
. - Add
-lstdc++
and-ObjC
to the Other Linker Flags. - Add
@import TwilioVideo;
in the source file.
- Drag and drop the
Please note that the TwilioAudioProcessors static framework is not available yet. Using the TwilioAudioProcessors dynamic framework with the TwilioVideo static framework will result in runtime error.
- This version of the Video SDK supports Real-Time Transcriptions in
Group
rooms. This feature is in Beta.
API Changes
- A new property
receiveTranscriptions
to enable receiving the transcriptions for the client has been added to theTVIConnectOptions
.
let options = ConnectOptions(token: accessToken, block: { (builder) in
builder.roomName = "test"
builder.isReceiveTranscriptionsEnabled = true
})
This value can also be retrived using the isReceiveTranscriptionsEnabled
getter.
- A new optional method
transcriptionReceived(room:transcription:)
is added to theRoomDelegate
protocol. This callback will be
invoked when real-time transcription is available in the room. The payload of the callback will contain a JSON desrializedNSDictionary
object
with the transcription data. An example of this dictionary is shown below.
{
"language_code" = "en-US";
"partial_results" = 0;
participant = PA00000000000000000000000000000000;
"sequence_number" = 2;
timestamp = "2025-06-23T17:51:47.710028073Z";
track = MT00000000000000000000000000000000;
transcription = "This is a test.";
type = "extension_transcriptions";
}
More details regarding the each Key/Value pair and this new feature can be found here.
Known Issues
- Using the TwilioAudioProcessors dynamic framework with the TwilioVideo static framework will result in runtime error.
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
Size Impact for 5.10.0
Dynamic:
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.4 MB | 20.2 MB |
arm64 | 6.4 MB | 20.2 MB |
Static:
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.0 MB | 40.0 KB |
arm64 | 6.0 MB | 40.0 KB |
Twilio Video SDK iOS 5.9.0
This release consumes twilio-video-cpp-7.0.0.
- Programmable Video iOS SDK 5.9.0 [XCFramework] (checksum: 62c2f0c4886c4d29a72444ad51ae810527cc37effb8f39a22a6045a0585bd22b).
Enhancements
- This release is based on Chromium WebRTC 124.
- The
NoiseCancellationProcessor
audio device was updated to use Krisp 7.0.1 - The internal default audio device is now created and destroyed on the correct thread.
Known Issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
Size Impact for 5.9.0
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.4 MB | 20.0 MB |
arm64 | 6.4 MB | 20.0 MB |
Twilio Video SDK iOS 5.8.4
This release consumes twilio-video-cpp-6.9.1.
- Programmable Video iOS SDK 5.8.4 [XCFramework] (checksum: 8870f373a9e64f70e6852eda0b6faacbcacf986ad9dda2dc81ae628f34ebc7a8).
Bug Fixes
- Fixed an issue when the
TVIVideoView
was being initialized twice causing an assertion error on iOS 18 when using Xcode 16.
API Changes
- The
TVICameraSourceOrientationDelegate
's methodtrackerOrientationDidChange:
has been deprecated in favor of thetrackerRotationAngleDidChange
method. - The
TVICameraSourceOrientationTracker
's propertyorientation
has been deprecated in favor of therotationAngle
property.
The new method and property provide the video track orientation as a rotation angle (CGFloat
) instead of theAVCaptureVideoOrientation
enum which has been deprecated starting with iOS 17.0.
Known Issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
Size Impact for 5.8.4
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.0 MB | 20.5 MB |
arm64 | 6.0 MB | 20.5 MB |
Twilio Video SDK iOS 5.8.3
This release consumes twilio-video-cpp-6.9.1.
- Programmable Video iOS SDK 5.8.3 [XCFramework] (checksum: 748818a981846612cdef64ac1fe3b8593e75f002116a16421eb5d589540fcfa8).
Bug Fixes
- This release uses a WebRTC patch that addresses a potential ICE gathering or network handover issue on iOS 18.
Known Issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
Size Impact for 5.8.3
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.0 MB | 20.4 MB |
arm64 | 6.0 MB | 20.4 MB |
Twilio Video SDK iOS 5.8.2
This release consumes twilio-video-cpp-6.9.0.
- Programmable Video iOS SDK 5.8.2 [XCFramework] (checksum: 2f4466fd2bcbfc497fbe928099fb81d9d521996d2a008f7736cd64dcb857ecc2).
Enhancements
- The Privacy Manifest is updated since the SDK does not collect API usage or call quality data for tracking purposes according to Apple's documentation.
Known Issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
Size Impact for 5.8.2
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.0 MB | 20.4 MB |
arm64 | 6.0 MB | 20.4 MB |
Twilio Video SDK iOS 5.8.1
This release consumes twilio-video-cpp-6.9.0.
- Programmable Video iOS SDK 5.8.1 [XCFramework] (checksum: 39ea1c10856e7b3019f0311b34d97a149074c8db79fd6e59618399d592919245).
Enhancements
- The SDK now includes the privacy manifest in the XCFramework. The SDK collects analytic data such as WebRTC stats when the
insightsEnabled
property is enabled inTVIConnectOptions
.
The required reason APIs included in the privacy manifest are for internal usage by WebRTC and are not used directly by the Video SDK. - The SDK XCFramework is now signed with Twilio's distribution signature.
Known Issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
Size Impact for 5.8.1
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.0 MB | 20.4 MB |
arm64 | 6.0 MB | 20.4 MB |
Twilio Video SDK iOS 5.8.0
This release consumes twilio-video-cpp-6.9.0.
- Programmable Video iOS SDK 5.8.0 [XCFramework] (checksum: 5bd09e5483bb1a474df312c7a413ab3580e46cc3c1a5110ffee4924ebad68164).
Enhancements
- This version contains 'VideoTrackStoringSampleBufferVideoView' class which simplifies the implementation of Picture in Picture.
- This release is based on Chromium WebRTC 112.
- iSAC Codec is no longer supported.
Known Issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
Size Impact for 5.8.0
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.0 MB | 20.4 MB |
arm64 | 6.0 MB | 20.4 MB |
Twilio Video SDK iOS 5.7.1
This release consumes twilio-video-cpp-6.8.0.
5.7.1 (In Developmeent)
- Programmable Video iOS SDK 5.7.1 [XCFramework] (checksum: b7865d6bd46ce8473b4b6679d00b68a85a53a43fab779c59629b7dcc855aa36b).
Bug Fixes
- Updated documentation for
didFailToPublishVideoTrack
callback.
Known Issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
5.7.0 (June 14, 2023)
- Programmable Video iOS SDK 5.7.0 [XCFramework] (checksum: b7865d6bd46ce8473b4b6679d00b68a85a53a43fab779c59629b7dcc855aa36b).
New Features
- This version add the possibility to use camera multitasking on devices that supports it.
Enabling camera multitasking can be done when creating a CameraSource via the TVICameraSourceOptionsBuilder
.
CameraMultitasking is enabled by default on device that support it. The feature is supported on iPad Pro (4th generation), iPad Pro (5th generation) and iPad Air (5th generation).
let options = CameraSourceOptions { builder in
builder.enableCameraMultitasking = true
}
- Add system pressure report from the camera pipeline. When the system is under pressure clients will be notified about system pressure changes via the
TVICameraSourceDelegate
method
- (void)capturePipeline:(TVICameraCapturePipeline *)pipeline isReportingSystemPressure:(AVCaptureSystemPressureLevel)pressureLevel
Known Issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
5.6.0 (March 29, 2023)
- Programmable Video iOS SDK 5.5.1 [XCFramework] (checksum: b7865d6bd46ce8473b4b6679d00b68a85a53a43fab779c59629b7dcc855aa36b).
New Features
- This release now uses WebRTC-m105
Known Issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
Size Report
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.3 MB | 21.2 MB |
arm64 | 6.3 MB | 21.2 MB |
5.5.1
- Programmable Video iOS SDK 5.5.1 [XCFramework] (checksum: b7865d6bd46ce8473b4b6679d00b68a85a53a43fab779c59629b7dcc855aa36b).
Known Issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
Size Impact for 5.7.1
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.3 MB | 21.3 MB |
arm64 | 6.3 MB | 21.3 MB |
Twilio Video SDK iOS 5.7.0
5.7.0
New Features
- This version add the possibility to use camera multitasking on devices that supports it.
Enabling camera multitasking can be done when creating a CameraSource via the TVICameraSourceOptionsBuilder
.
CameraMultitasking is enabled by default on device that support it. The feature is supported on iPad Pro (4th generation), iPad Pro (5th generation) and iPad Air (5th generation).
let options = CameraSourceOptions { builder in
builder.enableCameraMultitasking = true
}
- Add system pressure report from the camera pipeline. When the system is under pressure clients will be notified about system pressure changes via the
TVICameraSourceDelegate
method
- (void)capturePipeline:(TVICameraCapturePipeline *)pipeline isReportingSystemPressure:(AVCaptureSystemPressureLevel)pressureLevel
Known Issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
5.6.0 (March 29, 2023)
- Programmable Video iOS SDK 5.5.1 [XCFramework] (checksum: df22418e4dcca9d2d317d0fb5e35b9ba8cc91662e1c21517f7c09a085092bfbe).
New Features
- This release now uses WebRTC-m105
Known Issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
Size Report
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.3 MB | 21.2 MB |
arm64 | 6.3 MB | 21.2 MB |
5.5.1
- Programmable Video iOS SDK 5.5.1 [XCFramework] (checksum: df22418e4dcca9d2d317d0fb5e35b9ba8cc91662e1c21517f7c09a085092bfbe).
Known Issues
- Audio playback fails in some cases when running a simulator on a Mac Mini. #182
- Unpublishing and republishing a
LocalAudioTrack
orLocalVideoTrack
might not be seen by Participants. #34 - H.264 video might become corrupted after a network handoff. #147
- iOS devices do not support more than three H.264 encoders. Refer to #17 for suggested work arounds.
- Publishing H.264 video at greater than 1280x720 @ 30fps is not supported. If a failure occurs then no error is raised to the developer. [ISDK-1590]
Size Impact for 5.7.0
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 6.3 MB | 21.3 MB |
arm64 | 6.3 MB | 21.3 MB |