Thank you everyone for using our SDK v3. This is our final release as we transition to our latest SDK v4 (first released in Apr 2022). Please reach out to our support if you have any questions.
- Fixed a bug where called
ChangeLogAPI
infinitely
- Fixed a bug where
sb.connect()
fails in React Native due to unexpectedlocalStorage
access
- Fixed a bug where
pendingMessage.data
is set to 'null' string whensendUserMessage()
is called with a message text as an argument - Fixed a bug where
MessageCollection
callsonMessagesUpdated()
with old messages on connect and reconnect whenlocalCacheEnabled
is set to false
- Fixed a bug where MessageCollection is logging quota exceeded errors when local storage is full
- Improved stability
- Changed ackStateMap cleanup time when disconnect is called
- Fixed Message Filter in LocalCache not working with customTypes
- Fixed a bug where
channel.sendFileMessage()
fails when it is called in a web worker,Worker
- Fixed onMessageUpdate being called for the same message in View after checking HugeGap when connecting or reconnecting
- Fixed a bug in group channel changelogs
- Fixed wrong includeMetaArray property happening during changelog sync
- Implemented channel membership history where clients can retrieve whether users have joined or left the channel
- Improved stability
- Fixed Promise polyfill for browsers that do not support 'Promise.finally()'
- Improved stability
- Fixed a bug where
message.mentionedUsers
is not updated whenupdateUserMessage()
is called withmessageParams.mentionedUserIds
set to an empty array - Improved stability
- Added
sb.setOnlineListener()
andsb.setOfflineListener()
interfaces for non-browser environments - Improved stability
- File upload failed messages are now resendable through
channel.resendFileMessage()
. - Fixed a bug where
groupChannelCollection.onChannelsUpdated()
is not called whengroupChannel.lastMessage
is updated. - When local cache is enabled, conversion of pending messages that are not registered for auto-resend to failed messages is now being processed only when
sb.connect()
is called by customer. channel.resendFileMessage()
now considersfileMessage.messageParams.file
if blob is not given as an argument.- Improved stability.
- Fixed File upload error with PUT requests in RN.
- Fixed a bug in
BaseChannel.resendFileMessage()
such thatreqId
of resent message is the same asreqId
of the original failed message.
- Fixed incorrect failedMessage validation in resendFileMessage()
- Fixed issue in loading messages from cache using default limit
- Fixed incorrect type definition of CustomTypesFilterProperty in PreviousMessageListQuery
- Added nickname startswith/nickname exact match filter in groupChannelListQuery
- Fixed error occurs after deleteReaction in RN
- Fixed bug that enables custom typed messages being filtered out of message collection
- Fixed bug TypingStatusUpdate event does not work in GroupChannelCollection.
- Fixed Wrong Type definition in SendBird.d.ts
- Fixed bug Android file upload is not working(RN)
- Fixed bug SessionHandlers Broken.
- Fixed incorrect type in User.lastSeenAt.
- Fixed bug when createChannelWithUserIds without callback.
- Fixed bug "operators is not defined" on
CHANNEL_OPERATOR_UPDATE
event. - Added
HiddenChannelFilter.ALL
. - Update
axios
library.
- Fixed bug when reading unsent file message from local cache in React Native.
- Fixed bug storing cached metadata into local cache in
BaseChannel
.
- Fixed issue of MessageCollection changelog partially not updating/deleting cached messages.
- Fixed type error of
isUserMessage()
being undefined.
- Deprecated
ConnectionManager
inSendBird
. - Fixed wrong channel list order in
GroupChannelCollection
. - Added GroupChannelTotalUnreadChannelCountParams.
- Added
getTotalUnreadChannelCount(params)
inSendBird
.
- Fixed duplicate file messages being sent by
sendFileMessage()
in React Native. - Fixed new messages not being fetched on websocket connect/reconnect in
MessageCollection
.
- Applied type narrowing to
BaseMessage
,BaseChannel
andmessageCallback
. - Replaced all
File
type with the newFileType
for React Native support. - Fixed create channel with cover image error in React Native.
- Fixed child message's
parentMessage
update on parent message update when local cache is enabled. - Added
applyParentMessage
inBaseMessage
. - Improved stability.
- Bug-fix in retrying reconnect with application settings.
- Fixed type definitions to
enum
.
- Fixed pending message not being added to a message collection issue when local cache enabled in React Native.
- All properties of
MessageSearchQueryOptions
are now made optional. - Added type definitions
PUSH_TEMPLATE_DEFAULT
andPUSH_TEMPLATE_ALTERNATIVE
inSendBird
. - Added
clearCachedData()
interface inSendBird
for local caching.
- Improved stability.
- Added
useAsyncStorageAsDatabase
inSendBird
for React Native. - Fixed type signatures:
- Fixed
setOrder
inGroupChannelCollection
. - Fixed
next
inOpenChannelListQuery
. - Fixed
load
inPreviousMessageListQuery
.
- Fixed
- Improved stability.
- Fixed TypeScript interface in
PreviousMessageListQuery
. - Deprecated
includeReplies
andincludeParentMessageText
. - Added
replyType
andincludeParentMessageInfo
.
dns
dependency removed.
- Added local caching support (see the details):
- Added
GroupChannelCollection
. - Added
GroupChannelCollectionHandler
. - Added
GroupChannelContext
. - Added
MessageCollectionInitPolicy
. - Added
MessageCollection
. - Added
MessageCollectionHandler
. - Added
MessageContext
. - Added
CollectionEventSource
. - Added new parameter
localCacheEnabled
inSendBird
constructor. - Added
GroupChannelFilter
inSendBird
. - Added
MessageFilter
enum inSendBird
. - Added
messageParams
inUserMessage
. - Added
messageParams
inFileMessage
. - Added
clearCachedMessages()
inSendBird
.
- Added
- Added reply to channel feature:
- Added
includeParentMessageInfo
inMessageRetrievalParams
. - Added
includeParentMessageInfo
inMessageListParams
. - Added
includeParentMessageInfo
inPreviousMessageListQuery
. - Added
includeParentMessageInfo
inThreadedMessageListParams
. - Added
includeParentMessageInfo
inMessageChangeLogsParams
. - Added
parentMessage
inBaseMessage
. - Deprecated
includeParentMessageText
inMessageRetrievalParams
. - Deprecated
includeParentMessageText
inMessageListParams
. - Deprecated
includeParentMessageText
inPreviousMessageListQuery
. - Deprecated
includeParentMessageText
inThreadedMessageListParams
. - Deprecated
includeParentMessageText
inMessageChangeLogsParams
. - Added
isReplyToChannel
inUserMessageParams
. - Added
isReplyToChannel
inFileMessageParams
. - Added
isReplyToChannel
inBaseMessage
. - Added
replyType
inMessageListParams
. - Added
replyType
inPreviousMessageListQuery
. - Added
replyType
inMessageChangeLogsParams
. - Added
ReplyType
enum inBaseMessage
. - Deprecated
includeReplies
inMessageListParams
. - Deprecated
includeReplies
inPreviousMessageListQuery
. - Deprecated
includeReplies
inMessageChangeLogsParams
.
- Added
- Added
belongsTo()
inMessageListParams
.
- Improved stability.
- Changed
User
toRestrictedUser
whenMutedUserListQuery
andBannedUserListQuery
fetch users. - Changed
User
toRestrictedUser
inonUserMuted
andonUserBanned
inChannelHandler
. - Added
restrictionInfo
inMember
.
- Improved stability.
- Downgraded ws version from 8.2.0 to 7.5.5 due to Webpack 5 build error.
- Added
markAsRead(callback)
inGroupChannel
. - Deprecated
markAsRead()
inGroupChannel
.
- Added
includeReactions
inMessageRetrievalParams
. - Resolved security advisory on
ws
dependency with version upgrade.
- Added
metadataKey
,metadataValues
andmetadataValueStartsWith
inGroupChannelListQuery
andPublicGroupChannelListQuery
. - Optimized Supergroup protocol handling to improve performance for specific use cases.
- Improved stability.
- Improved stability.
- Added
getMessage()
inBaseMessage
.
- Added
MessageTypeFilter
inBaseChannel
. - Improved stability.
- Added
joinedAt
inGroupChannel
. - Improved stability.
- Added
NONE
log level inLogLevel
. - Improved stability.
- Added
AppleCriticalAlertOptions
interface. - Added
appleCriticalAlertOptions
inBaseMessage
,UserMessageParams
,FileMessageParams
,ScheduledUserMessage
, andScheduledUserMessageParams
. - Downgraded log level from
ERROR
toDEBUG
for all internal API calls.
- Added
onChannelMemberCountChanged
andonChannelParticipantCountChanged
inChannelHandler
. - Changed
markAsDelivered
policy to remove rate limit timer. - Improved stability.
- Added
getCachedMetaData()
in BaseChannel. - Corrected type signatures in
getMessagesByTimestamp()
andgetMessagesByMessageId()
. - Corrected attribute name to
reverse
inMessageListParams
.
- Add & Delete reaction API bug-fix to support emoji code and URI encoding.
- React native bug fix: Group channel static
buildFromSerializedData()
.
- IE11 compatibility fix for
getPreviousMessagesByID()
. - Deprecated
markAsDelivered()
inGroupChannel
. - Improved stability.
- Added
sendingStatus
toAdminMessage
. - Updated TypeScript DefinitelyTyped file for Promise feature support.
- Resolved security advisory on
axios
dependency. - Improved stability.
- Added a setter for
operators
inOpenChannelParams
. - Added
getLogLevel()
andsetLogLevel()
inSendBird
. - Improved stability.
- Bug-fix in connection management.
- Minor bug fixed.
- Removed
addOperator()
,addOperators()
,addOperatorUserId()
,addOperatorUserIds()
fromOpenChannelParams
. - Improved stability.
- Added
getAllowFriendDiscovery()
andsetAllowFriendDiscovery()
inSendBird
.- If it's set to
false
,uploadFriendDiscoveries()
called by others does not add the user as a friend.
- If it's set to
- Set
size
inFileMessage
automatically. - Improved stability.
- Bug-fix in
profileUrl
.
- Added
showSubchannelMessagesOnly
inMessageListParams
andPreviousMessageListQuery
. - Bug-fix in
profileUrl
not showing inSender
. - Improved stability.
- Bug-fix in outdated
isMuted
inMember
. - Bug-fix in error handling.
- Added
getTypingUsers()
inGroupChannel
.- It returns the users even if the user is not in
members
. - Deprecated
getTypingMembers()
inGroupChanenl
.
- It returns the users even if the user is not in
- Set
url
as visible inFileMessage
object. - Set
profileUrl
as visible inUser
object. - Bug-fix in error handling
- Improved stability.
- Added
nicknameStartsWithFilter
inApplicationUserListQuery
.
- Added
creator
inBaseChannel
. - Added
isOperatorMessage
inBaseMessage
. - Added
copyUserMessage()
andcopyFileMessage()
inBaseChannel
. - Change the type of all
messageId
s tonumber
. - Bug-fix in wrong channel info in
onChannelFrozen
callback. - Bug-fix in unread member count and unread delivery count.
- Fixed duplicated
appInfo
inSendBird.d.ts
.
- Added
order
inGroupChannelMemberListQuery
. The value could bemember_nickname_alphabetical
(default) oroperator_then_member_alphabetical
. - Added
isMuted
inMember
. - Removed value type check in
channel.createMetaData()
andchannel.updateMetaData()
. - Bug-fix on
profileUrl
setter.
- Renamed
includeReaction
toincludeReactions
inchannel.getMessageChangeLogs()
(includeReaction
is deprecated). - Added
ogMetaData
inBaseMessage
.ogMetaData
holds open graph properties includingtitle
,url
,description
, anddefaultImage
.ogMetaData.defaultImage
has the image-related properties includingurl
,secureUrl
,type
,width
,height
,alt
as defined in the target website.ogMetaData
may not be set at the moment of sending. Once the message is sent, Sendbird service would fetch and analyze the open graph property and give the result as a form of message update event.
- Added
addOperators()
andremoveOperators()
inGroupChannel
andOpenChannel
. - Bug-fix in missing
data
field of file message.
- Added a dependency for
axios
andform-data
.- Please add axios to the
script
tag if you're using SendBird by copy-and-paste theSendBird.min.js
file.
- Please add axios to the
- Added
getUnreadMemberCount()
andgetUndeliveredMemberCount()
inGroupChannel
.- Deprecated
getReadReceipt()
andgetDeliveryReceipt()
inGroupChannel
.
- Deprecated
- Bug-fix in updating operators in
GroupChannel
.
- Bug-fixes in message threading.
- Improved stability.
- Added
includeFrozen
property inGroupChannelListQuery
,PublicGroupChannelListQuery
,OpenChannelListQuery
andGroupChannelChangeLogsParams
. - Added
GroupChannelChangeLogsParams
. - Added
getMyGroupChannelChangeLogsByToken()
andgetMyGroupChannelChangeLogsByTimestamp()
withGroupChannelChangeLogsParams
inSendBird
. - Deprecated some
getMyGroupChannelChangeLogsByToken()
andgetMyGroupChannelChangeLogsByTimestamp()
inSendBird
. - Bug-fix: Failure in applying reactions.
- Bug-fix: Invalid
channelUrl
ongetMessage()
.
- Bug-fix: Failure in
getMessageList()
.
- Added message thread feature support
- Added
parentMessageId
,parentMessageText
,threadInfo
inUserMessage
andFileMessage
. - Added
onThreadInfoUpdated()
inChannelHandler
. - Added
getThreadedMessagesByTimestamp()
,applyThreadInfoUpdateEvent()
inUserMessage
andFileMessage
. - Added thread-related parameters in
GroupChannelListQuery
.
- Added
- Added emoji feature support
- Added
getAllEmoji()
,getEmojiCategory()
, andgetEmoji()
inSendBird
.
- Added
- Added parameter classes for message retrieval.
- Bug-fix: Crash on IE strict mode.
- Added
metaArrays
inUserMessageParams
andFileMessageParams
.- Message could be sent with predefined
metaArrays
.
- Message could be sent with predefined
- Improved stability.
webpack
build failure fix.- Improved stability.
- Added
sendingStatus
inUserMessage
andFileMessage
. - Added
role
inMember
. - Added
onOperatorUpdated
inChannelHandler
. - Deprecated
requestState
inUserMessage
andFileMessage
. - Improved stability.
- Added version control over the final state of
reactions
. - Improved stability.
- Added
createMessageSearchQuery()
inSendBird
.MessageSearchQuery
searches messages with the keyword.- Options like
exactMatch
,channelUrl
,channelCustomType
,messageTimestampFrom
,messageTimestampTo
,order
are available for fine-tuned search.
- Improved stability.
- Improved stability.
- Added
reactions
inBaseMessage
.- Added
addReaction()
,deleteReaction()
inBaseChannel
. - Added
onReactionUpdated()
inChannelHandler
. - Added
applyReactionEvent()
inBaseMessage
. - Added
includeReaction
parameter toget**MessagesByID()
,get**MessagesByTimestamp()
inBaseChannel
. - Added
includeReaction
parameter togetMessageChangeLogsByID()
,getMessageChangeLogsByTimestamp()
inBaseChannel
.
- Added
- Added
markAsDelivered()
,getDeliveryReceipt()
inGroupChannel
.- Added
onDeliveryReceiptUpdated
inChannelHandler
.
- Added
- Improved stability.
- Bug-fix in file uploading.
- Improved stability.
- Added
errorCode
andisResendable()
inUserMessage
andFileMessage
.resendUserMessage()
andresendFileMessage()
work only whenisResendable()
istrue
.
- Improved stability.
- Added
updateCurrentUserInfoWithPreferredLanguages()
inSendBird
.- When
preferredLanguages
is set, push notification message would get translated with target languages.
- When
- Added
preferredLanguages
inUser
. - Added
messageOffsetTimestamp
inGroupChannel
. - Added
reqId
for theBaseMessage
s which are fetched from API call. - Improved stability.
- Compatibility fix for React Native and Internet Explorer 10.
- Improved stability.
- Improved stability.
- Added support for Promise pattern (BETA)
- except
sendUserMessage()
,sendFileMessage()
,cancelUploadingFileMessage()
- except
- Added
report()
,reportUser()
andreportMessage()
inBaseChannel
. - Added
onTotalUnreadMessageCountUpdated
inUserEventHandler
.onTotalUnreadMessageCountUpdated
is called when total unread message count is updated.
- Improved stability.
- Improved stability.
- Improved stability.
- Added
translateUserMessage()
inBaseChannel
to support on-demand translation. - Added
resendFileMessage()
inBaseChannel
to support resend file message withBlob
object. - Added
metaArrays
property inBaseMessage
and deprecatedmetaArray
.metaArrays
is an array which containsMessageMetaArray
instances.MessageMetaArray
is a pair of key and a value array.metaArrays
keeps the inserted order.
- Added
isStrict()
andsetStrict()
inGroupChannelParams
to set strict channel creation mode.- When the strict mode is
true
, creating channel with a invalid user will fail.
- When the strict mode is
- Improved stability.
- Improved stability.
- Improved stability.
- Fixed a bug about TypeScript.
- Improved stability.
- Added
resendUserMessage()
inBaseChannel
to retry to send aUserMessage
which hasrequestID
. - Added
requestState
and enumMessageRequestState
which has NONE, PENDING, FAILED, and SUCCEEDED inSendBird
. - Added
myLastRead
inGroupChannel
to detect last read timestamp of current connected user.
- Improved stability.
- Added
delete()
inGroupChannel
to delete theGroupChannel
. Only operators can do this action.
- Added
isDiscoverable
property toGroupChannel
andGroupChannelParams
.- if
isDiscoverable
of a public group channel is set to false, then the channel will not appear during querying withPublicGroupChannelListQuery
. (default: true)
- if
- Improved stability.
- Improved stability.
- Minor bug fixed.
- Minor bug fixed.
- Improved stability.
- Minor bug fixed.
- Updated
SendBird.d.ts
file for TypeScript.
- Add push trigger option to enable/disable remote push notification.
- Added
setPushTriggerOption(option, callback)
toSendBird
. It determines whether the current user receives remote push notification in all group channels. - Added
getPushTriggerOption(callback)
toSendBird
. It returns the current push trigger option setting for all group channels. - Added
setMyPushTriggerOption(option, callback)
toGroupChannel
. It determines whether the current user receives remote push notification in the group channel. - Added
getMyPushTriggerOption(callback)
toGroupChannel
. It returns the current push trigger option setting for the group channel.
- Added
- Snooze or stop snooze remote push notification in specific duration.
- Added
setSnoozePeriod(snoozeOn, startTs, endTs, callback)
intoSendBird
. It enables or disables snooze in the period. - Added
getSnoozePeriod(callback)
intoSendBird
. It returns the current snooze setting for the current user.
- Added
- Minor bug fixed.
- Minor bug fixed.
- Minor bug fixed.
- Added
createDistinctChannelIfNotExist()
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
getMessageChangeLogsByTimestamp()
inSendBird
.- It retrieves message change logs since the given timestamp.
- Added
hiddenState
property inGroupChannel
to get channel's hidden state.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
allowAutoUnhide
as the second parameter intohide()
to allow automatic unhide on new message. - Added
unhide()
inGroupChannel
to manually unhide the channel. - Added
hiddenChannelFilter
inGroupChannelListQuery
to filter byhiddenState
.unhidden_only
: Get all unhidden channels. (default)hidden_only
: 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
.
- Changed type of
sender
property inUserMessage
andFileMessage
fromUser
to a new classSender
which extendsUser
.Sender
hasisBlockedByMe
property which indicates that the message sender is blocked by the current user (default: false).isBlockedByMe
is valid inGroupChannel
only.- Message from blocked user is delivered only when
block_mode
inApplication
is set toexplicit
mode. Otherwise, it's not visible nor delivered.
- Minor bug fixed.
- Added
ApplicationUserListQuery
.- It is used to get users created in the application.
- It could be derived by
createApplicationUserListQuery()
inSendBird
. userIdsFilter
: use to filter through userIds to get users.metaDataKeyFilter
: use to filter by user's metaData to get users. If you set this value, you should setmetaDataValuesFilter
too.metaDataValuesFilter
: use to filter by user's metaData to get users. If you set this value, you should setmetaDataKeyFilter
too.
- Added
userIdsFilter
inBlockedUserListQuery
to get filtered by userIds among users blocked by currentUser. - Deprecated
createUserListQuery()
inSendBird
. We recommend that you usecreateApplicationUserListQuery()
.
- Added
ScheduledUserMessage
feature to sendUserMessage
at the time specified by a user.- Added
ScheduledUserMessage
that is a scheduledUserMessage
. - Added
ScheduledUserMessageParams
inSendBird
to be delivered as a parameter to register scheduledUserMessage
. - Added
registerScheduledUserMessage
inGroupChannel
to register scheduledUserMessage
.
- Added
- Improved stability.
- Minor bug fixed.
- Added
getMyMutedInfo()
inBaseChannel
- Added
muteUser(user, seconds, description, callback)
andmuteUserWithUserId(userId, seconds, description, callback)
inBaseChannel
- Added
metadata_value_alphabetical
order inGroupChannelListQuery
andPublicGroupChannelListQuery
- Added
metadataOrderKeyFilter
inGroupChannelListQuery
andPublicGroupChannelListQuery
- Minor bug fixed
- Added
getLastConnectedAt()
inSendBird
to get currentUser's last connection timestamp. - Improved
sendFileMessage()
inBaseChannel
. From now, message's order is guaranteed regardless of the file size uploaded. - Improved stability.
- Minor bug fixed.
- Improved stability.
- Minor bug fixed.
-
Added readStatus of currentUser by passing
true
as first argument togetReadStatus()
inGroupChannel
. Passingfalse
or nothing togetReadStatus()
returns the read status without currentUser. -
Added
getReadMembers()
inGroupChannel
to return a list of members who read the message. -
Added
getUnreadMember()
inGroupChannel
to return a list of members who did not read the message. -
Added
isEqual()
inGroupChannel
andBaseMessage
to deep-equal with other instance. -
Added
isIdentical()
inGroupChannel
andBaseMessage
to check if the instance is identical to another. -
Fixed to call
connect()
callback function with an error when connection is lost while connecting to SendBird. -
Minor bug fixed.
-
Deprecated some feature.
- Deprecated
getCurrentUserId()
inSendBird
. - Deprecated
CLOSING
in ConnectionState inSendBird
. - Deprecated some
createChannel()
,createChannelWithUserIds()
inGroupChannel
andOpenChannel
. - Deprecated some
updateChannel()
inGroupChannel
andOpenChannel
. - Deprecated some
sendUserMessage()
andsendFileMessage()
. - Deprecated
getChannelCount()
inGroupChannel
. Use newly addedSendBird.getGroupChannelCount()
instead. - Deprecated
getTotalUnreadMessageCount()
inGroupChannel
. Use newly addedSendBird.getTotalUnreadMessageCount()
instead. - Deprecated
getTotalUnreadChannelCount()
inGroupChannel
. Use newly addedSendBird.getTotalUnreadChannelCount()
instead. - Deprecated
getUnreadItemCount()
inGroupChannel
. Use newly addedSendBird.getUnreadItemCount()
instead.
- Deprecated
- From now,
useMemberAsMessageSender
option is true by default. - Fixed a bug previous messages not showing the senders' latest user metadata.
- Minor bug fixed.
- Improved stability.
- Minor bug fixed.
- Fixed a bug to support NodeJS below 10.
- Improved connection state check when reconnected.
- Minor bug fixed.
- Improved reconnection mechanism to detect network recovered on browsers only.
- Support NodeJS version 10.
- Minor bug fixed.
- Added
updateUserMessage()
withUserMessageParams
in BaseChannel. - Added
updateFileMessage()
withFileMessageParams
in BaseChannel. - Minor bug fixed.
- Improved connection management.
- Added
invitedAt
in GroupChannel.
- Added properties as
limit
,reverse
,messageTypeFilter
,customTypeFilter
, andsenderUserIdsFilter
in PreviousMessageListQuery. - Added
getNextMessagesByTimestamp
,getPreviousMessagesByTimestamp
,getPreviousAndNextMessagesByTimestamp
,getNextMessagesByID
,getPreviousMessagesByID
, andgetPreviousAndNextMessagesByID
withsendUserIds
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
unreadMentionCount
inGroupChannel
to check the mention count of the current user. - Added
unread_mention_count_only
in CountPreference to receive only updatedunreadMentionCount
. - Added
mentionType
withusers
andchannel
inBaseMessage
to check the type of mention. - Added
mentionType
withusers
andchannel
inBaseMessageParams
to set type of mention.
- Added
nicknameStartsWithFilter
inMemberListQuery
to search Group Channel members by nickname. - Added
CountPreference
inGroupChannel
which represents an enum of count preferences - 'all', 'unread_message_count_only', 'off'. - Added
myCountPreference
inGroupChannel
to get my count preference of a Group Channel. - Added
setMyCountPreference
inGroupChannel
to set my Group Channel count preference to a value in GroupChannel.CountPreference. - Minor bug-fix.
- Added
memberStateFilter
inMemberListQuery
to search members based on the state of the member in a Group Channel. - Added
myMutedState
inGroupChannel
to show the state of the connected user in a Group Channel. - Added
joinedMemberCount
inGroupChannel
to show the total count of joined users in a Group Channel. - Added
getUnreadItemCount
that receives an array argument having at least one among 'non_super_group_channel_unread_message_count', 'non_super_group_channel_invitation_count', 'super_group_channel_unread_message_count', and 'super_group_channel_invitation_count' inGroupChannel
. - Changed the type of
invitees
fromMember
toUser
ononUserReceivedInvitation
.
- Added a typing indicator throttle option in SendBird.Options.
- Fixed a minor bug for
GroupChannelParams
,UserMessageParams
andFileMessageParams
. - Fixed a minor bug for
includeEmpty
to accept only a boolean argument.
- Fixed an occasional member count mismatch in a super group channel.
- Added a property named
myRole
in theGroupChannel
which is a role of current user in the group channel. - Added
GroupChannelTotalUnreadMessageCountParams
class that is used to get total unread message count.
- Ordered member list by nickname alphabetically.
- Fixed a bug that a file upload.
- Bugfix about RequireJS.
- Bugfix about myMemberState when user decline invitation.
- Deprecated
operatorFilter
inGroupChannelMemberListQuery
. - Added
createOperatorListQuery
inBaseChannel
to search users that are operators in channel. - Minor bugfix.
- Added
pushNotificationDeliveryOption
inUserMessageParams
andFileMessageParams
to determine whether it’d deliver the push notification for a user/file message. - Added
channelCustomTypes
ingetTotalUnreadMessageCount()
to get an unread message count ofGroupChannel
with specific custom types.
- Changed an ephemeral
GroupChannel
to maintain fields oflastMessage
andunreadMessageCount
after connected. - Update
SendBird.d.ts
file.
- Added
UserMessageParams
feature.- This is used in
sendUserMessage()
of channel. - message: set text message to send. This value is required.
- data: set message data to send.
- customType: set message customType to send.
- targetLanguages: set message translation target language list.
- mentionedUserIds: set mentioned userId.
- mentionedUsers: set mentioned User.
- This is used in
- Added
FileMessageParams
feature.- This is used in
sendFileMessage()
of channel. file
orfileUrl
is required.- file: set file to send.
- fileUrl: set file's url to send.
- fileName: set file's name to send. When you set a file and do not specify this value, it is specified by name of the file. When you set a fileUrl and do not specify this value, it is set as empty string.
- fileSize: set file's size to send. When you set a file and do not specify this value, it is specified by size of the file. When you set a fileUrl and do not specify this value, it is set as 0.
- mimeType: set file's type to send. When you set a file and do not specify this value, it is specified by type of the file. When you set a fileUrl and do not specify this value, it is specified by inferring from fileUrl.
- data: set message data to send.
- customType: set message customType to send.
- thumbnailSizes: set size of the thumbnail to be created. This value only works when you use file not fileUrl.
- mentionedUserIds: set mentioned userId.
- mentionedUsers: set mentioned User.
- This is used in
- Added
sendUserMessage(UserMessageParams, CallBackFunction)
in channel. - Added
sendFileMessage(FileMessageParams, CallBackFunction)
in channel. - Added
mentionedUsers
in UserMessage and FileMessage to check mentioned user. - Added
isEphemeral
in GroupChannel to indicate whether the channel supports message retention. - Added
myMemberState
in GroupChannel to check my joined state on GroupChannel. - Added
operator
feature in GroupChannel.- Added
operators
inGroupChannelParams
to set operator. - Added
operatorUserIds
inGroupChannelParams
to set operator.
- Added
- Added
banUser
inGroupChannel
to ban User. - Added
banUserWithUserId
inGroupChannel
to ban User using userId. - Added
unbanUser
inGroupChannel
to remove banned User using User object. - Added
unbanUserWithUserId
inGroupChannel
to remove banned User using userId. - Added
muteUser
inGroupChannel
to mute User using User object. - Added
muteUserWithUserId
inGroupChannel
to mute User using userId. - Added
unmuteUser
inGroupChannel
to unmute User using User object. - Added
unmuteUserWithUserId
inGroupChannel
to unmute User using userId. - Added
freeze
inGroupChannel
not to allow messages from members from the channel. - Added
unfreeze
inGroupChannel
to allow messages from members from the channel. - Added
isFrozen
inGroupChannel
to check if the channel is frozen or not. - From now, channel param in callbacks of the ChannelHandler below can come in either GroupChannel or OpenChannel.
- onUserMuted(channel, user)
- onUserUnmuted(channel, user)
- onUserBanned(channel, user)
- onUserUnbanned(channel, user)
- onChannelFrozen(channel)
- onChannelUnfrozen(channel)
- Added
createMemberListQuery()
inGroupChannel
to search members.
- Minor bugfix for
UserMessage
andFileMessage
.
- Deprecated
userIdsFilter
inGroupChannelListQuery
. - Deprecated
userIdsFilterExactMatch
inGroupChannelListQuery
. - Deprecated
queryType
inGroupChannelListQuery
. - Added
userIdsExactFilter
inGroupChannelListQuery
to replaceuserIdsFilter
anduserIdsFilterExactMatch
. - Added
userIdsIncludeFilter
inGroupChannelListQuery
to replaceuserIdsFilter
anduserIdsFilterExactMatch
. - Added
userIdsIncludeFilterQueryType
inGroupChannelListQuery
to replacequeryType
. - Added
customTypeStartsWithFilter
inGroupChannelListQuery
to search channels based oncustomType
. - Added
superChannelFilter
inGroupChannelListQuery
to search channels thatisSuper
is true. - Added
publicChannelFilter
inGroupChannelListQuery
to search channels thatisPublic
is true. - Added
GroupChannelParams
feature.- This is used in
createChannel()
andupdateChannel()
of GroupChannel. - isDistinct: set isDistinct on creation or update.
- isSuper: set isSuper on creation.
- isPublic: set isPublic on creation or update.
- channelUrl: set url of channel on creation.
- name: set name on creation or update.
- data: set data on creation or update.
- customType: set customType on creation or update.
- coverUrl: set coverUrl on creation or update.
- coverImage: set coverUrl using file on creation or update.
- addUser(): add user to be invited using user instance.
- addUsers(): add user to be invited using user instance array.
- addUserId(): add user to be invited using userId.
- addUserIds(): add user to be invited using userId array.
- This is used in
- Added
PublicGroupChannelListQuery
inSendBird
to search channels thatisPublic
is true.- limit: set list count for result.
- includeEmpty: set whether to get channel that conversation is empty.
- order: set order of result.
- channelNameContainsFilter: set channelName to get channels based on.
- channelUrlsFilter: set channelUrls to get channels based on.
- customTypesFilter: set customTypes to get channels based on.
- customTypeStartsWithFilter: set to get channels starting with the passed customType.
- superChannelFilter: set whether to fetch all channels, super channels only, or non-super channels only.
- membershipFilter: set whether to fetch according to the current user state of join.
- next(): get channel list.
- Added
channelUrlsFilter
inGroupChannelListQuery
.
- Minor bugfix for
markAsReadWithChannelUrls()
.
- Added
markAsReadWithChannelUrls()
inSendBird
to simultaneously mark as read multiple channels the logged in user has joined. - Added
markAsReadAll()
inSendBird
to mark as read all channels the logged in user has joined. - Deprecated
markAsReadAll()
inGroupChannel
. - From now, if you pass param as
true
when you callhide()
, the channel's unreadMessageCount set to 0.
- Added
customTypesFilter
inGroupChannelListQuery
to search groupChannel. - Added
getOriginalProfileUrl()
inUser
for getting original profile image. - Added
Friend
feature.- uploadFriendDiscoveries(): add friend using discovery key.
- deleteFriendDiscovery() / deleteFriendDiscoveries(): delete friend's discovery key.
- addFriends(): add friend using friend's userID.
- deleteFriend() / deleteFriends(): delete friend using friend's userID.
- createFriendListQuery(): create object for getting friend list.
- getFriendChangeLogsByToken(): get friend relation changed log.
- addUserEventHandler(): add handler for receiving user event.
- removeUserEventHandler() / removeAllUserEventHandler(): remove user event handler.
- UserEventHandler: user event handler object.
- From now, even when you call
connect()
before the previousconnect()
finishes, all of them get called back for the connection establishment result at the same time.
- Added
isActive
inUser
.
- Update TypeScript Definition file(SendBird.d.ts).
- Minor bug fixes.
- Minor bug fixes.
- Added
customTypeFilter
increateMyGroupChannelListQuery
. - Added
onChannelHidden
inChannelHandler
.
- Added
isHidden
inGroupChannel
.
- Added
getMessageChangeLogsByToken()
inChannel
.
- Updated TypeScript Definition file(SendBird.d.ts).
NOTE Install via NPM and import like below in your TypeScript file:
import * as SendBird from "SendBird";
var sb = new SendBird({ appId: "USER_APP_ID" });
// do something...
If you have trouble importing SendBird
, please check your tsconfig.json
file and change the value of "allowSyntheticDefaultImports"
to true
in compilerOptions
.
- Added
serialize()
andbuildFromSerializedData()
inUser
,Message
andChannel
. - Added
getChannelCount()
andresetMyHistory()
inGroupChannel
.
- Added
isBlockedByMe
andisBlockingMe
inMember
.
- Added
createMetaData
,updateMetaData
,deleteMetaData
anddeleteAllMetaData
inUser
. - Added
metaDataKey
andmetaDataValues
filter inUserListQuery
. - Added
isFrozen
inOpenChannel
. - Added
hidePreviousMessages
option inhide
function.
- Added
channelNameContainsFilter
in myGroupChannelListQuery object. - Added
onMetaDataCreated
,onMetaDataUpdated
,onMetaDataDeleted
,onMetaCountersCreated
,onMetaCountersUpdated
andonMetaCountersDeleted
handlers inChannelHandler
.
- Updated login status check.
- minor bugfix for NodeJS.
- Updated dependent libs for NodeJS.
- Updated the TypeScript file.
- Fixed the WebSocket disconnect.
- Fixed version check.
- Added
delete()
in OpenChannel. - Added
updateChannel()
in GroupChannel and OpenChannel.
- Fixed a compatibility issue with React Native.
- Added
getPushTemplate()
andsetPushTemplate()
. - Added checking SDK's version using
SendBird.version
. - Now support connecting to custom host.
- Added return value when call
cancelUploadingFileMessage()
.
- Fix the bug that drops message events when sb.setErrorFirstCallback was set to True.
SendBirdException
now inherits from the JavaScript Error object.- You can now decide the error parameter order in callback functions using
sb.setErrorFirstCallback(True|False)
.
- Added
updateUserMessage()
andupdateFileMessage()
. - Added
onMessageUpdated()
in ChannelHandler. - You now can confirm file upload progress by passing a progressHandler as a parameter when calling
sendFileMessage()
. - Added
cancelUploadingFileMessage()
.
- Added getTotalUnreadChannelCount
- Now markAsRead doesn't have any delays
- Now GroupChannelList returns correct readstatus as well.
- Member nickname/profile get updated when new messages arrived.
- Return more consistent errors when connection() is not made before calling methods.
- Now we don't count senders in readreceipt.
- Now it supports IE8/9 with some Flash libraries
- Fixed a bug regarding disableStateChange/enableStateChange
- Fixed a file uploading bug in React Native.
- Fixed minor bugs related to null check.
- Fixed a bug in calling markAsRead().
- Added supports for video/image thumbnail generations and file encryption/access control.
- connect()/disconnect() doesn't clear out connection/channel handlers anymore. Instead you should use removeAllConnectionHandlers() and removeAllChannelHandlers().
- Fixed a bug in removing ios push tokens.
- Now reconnect() method has been added which you can use when you want to manually trigger reconnect logic when network condition gets better.
- Added "getMessages" series of methods with timestamp and messageId filter.
- Fixed a callback handling bug.
- Finally push notifications feature is officially supported in V3 JS SDK.
- Added "setBackgroundState()" and "setForegroundState()".
- Added "messageType" filter to PreviousMessageQueryList.
- InItial connection speed has been improved a lot!.
- Auto-Reconnection is now more robust.
- Auto-Translation support has been added.
- Fixed a bug that created non-integer file size field.
- Fixed a reconnection bug happening after calling disconnect() and connect() in serial.
- Added "custom_type" field to message/file object.
- Added "user_id"/"nickanme" filters to GroupChannelList.
- Fixed wrong message_id, data field of FileMessage object.
- Fixed a Keep-Alive bug now and it should be much faster in React Native/NodeJS.
- Now calling "connect()" multiple times in a row triggers "disconnect()" internally to avoid having multiple websocket connections
- New License File
- Fixed a bug that increases unread message count when a user gets its own messages
- Cleared out old ws object's event handlers after disconnect to prevent a user from getting messages from another user who logged in on the same device.
- minor bugfix for IE, Safari, Opera.
sendFileMessage
bugfix.
- Added features like filtered user list, open channel keyword search, push preference setting, etc.
messageListQuery
bugfix.
- add dependencies
- NodeJS Keepalive bugfix.
- React Native android bugfix.
createPreviousMessageListQuery
bugfix.- npm bundle bugfix.
- npm publish.
- Reconnect bugfix.
getMetaCounters
,getMetaData
bugfix.
blockUserWithUserId
bugfix.
- v3.0.0 release.