- Added
MyMemberStateFilter
GroupChannelListQuery.memberStateFilter
→GroupChannelListQuery.myMemberStateFilter
GroupChannelListQueryParams.memberStateFilter
→GroupChannelListQueryParams.myMemberStateFilter
SendbirdChat.getGroupChannelCount(MemberStateFilter?, CountHandler?)
→SendbirdChat.getGroupChannelCount(MyMemberStateFilter?, CountHandler?)
- [For Java users only] Removed wildcards from interface callbacks' parameters
- i.e.
void BaseMessagesHandler.onResult(List<? extends BaseMessage>, SendbirdException)
→void BaseMessagesHandler.onResult(List<BaseMessage>, SendbirdException)
- i.e.
- Contains breaking changes since last beta release.
- Moved nested classes to the top level.
- i.e.
com.sendbird.android.user.query.UserListQuery.UserListQueryResultHandler
→com.sendbird.android.handler.UserListQueryResultHandler
.
- i.e.
- Removed setter functions that return the itself.
- For Kotlin, use property syntax
property = value
. - For Java, all
set*()
functions don't return itself.
- For Kotlin, use property syntax
- Removed redundant properties that has an alternative.
- i.e.)
PreviousMessageListQuery.shouldIncludeMetaArray()
→PreviousMessageListQuery.messagePayloadFilter.includeMetaArray
.GroupChannelCreateParams.addUser
,GroupChannelCreateParams.addUsers
→GroupChannelCreateParams.users
.
- i.e.)
- Renamed inconsistent getter functions to auto generated getter methods for Java.
- For Kotlin, use property syntax
class.property
. - For Java, it's auto generated to
get*()
.
- For Kotlin, use property syntax
- Replace builder classes with class constructors
- Removed all
Enum.from(value:String?)
functions. - Static function changed to non-static.
OpenChannelCreateParams.clone()
- Rename
SendbirdChat.Options.useMemberAsMessageSender
toSendbirdChat.Options.useMemberInfoInMessage
.useMemberInfoInMessage
now applies to bothBaseMessage.sender
andBaseMessage.mentionedUsers
.
- Remove all setters for
Query
classes and made query properties immutable.- Added corresponding
Params
classes.
- Added corresponding
- Removed + Renamed methods.
- Removed
GroupChannel.invite(User, CompletionHandler?)
.GroupChannel.invite(String, CompletionHandler?)
.GroupChannel.invite(List<User>, CompletionHandler?)
.
- Renamed
GroupChannel.inviteWithUserIds(List<String>, CompletionHandler?)
→GroupChannel.invite(List<String>, CompletionHandler?)
.com.sendbird.android.handler.MyGroupChannelChangeLogsHandler
→com.sendbird.android.handler.GroupChannelChangeLogsHandler
.
- Removed
- Moved nested classes to the top level.
- Added
BaseMessage.scheduleInfo
inserialize()
anddeserialize()
.
- Refactor SDK's logs.
- Log level for SDK can now be set in
SendbirdChat.init
withInitParams.logLevel
. The current default log level isLog.WARN
.
- Added
GroupChannel.sendScheduledMessageNow(Long, CompletionHandler?)
- Fixed bug where typing indicator does not disappear after the internet has been lost.
- Fixed a bug that failed to get a channel that has invalid metadata.
- Added
HiddenChannelFilter.ALL
for GroupChannelListQuery - Fixed bug where nicknameContainsFilter is filtered incorrectly in regards to case sensitivity
- Added Scheduled Message Feature.
- Added
GroupChannel.createScheduledUserMessage()
. - Added
GroupChannel.createScheduledFileMessage()
. - Added
GroupChannel.updateScheduledUserMessage()
. - Added
GroupChannel.updateScheduledFileMessage()
. - Added
GroupChannel.cancelScheduledMessage()
. - Added
ScheduledMessageListQuery
. - Added
Basemessage.scheduledInfo
which holds scheduled informations of a scheduled messages.- Added
ScheduledInfo
. - Added
SendingStatus.SCHEDULED
.
- Added
- Added
BaseMessage.getScheduledMessage()
.- Added
ScheduledMessageRetrievalParams
.
- Added
- Added
SendbirdChat.getTotalScheduledMessageCount()
.- Added
TotalScheduledMessageCountParams
.
- Added
- Added
- Improved exception messages to provide more detail.
- Fix a bug that doesn't try reconnect immediately when the network has recovered.
- Channel's metadata related events not being delivered to
MessageCollectionHandler.onChannelUpdated()
.