- From now, userMemberAsMessageSender() option is true by default.
- Fixed a bug previous messages not showing the senders' 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() with UserMessageParams in BaseChannel.
- Added updateFileMessage() with FileMessageParams in BaseChannel.
- Added UserMessageParams() default constructor in UserMessageParams.
- Added setMessage() in UserMessageParams.
- Added FileMessageParams() default constructor in FileMessageParams.
- Added setFileUrl() and setFile() in FileMessageParams.
- 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() in GroupChannel.
- Minor bug fixed.
- Added load(MessageListQueryResult handler), setLimit(), setReverse(), setMessageTypeFilter(), setCustomTypeFilter(), setSenderUserIdsFilter() in PreviousMessageListQuery.
- Added getNextMessagesByTimestamp(), getPreviousMessagesByTimestamp(), getPreviousAndNextMessagesByTimestamp(), getNextMessagesById(), getPreviousMessagesById(), getPreviousAndNextMessagesById() with sendUserIds parameter in BaseChannel.
- Disabled to put the current user into mentionedUsers, mentionedUserIds in UserMessageParams and FileMessageParams.
- Changed not to increase unreadMentionCount and not to call onMentionReceived for CHANNEL mention by the current user (i.e. the message sender is the current user).
- Added getUnreadMentionCount() in GroupChannel.
- Added UNREAD_MENTION_COUNT_ONLY in CountPreference in GroupChannel.
- Added GROUP_CHANNEL_UNREAD_MESSAGE_COUNT, GROUP_CHANNEL_UNREAD_MENTION_COUNT, GROUP_CHANNEL_INVITATION_COUNT, NONSUPER_UNREAD_MENTION_COUNT, SUPER_UNREAD_MENTION_COUNT in enum UnreadItemKey in GroupChannel.
- Added getMentionType() in BaseMessage with enum MentionType { USERS, CHANNEL } in BaseMessageParams.
- Added setMentionType() in UserMessageParams and FileMessageParams.
- Added getMyCountPreference() and setMyCountPreference() in GroupChannel.
- Added setNicknameStartsWithFilter() in GroupChannelMemberListQuery.
- Added getJoinedMemberCount() in GroupChannel to show the total count of joined users in a GroupChannel.
- Added getMyMutedState() in GroupChannel to show the state of the connected user in a GroupChannel.
- Added setMemberStateFilter() in GroupChannelMemberListQuery to search members based on the state of the member in a GroupChannel.
- Added getUnreadItemCount() in GroupChannel with enum 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() with GroupChannelTotalUnreadMessageCountParams in GroupChannel to support filter for total unread message count.
- Added getMyRole() in GroupChannel 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() in BaseChannel and OperatorListQuery.
- Deprecated setOperatorFilter(OperatorFilter operatorFilter) and OperatorFilter in GroupChannelMemberListQuery.
- Added getTotalUnreadMessageCount() with channel custom types filter in GroupChannel.
- Added setPushNotificationDeliveryOption(PushNotificationDeliveryOption pushNotificationDeliveryOption) in UserMessageParams and FileMessageParams.
- 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() to SendBird.Options to support configurable connection timeout.
- Added setEphemeral(boolean isEphemeral) in GroupChannelParams to create a channel not allowing message retention.
- Added isEphemeral() in BaseChannel.
- Added BaseMessageParams, UserMessageParams and FileMessageParams to send messages in object form.
- BaseMessageParams support mentioned messages by setMentionedUserIds and setMentionedUsers.
- Added sendUserMessage(UserMessageParams params, SendUserMessageHandler handler) in BaseChannel.
- Added sendFileMessage(FileMessageParams params, SendFileMessageHandler handler) in BaseChannel.
- Added sendFileMessage(FileMessageParams params, SendFileMessageWithProgressHandler handler) in BaseChannel.
- Added onMentionReceived(BaseChannel channel, BaseMessage message) in ChannelHandler to receive mentioned message.
- Added getMentionedUsers() in BaseMessage.
- Added getMyMemberState() in GroupChannel for current logged-in user's joined state for the channel.
- Deprecated MemberState enumerator in GroupChannel and added MemberStateFilter in GroupChannelListQuery enumerator instead.
- Deprecated getChannelCount(MemberState memberState, GroupChannelChannelCountHandler handler) in GroupChannel.
- Added getChannelCount(GroupChannelListQuery.MemberStateFilter memberStateFilter, GroupChannelChannelCountHandler handler) in GroupChannel.
- Deprecated setMemberStateFilter(GroupChannel.MemberState memberState) in GroupChannelListQuery.
- Added setMemberStateFilter(MemberStateFilter memberStateFilter) in GroupChannelListQuery.
- Deprecated getState() in Member and added getMemberState() instead.
- Improved stabilization.
- Fix minor bug.
- Added setOperators() and setOperatorUserIds() in GroupChannelParams.
- Added freeze(), unfreeze() and isFrozen() in GroupChannel.
- Added banUser() and banUserWithUserId() in GroupChannel.
- Added unbanUser() and unbanUserWithUserId() in GroupChannel.
- Added muteUser() and muteUserWithUserId() in GroupChannel.
- Added unmuteUser() and unmuteUserWithUserId() in GroupChannel.
- Added createBannedUserListQuery() in GroupChannel.
- Added setOperatorFilter() and setMutedMemberFilter() in GroupChannelMemberListQuery.
- Modified onUserBanned(OpenChannel channel, User user) to onUserBanned(BaseChannel channel, User user) in ChannelHandler.
- Modified onUserUnbanned(OpenChannel channel, User user) to onUserUnbanned(BaseChannel channel, User user) in ChannelHandler.
- Modified onUserMuted(OpenChannel channel, User user) to onUserMuted(BaseChannel channel, User user) in ChannelHandler.
- Modified onUserUnmuted(OpenChannel channel, User user) to onUserUnmuted(BaseChannel channel, User user) in ChannelHandler.
- Modified onChannelFrozen(OpenChannel channel, User user) to onChannelFrozen(BaseChannel channel, User user) in ChannelHandler.
- Modified onChannelUnfrozen(OpenChannel channel, User user) to onChannelUnfrozen(BaseChannel channel, User user) in ChannelHandler.
- Now sender in UserMessage and FileMessage support getMetaData().
- Added createPublicGroupChannelListQuery() in GroupChannel.
- Added isPublic() in GroupChannel.
- Added join in GroupChannel.
- Added CHANNEL_NAME_ALPHABETICAL in Order in GroupChannelListQuery.
- Added PublicChannelFilter in GroupChannelListQuery.
- Added setCustomTypeStartsWithFilter() in GroupChannelListQuery.
- Added setPublicChannelFilter() in GroupChannelListQuery.
- Added setPublic() in GroupChannelParams.
- Added setChannelUrl() in GroupChannelParams.
- Added PublicGroupChannelListQuery.
- Improved stabilization.
- Added createChannel() with GroupChannelParams in GroupChannel.
- Added createMemberListQuery() in GroupChannel.
- Added isSuper() in GroupChannel.
- Added updateChannel() with GroupChannelParams in GroupChannel.
- Deprecated getLastSeenAtBy() in GroupChannel.
- Deprecated getLastSeenAtByWithUserId() in GroupChannel.
- Added SuperChannelFilter in GroupChannelListQuery.
- Added setSuperChannelFilter() in GroupChannelListQuery.
- Added GroupChannelMemberListQuery.
- Added GroupChannelParams.
- Improved stabilization of calling
disconnect()
while sending messages or mark as read. - Deprecated markAsReadAll() in GroupChannel.
- Added INVITED_BY_FRIEND, INVITED_BY_NON_FRIEND in setMemberStateFilter() in GroupChannelListQuery.
- Added markAsReadAll() in SendBird.
- Added markAsReadWithChannelUrls() in SendBird.
- Fixed Minor bugs.
- Added FriendListQuery.
- Added setCustomTypesFilter() in GroupChannelListQuery.
- Added addUserEventHandler() in SendBird.
- Added removeUserEventHandler() in SendBird.
- Added removeAllUserEventHandlers() in SendBird.
- Added addFriends() in SendBird.
- Added deleteFriends() in SendBird.
- Added deleteFriend() in SendBird.
- Added uploadFriendDiscoveries() in SendBird.
- Added deleteFriendDiscoveries() in SendBird.
- Added deleteFriendDiscovery() in SendBird.
- Added getFriendChangeLogsByToken() in SendBird.
- Added createFriendListQuery() in SendBird.
- Added getOriginalProfileUrl() in User.
- Improved ConnectHandler callback.
- Fixed Minor bugs.
- Improved connection stability.
- Improved connection stability.
- Modified getConnectionState() method.
- Added isActive() to User.
- Modified init() method.
- Stabilized to support Android O.
- Fixed GroupChannel isHidden() bug.
- Added onChannelHidden() to ChannelHandler.
- Fixed bugs handler for connect is not called when the application becomes foreground.
- Added isHidden() to GroupChannel.
- Stabilized connection.
- Fixed a minor bug on blocking or unblocking users.
- Added getChannelCount to GroupChannel.
- Added resetMyHistory to GroupChannel 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 and isBlockingMe 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 on MetaData and MetaCounters creation, update and deletion.
- Added channel name filter for GroupChannelListQuery.
- Added getInviter() to GroupChannel.
- 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 users' 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 returning
List<User>
such as GroupChannel.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 and GroupChannelListQuery.
- 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() to GroupChannel to enable you get channel count of having unread messages.
- Fixed getTotalUnreadMessageCount() to return correct value when it is called in ChannelHandler.onChannelChanged after markAsRead() 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 when markAsRead() 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() and removeAllChannelHandlers().
- 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 and GroupChannel.
- 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 or FileMessage 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.