Releases: twilio/twilio-video-ios
Twilio Video SDK iOS 4.0.0-beta2
This release consumes twilio-video-cpp-6.0.0-rc10.
Distribution Changes
- Twilio Video iOS SDK is no longer being shipped as a static library.
Enhancements
- AudioSink feature support has been added for Local Audio Tracks.
Known Issues
- The TwilioVideo.xcframework does not currently support the simulator on Apple Silicon arm64 Macs.
- Carthage is not currently a supported distribution mechanism for Twilio Video. Carthage does not currently work with .xcframeworks as documented here. Once Carthage supports binary
.xcframeworks
, Carthage distribution will be re-added. - Unpublishing and republishing a
TVILocalAudioTrack
orTVILocalVideoTrack
might not be seen by Participants. #34 - 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 4.0.0-beta2
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
arm64 | 4.6 MB | 10.8 MB |
Twilio Video SDK iOS 3.7.2
This release consumes twilio-video-cpp-5.6.2.
Bug Fixes
- Fixed a race condition that could cause a crash or unnecessary web socket signaling reconnection.
- Fixed a race condition that could cause a crash when closing the signaling web socket.
- Fixed a bug where private IP addresses could be sent to insights when
TVIConnectOptions.networkPrivacyPolicy
was set toTVILocalNetworkPrivacyPolicyBlockLocal
. - Two small memory leaks were fixed, one when iced response is received in icing state, and one for signaling data tracks. [ISDK-3046]
Known Issues
- Unpublishing and republishing a
TVILocalAudioTrack
orTVILocalVideoTrack
might not be seen by Participants. #34 - 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 3.7.2
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
arm64 | 4.6 MB | 10.8 MB |
Twilio Video SDK iOS 4.0.0-beta1
This release consumes twilio-video-cpp-6.0.0-rc7.
Enhancements
- The iOS SDK is based on WebRTC-83
- The iOS SDK is built with Xcode 12.0
- Twilio Video is now delivered as an
.xcframework
. The.xcframework
package includes the.dSYM
and.bcsymbolmap
files to allow developers to symbolicate crash reports. - Twilio Video is now distributed as a Swift Package.
- Removed the deprecated OpenGL Video Renderer APIs:
VideoView.RenderingType
[VideoView initWithFrame:delegate:renderingType:renderingType]
- Enabled Metal rendering on the iOS simulator
Bug Fixes
- A security patch to prevent host candidate DNS attacks has been applied to WebRTC, see: bug #11579. [CSDK-3490]
- A security patch for SCTP has been applied to WebRTC, see: https://webrtc-review.googlesource.com/c/src/+/176422. [CSDK-3511]
- Fixed a race condition that could cause a crash or unnecessary web socket signaling reconnection. [CSDK-3479]
- Fixed a data race condition where threads could simultaneously read and write random seed data. [CLIENT-7984]
- Video tracks that are created from a
TVIVideoSource
and configured for screencast can now be simulcasted. [CSDK-3464]
Known Issues
- AudioSink feature is not supported for Local Audio Tracks in this Beta. Adding a
TVIAudioSink
to a Local Audio Track does not have any effect. This will be fixed in the subsequent 4.x beta releases. - The TwilioVideo.xcframework does not currently support the simulator on Apple Silicon arm64 Macs.
- Carthage is not currently a supported distribution mechanism for Twilio Video. Carthage does not currently work with .xcframeworks as documented here. Once Carthage supports binary
.xcframeworks
, Carthage distribution will be re-added. - Unpublishing and republishing a
TVILocalAudioTrack
orTVILocalVideoTrack
might not be seen by Participants. #34 - 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 4.0.0-beta1
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
arm64 | 4.6 MB | 10.8 MB |
Twilio Video SDK iOS 2.12.0
This release consumes twilio-video-cpp-3.6.1.
Maintenance
- Re-introduced support for iOS 32-bit architectures (
armv7
andi386
).
Known Issues
- SDK does not always switch from mobile network to lower cost WiFi network on 32-bit
armv7
devices. [ISDK-3063] - Media flow is not always re-established after toggling Airplane mode multiple times on 32-bit
armv7
devices. [ISDK-3064] - No media flow when connecting Bluetooth speaker while connected to the room on 32-bit
armv7
devices. [ISDK-3065] - Unpublishing and republishing a
TVILocalAudioTrack
orTVILocalVideoTrack
might not be seen by Participants. #34 - Typically, a maximum of three H.264 encoders can be used at once. When this limit is exceeded no errors are raised and new video Tracks are not encoded. #17
- 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]
- Participant disconnect event can take up to 120 seconds to occur. #99
Size Impact for 2.12.0
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
Universal | 8.9 MB | 19.4 MB |
arm64 | 4.2 MB | 10.4 MB |
armv7 | 4.5 MB | 8.7 MB |
Twilio Video SDK iOS 3.7.1
This release consumes twilio-video-cpp-5.6.1.
Bug Fixes
- Fixed an SCTP related WebRTC security vulnerability detailed here.
Known Issues
- Unpublishing and republishing a
TVILocalAudioTrack
orTVILocalVideoTrack
might not be seen by Participants. #34 - 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 3.7.1
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
arm64 | 4.6 MB | 10.8 MB |
Twilio Video SDK iOS 3.7.0
This release consumes twilio-video-cpp-5.6.0.
This release improves support for local network privacy on iOS 14.0 and iPadOS 14.0.
Enhancements
By default, the SDK no longer uses your local network on iOS 14 and above. Twilio Video balances privacy and performance, blocking communication routes that use your local network inappropriately in Peer-to-Peer Rooms while still ensuring a high rate of direct connections on iOS 14 devices.
If you use Peer-to-Peer Rooms then we recommend that you update your applications to this release in order to prepare for iOS 14. If you need features like multi-party video, network quality or recordings, then use Group Rooms. These Rooms use media servers provided by Twilio that are available on the public internet.
TVILocalNetworkPrivacyPolicy
By default, Twilio Video does not access the local network on iOS 14 and above. If you want to allow Twilio Video to use the local network in a Peer-to-Peer Room then you can override the TVILocalNetworkPrivacyPolicy
.
let connectOptions = ConnectOptions( token: accessToken, builder {
// A permissions request may be triggered on iOS 14.
builder.networkPrivacyPolicy = .allowAll
})
If you select TVILocalNetworkPolicyAllowAll
then you must add a privacy usage description with the NSLocalNetworkUsageDescription
key in your application's .plist file.
You can find more information about network privacy in our Getting Started Guide.
Known Issues
- Unpublishing and republishing a
TVILocalAudioTrack
orTVILocalVideoTrack
might not be seen by Participants. #34 - 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 3.7.0
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
arm64 | 4.5 MB | 10.8 MB |
Twilio Video SDK iOS 3.6.1
This release consumes twilio-video-cpp-5.5.1.
Bug Fixes
- Fixed a memory corruption crash that occurs when recovering from a media server failure in Group Rooms.
Known Issues
- Unpublishing and republishing a
TVILocalAudioTrack
orTVILocalVideoTrack
might not be seen by Participants. #34 - 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 3.6.1
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
arm64 | 4.5 MB | 10.8 MB |
Twilio Video SDK iOS 3.6.0
This release consumes twilio-video-cpp-5.5.0.
API Changes
TVIError
is now defined using theNS_ERROR_ENUM
macro which makes consumingTVIError
objects more idiomatic in Swift, such as using in a switch/case statement.
func roomDidDisconnect(room: Room, error: Error?) {
if let error = error as? TwilioVideoSDK.Error {
switch error.code {
case .roomRoomCompletedError:
print ("The room completed gracefully")
case .participantDuplicateIdentityError:
print("Disconnected becasue another participant with the same identity joined.")
default:
print("Something else happened.")
}
}
}
Bug Fixes
- The camera capture background task logic has been refactored and iOS will no longer report a background task risk of termination warning. [ISDK-2878]
Known Issues
- Unpublishing and republishing a
TVILocalAudioTrack
orTVILocalVideoTrack
might not be seen by Participants. #34 - 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 3.6.0
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
arm64 | 4.5 MB | 10.8 MB |
Twilio Video SDK iOS 3.5.0
This release consumes twilio-video-cpp-5.5.0.
Enhancements
- Reduced connection times by acquiring IceServers during the initial handshake with Twilio's signaling server rather than sending a request to a different endpoint
- IceServers are now localized to your Participant's region rather than using Global Low Latency routing
- The SDK no longer depends on
ecs.us1.twilio.com:443
API Changes
- The following
TVIIceOptions
properties are deprecated and setting them has no effect:TVIIceOptions.abortOnIceServersTimeout
TVIIceOptions.iceServersTimeout
Bug Fixes
- Fixed a bug where IceServers might not be fetched on a dual-stack device where the IPv6 network interface is not reachable. [CSDK-3295]
Known Issues
- Unpublishing and republishing a
TVILocalAudioTrack
orTVILocalVideoTrack
might not be seen by Participants. #34 - 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 3.5.0
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
arm64 | 4.5 MB | 10.8 MB |
Twilio Video SDK iOS 3.4.1
This release consumes twilio-video-cpp-5.4.1.
Bug Fixes
- Fixed the issue where unpublishing and then republishing a
TVILocalVideoTrack
using VP8 simulcast does not complete. [CSDK-3433]
Known Issues
- Unpublishing and republishing a
TVILocalAudioTrack
orTVILocalVideoTrack
might not be seen by Participants. #34 - 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 3.4.1
Architecture | Compressed Size | Uncompressed Size |
---|---|---|
arm64 | 4.6 MB | 10.8 MB |