- Add consumerProguardFile for libraries used in SDK
- Improved stability.
- Fixed bugs on push notification not being received when app is killed. (Only for apps that use push notifications for multi-device users (Android only))
- Added
includeFrozen
property inGroupChannelListQuery
,PublicGroupChannelListQuery
,OpenChannelListQuery
andGroupChannelChangeLogsParams
. - Added
GroupChannelChangeLogsParams
. - Added
getMyGroupChannelChangeLogsByTokenWithParams()
,getMyGroupChannelChangeLogsByTimestampWithParams()
and deprecatedgetMyGroupChannelChangeLogsByToken()
,getMyGroupChannelChangeLogsByTimestamp()
- Added
AppInfo
class (for UIKit) - Added emoji feature with
Emoji
,EmojiCategory
,EmojiContainer
class (for UIKit) - Improved stability.
- Added
setMetaArrays(List<MessageMetaArray>)
inUserMessageParams
andFileMessageParams
. - Deprecated
setMetaArrayKeys(List<String>)
inUserMessageParams
andFileMessageParams
. - Improved stability.
- Prevent crash issue on receiving custom push notification.
- Improved stability.
- Improved stability.
- Stabilize connection state.
- Improved stability.
- Improved stability.
- Added
getRole()
inMember
to specify whether the member is an operator of the channel or not. - Added
onOperatorUpdated(BaseChannel channel)
inChannelHandler
. OpenChannel.getOperators
now returns the operator list as an unmodifiableList.- Improved stability.
- Improved stability.
- Added multi-device support for push notifications.
- Improved stability.
- Deprecated 3.0.119 as
BaseChannel.resendUserMessage
causes crash when used with SyncManager's autoResend feature. - Added version control over the final state of
reactions
. - Changed the order of reactions.
- Removed a
ERR_REACTION_DUPLICATED
error code - Added
SendingStatus
inBaseMessage
, and deprecatedRequestState
inUserMessage
,FileMessage
.NONE
,PENDING
,FAILED
,SUCCEEDED
,CANCELED
.
- Improved stability.
resendUserMessage()
,resendFileMessage()
returns the corresponding messages withPENDING
state.- Improved stability.
- Moved
getRequestId()
,getMessage()
,getSender()
toBaseMessage
to prevent type-casting. - Redefined
equals()
,hashCode()
methods. Following objects is affected by this.BaseMessage
,UserMessage
,FileMessage
,AdminMessage
User
,Memeber
,Sender
- Improved stability.
- Improved stability.
- Supports Full-Text Message Search Feature
- Added
MessageSearchQuery
to search messages. - Added builder class
MessageSearchQuery.Builder
to buildMessageSearchQuery
.
- Added
- Improved stability.
- Fixed minor bugs.
- Supports reactions in
BaseMessage
- Added
Reaction
andReactionEvent
classes. - Added
addReaction(BaseMessage message, String key, ReactionHandler handler)
inBaseChannel
. - Added
deleteReaction(BaseMessage message, String key, ReactionHandler handler)
inBaseChannel
. - Added
includeReactions
parameter toget**MessagesById()
,get**MessagesByTimestamp()
inBaseChannel
. - Added
includeReactions
parameter togetMessageChangeLogsByToken()
,getMessageChangeLogsByTimestamp()
inBaseChannel
. - Added
onReactionUpdated(BaseChannel channel, ReactionEvent reactionEvent)
inChannelHandler
. - Added
getReactions()
inBaseMessage
. - Added
applyReactionEvent(ReactionEvent reactionEvent)
inBaseMessage
. - Added a
ERR_REACTION_DUPLICATED
error code for the send reaction request which usually occurs a duplicate reaction.
- Added
- Added
markAsDelivered()
inSendBird
. - Added
markAsDelivered()
,getDeliveryReceipt()
inGroupChannel
. - Added
onDeliveryReceiptUpdated
inChannelHandler
. - Improved stability.
- Improved stability.
- Added
errorCode
andisResendable()
inUserMessage
andFileMessage
.resendUserMessage()
andresendFileMessage()
work only whenisResendable()
istrue
.
- Supports push translation.
- Added
updateCurrentUserInfo(List<String> preferredLanguages, UserInfoUpdateHandler handler)
in SendBird. - Added
getPreferredLanguages()
in User.
- Added
- Improved stability.
- Added
getMessageOffsetTimestamp()
in GroupChannel.
- SendBird Android SDK has been changed from Java Archive(
JAR
) into Android Archive(AAR
). - Supports TLS1.3.
- Improved stability.
- Added
report(ReportCategory reportCategory, String reportDescription, ReportHandler handler)
in BaseChannel. - Added
reportUser(User offendingUser, ReportCategory reportCategory, String reportDescription, ReportUserHandler handler)
in BaseChannel. - Added
reportMessage(BaseMessage message, ReportCategory reportCategory, String reportDescription, ReportMessageHandler handler)
in BaseChannel. - Added
onTotalUnreadMessageCountChanged(int totalCount, Map<String, Integer> totalCountByCustomType)
in UserEventHandler.
- Improved stability.
- Improved stability.
- Improved stability.
- Improved stability.
- Improved stability.
- Improved
MetaArray
inBaseMessage
.MetaArray
order passed as a parameter will be kept.- Added
MessageMetaArray
class. - Added
getAllMetaArrays()
andgetMetaArrays(Collection<String> metaArrayKeys)
inBaseMessage
. - Added
addMessageMetaArrayValues(BaseMessage message, List<MessageMetaArray> metaArrays, MessageMetaArrayHandler handler)
andremoveMessageMetaArrayValues(BaseMessage message, List<MessageMetaArray> metaArrays, MessageMetaArrayHandler handler)
inBaseChannel
. - Deprecated
getAllMetaArray()
andgetMetaArray(Collection<String> metaArrayKeys)
inBaseMessage
. - Deprecated
addMessageMetaArrayValues(BaseMessage message, Map<String, List<String>> metaArrayMap, MessageMetaArrayHandler handler)
andremoveMessageMetaArrayValues(BaseMessage message, Map<String, List<String>> metaArrayMap, MessageMetaArrayHandler handler)
inBaseChannel
.
- Added
- Added
resendFileMessage(FileMessage fileMessage, File file, ResendFileMessageHandler handler)
andresendFileMessage(FileMessage fileMessage, File file, ResendFileMessageWithProgressHandler handler)
inBaseChannel
. - Added
getRequestState()
andenum RequestState { NONE, PENDING, FAILED, SUCCEEDED }
inFileMessage
. - Added
setStrict(boolean strict)
inGroupChannelParams
. If it is set to true, the channel creation will be failed if any of the users do not exist. - Added
translateUserMessage(UserMessage userMessage, List<String> targetLanguages, TranslateUserMessageHandler handler)
inBaseChannel
. - Added
getRequestedMentionUserIds()
inUserMessage
andFileMessage
.
- Added
setThreadOption(ThreadOption threadOption, Handler handler)
in SendBird.Option. - Deprecated
useUiThreadForCallbacks(boolean)
andsetHandlerForCallbacks(Handler handler)
in SendBird.Option. - Improved stability.
- Added
setHandlerForCallbacks(Handler handler)
in SendBird.Options. - Improved stability.
- Added
getRequestState()
andenum RequestState { NONE, PENDING, FAILED, SUCCEEDED }
in UserMessage. - Added
resendUserMessage(UserMessage userMessage, ResendUserMessageHandler handler)
in BaseChannel. - Added
getMyLastRead()
in GroupChannel. - Added
createChannelWithOperatorUserIds(String name, String channelUrl, Object coverUrlOrImage, String data, String customType, List<String> operatorUserIds, OpenChannelCreateHandler handler)
in OpenChannel.
- Added
delete(GroupChannelDeleteHandler handler)
inGroupChannel
.
- Added
isDiscoverable
property toGroupChannel
andGroupChannelParams
.- if
isDiscoverable
of a public group channel is set to false, then the channel will not appear on the result ofPublicGroupChannelListQuery
.
- if
- Improved stability.
- Improved stability.
- Improved stability.
- Fixed minor bug.
- Fixed minor bug.
- Added getter methods of
GroupChannelListQuery
andPublicGroupChannelListQuery
properties. - Added overriding method
equals()
inBaseMessage
,AdminMessage
,FileMessage
,UserMessage
,User
,Sender
andMember
. - Fixed minor bug.
- Fixed minor bug.
- Added
enum PushTriggerOption {ALL, OFF, MENTION_ONLY, DEFAULT}
inGroupChannel
.ALL
: It receives all push notifications.OFF
: It doesn't receive any push notifications.MENTION_ONLY
: It receives push notifications which mention me.DEFAULT
: It receives push notifications according to the state ofPushTriggerOption
inSendBird
.PushTriggerOption
ofGroupChannel
has higher priority thanSendBird
's. It depends onSendBird
'sPushTriggerOption
only whenGroupChannel
'sPushTriggerOption
isDEFAULT
.
- Added
setMyPushTriggerOption(PushTriggerOption pushTriggerOption, GroupChannelSetMyPushTriggerOptionHandler handler)
inGroupChannel
. - Added
getMyPushTriggerOption(GroupChannelGetMyPushTriggerOptionHandler handler)
inGroupChannel
. - Added
enum PushTriggerOption {ALL, OFF, MENTION_ONLY}
inSendBird
.ALL
: It receives all push notifications.OFF
: It doesn't receive any push notifications.MENTION_ONLY
: It receives push notifications which mention me.
- Added
setPushTriggerOption(PushTriggerOption pushTriggerOption, SetPushTriggerOptionHandler handler)
inSendBird
. - Added
getPushTriggerOption(GetPushTriggerOptionHandler handler)
inSendBird
. - Added
setSnoozePeriod(boolean snoozeOn, long startTs, long endTs, SetSnoozePeriodHandler handler)
inSendBird
.- It snooze or stop snooze push notification in specific duration.
- Added
getSnoozePeriod(GetSnoozePeriodHandler handler)
inSendBird
.
- Fixed minor bugs.
- Fixed minor bugs.
- Added
createDistinctChannelIfNotExist(GroupChannelParams params, GroupChannelCreateDistinctChannelIfNotExistHandler handler)
inGroupChannel
.- It creates distinct channel and gets the channel with
isCreated
flag which represents whether the channel is actually created or not.
- It creates distinct channel and gets the channel with
- Added
hide(boolean hidePreviousMessages, boolean allowAutoUnhide, GroupChannelHideHandler handler)
inGroupChannel
. - Added
unhide(GroupChannelUnhideHandler handler)
inGroupChannel
. - Added
getHiddenState()
inGroupChannel
. - Added
enum HiddenState { UNHIDDEN, HIDDEN_ALLOW_AUTO_UNHIDE, HIDDEN_PREVENT_AUTO_UNHIDE }
inGroupChannel
.UNHIDDEN
: It's not hidden channel.HIDDEN_ALLOW_AUTO_UNHIDE
: It's hidden channel which is automatically unhidden when new message comes in.HIDDEN_PREVENT_AUTO_UNHIDE
: It's hidden channel which is not unhidden when new message comes in.
- Added
setHiddenChannelFilter(HiddenChannelFilter hiddenChannelFilter)
inGroupChannelListQuery
. - Added
enum HiddenChannelFilter { UNHIDDEN, HIDDEN, HIDDEN_ALLOW_AUTO_UNHIDE, HIDDEN_PREVENT_AUTO_UNHIDE }
inGroupChannelListQuery
.UNHIDDEN
: Get all unhidden channels. (default)HIDDEN
: Get all hidden channels whichHiddenState
isHIDDEN_ALLOW_AUTO_UNHIDE
orHIDDEN_PREVENT_AUTO_UNHIDE
.HIDDEN_ALLOW_AUTO_UNHIDE
: Get channels whichHiddenState
isHIDDEN_ALLOW_AUTO_UNHIDE
.HIDDEN_PREVENT_AUTO_UNHIDE
: Get channels whichHiddenState
isHIDDEN_PREVENT_AUTO_UNHIDE
.
- Added
getMessageChangeLogsByTimestamp(long ts, GetMessageChangeLogsHandler handler)
inBaseChannel
.- It retrieves message change logs since the given timestamp.
- Changed type of
getSender()
inUserMessage
andFileMessage
fromUser
to a new classSender
which extendsUser
. Sender
hasisBlockedByMe()
which indicates that the message sender is blocked by the current user (default: false).isBlockedByMe()
is valid inGroupChannel
only.- Message from blocked users is delivered only when block_mode in SendBird application is set to explicit mode. Otherwise, it's not visible nor delivered.
- Fixed minor bugs.
- Added
ApplicationUserListQuery
,BlockedUserListQuery
,ParticipantListQuery
,MutedUserListQuery
andBannedUserListQuery
classes. - Added
setUserIdsFilter(List<String> userIds)
andsetMetaDataFilter(String metaDataKey, List<String> metaDataValues)
inApplicationUserListQuery
. - Added
setUserIdsFilter(List<String> userIds)
inBlockedUserListQuery
. - Updated
createBlockedUserListQuery()
inSendBird
to returnBlockedUserListQuery
instance. - Updated
createBannedUserListQuery()
inGroupChannel
to returnBannedUserListQuery
instance. - Updated
createParticipantListQuery()
inOpenChannel
to returnParticipantListQuery
instance. - Updated
createMutedUserListQuery()
inOpenChannel
to returnMutedUserListQuery
instance. - Updated
createBannedUserListQuery()
inOpenChannel
to returnBannedUserListQuery
instance. - Deprecated
UserListQuery
createUserListQuery()
inSendBird
. - Deprecated
UserListQuery
createUserListQuery(List<String> userIds)
inSendBird
. - Deprecated
setMetaDataFilter(String metaDataKey, List<String> metaDataValues)
inUserListQuery
. - Fixed minor bugs.
- Added
registerScheduledUserMessage(ScheduledUserMessageParams params, RegisterScheduledUserMessageHandler handler)
inGroupChannel
. - Added
ScheduledUserMessageParams
andScheduledUserMessage
. - Added
setTranslationTargetLanguages(List<String> targetLanguages)
and deprecatedsetTargetLanguages(List<String> targetLanguages)
inUserMessageParams
. - Improved stability.
- Fixed minor bugs.
- Added
getMyMutedInfo()
inBaseChannel
. - Added
muteUser(User user, String description, int seconds, GroupChannelMuteHandler handler)
inGroupChannel
. - Added
muteUserWithUserId(String userId, String description, int seconds, GroupChannelMuteHandler handler)
inGroupChannel
. - Added
muteUser(User user, String description, int seconds, OpenChannelMuteHandler handler)
inOpenChannel
. - Added
muteUserWithUserId(String userId, String description, int seconds, OpenChannelMuteHandler handler)
inOpenChannel
. - Added
setOrder(Order.METADATA_VALUE_ALPHABETICAL)
withsetMetaDataOrderKeyFilter()
inGroupChannelListQuery
andPublicGroupChannelListQuery
.
- Stabilized
updateCurrentUserInfoWithProfileImage()
.
- Added
getLastConnectedAt()
inSendBird
. - Fixed minor bugs.
- Improved stability.
- Added
getTotalUnreadMessageCount(GroupChannel.GroupChannelTotalUnreadMessageCountHandler handler)
inSendBird
. - Added
getTotalUnreadMessageCount(List<String> channelCustomTypes, GroupChannel.GroupChannelTotalUnreadMessageCountHandler handler)
inSendBird
. - Added
getTotalUnreadMessageCount(GroupChannelTotalUnreadMessageCountParams params, GroupChannel.GroupChannelTotalUnreadMessageCountHandler handler)
inSendBird
. - Added
getUnreadItemCount(Collection<GroupChannel.UnreadItemKey> keys, GroupChannel.GroupChannelGetUnreadItemCountHandler handler)
inSendBird
. - Added
getTotalUnreadChannelCount(GroupChannel.GroupChannelTotalUnreadChannelCountHandler handler)
inSendBird
. - Added
getGroupChannelCount(GroupChannelListQuery.MemberStateFilter memberStateFilter, GroupChannel.GroupChannelChannelCountHandler handler)
inSendBird
. - Added
getReadMembers(BaseMessage message, boolean includeAllMembers), getUnreadMembers(BaseMessage message, boolean includeAllMembers)
andgetReadStatus(boolean includeAllMembers)
inGroupChannel
. - Added a
ERR_CONNECTION_CANCELED
error code for the connect cancel event which usually occurs on disconnect while connecting. - Deprecated
CLOSING
in enumConnectionState
inSendBird
. - Deprecated
createChannel(List<User> users, boolean isDistinct, String name, Object coverUrlOrImage, String data, GroupChannelCreateHandler handler)
inGroupChannel
. - Deprecated
createChannelWithUserIds(List<String> userIds, boolean isDistinct, String name, Object coverUrlOrImage, String data, GroupChannelCreateHandler handler)
inGroupChannel
. - Deprecated
updateChannel(boolean isDistinct, String name, Object coverUrlOrImage, String data, GroupChannelUpdateHandler handler)
inGroupChannel
. - Deprecated
getTotalUnreadMessageCount(GroupChannelTotalUnreadMessageCountHandler handler)
inGroupChannel
. - Deprecated
getTotalUnreadMessageCount(List<String> channelCustomTypes, GroupChannelTotalUnreadMessageCountHandler handler)
inGroupChannel
. - Deprecated
getTotalUnreadMessageCount(GroupChannelTotalUnreadMessageCountParams params, GroupChannelTotalUnreadMessageCountHandler handler)
inGroupChannel
. - Deprecated
getUnreadItemCount(Collection<UnreadItemKey> keys, GroupChannelGetUnreadItemCountHandler handler)
inGroupChannel
. - Deprecated
getTotalUnreadChannelCount(GroupChannelTotalUnreadChannelCountHandler handler)
inGroupChannel
. - Deprecated
getChannelCount(GroupChannelListQuery.MemberStateFilter memberStateFilter, GroupChannelChannelCountHandler handler)
inGroupChannel
. - Deprecated
getReadMembers(BaseMessage message), getUnreadMembers(BaseMessage message)
andgetReadStatus()
inGroupChannel
. - Deprecated
createChannel(String name, Object coverUrlOrImage, String data, OpenChannelCreateHandler handler)
inOpenChannel
. - Deprecated
createChannel(String name, Object coverUrlOrImage, String data, List<User> operatorUsers, OpenChannelCreateHandler handler)
inOpenChannel
. - Deprecated
updateChannel(String name, Object coverUrlOrImage, String data, List<User> operatorUsers, OpenChannelUpdateHandler handler)
inOpenChannel
. - Deprecated
sendFileMessage(File file, String name, String type, int size, String data, String customType, SendFileMessageHandler handler)
inBaseChannel
. - Deprecated
sendFileMessage(File file, String name, String type, int size, String data, String customType, SendFileMessageWithProgressHandler handler)
inBaseChannel
. - Deprecated
sendUserMessage(String message, String data, SendUserMessageHandler handler)
inBaseChannel
. - Deprecated
sendUserMessage(String message, String data, String customType, SendUserMessageHandler handler)
inBaseChannel
. - Fixed minor bugs.
- Improved stability.
- From now,
useMemberAsMessageSender()
option is true by default. - Fixed a bug previous messages not showing the sender's latest user metadata.
- Added
SendBird.Options.useUiThreadForCallbacks()
to give developers an option for threads the callbacks are running. By default, it is UI thread but you can choose to run on background threads. - Fixed minor bugs.
- Added
updateUserMessage()
withUserMessageParams
inBaseChannel
. - Added
updateFileMessage()
withFileMessageParams
inBaseChannel
. - Added
UserMessageParams()
default constructor inUserMessageParams
. - Added
setMessage()
inUserMessageParams
. - Added
FileMessageParams()
default constructor inFileMessageParams
. - Added
setFileUrl()
andsetFile()
inFileMessageParams
. - Minor bug fixed.
- Improved connection management.
- Fixed a bug occasionally occurring when a group channel is created with multiple users.
- Fixed TLS handshake related bug in Android 8.1.0.
- Added
getInvitedAt()
inGroupChannel
.
- Minor bug fixed.
- Added
load(MessageListQueryResult handler)
,setLimit()
,setReverse()
,setMessageTypeFilter()
,setCustomTypeFilter()
,setSenderUserIdsFilter()
inPreviousMessageListQuery
. - Added
getNextMessagesByTimestamp()
,getPreviousMessagesByTimestamp()
,getPreviousAndNextMessagesByTimestamp()
,getNextMessagesById()
,getPreviousMessagesById()
,getPreviousAndNextMessagesById()
withsendUserIds
parameter inBaseChannel
.
- Disabled to put the current user into
mentionedUsers
,mentionedUserIds
inUserMessageParams
andFileMessageParams
. - Changed not to increase
unreadMentionCount
and not to callonMentionReceived
for CHANNEL mention by the current user (i.e. the message sender is the current user).
- Added
getUnreadMentionCount()
inGroupChannel
. - Added
UNREAD_MENTION_COUNT_ONLY
inCountPreference
inGroupChannel
. - Added
GROUP_CHANNEL_UNREAD_MESSAGE_COUNT
,GROUP_CHANNEL_UNREAD_MENTION_COUNT
,GROUP_CHANNEL_INVITATION_COUNT
,NONSUPER_UNREAD_MENTION_COUNT
,SUPER_UNREAD_MENTION_COUNT
in enumUnreadItemKey
inGroupChannel
. - Added
getMentionType()
inBaseMessage
with enumMentionType { USERS, CHANNEL }
inBaseMessageParams
. - Added
setMentionType()
inUserMessageParams
andFileMessageParams
.
- Added
getMyCountPreference()
andsetMyCountPreference()
inGroupChannel
. - Added
setNicknameStartsWithFilter()
inGroupChannelMemberListQuery
.
- Added
getJoinedMemberCount()
inGroupChannel
to show the total count of joined users in aGroupChannel
. - Added
getMyMutedState()
inGroupChannel
to show the state of the connected user in aGroupChannel
. - Added
setMemberStateFilter()
inGroupChannelMemberListQuery
to search members based on the state of the member in aGroupChannel
. - Added
getUnreadItemCount()
inGroupChannel
withenum UnreadItemKey
{NONSUPER_UNREAD_MESSAGE_COUNT
,SUPER_UNREAD_MESSAGE_COUNT
,NONSUPER_INVITATION_COUNT
,SUPER_INVITATION_COUNT
}.
- Added a typing indicator throttle option in
SendBird.Options
. - Fixed a minor bug when uploading file in background.
- Fixed an occasional member count mismatch in a super group channel.
- Added
getTotalUnreadMessageCount()
withGroupChannelTotalUnreadMessageCountParams
inGroupChannel
to support filter for total unread message count. - Added
getMyRole()
inGroupChannel
to specify the current user is operator of the channel or not.
- Now
GroupChannelMemberListQuery
returns the member list in nickname alphabetical order. - Improved connection stability.
- Added
createOperatorListQuery()
inBaseChannel
andOperatorListQuery
. - Deprecated
setOperatorFilter(OperatorFilter operatorFilter)
andOperatorFilter
inGroupChannelMemberListQuery
.
- Added
getTotalUnreadMessageCount()
with channel custom types filter inGroupChannel
. - Added
setPushNotificationDeliveryOption(PushNotificationDeliveryOption pushNotificationDeliveryOption)
inUserMessageParams
andFileMessageParams
.
- From now, an ephemeral
GroupChannel
maintains the last message and unread message count after the connection is made.
- Fixed
groupChannel.getMyMemberState()
returning not accurate value for the 1st time.
- Added
setConnectionTimeout()
toSendBird.Options
to support configurable connection timeout.
- Added
setEphemeral(boolean isEphemeral)
inGroupChannelParams
to create a channel not allowing message retention. - Added
isEphemeral()
inBaseChannel
. - Added
BaseMessageParams
,UserMessageParams
andFileMessageParams
to send messages in object form.BaseMessageParams
support mentioned messages bysetMentionedUserIds
andsetMentionedUsers
.
- Added
sendUserMessage(UserMessageParams params, SendUserMessageHandler handler)
inBaseChannel
. - Added
sendFileMessage(FileMessageParams params, SendFileMessageHandler handler)
inBaseChannel
. - Added
sendFileMessage(FileMessageParams params, SendFileMessageWithProgressHandler handler)
inBaseChannel
. - Added
onMentionReceived(BaseChannel channel, BaseMessage message)
inChannelHandler
to receive mentioned message. - Added
getMentionedUsers()
inBaseMessage
. - Added
getMyMemberState()
inGroupChannel
for current logged-in user's joined state for the channel. - Deprecated
MemberState
enumerator inGroupChannel
and addedMemberStateFilter
inGroupChannelListQuery
enumerator instead. - Deprecated
getChannelCount(MemberState memberState, GroupChannelChannelCountHandler handler)
inGroupChannel
. - Added
getChannelCount(GroupChannelListQuery.MemberStateFilter memberStateFilter, GroupChannelChannelCountHandler handler)
inGroupChannel
. - Deprecated
setMemberStateFilter(GroupChannel.MemberState memberState)
inGroupChannelListQuery
. - Added
setMemberStateFilter(MemberStateFilter memberStateFilter)
inGroupChannelListQuery
. - Deprecated
getState()
in Member and addedgetMemberState()
instead. - Improved stabilization.
- Fix minor bug.
- Added
setOperators()
andsetOperatorUserIds()
inGroupChannelParams
. - Added
freeze()
,unfreeze()
andisFrozen()
inGroupChannel
. - Added
banUser()
andbanUserWithUserId()
inGroupChannel
. - Added
unbanUser()
andunbanUserWithUserId()
inGroupChannel
. - Added
muteUser()
andmuteUserWithUserId()
inGroupChannel
. - Added
unmuteUser()
andunmuteUserWithUserId()
inGroupChannel
. - Added
createBannedUserListQuery()
inGroupChannel
. - Added
setOperatorFilter()
andsetMutedMemberFilter()
inGroupChannelMemberListQuery
. - Modified
onUserBanned(OpenChannel channel, User user)
toonUserBanned(BaseChannel channel, User user)
inChannelHandler
. - Modified
onUserUnbanned(OpenChannel channel, User user)
toonUserUnbanned(BaseChannel channel, User user)
inChannelHandler
. - Modified
onUserMuted(OpenChannel channel, User user)
toonUserMuted(BaseChannel channel, User user)
inChannelHandler
. - Modified
onUserUnmuted(OpenChannel channel, User user)
toonUserUnmuted(BaseChannel channel, User user)
inChannelHandler
. - Modified
onChannelFrozen(OpenChannel channel, User user)
toonChannelFrozen(BaseChannel channel, User user)
inChannelHandler
. - Modified
onChannelUnfrozen(OpenChannel channel, User user)
toonChannelUnfrozen(BaseChannel channel, User user)
inChannelHandler
. - Now
sender
inUserMessage
andFileMessage
supportgetMetaData()
.
- Added
createPublicGroupChannelListQuery()
inGroupChannel
. - Added
isPublic()
inGroupChannel
. - Added join in
GroupChannel
. - Added
CHANNEL_NAME_ALPHABETICAL
inOrder
inGroupChannelListQuery
. - Added
PublicChannelFilter
inGroupChannelListQuery
. - Added
setCustomTypeStartsWithFilter()
inGroupChannelListQuery
. - Added
setPublicChannelFilter()
inGroupChannelListQuery
. - Added
setPublic()
inGroupChannelParams
. - Added
setChannelUrl()
inGroupChannelParams
. - Added
PublicGroupChannelListQuery
. - Improved stabilization.
- Added
createChannel()
withGroupChannelParams
inGroupChannel
. - Added
createMemberListQuery()
inGroupChannel
. - Added
isSuper()
inGroupChannel
. - Added
updateChannel()
withGroupChannelParams
inGroupChannel
. - Deprecated
getLastSeenAtBy()
inGroupChannel
. - Deprecated
getLastSeenAtByWithUserId()
inGroupChannel
. - Added
SuperChannelFilter
inGroupChannelListQuery
. - Added
setSuperChannelFilter()
inGroupChannelListQuery
. - Added
GroupChannelMemberListQuery
. - Added
GroupChannelParams
.
- Improved stabilization of calling
disconnect()
while sending messages or mark as read. - Deprecated
markAsReadAll()
inGroupChannel
. - Added
INVITED_BY_FRIEND
,INVITED_BY_NON_FRIEND
insetMemberStateFilter()
inGroupChannelListQuery
. - Added
markAsReadAll()
inSendBird
. - Added
markAsReadWithChannelUrls()
inSendBird
. - Fixed Minor bugs.
- Added
FriendListQuery
. - Added
setCustomTypesFilter()
inGroupChannelListQuery
. - Added
addUserEventHandler()
inSendBird
. - Added ``removeUserEventHandler()
in
SendBird`. - Added
removeAllUserEventHandlers()
inSendBird
. - Added
addFriends()
inSendBird
. - Added
deleteFriends()
inSendBird
. - Added
deleteFriend()
inSendBird
. - Added
uploadFriendDiscoveries()
inSendBird
. - Added
deleteFriendDiscoveries()
inSendBird
. - Added
deleteFriendDiscovery()
inSendBird
. - Added
getFriendChangeLogsByToken()
inSendBird
. - Added
createFriendListQuery()
inSendBird
. - Added
getOriginalProfileUrl()
inUser
. - Improved
ConnectHandler
callback. - Fixed Minor bugs.
- Improved connection stability.
- Improved connection stability.
- Modified
getConnectionState()
method. - Added
isActive()
toUser
.
- Modified
init()
method.
- Stabilized to support Android O.
- Fixed
GroupChannel
isHidden()
bug.
- Added
onChannelHidden()
toChannelHandler
.
- Fixed bugs handler for connect is not called when the application becomes foreground.
- Added
isHidden()
toGroupChannel
. - Stabilized connection.
- Fixed a minor bug on blocking or unblocking users.
- Added
getChannelCount
toGroupChannel
. - Added
resetMyHistory
toGroupChannel
not to load messages created before the reset. - Added network detection and auto reconnect when the network is detected. (
SendBird.setNetworkAwarenessReconnection
is provided to enable this option - default true)
- Added
isBlockedByMe
andisBlockingMe
flag to group channel members. - Added
getMessageChangeLogsByToken
to channel to track updated or deleted messages.
- Added new group channel hide to give you change to select whether channel member can load previous messages when the channel reappears.
- Added user
MetaData
feature. - Added freeze status flag to open channel.
- Added
ChannelHandler
callback onMetaData
andMetaCounters
creation, update and deletion. - Added channel name filter for
GroupChannelListQuery
. - Added
getInviter()
toGroupChannel
.
- Minor bug fixes.
- No more crash when profile image with special characters in the file name is uploaded.
- Added messaging copy from one channel to other channels (Sender must be a member or participant of the channels).
- Support users to accept or decline other user's invitation to a group channel.
- Added group channel join preference for accepting invitation automatically.
- Notice: From this version, the return type of
GroupChannel
methods previously returningList<User>
such asGroupChannel.getMembers
,GroupChannel.getTypingMembers
and etc. now returnList<Member>
.
- Added feature to set and get push notification sound for the logged-in user.
- Fixed bug
BaseMessage.buildFromSerializedData
incurring crash for messages serialized by versions prior to v3.0.27.
- Added custom type filter to
OpenChannelListQuery
andGroupChannelListQuery
. - Added messaging editing feature.
- Added file uploading cancel.
- Added
OpenChannel
deletion.
- Fixed custom host bug.
- Added
connect()
custom host feature.
- Added real size property for generated thumbnails.
- Added progress handler for file uploading.
- Support file uploading on background.
- Fixed bug
GroupChannel.getUnreadMessageCount()
returning wrong value not covered on v3.0.20.
- Added
getTotalUnreadChannelCount()
toGroupChannel
to enable you get channel count of having unread messages. - Fixed
getTotalUnreadMessageCount()
to return correct value when it is called inChannelHandler.onChannelChanged
aftermarkAsRead()
is called.
- Added getting messages methods to
BaseChannel
and they support type/customType filtering. - Added option for using channel member's profile URL and nickname as message sender's.
- Support updating channel member's profile URL and nickname automatically.
- Fixed bug
GroupChannel.getUnreadMessageCount()
not returning correct value.
- Added file encryption and access control feature.
- Provide serialization/deserialization for user, channel and message objects for developers to take advantage of their own local cache.
- Sender is excluded from read receipt.
- Fixed bug
GroupChannel.getReadReceipt()
always returning the count of members of the channel after the first connection. - From now, empty string as user ID is not accepted.
- Fixed bug calling
ChannelHandler.onReadReceiptUpdated()
even whenmarkAsRead()
is called from the same user connected on other devices. - Improved stability by removing occasional NPE crash on connection or reconnection.
- Added
reconnect()
to support explicit reconnection process. - Added
removeAllConnectionHandlers()
andremoveAllChannelHandlers()
. - Improved network call performance after reconnection is established.
- Fixed bug removing connection handlers and channel handlers when
disconnect()
is called. - Improved stability.
- Fixed bugs returning wrong unread count of messages when users are invited to
GroupChannel
. - Fixed bugs occurring occasional crash when
getReadReceipt()
,getReadMembers()
or etc are called.
- Added thumbnail generating option when image file is uploaded.
- Changed connection protocol to avoid connection reset which can occur when application runs behind proxy.
- Added push notification template option, which gives option to users the way to display push notification messages.
- Improved to try connection without delay when reconnection is needed.
- Added unique push token registration option, which makes sure to maintain only one GCM/FCM token for the current user.
- Added
GroupChannel.isPushEnabled()
to check push preference for each group channel. - Deprecated
GroupChannel.getPushPreference()
. - Fixed randomly occurring NPE crash when user join event or read receipt update event happen.
- Improved stability.
- Added user IDs filters and query type to
GroupChannelListQuery
. - Added channel custom type for
OpenChannel
andGroupChannel
. - Fixed to call
ChannelHandler.onChannelChanged
when unread message count or last message has been updated.
- Fixed to update last message of group channel when
UserMessage
orFileMessage
is successfully sent. - Improved stability.
- Fixed connection bug.
- Added group channel list search by a member nickname. (Search by multiple nicknames option in v3.0.5 is no more supported.)
- Added auto-translating feature to
UserMessage
. - Improved connection performance.
- Improved stability.
- 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 file uploading timeout.
- Supports Android 7.0 (Nougat) and FCM.
- Fixed to increase unread message count only for others' message reception.
- Improved performance and stability.
- Added features like filtered user list, open channel keyword search, push preference setting, etc.
- Added auto background detection.
- Improved stability.
- Fixed minor bugs.
- First release.