- Fixed a bug of resending message.
- Added
SBDOpenChannelParamsclass - Added channel create and update functions with parameters in
SBDOpenChannelclass. - Modified the openChannelParams related test codes.
- Added
setAllowFriendDiscovery:completionHandler: - Added
getAllowFriendDiscoveryWithCompletionHandler: - When sending a file message with binary data, SDK will calculate the file size internally.
- Improved stability.
- Improved stability.
- Added SubChannel related properties
showSubChannelMessageOnlyproperty inSBDMessageListParamsclassshowSubChannelMessageOnlyproperty inSBDPreviousMessageListQueryclass
- Improved stability.
- Added
buildFromSerializedData:desiredState:inSBDBaseMessage.
- Fixed a bug that the
isMutedof a group channel member wasn't updated. - Added
getTypingUsersmethod inSBDGroupChannelclass. - Deprecated
getTypingMembersmethod inSBDGroupChannelclass.
- Fixed unread count bug.
- Improved stability.
- Fixed copying message bug
- Fixed
myMutedStateis always muted issue - Improved stability
- Added
creatorproperty inSBDBaseChannel - Added
setWebSocketResponseTimeout:toSBDOptionsclass to set the response timeout value.
- Added
SBDMemberListOrderfor the member list query. - Added
isMutedproperty inSBDMemberclass - Added
applicationAttributesproperty inSBDAppInfoclass - Activated
operationFilterinSBDGroupChannelMemberListQuery - Improved stability
- Improved stability
- Fixed memory allocation bug
- Improved stability
- Improved stability
- Added open graph feature along with
SBDOGMetaDataandSBDOGImageclass - Added
ogMetaDataproperty inSBDBaseMessage - Fixed bug in
markAsDeliveredWithRemoteNotificationPayload:completion
- Improved stability
- Improved stability
- Fixed delegate validation mismatched
- Added
addOperatorsWithUserIds:completionHandler:to add operators to channel. - Added
removeOperatorsWithUserIds:completionHandler:andremoveAllOperatorsWithCompletionHandler:to remove operators from channel. - Improved stability
- Fixed minor bug
- Fixed
markAsReadunreadMessageCount bug
- Refactored
SBDBaseMessageproperties that need common access - Supported
NSCopyingprotocol for common objects - Improved stability
- Added functions that creates a
SBDMessageChangeLogsParamsobject withSBDPreviousMessageListQueryandSBDMessageListParamsinformation. - Added a function that creates a
SBDGroupChannelChangeLogsParamsobject withSBDGroupChannelListQueryinformation. - Added
getUnreadMemberCount:andgetUndeliveredMemberCount:. - Improved stability.
- Fixed reconnection issue.
- Improved stability
- Improved delivery receipt
- Added
SBDGroupChannelChangeLogsParams - Added
getMyGroupChannelChangeLogsByToken:params:completionHandler: - Deprecated
getMyGroupChannelChangeLogsByToken:customType:completionHandler:andgetMyGroupChannelChangeLogsByToken:customType:includeEmptyChannel:completionHandler - Added
includeFronzeChannelinSBDOpenChannelListQuery - Fixed meta data completion type
- Fixed reaction bug.
- Added
deleteChannelmethod in open channel - Added
AppInfoclass - Added emoji feature with
Emoji,EmojiCategory,EmojiContainerclass - Fixed type comparison in init methods
- Fixed to add
errorCodein message's init methods
- Added
deleteMessageWithMessageId:completionHandler:inSBDBaseChannel - Fixed push register/unregister when no connection
- Deprecated
metaArrayKeysinSBDBaseMessageParams - Added
metaArraysinSBDBaseMessageParams
- Added
addExtensionfor UIKit
- Added
show_delivery_receiptparameters. resendUserMessage(),resendFileMessage()returns the corresponding messages withPENDINGstate.- Fixed minor bug.
- Improved stability.
- Renamed an enum value.
SBDErrorFileUploadCancelled->SBDErrorFileUploadCanceled
- Improved stability.
- Defined a few errors for the failed message as resendable errors.
SBDErrorInternalServerError(500901)SBDErrorRateLimitExceeded(500910)SBDErrorMessagesRateLimitExceeded(900200)
- Improved stability.
- Added new methods to get messages with message ID and inclusiveTimestamp option.
- Added
channelDidUpdateOperators:in SBDChannelDelegate - Added
rolein SBDMember - Improved stability.
- Deprecated
requestStateofSBDUserMessageandSBDFileMessage. - Deprecated
SBDMessageRequestState. - Added
sendingStatustoSBDUserMessageandSBDFileMessage. - Added
SBDMessageSendingStatus.
- Fixed minor bug.
- Improved stability.
- Added missing headers.
- Added Reaction API.
- Fixed group channel update bug.
- Fixed bug about can't receive specific channelDelegate(leave, remove).
- Improved stability.
- Improved stability and fixed bug of webSocket
- Add forceUpdateLastMessage property to force set the message as the last message of a channel when true.
- Improved parsing stability.
- Added Message search feature.
- added class
SBDMessageSearchQueryto search messages and create query. - added builder class
SBDMessageSearchQueryBuilderto build aSBDMessageSearchQuery.
- added class
- Modified increasing unread message count on super group channel.
- Added Delivery receipt feature.
- added methods
markAsDeliveredinSBDGroupChannelandmarkAsDeliveredWithChannelUrl:inSBDMainto sending delivered state to channel. - added
channelDidUpdateDeliveryReceipt:delegate to receive user’s message delivery confirms. - added
getDeliveryReceipt:method to get undelivered member counts.
- added methods
- Added a method
isResendableinSBDUserMessageandSBDFileMessage.resendUserMessageandresendFileMessagework only whenisResendableistrue.
- Added a property named
errorCodeinSBDUserMessageandSBDFileMessage.
- Fixed bug of lost items while copying files.
- Improved stability.
- Progress handler can be executed on the specific thread.
- New property
messageOffsetTimestampthat tells the current user's message offset ofSBDGroupChannel.
- Improved stability.
- Improved connection stability.
- Reporting APIs.
reportUser:reportCategory:reportDescription:completionHandler:reportChannelWithCategory:reportDescription:completionHandler:reportMessage:reportCategory:reportDescription:completionHandler:
- New user event of
didUpdateTotalUnreadMessageCount:totalCountByCustomType:to handle total unread message count. - Improved stability.
- Improved stability.
- Fixed bug of updating channel metadata.
- Improved stability.
- Improved stability.
- Fixed a bug of registering remote push token in iOS 13
- New method to resend a file message in channel.
resendFileMessageWithMessage:binaryData:progressHandler:completionHandler:resendFileMessageWithMessage:binaryData:completionHandler:
- New property to show requested mention user ids in user message, file message.
requestedMentionUserIds
- Improved connection stability.
- Improved connection stability.
- Fixed bug of thread management.
- On-demand translation that translate a text message into target languages.
- Improved
MetaArrayfeature withSBDMessageMetaArrayclass.- Add/remove meta array with an array of
SBDMessageMetaArray. - Message has new property
metaArraysthat consists of an array ofSBDMessageMetaArray.
- Add/remove meta array with an array of
- Enable to create group channel strictly.
SBDGroupChannelParamshas new property boolean type ofstrictthat can cause an error if any of users is not valid when creating a channel.
- Fixed a bug of network reachability.
- Improved stability.
- Fixed minor bug.
- Improved connection stability.
- New filter
searchFilterofSBDGroupChannelListQuery. When you want to query a string forchannel nameormember nickname, use this filter. - Improved stability.
- Fixed a bug of internal timer.
- Added
resendUserMessage:completionHandlerto resend a failed message inSBDBaseChannel. - New enum and property to represent message request state
SBDMessageRequestStateinSBDUserMessage,SBDFileMessage. EnumSBDMessageRequestStateNone,SBDMessageRequestStatePending,SBDMessageRequestStateFailed,SBDMessageRequestStateMessage. SBDBaseMessageconformsNSCopying.- Improved connection stability.
- Fixed minor bug.
- Fixed minor bug.
- Message request API with
inclusiveTimestampinSBDBaseChannel - Improved stability
- Added
myLastReadproperty toSBDGroupChannel.
- Fixed the change of
invitedAtofSBDGroupChannel. - Bug fix and stability improvement of WebSocket module.
- Added
deleteChannelWithCompletionHandler:inSBDGroupChannel.
- Added
discoverableproperty toSBDGroupChannelandSBDGroupChannelParams.- if
discoverableof a public group channel is set to false(NO), then the channel will not appear during querying withSBDPublicGroupChannelListQuery. The default value ofdiscoverableis true(YES).
- if
- Improved stability.
- Fixed connection minor issue.
- Improved stability.
- Improved stability.
- Fixed minor bug.
- Fixed minor bug.
- Added
setFileTransferTimeout:inSBDOptionsclass to set timeout for file transfer.
- Removed LLVM instrumentation.
- Divide push options for the detail triggers.
- New enum type of push trigger option,
SBDPushTriggerOptionandSBDGroupChannelPushTriggerOption. - Added
[SBDMain setPushTriggerOption:completionHandler:]and[SBDMain getPushTriggerOptionWithCompletionHandler:]class methods to set/get whether the current user receives remote push notification in the whole group channel. - Added
setMyPushTriggerOption:completionHandler:andgetMyPushTriggerOptionWithCompletionHandler:instance methods inSBDGroupChannel. It sets/gets whether the current user receives remote push notification in the group channel.
- New enum type of push trigger option,
- Snooze or Stop snooze remote push notification in specific duration.
- Added
[SBDMain setSnoozePeriodEnable:startTimestamp:endTimestamp:completionHandler:]class methods to start or stop snooze period. - Added
[SBDMain getSnoozePeriod:]class methods to get snooze period.
- Added
- Fixed bug of connection.
- Bitcode support for Xcode 9.
- Fixed bug about unread message count subscription.
- Fixed bug that can't toggle distinct channel.
- Fixed bug that updates unchanged properties of channel or message.
- Added
createDistinctChannelIfNotExistWithParams:completionHandler:method inSBDGroupChannel.- It creates distinct channel and gets the channel with
isCreatedincompletionHandlerwhich represents whether the channel is actually created or not.
- It creates distinct channel and gets the channel with
- Added
getMessageChangeLogsByTimestamp:completionHandler:method inSBDBaseChannel.- It retrieves message change logs since the given timestamp.
- Added
hiddenStatetype ofSBDGroupChannelHiddenStateproperty inSBDGroupChannelto get channel's hidden state.SBDGroupChannelHiddenStateUnhidden: It's not hidden channel.SBDGroupChannelHiddenStateHiddenAllowAutoUnhide: It's hidden channel which is automatically unhidden when new message comes in.SBDGroupChannelHiddenStateHiddenPreventAutoUnhide: It's hidden channel which is not unhidden when new message comes in.
- Added
hideChannelWithHidePreviousMessages:allowAutoUnhide:completionHandler:method to allow automatic unhide on new message inSBDGroupChannel. - Added
unhideChannelWithCompletionHandler:method inSBDGroupChannelto unhide manually the channel. - Added
channelHiddenStateFilterproperty type ofSBDChannelHiddenStateFilterinSBDGroupChannelListQueryto filter byhiddenState.SBDChannelHiddenStateFilterUnhiddenOnly: Get all unhidden channels. (default)SBDChannelHiddenStateFilterHiddenOnly: Get all hidden channels whichhiddenStateisSBDGroupChannelHiddenStateHiddenAllowAutoUnhideorSBDGroupChannelHiddenStateHiddenPreventAutoUnhide.SBDChannelHiddenStateFilterHiddenAllowAutoUnhide: Get channels whichhiddenStateisSBDGroupChannelHiddenStateHiddenAllowAutoUnhide.SBDChannelHiddenStateFilterHiddenPreventAutoUnhide: Get channels whichhiddenStateisSBDGroupChannelHiddenStateHiddenPreventAutoUnhide.
SBDGroupChannelParamsconformsNSCopying.- Minor bug fixed
- Changed type of
senderproperty inSBDUserMessageandSBDFileMessagefromSBDUserto a new classSBDSenderwhich extendsSBDUser.SBDSenderhasisBlockedByMeproperty which indicates that the message sender is blocked by the current user (default: false).isBlockedByMeis valid inSBDGroupChannelonly.- Message from blocked users is delivered only when
block_modeinApplicationis set toexplicitmode. Otherwise, it's not visible nor delivered.
- Minor bug fixed.
- Separated
SBDUserListQueryinto the following query classes according to its specific role.- Added
SBDApplicationUserListas a substitute forSBDUserListQuery(Recommended). - Added
SBDBlockedUserListQuery,SBDBannedUserListQuery,SBDMutedUserListQuery,SBDParticipantListQuery. - Added properties of
metaDataKeyFilter,metaDataValuesFilter,userIdsFilterinSBDApplicationUserListQuery.
- Added
- Guaranteed the order of sending
SBDFileMessageregardless of bulk file messages or a single file message. - Minor bug fixed
- Added
SBDScheduledUserMessagefeature to sendSBDUserMessageat the time specified by a user.- Added
SBDScheduledUserMessagethat is a scheduledSBDUserMessage. - Added
SBDScheduledUserMessageParamsto be delivered as a parameter to register scheduledSBDUserMessage. - Added
registerScheduledUserMessageWithParams:completionHandler:inSBDGroupChannelto register scheduledSBDUserMessage.
- Added
- Improved stability.
- Minor bug fixed
- Added duration and a description to user mute.
- Added an ordering group channel with meta data value of specific key.
- Minor bug fixed.
- Added a getter
getLastConnectedAtthat returns the current user's latest connection time.
- Improved stability.
- Added a method
getReadStatusIncludingAllMembers:that gets readStatus in the group channel. - Added a method
getReadMembersWithMessage:includeAllMembers:that returns a list of members who read the message in the group channel. - Added a method
getUnreadMembersWithMessage:includeAllMembers:that returns a list of members who did not read the message in the group channel. - Enabled to use
isEqual:in Channel classes (SBDBaseChannel,SBDGroupChannel,SBDOpenChannel), Message classes (SBDBaseMessage,SBDUserMessage,SBDFileMessage,SBDAdminMessage), User classes (SBDUser,SBDMember) to compare deep-equality with other instance. - Fixed connection method (ex.
connectWithUserId:accessToken:completionHandler:) so that can receive call-back with an error whendisconnectWithCompletionHandler:was called while connecting to SendBird. - Changed setters of filter in query class (
SBDGroupChannelListQuery,SBDGroupChannelMemberListQuery,SBDOpenChannelListQuery,SBDPreviousMessageListQuery,SBDPublicGroupChannelListQuery,SBDUserListQuery) into properties. - Minor bug fixed.
- Deprecated some feature.
- Deprecated method
getReadMembersWithMessage:inSBDGroupChannel. - Deprecated method
getUnreadMembersWithMessage:inSBDGroupChannel. - Deprecated method
getReadStatusinSBDGroupChannel. - Deprecated enum
SBDWebSocketClosinginSBDWebSocketConnectionState.
- Deprecated method
- Minor bug fixed.
- From now,
useMemberAsMessageSenderoption is YES by default. - Fixed a bug previous messages not showing the senders' latest user metadata.
- Minor bug fixed.
- Added
updateUserMessageWithMessageId:userMessageParams:completionHandler:withSBDUserMessageParamsinSBDBaseChannel. - Added
updateFileMessageWithMessageId:fileMessageParams:completionHandler:withSBDFileMessageParamsinSBDBaseChannel. - Minor bug fixed.
- Improved connection management.
- Added
invitedAtinSBDGroupChannel.
- Added
loadWithCompletionHandler:,setMessageTypeFilter:,setCustomTypeFilter:,setSenderUserIdsFilter:inSBDPreviousMessageListQuery. - Added
getNextMessagesByTimestamp:limit:reverse:messageType:customType:senderUserIds:completionHandler:,getPreviousMessagesByTimestamp:limit:reverse:messageType:customType:senderUserIds:completionHandler:,getPreviousAndNextMessagesByTimestamp:prevLimit:nextLimit:reverse:messageType:customType:senderUserIds:completionHandler:,getNextMessagesByMessageId:limit:reverse:messageType:customType:senderUserIds:completionHandler:,getPreviousMessagesByMessageId:limit:reverse:messageType:customType:senderUserIds:completionHandler:, andgetPreviousAndNextMessagesByMessageId:prevLimit:nextLimit:reverse:messageType:customType:senderUserIds:completionHandler:inSBDBaseChannel.
- Disabled to put the current user into
mentionedUsers,mentionedUserIdsinSBDUserMessageParamsandSBDFileMessageParams. - Changed not to increase
unreadMentionCountand not to callchannel:didReceiveMention:for CHANNEL mention by the current user (i.e. the message sender is the current user).
- Added
unreadMentionCountproperty inSBDGroupChannel. - Added enum
SBDCountPreferenceUnreadMentionCountOnlyinSBDCountPreference. - Added
SBDUnreadItemKeyNonSuperUnreadMentionCount,SBDUnreadItemKeySuperUnreadMentionCount, SBDUnreadItemKeyGroupChannelUnreadMessageCount,SBDUnreadItemKeyGroupChannelUnreadMentionCount,SBDUnreadItemKeyGroupChannelInvitationCountinSBDUnreadItemKey`. - Added mention type.
- New enum type
SBDMentionTypethat hasSBDMentionTypeUsersandSBDMentionTypeChannel. - New property in
SBDBaseMessage.
- New enum type
- Deprecated instance method,
getUnreadItemCountWithKey:completionHandler:inSBDGroupChannel.- Replaced with class method
getUnreadItemCountWithKey:completionHandler:inSBDGroupChannelinstead.
- Replaced with class method
- Minor bug fixed.
- Added
nicknameStartsWithFilterinSBDGroupChannelMemberListQuery. - Added enum
SBDCountPreference.- Enum has
SBDCountPreferenceAll,SBDCountPreferenceUnreadMessageCountOnly,SBDCountPreferenceOff. - Added
myCountPreferenceinSBDGroupChannelas a getter. - Added
setMyCountPreference:completionHandler:inSBDGroupChannelas an aynchronous setter.
- Enum has
- Fixed a bug that
myRoleis not updated inSBDGroupChannel.
- Added
joinedMemberCountto get count of member joined inSBDGroupChannel. - Added
myMutedStateto show whether the current user is muted or not inSBDGroupChannel. - Added an api of
getUnreadItemCountWithKey:completionHandler:inSBDGroupChannel.- The api gets an instance of
SBDUnreadItemCountthat contains properties ofnonSuperUnreadMessageCount,superUnreadMessageCount,nonSuperInvitationCount,superInvitationCount. - As a parameter, bitmask
SBDUnreadItemKeyis used. It hasSBDUnreadItemKeyNonSuperUnreadMessageCount,SBDUnreadItemKeySuperUnreadMessageCount,SBDUnreadItemKeyNonSuperInvitationCount,SBDUnreadItemKeySuperInvitationCount.
- The api gets an instance of
- Added a setter for typing indicator throttling interval.
- Fixed a minor bug for
buildFromSerialize: - Fixed a minor bug when uploading file in background.
- Fixed a minor bug when uploading file in background.
- Fixed an occasional member count mismatch in a super group channel.
- Added a property named
myRolein theSBDGroupChannelwhich is a role of current user in the group channel. - Added
SBDGroupChannelTotalUnreadMessageCountParamsclass that is used to get total unread message count.
- Ordered member list by nickname alphabetically.
- Fixed a bug that an encrypted file url contains duplicated query keys.
- Fixed minor bug.
- Fixed minor bug.
- Deprecated
SBDGroupChannelOperatorFilterinSBDGroupChannelMemberListQuery. - Added
createOperatorListQueryinSBDBaseChannelto query users who are operators in the channel. - Removed internal methods.
- Changed code convention in headers.
- Updated project build setting.
- Minor bug fix.
- Added
SBDPushNotificationDeliveryOptionto determine how to deliver the push notification when sending a user or a file message. - Added a method that gets a unread message count with custom types of group channel.
- Changed an ephemeral
SBDGroupChannelto maintain fields oflastMessageandunreadMessageCountafter connected.
- Fixed a bug that can't send file message with a binary file.
- Added mentioning to specific user.
- added channel delegate,
channel:didReceiveMention:, which is called when the current user is mentioned. - added a property named
mentionedUserswhich means the users received mention together.
- added channel delegate,
- Added ephemeral group channel.
- added a property named
isEphemeralinSBDBaseChannel. - added a property named
isEphemeralinSBDGroupChannelParams.
- added a property named
- Added api that can message with an instance of MessageParams .
- added
SBDUserMessageParams,SBDFileMessageParamsbased onSBDBaseMessageParamsto message. - added an api,
sendUserMessageWithParams:completionHandler:, used to send user message with message params. - added apis,
sendFileMessageWithParams:completionHandler:andsendFileMessageWithParams:progressHandler:completionHandler:, used to send file message with message params.
- added
- Added member's state in group channel.
- added a property named
myMemberStatetype ofSBDMemberStatewhich means state of member inSBDGroupChannel. - added
SBDMemberStateNonetype of enum SBDMemberState.
- added a property named
- Added
setConnectionTimeout:to configure websocket timeout. - Removed
SBDChannelEvent.handSBDCommand.h.
- Changed channel 6 delegates parameter type from
SBDOpenChanneltoSBDBaseChannel- changed from
channel:(SBDOpenChannel * _Nonnull)sender userWasMuted: (SBDUser * _Nonnull)usertochannel:(SBDBaseChannel * _Nonnull)sender userWasMuted:(SBDUser * _Nonnull)user - changed from
channel:(SBDOpenChannel * _Nonnull)sender userWasUnmuted:(SBDUser * _Nonnull)usertochannel:(SBDBaseChannel * _Nonnull)sender userWasUnmuted:(SBDUser * _Nonnull)user - changed from
channel:(SBDOpenChannel * _Nonnull)sender userWasBanned:(SBDUser * _Nonnull)usertochannel:(SBDBaseChannel * _Nonnull)sender userWasBanned:(SBDUser * _Nonnull)user - changed from
channel:(SBDOpenChannel * _Nonnull)sender userWasUnbanned:(SBDUser * _Nonnull)usertochannel:(SBDBaseChannel * _Nonnull)sender userWasUnbanned:(SBDUser * _Nonnull)user - changed from
channelWasFrozen:(SBDOpenChannel * _Nonnull)sendertochannelWasFrozen:(SBDBaseChannel * _Nonnull)sender - changed from
channelWasUnfrozen:(SBDOpenChannel * _Nonnull)sendertochannelWasUnfrozen:(SBDBaseChannel * _Nonnull)sender
- changed from
- Moved property named
isFrozenfrom SBDOpenChannel to SBDBaseChannel - Fixed error enum type.
- Removed warning signals.
- Added
setSharedContainerIdentifier:inSBDMainto set shared container identifier of background session configuration for App Extension - Added PublicGroupChannel features.
- new SBDPublicGroupChannelListQuery class.
- added
isPublicin SBDGroupChannel to flag public group channel or private group channel. - added
createPublicGroupChannelListQueryin SBDGroupChannel to create public group channel list query. - added
joinWithCompletionHandler:in SBDGroupChannel to join public group channel. - added filters
publicChannelFilter,customTypeStartsWithFilterin SBDPublicGroupChannelListQuery. - added enum
SBDGroupChannelPublicChannelFilter-SBDGroupChannelPublicChannelFilterAll,SBDGroupChannelPublicChannelFilterPublic,SBDGroupChannelPublicChannelFilterPrivate. - added enum
SBDPublicGroupChannelMembershipFilter-SBDPublicGroupChannelMembershipFilterAll,SBDPublicGroupChannelMembershipFilterJoined.
- Added
channelUrlin SBDGroupChannelParams to create group channel with explicit channel url. - Added
SBDGroupChannelListOrderChannelNameAlphabeticalinSBDGroupChannelListOrderenum. - Added enum
SBDPublicGroupChannelListOrder-SBDPublicGroupChannelListOrderChronological,SBDPublicGroupChannelListOrderChannelNameAlphabetical. - Removed
SBDLogLevelDebugin log level. - Improved socket connection.
- Added
setSharedContainerIdentifier:inSBDMainto set shared container identifier of background session configuration for App Extension
- Fixed SBDGroupChannel instance method name
getUnreadMemebersWithMessage:togetUnreadMembersWithMessage:. - Fixed nullability of
initin SBDFriendListQuery. - Deprecated SBDGroupChannel instance methods -
getLastSeenAtByUser:,getLastSeenAtByUserId:. - Added SBDGroupChannelParams to create or update group channel.
- added
createChannelWithParams:completionHandler:in SBDGroupChannel to create group channel with params. - added
updateChannelWithParams:completionHandler:in SBDGroupChannel to update group channel with params.
- added
- Added SBDGroupChannelMemberListQuery to query member list in group channel.
- added
createMemberListQueryin SBDGroupChannel to create member list query instance.
- added
- Added SuperGroupChannel features.
- added
isSuperin SBDGroupChannel to flag super group channel or not. - added enum
SBDGroupChannelSuperChannelFilter-SBDGroupChannelSuperChannelFilterAll,SBDGroupChannelSuperChannelFilterSuper,SBDGroupChannelSuperChannelFilterNonSuper. - added
superChannelFilterin SBDGroupChannelListQuery to filter super group channel.
- added
- Removed
coverImageNamein SBDGroupChannelParams
- Improved file upload.
- Fixed a bug of updating channel.
- Added dirty flag for cache in SBDGroupChannel, SBDOpenChannel.
- Moved
markAsReadAllWithCompletionHandler:from SBDGroupChannel to SBDMain. - Added
markAsReadWithChannelUrls:completionHandler:in SBDMain to mark ad read some channels. - Added member state filter enum -
SBDMemberStateFilterInvitedByFriend,SBDMemberStatefilterInvitedByNonFriend. - Changed notification key in SBDReachability not to conflict duplicate.
- Changed callback parameters of
getFriendChangeLogsByToken:completionHandler:. CombinedaddedUsersandupdatedUserstoupdatedUsers. - Change unread message count behavior.
- Updated SocketRocket library.
- Fixed SocketRocket library not working with 'MyDataManager' application.
- Improved routing.
- Improved socket connection.
- Added
setCustomTypesFilterinSBDGroupChannelListQueryto search group channels. - Added
originalProfileUrlinSBDUserfor getting original profile image. - Added Friend feature.
addFriendsWithUserIds:completionHandler:adds friends with friends' user IDs.deleteFriendWithUserId:completionHandler:deletes a friend with a friend's user ID.deleteFriendsWithUserIds:completionHandler:deletes friends with friends' user IDs.deleteFriendWithDiscovery:completionHandler:deletes friend's discovery key.deleteFriendsWithDiscoveries:completionHandler:deletes friends' discovery keys.uploadFriendDiscoveries:completionHandler:adds friend using discovery key.getFriendChangeLogsByToken:completionHandler:gets the logs about changing friend relation.createFriendListQuerycreates aSBDFriendListQueryobject for getting friend list.addUserEventDelegate:identifier:adds delegate for receiving user event.removeUserEventDelegateForIdentifier:removes user event delegate with identifier.removeAllUserEventDelegatesremoves all user event delegate.SBDUserEventDelegate: user event delegate.
- From now, even when you call
connectWithUserId:...before the previousconnectWithUserId:...finishes, all of them get called back for the connection establishment result at the same time.
- Fixed file uploading bug.
- Fixed connection bug.
- Fixed
stateofSBDMemberbug.
- Added
isActiveproperty toSBDUser.
- Fixed bug.
- Added
channelWasHidden:delegate toSBDChannelDelegatefor a channel hidden event.
- Added a group channel hidden event.
- Added
isHiddenproperty to a group channel.
- Fixed bug of file message's custom type.
- Turned off LLVM profiling and code coverage options.
- Bitcode support.
- DO NOT USE THIS VERSION
- Fixed reconnection bug.
- Fixed message parsing bug.
- Added a method to count my group channels.
- Added a method to reset the group channel history.
- Added user block flags to a member of group channels.
- Added a method to get message changelogs.
- Deprecated filters of channel list query as properties.
- Added methods for filters of channel list query.
- Added new option to the method to hide a group channel for hiding the previous messages when the channel was hidden.
- Added freeze state to open channel.
- Added user meta data.
- Added meta data filter to user list query.
- Set default value to channel data.
- Added conditions to avoid null value when channel instance is updated.
- Fixed URL encoding bug.
- Fixed memory leak.
- Added events for changing meta counters and meta data.
- Added channel url filter for group channel list query.
- Fixed serialization bug.
- Fixed serialization bug.
- Added methods to copy a user message and a file message to another channel.
- Added
SBDMemberclass for an invitation. - Changed member objects of
SBDGroupChanneltoSBDMemberobjects. - Added the methods to accept and decline an invitation to
SBDGroupChannelobject. - Added
SBDMemberStateFilterfor group channel list query. - Added the methods to set and get the channel invitation preference for automatic acceptance.
- Added
channel:userDidJoin:inviter:delegate for invitation acceptance. - Added
channel:didReceiveInvitation:inviter:delegate for an invitation.
- Added a setter and a getter for push sound.
- Added custom type filter to channel query.
- Fixed bug of participant count in open channel.
- Added a channel URL parameter to a method to create an open channel.
- Added methods to update a user message and a file message.
- Added a delegate to receive the event for message updating.
- Added a method to cancel uploading file message.
- Improved connection performance.
- Only iOS 8.0 or later is supported from this version.
Podfilehas to be updated for dynamic frameworks like this:
platform :ios, '8.0'
use_frameworks!
target YOUR_PROJECT_TARGET do
pod 'SendBirdSDK'
end
-
This is the biggest release since our initial v3 release. Some of changes should be carefully taken when you update the SDK.
-
Now every completion handler/delegates in SDK is returned to MAIN THREAD queue. It used to be inconsistent so some were returned to main thread and others to background thread. Be aware that you shouldn't call any blocking/long running job without using custom background queue in our completion handler/delegates!!!!
For your convenience we added the methods to set default dispatch queue for every delegates and completion handlers. The queue can be changed like this:
[SBDMain setCompletionHandlerDelegateQueue:dispatch_get_main_queue()];or
[SBDMain setCompletionHandlerDelegateQueue:dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)];- The auto reconnection is also triggered with network awareness. The default option is on but you might want to turn it off if you have manual network detection to call reconnect(). It can be turned on or off like this:
[SBDMain setNetworkAwarenessReconnection:YES];or
[SBDMain setNetworkAwarenessReconnection:NO];- Now we support file uploading in background so you can send very large files.
- Improved connection speed.
- Fixed serialization bug.
- Fixed unread message count bug.
- Fixed unread message count sync problem.
- Added a method to get total unread channel count.
- Added option for sync member in group channel and sender of message.
- Added accurate error.
- Fixed unread count bug of group channel.
- Added message type and custom type options for getting messages.
- Added serialization for SBDUser, SBDBaseChannel, and SBDBaseMessage object.
- Fixed bugs of send user message and file message.
- Added file encryption.
- Fixed connection bug.
- Fixed bug of updating meta counter of channel.
Note that we don't return result objects anymore when there's an error in completion handlers starting from this version. Please make sure that you don't use a result object when an error occurs after updating SDK.
- Fixed bug of thumbnail image in file message.
- Added a method to run reconnection.
- Improved unread message count management.
- Added error for uninitialized class.
- Improved usability of channel delegates and connection delegates.
- Modified network error code.
- Added error code for network error.
- More accurate connection state.
- Fixed the bug of unread message count in group channel.
- Added file name parameter to the message for sending file with URL.
- Added file path parameter to the methods which are for uploading file.
- Added the class to represent a thumbnail max size.
- Fixed the bug of the group channel's data.
- Added the feature for generating the thumbnail of the image file message.
- Added a feature that sets a push notification template.
- Fixed channel URL and user ID encoding bug.
- Fixed bug of creating group channel with distinct option.
- Added
uniqueoption to push registration.
- Fixed bug of unread message count of group channel.
- Added
isPushEnabledproperty toSBDGroupChannelin order to represent the push notification configuration. - Deprecated
getPushPreferenceWithCompletionHandler:ofSBDGroupChannel.
- Fixed bug of unread message count and last message of group channel.
- Added user IDs filters and query type to
SBDGroupChannelListQuery. - Added channel custom type for
SBDOpenChannelandSBDGroupChannel. - Fixed to call
channelWasChanged:delegate when unread message count or last message has been updated. - Fixed bug of reconnection for
SBDOpenChannel.
- Fixed bug of last message of group channels.
- Fixed connection bug.
- Added group channel list search by a member nickname. (Search by multiple nicknames option in v3.0.15 is no more supported.)
- Added auto-translating feature to SBDUserMessage.
- Improved connection performance.
- Added custom type to messages.
- Added group channel list search by member nicknames and user IDs.
- Added creating and updating channel cover image with binary file.
- Fixed URL encoding bug.
- Fixed minor bug.
- Support Base SDK 9.3
- Fixed bug of the channel type of messages.
- Support Carthage.
- Fixed unread message count bug.
- Fixed minor bugs.
- Fixed bug of disconnection and reconnection (APNS-related bug).
- Removed validation of sending a user message.
- Added a channel type to messages from a message query.
- Fixed bug of
dataofSBDFileMessage. - Added a method to get user list with user IDs(
+ createUserListQueryWithUserIds:ofSBDMain). - Added a method to register a APNS device token without login(
+ registerDevicePushToken:completionHandler:ofSBDMain). - Added keywords for open channel name and URL search(
urlKeywordandnameKeywordofSBDOpenChannelListQuery). - Added a method to get a total unread message count(
+ getTotalUnreadMessageCountWithCompletionHandler:ofSBDGroupChannel). - Added a method to get a last timestamp when a user read at the channel(
- getLastSeenAtByUser:and- getLastSeenAtByUserId:ofSBDGroupChannel). - Added a method to get members who read the message(
- getReadMembersWithMessage:ofSBDGroupChannel). - Added a method to get members who did not read the message(
- getUnreadMemebersWithMessage:ofSBDGroupChannel). - Added a method to get the read status(
- getReadStatusofSBDGroupChannel). - Added methods to set push preference(
- setPushPreferenceWithPushOn:completionHandler:and- getPushPreferenceWithCompletionHandler:ofSBDGroupChannel.+ setDoNotDisturbWithEnable:startHour:startMin:endHour:endMin:timezone:completionHandler:and+ getDoNotDisturbWithCompletionHandler:ofSBDMain). - Deprecated
+ registerPushToken:completionHandler:ofSBDMain.
- Fixed group channel unread count bug.
- Fixed minor bug.
- Added URL encoding to API parameters.
- ** DO NOT USE THIS VERSION **
- Removed duplicated symbols.
- Removed duplicated symbol.
- Updated version.
- Fixed reconnection bug.
- First release.