Skip to content

Releases: sendbird/sendbird-chat-sdk-ios

v4.0.9

17 Aug 12:12
Compare
Choose a tag to compare

4.0.9 (Aug 17, 2022)

  • Added shouldRemoveOperatorStatus function
  • Updated copyMessage function to only duplicate successfully sent message. Copying any non-successful message will now return an invalidParameter error
  • Fixed concurrency issues
  • Fixed WS connection being lost after switching from wifi to LTE
  • Fixed OpenChannel not updating channel’s changed information
  • Fixed a copied fileMessage’s image not being shown

v4.0.8

19 Jul 07:08
Compare
Choose a tag to compare
  • Fixed auto-resend issue in offline write

v4.0.7

14 Jul 08:21
Compare
Choose a tag to compare
  • Fixed a bug that serializing pending messages causes a crash on iOS 12 or lower

v4.0.6

12 Jul 10:52
Compare
Choose a tag to compare
  • Fixed a bug that sending a file message doesn’t work on the app extension

v4.0.5

11 Jul 08:32
Compare
Choose a tag to compare
  • Fixed a bug that sending a file message doesn’t work on the app extension
  • Fixed a bug that the file URL of the file message is not accessible
  • Fixed a bug that the message collection can’t load the previous messages when the network is not connected
  • Fixed a bug that the reaction event is not applied to the cached messages
  • Fixed a bug in the message search query

v4.0.4

06 Jul 09:01
Compare
Choose a tag to compare
  • Fixed a bug that the message collection can't call the message update event when the reconnection is completed
  • Improved stability

v4.0.3

30 Jun 06:39
Compare
Choose a tag to compare
  • Improved stability

v4.0.2

28 Jun 04:48
Compare
Choose a tag to compare
  • Fixed a bug that the message collection returned failed messages across all channels
  • Changed the default value of memberInfoInMessage to true
  • Fixed a message search bug
  • Improved stability

v4.0.1

23 Jun 01:17
Compare
Choose a tag to compare
  • Fixed a bug that the failed message isn’t removed from the memory cache of the message collection
  • Fixed createBannedUserListQuery to use the params builder
  • Fixed unstable reconnection on the simulator

v4.0.0

14 Jun 09:00
Compare
Choose a tag to compare

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 the MutedUserListQuery and the BannedUserListQuery return through the callbacks to the array of the RestrictedUser
  • Changed the parameter's type of the channel(_:userWasMuted:) and channel(_:userWasBanned:) of BaseChannelDelegate to the RestrictedUser

Breaking changes

General

Changed
  • Naming of the Product has been changed from SendBirdSDK to SendbirdChatSDK
  • Naming of the main class has been changed from SBDMain to SendbirdChat
  • 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 or by phrase from parameter names
  • Renamed SBDMain to SendbirdChat
  • Renamed SBDOptions to SendbirdChatOptions
  • SBDChannelDelegate is separated into BaseChannelDelegate, OpenChannelDelegate, and GroupChannelDelegate protocols
  • Conform to either OpenChannelDelegate or GroupChannelDelegate to receive events about the channels
  • Renamed SBDError to SBError
  • 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 and BlockedUserListQuery
  • SBDAuthenticateDelegate

SendbirdChat

Changed
  • clearCachedData(completionHandler:) completion type Void to SBErrorHandler
  • initWithApplicationId to initialize(params:)
  • getChannelCount to getGroupChannelCount
  • getChannelCountWithMemberStateFilter: to getGroupChannelCountWithMemberStateFilter:.
Removed
  • createAllUserListQuery; Use createApplicationUserListQuery
  • createUserListQueryWithUserIds; Use createApplicationUserListQuery(params:)
  • getPendingPushKitToken; PushKit is not supported anymore
  • registerDevicePushKitToken; PushKit is not supported anymore
  • unregisterPushKitToken; PushKit is not supported anymore
  • markAsDeliveredWithChannelUrl; The feature is supported internally
  • getMyGroupChannelChangeLogs(byToken:customType:includeEmptyChannel:); Use getMyGroupChannelChangeLogs(token:params:completionHandler:)
  • getMyGroupChannelChangeLogs(byTimestamp:customType:includeEmptyChannel); Use getMyGroupChannelChangeLogs(timestamp:params:completionHandler:)
  • All of updateCurrentUserInfo related methods; Use updateCurrentUserInfo(params:progressHandler:completionHandler:)

SendbirdChatOptions

Changed
  • useMemberAsMessageSender to useMemberInfoInMessage

BaseChannel

Changed
  • coverUrl to coverURL
  • channelUrl to channelURL
Removed
  • sendUserMessage(_:data:customType:targetLanguages:completionHandler:); Use sendUserMessage(params:completionHandler:)
  • updateUserMessage(_:messageText:data:customType:completionHandler:); Use updateUserMessage(params:completionHandler:)
  • getPreviousAndNextMessages, getNextMessages, getPreviousMessages; Use getMessages(messageId:params:completionHandler:)
  • getMessageChangeLogs(token:completionHandler:), getMessageChangeLogs(byTimestamp:completionHandler:); Use getMessageChangeLogs(params:completionHandlers:)

