- Added
DirectCallLogListQuery.Params.startedAt
andDirectCallLogListQuery.Params.endedAt
, which filter the list of direct call logs by the start and end date of the call.- If
startedAt
is set andendedAt
is not set, the range of the query will bestart_ts <= callLog.startedAt <= min(now, start_ts + 90 days)
. - If
startedAt
is not set andendedAt
is set, the range of the query will beend_ts - 90 days <= callLog.startedAt <= end_ts
. - If both
startedAt
andendedAt
are set, the range of the query will bestart_ts <= callLog.startedAt <= end_ts
. - If both are not set, the range is
90 days ago <= callLog.startedAt <= now
.
- If
- Fixed an issue where Room Invitation wouldn't be canceled after 10 seconds. Now, updates to room invitation will be available for 60 seconds before the SDK disconnects from the websocket.
- Fixed an issue where using local recording would sometimes result in a crash.
- Fixed an issue where incoming Room invitation would not get canceled.
- Updated iOS deployment target to 12.0
- Updated Xcode version to 15.0
- Added PrivacyInfo.xcprivacy for Apple Privacy Manifest
- Updated WebRTC dependency version to M118.
- Improved WebRTC internal logging.
- Fix an issue where Push Notifications won't arrive for Rooms Invitations.
- Stability improvements.
- When a direct call is ended before connecting, the call will have an end result of
DirectCallEndResult.notConnected
- Fixed an issue where call will not be properly reconnected after network connection has been lost.
- Fix an issue where Direct Call quality statistics won't be collected when the call is being reconnected.
- Fix an issue where camera would be incorrectly mirrored in Direct Calls.
- Added a feature to track push notification delivery status within the SDK.
- Added
SendBirdCall.markPushNotificationAsDelivered
- Added
- Fix an issue where Direct Call's Connection Quality would report 'Unavailable' for a few seconds after connecting the call.
- Added support for Direct Call quality monitoring in Sendbird Dashboard.
- Added
DirectCall.ringingSource
, which indicates the source of the dial event in DirectCall. - Added
SendbirdCall.incomingCalls
, which returns a list of incoming calls to the current user.
- Added
DirectCallDelegate.didCalleeReceiveDial
to notify the caller when the calle has received the call. This delegate method will be called when the callee has received theSendBirdCallDelegate.didStartRinging
event.
- Added
SendBirdCall.retrieveMissedDirectCalls
to get incoming direct calls that were not received via push notifications. - Added
SendBirdCallDelegate.didReceiveVoIPException
to handle any incorrectly received voip push notifications.
- Improved connection quality delegate in Direct Calls.
- Added a feature to detect connection qualities in ongoing Direct Calls.
- Added
ConnectionQualityDelegate
- Added
ConnectionMetrics
- Added
- Fixed a "virtual filesystem overlay file not found" bug on Xcode.
- Added a feature to kick other participants in a room with the same user id as the current user.
- Added
Room.EnterParams.kickSiblings
- Added
- Fix a bug in Direct Call where the audio output would automatically changes back to earpiece after the call connects.
- Added room delegates methods to detect local participant's connection with the server.
- Added
RoomDelegate.didLocalParticipantDisconnect
- Added
RoomDelegate.didLocalParticipantReconnect
- Added
- Added a feature to invite users to enter a room.
- Added
room.sendInvitation(inviteeId:completionHandler:)
. - Added
RoomInvitation
class to manage invitation. - Added
roomInvitation.accept
,roomInvitation.decline
,roomInvitation.cancel
. - Added
RoomDelegate.onInvitationAccepted
,RoomDelegate.onInvitationDeclined
,RoomDelegate.onInvitationCanceled
.
- Added
- Added a new interface to delete a room.
- Added
room.delete
.
- Added
- Fixed an error where audio recording would stop when the audio is put on mute.
- Improve stability.
- Fixed an issue where dial tone will play randomly either from earpiece rather than speaker.
- Updated SendBirdWebRTC dependency to 1.6.0.
- Fixed a bug where statistics for direct calls sometimes returned incorrect values.
- Improve stabilty.
- Fixed a bug where isAudioEnabled and isVideoEnabled in CallOptions didn't work properly.
- Removed i386 architecture from the framework.
- Updated SendBirdWebRTC dependency version to 1.5.0.
- Improved stability.
For 1.9.0, a new feature to delete a room in Group call is released.
Here is what's been updated:
- Added
didDelete()
inRoomDelegate
which is invoked when the room has been deleted by the Platform API.
- Improved stability.
- Improved stability.
For 1.8.0, a new feature is released for both Group call and Direct call features respectively.
For the Group call feature, you can now add and manage custom items to store additional information for a room.
Here are the details of the update:
* Added customItems
in Room
.
* Added customItems
in RoomParams
.
* Added updateCustomItems(customItems:completionHandler)
and deleteCustomItems(customItemKeys:completionHandler:)
in Room
.
* Added didUpdateCustomItems(updatedKeys:)
and didDeleteCustomItems(deletedKeys:)
in RoomDelegate
.
For the Direct call feature, you can now hold and resume calls which allows you to accept an incoming call or switch between calls.
Here are the details of the update:
* Added hold(completionHandler:)
and unhold(force:completionHandler)
in DirectCall
.
* Added isOnHold
in DirectCall
.
* Added holdActiveCall
in DialParams
and AcceptParams
.
* Added didUserHoldStatusChange(call:isLocalUser:isUserOnHold:)
in DirectCallDelegate
.
- Added
getOngoingCalls()
inSendBirdCall
to retrieve a list of ongoing Direct Calls in the Calls SDK. - API reference is updated for all platforms.
- Fixed an issue where some characters in
userId
were incorrectly encoded during authentication. - Added support for Swift Package Manager.
- Improved stability.
- Fixed Invalid Bundle error from enabled LLVM instrumentation.
- Added capability to query rooms.
- Added
RoomListQuery
. - Added
RoomListQueryParams
. - Added
createRoomListQuery(with:)
inSendBirdCall
.
- Added
- Added
SendBirdRange
. - Added
embed(in:)
toSendBirdVideoView
. - Xcode 12 is now required to build SendBirdCalls.
- Improved stability.
- Improved stability.
- Improved stability.
- Sendbird Calls now supports making group calls in a room.
- Added
Room
.- Added
createRoom(with:completionHandler:)
inSendBirdCall
. - Added
fetchRoom(by:completionHandler:)
inSendBirdCall
. - Added
getCachedRoom(by:completionHandler:)
inSendBirdCall
. - Added
RoomType
. - Added
RoomParams
. - Added
State
inRoom
. - Added
EnterParams
inRoom
. - Added
RoomDelegate
.
- Added
- Added
Participant
,LocalParticipant
andRemoteParticipant
.- Added
Participant.State
.
- Added
- Added
- Improved stability.
- Improved stability.
- Improved stability.
- Fixed issue where
DirectCall.startedAt
would return incorrect value.
- Added support for screen share in
DirectCall
.- Added
startScreenShare(completionHandler:)
inDirectCall
. - Added
stopScreenShare(completionHandler:)
inDirectCall
. - Added
isLocalScreenShareEnabled
inDirectCall
.
- Added
- Improved stability.
Supports the early access program for group calling. New concepts introduced in this version center around rooms and participants.
- Added New methods to existing classes
- Added
createRoom(with:completionHandler:)
inSendBirdCall
- Added
fetchRoom(by:)
toSendBirdCall
- Added
getCachedRoom(by:)
toSendBirdCall
- Added
- Added new classes
- Added
Room
- Added
Room.EnterParams
- Added
Participant
- Added
LocalParticipant
- Added
RemoteParticipant
- Added
- Added new protocols
- Added
RoomDelegate
- Added
- Added new enums
- Added
Room.State
- Added
Participant.State
- Added
- Improved stability.
- Improved stability.
- Added support for integration with Sendbird Chat.
- Added
SendBirdChatOptions
. - Added
sendbirdChatOptions
parameter toDialParams
.
- Added
- Added support for enabling dialing sound in silent mode.
- Added
setDirectCallDialingSoundOnWhenSilentMode(isEnabled:)
toSendBirdCall
class.
- Added
- Improved WebSocket handling in background.
- Added support for
Call summary
on the dashboard. - Improved backend scalability.
- Enhanced security for compliance.
- Added Remote Recording Progress Event.
- Added
DirectCallDelegate.didRemoteRecordingStatusChange(call: DirectCall)
. - Added
RecordingStatus
enumeration. - Added
DirectCall.localRecordingStatus
. - Added
DirectCall.remoteRecordingStatus
. - Deprecated
DirectCall.isRecording
. Please seeDirectCall.localRecordingStatus
instead.
- Added
- Improved stability.
- Added media recording feature
SendBirdRecordingDelegate
protocol.addRecordingDelegate(_:identifier:)
method inSendBirdCall
class.removeRecordingDelegate(identifier:)
method inSendBirdCall
class.removeAllRecordingDelegates()
method inSendBirdCall
class.startRecording(options:recordingStartedHandler:)
method inDirectCall
class.stopRecording(recordingId:)
method inDirectCall
class.
- Added screen capture feature
captureRemoteVideoView(completionHandler:)
method inDirectCall
class.captureLocalVideoView(completionHandler:)
method inDirectCall
class.
- Added sound effects feature
addDirectCallSound(_:bundle:forType:)
method inSendBirdCall
class.addDirectCallSound(_:forType:)
method inSendBirdCall
class.removeDirectCallSound(forType:)
method inSendBirdCall
class.
- Improved permission handling
- You must acquire permission to use the camera to enable local camera device.
- Fixed issue where VoIP Push notifications would intermittently cause crashes.
- Improved stability.
- Improved stability.
- Fixed issue where caller's local video view wouldn't appear while dialing.
- Fixed issue where callee's remote video view wouldn't properly appear.
- Improved stability.
- Added support for Peer-to-peer call.
- The Peer-to-peer option can be configured on the dashboard.
- Added getting ongoing call count and ongoing status of
DirectCall
.- Added
getOngoingCallCount()
toSendBirdCall
. - Added
isOngoing
to DirectCall.
- Added
- Added
setCallConnectionTimeout(_:)
toSendBirdCall
.- The call connection timer starts when the callee accepts the call. The timer will end the call after the specified timeout interval.
- Added Equatable conformance to
DirectCall
,DirectCallLog
,User
,DirectCallUser
. - Removed deprecated interfaces.
- Improved stability.
- Improved stability.
- Improved stability.
- Fix error where Objective-C interface wouldn't appear for iOS Simulator build destinations.
- Improved stability.
- Improved stability.
- Fix bug where video call starts with receiver mode.
- Added property
callLog
inDirectCall
. - Added property
isFromServer
inDirectCallLog
. - Improved Logger features.
- Added
setLoggerLevel(_:)
. - Added
Logger.Level
enum.
- Added
- VoIP Push Token Unregistration in deauthenticate method is now deprecated.
- Deprecated
deauthenticate(voipPushToken:completionHandler:)
. - Added
deauthenticate(completionHandler:)
.
- Deprecated
- Renamed Objective-C methods
addWithReceiver:
toaddLogReceiver:
inSBCLogger
class.removeWithReceiver:
toremoveLogReceiver:
inSBCLogger
class.
- Stability Improvements.
- Fixed Bitcode error with LLVM Profiling issue.
- Enabled Bitcode
- Fixed error where WebSocket would intermittently fail.
- Added
SBCError.errorCode
to access theSBCError.ErrorCode
enum value of the error. - Added more cases to
SBCError.ErrorCode
enum to reflect the errors from the server.
- VoIP Push Token Registration through AuthenticateParams is now deprecated. Please register by
SendBirdCall.registerVoIPPush(token:unique:completionHandler:)
. - Added
DirectCall.switchCamera(completionHandler:)
for switching the camera between front and back cameras. - Added
SendBirdCall.setRingingTimeout(_:)
to change the timeout period before unanswered ringing or dialing calls expires and ends. - Improved Remote Push Notification Handling
- Stability Improvements.
- Fixed a bug where VoIP Push Notifications weren’t being parsed.
- Added Remote Push Notification Capabilities.
- Added
application(_:didReceiveRemoteNotification:)
. - Added
registerRemotePush(token:unique:completionHandler:)
. - Added
unregisterRemotePush(token:completionHandler:)
. - Added
unregisterAllRemotePushTokens(completionHandler:)
.
- Added
- Optimized FPS for video calls.
- Improved stability.
- Added
audioSessionDidActivate
andaudioSessionDidDeactivate
for updating audio session to handle CallKit events. - Stability Improvements.
- Improved stability.
- Added camera selection feature.
- Updated
init(isAudioEnabled:isVideoEnabled:localVideoView:remoteVideoView:useFrontCamera:)
inCallOptions
. - Added
useFrontCamera
inCallOptions
. - Added
VideoDevice
class. - Added
VideoDevice.Position
enum. - Added
availableVideoDevices
inDirectCall
. - Added
currentVideoDevice
inDirectCall
. - Added
selectVideoDevice(_:completionHandler:)
method inDirectCall
.
- Updated
- Renamed Objective-C methods.
getCallForCallId:
tocallForCallId:
inSBCSendBirdCall
class.getCallForUUID:
tocallForUUID:
inSBCSendBirdCall
class.
- Removed deprecated methods.
- Changed endpoint domain.
- Added Completion Handler to
DirectCall.end
for more flexible usage. - Improved stability.
- Fixed a bug that could not render local video view.
- Improved stability.
- Stability improvements.
- Added video call feature.
* Added
SendBirdVideoView
class. * AddedisLocalVideoEnabled
andisRemoteVideoEnabled
inDirectCall
. * AddedstartVideo()
andstopVideo()
inDirectCall
. * AddedupdateLocalVideoView(_:)
andupdateRemoteVideoView(_:)
inDirectCall
. * Addedinit(isAudioEnabled:isVideoEnabled:localVideoView:remoteVideoView:)
inCallOptions
. * AddeddidRemoteVideoSettingsChange(call:)
method inDirectCallDelegate
. - Renamed
PushToken
toVoIPPushToken
. Previous methods were deprecated, and will be removed in 1.0.0. - Modified
CallOptions
andDialParams
to conformNSCopying
- Removed deprecated methods.
- Allowed to receive incoming calls without CallKit.
- Improved stability.
- Improved WebSocket Connection Stability.
- Replaced
didEnterRinging(_:)
withdidStartRinging(_:)
inSendBirdCallDelegate
. - New feature of
CustomItems
.updateCustomItems(customItems:completionHandler:)
inDirectCall
class.deleteCustomItems(customItemKeys:completionHandler:)
inDirectCall
class.deleteAllCustomItems(completionHandler:)
inDirectCall
class.updateCustomItems(callId:customItems:completionHandler:)
inSendBirdCall
class.deleteCustomItems(callId:customItemKeys:completionHandler:)
inSendBirdCall
class.deleteAllCustomItems(callId:completionHandler:)
inSendBirdCall
class.didUpdateCustomItems(call:updatedKeys:)
inDirectCallDelegate
protocol.didDeleteCustomItems(call:deletedKeys:)
inDirectCallDelegate
protocol.- Read-only property
customItems
inDirectCall
.
- New methods related to change of audio route.
didAudioDeviceChange(_:session:previousRoute:reason:)
inDirectCallDelegate
protocol.routePickerView(frame:)
inSendBirdCall
class.
- New protocol of call reconnection.
didStartReconnecting(_:)
didReconnect(_:)
- New parameter Classes for Dial,
DialParams
AcceptParams
.- Replaced
dial(to:isVideoCall:completionHandler:)
withdial(with:completionHandler:)
. - Replaced
accept(callOptions:)
withaccept(with:)
.
- Replaced
- Replaced
authenticate(params:completionHandler:)
withauthenticate(with:completionHandler:)
. - Replaced
EndResult
enum withDirectCallEndResult
. - Renamed Objective-C methods
addWithEndResult:
toaddEndResult:
inSBCDirectCallLogListQueryParams
class.removeWithEndResult:
toremoveEndResult:
inSBCDirectCallLogListQueryParams
class.initWithIsAudioEnabled:
toinitWithAudioEnabled:
inCallOptions
class.createDirectCallLogListQueryWith:
tocreateDirectCallLogListQueryWithParams:
inSendBirdCall
class.
- Increased stability.
- Deprecated
SendBirdCall.appId
setter. - Deprecated
CallOption.isVideoCall
property. - New initializer of
CallOption
,init(isAudioEnabled:)
. - Deprecated
SendBirdCall.dial(to:callOptions:completionHandler:)
. - New method to dial
dial(to:isVideoCall:callOptions:completionHandler:)
. - Increased stability.
- Support
DirectCall.duration
when a call is active. - Fixed a bug with
didRemoteAudioSettingChange()
delegate. - Changed
DirectCallDelegate
methods fromoptional
torequired
- didConnect()
- didEnd()
- Changed return type of
SendBirdCall.configure()
todiscardableResult
Deprecated
- Support prior swift version and Xcode.
- First release.