Contains all changes since v4.0.0-beta
- Fixed a bug that
useMemberInfoInMessage
didn't work - Fixed a bug that the channel collection can't load channels
- Fixed a bug that the sendingStatus in the scheduled message while decoding
- Fixed the error that requestID of scheduled message is empty
- Added thumbnails to a copied fileMessage
- Public interfaces are exposed to Objective-C headers
- When parsing metaData from json, its key whose value is null is ignored
- Fixed wrong ACK timeout error for markAsRead
- Fixed to guarantee BaseMessage serialize compatibility when updating from v3 to v4
- Added missing objcMembers attribute for PushTemplate
- Fixed 401 error when handling image File URL
- Added
ScheduledBaseMessageCreateParams
andScheduledBaseMessageUpdateParams
- Changed
channelURL
ofSendbirdChat.createScheduledMessageListQuery
to optional - Added mentioned users to pending, failed, and scheduled 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
- Added a function to send scheduled messages immediately
- Changed internal logic of log levels. Now, only logs with equal or higher log level than the specified LogLevel are printed
- Added new feature, Scheduled Messages
- Added new parameter, channel_type, to Polls interfaces
- Codebase has been re-written from Objective-C to Swift
- Added annotations for renamed methods and properties
- 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
SBDConnectionManager
SBDUserListQuery
; Please use specific queries for querying users instead, i.e.ApplicationUserListQuery
andBlockedUserListQuery
SBDAuthenticateDelegate
clearCachedData(completionHandler:)
completion typeVoid
toSBErrorHandler
initWithApplicationId
toinitialize(params:)
getChannelCount
togetGroupChannelCount
getChannelCountWithMemberStateFilter:
togetGroupChannelCountWithMemberStateFilter:
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:)
useMemberAsMessageSender
touseMemberInfoInMessage
coverUrl
tocoverURL
channelUrl
tochannelURL
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:)
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
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:)
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
didUpdatePoll(_:)
is moved toBaseChannelDelegate
didVotePoll(_:)
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
parent
toparentMessage
String
toChannelType
forchannelType
property
parentMessageText
; UseparentMessage
metaArray
; UsemetaArrays
requestState
; UsesendingStatus
requestState
; UsesendingStatus
loadWithCompletionHandler:
toloadNext(completionHandler:)
- Introduced
InitParams
forSendbirdChat.initialize(params:)
- Introduced
UserUpdateParams
forSendbirdChat.updateCurrentUserInfo(params:)
UserMessageParams
toUserMessageCreateParams
andUserMessageUpdateParams
FileMessageParams
toFileMessageCreateParams
andFileMessageUpdateParams
GroupChannelParams
toGroupChannelCreateParams
andGroupChannelUpdateParams
strict
toisStrict
discoverable
toisDiscoverable
OpenChannelParams
toOpenChannelCreateParams
andOpenChannelUpdateParams
useMemberAsMessageSender
touseMemberInfoInMessage
- Fixed a bug that
useMemberInfoInMessage
didn't work - Added
ScheduledBaseMessageCreateParams
andScheduledBaseMessageUpdateParams
- Fixed a bug that the channel collection can't load channels
- Added mentioned users to pending, failed, and scheduled messages
- When operatorUserIDs = nil, exclude operator_ids field from json request
- Fixed a bug that the sendingStatus in the scheduled message while decoding
- Fixed the error that requestID of scheduled message is empty
- Added thumbnails to a copied fileMessage
- Check & solve internal interface being exposed to Objective-C headers
- When parsing metaData from json, its key whose value is null is ignored
- Added mentioned message template
- Fixed wrong ACK timeout error for markAsRead.
- Added annotations for renamed methods and properties
- Added id to User, BaseChannel and BaseMessage to conform to Identifiable
- Fixed SBDPushTemplate.default and SBDPushTemplate.alternative as public
- Changed User's userID type from optional String to non-optional String
- Fixed to guarantee BaseMessage serialize compatibility when updating from v3 to v4
- Added a function to send scheduled messages immediately
- Make SBDPushTemplate.default and SBDPushTemplate.alternative public
- Added missing objcMembers attribute for PushTemplate
- Changed internal logic of log levels. Now, only logs with equal or higher log level than the specified LogLevel are printed
- Updated all naming to match the capitalization convention
- Added new feature, Scheduled Messages
- Added new parameter, channel_type, to Polls interfaces
- Fixed 401 error when handling image File URL
- Codebase has been re-written from Objective-C to Swift
- 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