GroupChannel

Removed
  • sendMarkAsReadEnable; The feature was deprecated in v3.0.24
  • isPushEnabled; Use myPushTriggerOption
  • createChannel(isDistinct:users:coverImage:coverImageName:data:customType:progressHandler:completionHandler:); Use createChannel(params:progressHandler:completionHandler:)
  • updateChannel(isDistinct:coverImage:coverImageName:data:customType:progressHandler:completionHandler:); Use updateChannel(params:progressHandler:completionHandler:)
  • getChannelWithoutCache; The feature was deprecated in v3.0.116
  • hideChannel(completionHandler:); Use hide(hidePreviousMessages:allowAutoUnhide:completionHandler:)
  • getChannelFromCacheWithChannelUrl; The feature was deprecated in v3.0.116
  • getReadReceiptOfMessage; Use getUnreadMemberCount(_:)
  • getLastSeenAtByUser, getLastSeenAtByUserIdUse, getReadMembersWithMessage, and getDeliveryReceipt; Use getUndeliveredMemberCount
  • getTypingMembers; Use getTypingUsers
  • setPushPreference; Use setMyPushTriggerOption(_:completionHandler:)
  • getTotalUnreadMessageCount; Use SendbirdChat.getTotalUnreadMessageCount

OpenChannel

Removed
  • createChannel(channelUrl:coverImage:coverImageName:data:operatorUserIds:customType:progressHandler:completionHandler:); Use createChannel(params:progressHandler:completionHandler:)
  • updateChannel(coverImage:coverImageName:data:operatorUserIds:customType:progressHandler:completionHandler:); Use updateChannel(params:progressHandler:completionHandler:)

ChannelDelegate

Changed
  • channel(_:didReceive:) is moved to BaseChannelDelegate
  • channel(_:didUpdate:) is moved to BaseChannelDelegate
  • channel(_:didReceiveMention:) is moved to BaseChannelDelegate
  • channel(_:userWasMuted:) is moved to BaseChannelDelegate
  • channel(_:userWasUnmuted:) is moved to BaseChannelDelegate
  • channel(_:userWasBanned:) is moved to BaseChannelDelegate
  • channel(_:userWasUnbanned:) is moved to BaseChannelDelegate
  • channelWasFrozen(_:) is moved to BaseChannelDelegate
  • channelWasUnfrozen(_:) is moved to BaseChannelDelegate
  • channelWasChanged(_:) is moved to BaseChannelDelegate
  • channelWasDeleted(_:channelType:) is moved to BaseChannelDelegate
  • channel(_:messageWasDelegate:) is moved to BaseChannelDelegate
  • channel(_:createdMetaData:) is moved to BaseChannelDelegate
  • channel(_:updatedMetaData:) is moved to BaseChannelDelegate
  • channel(_:deletedMetaDataKeys:) is moved to BaseChannelDelegate
  • channel(_:createdMetaCounters:) is moved to BaseChannelDelegate
  • channel(_:updatedMetaCounters:) is moved to BaseChannelDelegate
  • channel(_:deletedMetaCountersKeys:) is moved to BaseChannelDelegate
  • channel(_:updatedReactions:) is moved to BaseChannelDelegate
  • channelDidUpdateOperators(_:) is moved to BaseChannelDelegate
  • channel(_:didUpdateThreadInfo:) is moved to BaseChannelDelegate
  • channelDidUpdateReadStatus(_:) is moved to GroupChannelDelegate
  • channelDidUpdateDeliveryStatus(_:) is moved to GroupChannelDelegate
  • channelDidUpdateTypingStatus(_:) is moved to GroupChannelDelegate
  • channelDidChangeMemberCount(_:) is moved to GroupChannelDelegate
  • channel(_:didReceiveInvitation:inviter:) is moved to GroupChannelDelegate
  • channel(_:didDeclineInvitation:inviter:) is moved to GroupChannelDelegate
  • channel(_:userDidJoin:) is moved to GroupChannelDelegate
  • channel(_:userDidLeave:) is moved to GroupChannelDelegate
  • channelWasHidden(_:) is moved to GroupChannelDelegate
  • channelDidChangeParticipantCount(_:) is moved to OpenChannelDelegate
  • channel(_:userDidEnter:) is moved to OpenChannelDelegate
  • channel(_:userDidExit:) is moved to OpenChannelDelegate

Params

Added
  • Introduced InitParams for SendbirdChat.initialize(params:)
  • Introduced UserUpdateParams for SendbirdChat.updateCurrentUserInfo(params:)
Changed
  • UserMessageParams to UserMessageCreateParams and UserMessageUpdateParams
  • FileMessageParams to FileMessageCreateParams and FileMessageUpdateParams
  • GroupChannelParams to GroupChannelCreateParams and GroupChannelUpdateParams
    • strict to isStrict
    • discoverable to isDiscoverable
  • OpenChannelParams to OpenChannelCreateParams and OpenChannelUpdateParams