v4.0.0
v4.0.0 (Jun 14, 2022)
To see detailed changes for below items, please refer to the migration guide
Improvement
- Added mentioned users to pending, and failed messages
- When operatorUserIds = nil, exclude operator_ids field from json request
- Added mentioned message template
- Added id to User, BaseChannel and BaseMessage to conform to Identifiable
- Add MyMemberStateFilter for group channel count and channel query
- Fixed SBDPushTemplate.default and SBDPushTemplate.alternative as public
- Changed User's userId type from optional String to non-optional String
- Changed internal logic of log levels. Now, only logs with equal or higher log level than the specified LogLevel are printed
- Codebase has been re-written from Objective-C to Swift
- Added annotations for renamed methods and
- Changed the type of the value that the
loadNextPage()
of theMutedUserListQuery
and theBannedUserListQuery
return through the callbacks to the array of theRestrictedUser
- Changed the parameter's type of the
channel(_:userWasMuted:)
andchannel(_:userWasBanned:)
ofBaseChannelDelegate
to theRestrictedUser
Breaking changes
General
Changed
- Naming of the Product has been changed from
SendBirdSDK
toSendbirdChatSDK
- Naming of the main class has been changed from
SBDMain
toSendbirdChat
- Naming of public interfaces has been renamed to better match Swift's language style guide
- Deprecated interfaces from v3 has been removed
- Support for SyncManager has been removed.
- Removed the SBD prefix across names for all constants, protocols, classes, enums, and type definitions
- Removed
with
orby
phrase from parameter names - Renamed
SBDMain
toSendbirdChat
- Renamed
SBDOptions
toSendbirdChatOptions
SBDChannelDelegate
is separated intoBaseChannelDelegate
,OpenChannelDelegate
, andGroupChannelDelegate
protocols- Conform to either
OpenChannelDelegate
orGroupChannelDelegate
to receive events about the channels - Renamed
SBDError
toSBError
- Deprecating support for
Mappable
protocol; Please use Swift's Codable instead to serialize/deserialize objects. For Objective-C, it stays the same - Renamed property name such as coverUrl, channelUrl to coverURL and channelURL (capitalize short name) to follow swift convention
Removed
SBDConnectionManager
SBDUserListQuery
; Please use specific queries for querying users instead, i.e.ApplicationUserListQuery
andBlockedUserListQuery
SBDAuthenticateDelegate
SendbirdChat
Changed
clearCachedData(completionHandler:)
completion typeVoid
toSBErrorHandler
initWithApplicationId
toinitialize(params:)
getChannelCount
togetGroupChannelCount
getChannelCountWithMemberStateFilter:
togetGroupChannelCountWithMemberStateFilter:
.
Removed
createAllUserListQuery
; UsecreateApplicationUserListQuery
createUserListQueryWithUserIds
; UsecreateApplicationUserListQuery(params:)
getPendingPushKitToken
; PushKit is not supported anymoreregisterDevicePushKitToken
; PushKit is not supported anymoreunregisterPushKitToken
; PushKit is not supported anymoremarkAsDeliveredWithChannelUrl
; The feature is supported internallygetMyGroupChannelChangeLogs(byToken:customType:includeEmptyChannel:)
; UsegetMyGroupChannelChangeLogs(token:params:completionHandler:)
getMyGroupChannelChangeLogs(byTimestamp:customType:includeEmptyChannel)
; UsegetMyGroupChannelChangeLogs(timestamp:params:completionHandler:)
- All of
updateCurrentUserInfo
related methods; UseupdateCurrentUserInfo(params:progressHandler:completionHandler:)
SendbirdChatOptions
Changed
useMemberAsMessageSender
touseMemberInfoInMessage
BaseChannel
Changed
coverUrl
tocoverURL
channelUrl
tochannelURL
Removed
sendUserMessage(_:data:customType:targetLanguages:completionHandler:)
; UsesendUserMessage(params:completionHandler:)
updateUserMessage(_:messageText:data:customType:completionHandler:)
; UseupdateUserMessage(params:completionHandler:)
getPreviousAndNextMessages
,getNextMessages
,getPreviousMessages
; UsegetMessages(messageId:params:completionHandler:)
getMessageChangeLogs(token:completionHandler:)
,getMessageChangeLogs(byTimestamp:completionHandler:)
; UsegetMessageChangeLogs(params:completionHandlers:)
GroupChannel
Removed
sendMarkAsReadEnable
; The feature was deprecated inv3.0.24
isPushEnabled
; UsemyPushTriggerOption
createChannel(isDistinct:users:coverImage:coverImageName:data:customType:progressHandler:completionHandler:)
; UsecreateChannel(params:progressHandler:completionHandler:)
updateChannel(isDistinct:coverImage:coverImageName:data:customType:progressHandler:completionHandler:)
; UseupdateChannel(params:progressHandler:completionHandler:)
getChannelWithoutCache
; The feature was deprecated inv3.0.116
hideChannel(completionHandler:)
; Usehide(hidePreviousMessages:allowAutoUnhide:completionHandler:)
getChannelFromCacheWithChannelUrl
; The feature was deprecated inv3.0.116
getReadReceiptOfMessage
; UsegetUnreadMemberCount(_:)
getLastSeenAtByUser
,getLastSeenAtByUserIdUse
,getReadMembersWithMessage
, andgetDeliveryReceipt
; UsegetUndeliveredMemberCount
getTypingMembers
; UsegetTypingUsers
setPushPreference
; UsesetMyPushTriggerOption(_:completionHandler:)
getTotalUnreadMessageCount
; UseSendbirdChat.getTotalUnreadMessageCount
OpenChannel
Removed
createChannel(channelUrl:coverImage:coverImageName:data:operatorUserIds:customType:progressHandler:completionHandler:)
; UsecreateChannel(params:progressHandler:completionHandler:)
updateChannel(coverImage:coverImageName:data:operatorUserIds:customType:progressHandler:completionHandler:)
; UseupdateChannel(params:progressHandler:completionHandler:)
ChannelDelegate
Changed
channel(_:didReceive:)
is moved toBaseChannelDelegate
channel(_:didUpdate:)
is moved toBaseChannelDelegate
channel(_:didReceiveMention:)
is moved toBaseChannelDelegate
channel(_:userWasMuted:)
is moved toBaseChannelDelegate
channel(_:userWasUnmuted:)
is moved toBaseChannelDelegate
channel(_:userWasBanned:)
is moved toBaseChannelDelegate
channel(_:userWasUnbanned:)
is moved toBaseChannelDelegate
channelWasFrozen(_:)
is moved toBaseChannelDelegate
channelWasUnfrozen(_:)
is moved toBaseChannelDelegate
channelWasChanged(_:)
is moved toBaseChannelDelegate
channelWasDeleted(_:channelType:)
is moved toBaseChannelDelegate
channel(_:messageWasDelegate:)
is moved toBaseChannelDelegate
channel(_:createdMetaData:)
is moved toBaseChannelDelegate
channel(_:updatedMetaData:)
is moved toBaseChannelDelegate
channel(_:deletedMetaDataKeys:)
is moved toBaseChannelDelegate
channel(_:createdMetaCounters:)
is moved toBaseChannelDelegate
channel(_:updatedMetaCounters:)
is moved toBaseChannelDelegate
channel(_:deletedMetaCountersKeys:)
is moved toBaseChannelDelegate
channel(_:updatedReactions:)
is moved toBaseChannelDelegate
channelDidUpdateOperators(_:)
is moved toBaseChannelDelegate
channel(_:didUpdateThreadInfo:)
is moved toBaseChannelDelegate
channelDidUpdateReadStatus(_:)
is moved toGroupChannelDelegate
channelDidUpdateDeliveryStatus(_:)
is moved toGroupChannelDelegate
channelDidUpdateTypingStatus(_:)
is moved toGroupChannelDelegate
channelDidChangeMemberCount(_:)
is moved toGroupChannelDelegate
channel(_:didReceiveInvitation:inviter:)
is moved toGroupChannelDelegate
channel(_:didDeclineInvitation:inviter:)
is moved toGroupChannelDelegate
channel(_:userDidJoin:)
is moved toGroupChannelDelegate
channel(_:userDidLeave:)
is moved toGroupChannelDelegate
channelWasHidden(_:)
is moved toGroupChannelDelegate
channelDidChangeParticipantCount(_:)
is moved toOpenChannelDelegate
channel(_:userDidEnter:)
is moved toOpenChannelDelegate
channel(_:userDidExit:)
is moved toOpenChannelDelegate
Params
Added
- Introduced
InitParams
forSendbirdChat.initialize(params:)
- Introduced
UserUpdateParams
forSendbirdChat.updateCurrentUserInfo(params:)
Changed
UserMessageParams
toUserMessageCreateParams
andUserMessageUpdateParams
FileMessageParams
toFileMessageCreateParams
andFileMessageUpdateParams
GroupChannelParams
toGroupChannelCreateParams
andGroupChannelUpdateParams
strict
toisStrict
discoverable
toisDiscoverable
OpenChannelParams
toOpenChannelCreateParams
andOpenChannelUpdateParams