Releases: sendbird/sendbird-chat-sdk-javascript
v4.0.8
v4.0.8 (Jul 26, 2022)
- Fixed a bug where request url is malformed when it includes a stringified array as a parameter value
- Fixed a bug where
groupChannelCollection.onChannelsUpdated()is not called whengroupChannel.lastMessageis updated - Fixed a bug where file upload failed messages are not resendable
- Improved stability
v.4.0.7
v4.0.7 (Jul 20, 2022)
- Fixed a bug where
groupChannelCollection.hasNextis always true. - Fixed a bug where
messageCollection.initialize()returning the result in reverse order. - Fixed a bug where
channelHandler.onMentionReceived()returning a channel withmentionedCountvalue not updated when expected to be updated. - Params parameter of
getUnreadItemCount(),getTotalUnreadMessageCount(),getTotalScheduledMessageCount(),createDistinctChannelIfNotExist()inGroupChannelModuleare now made optional. - Deprecated
sessionHandler.onSessionExpired(). - Improved stability.
v4.0.6
## v4.0.6 (Jul 8, 2022)
- Fixed a bug `messageRequestHandler.onFailed()` to always return a failed message.
- Improved stability.
v4.0.5
v4.0.5 (Jul 6, 2022)
- Fixed a bug on AppStateChangeDetector in ReactNative.
v4.0.4
## v4.0.4 (Jul 1, 2022)
- Changed `GroupChannel.createScheduledUserMessage()` and `GroupChannel.createScheduledFileMessage()` to return a `MessageRequestHandler` instance.
- An optional property `scheduledMessageParams` has been added to `ScheduledInfo`.
- Fixed a bug where `succeededMessage.replyToChannel` is false when a message is sent with `messageParams.isReplyToChannel` set to true.
- Improved stability.
v4.0.3
v4.0.2
v4.0.1
v4.0.0
v4.0.0 (Jun 14, 2022)
To see detailed changes for below items, please refer to the migration guide
-
All apis are now made
asyncand callbacks are removed -
The way to instantiate
SendBirdinstance has changed fromnew SendBirdtoSendbirdChat.init() -
sendUserMessage(),sendFileMessage()no longer takes callback as argument but addedonPending(),onFailed(),onSucceededevent handler instead -
All
XxxParamsclasses (exceptXxxHandlerParamsclasses) are now interfaces// old const params = new XxxParams(); // new const params = { ... };
-
All
XxxListQueryclasses are now immutable.// old const query = sb.GroupChannel.createMyGroupChannelListQuery(); query.customTypesFilter = ['a', 'b'] // new const query = sb.groupChannel.createMyGroupChannelListQuery({ customTypesFilter: [‘a’, ‘b’] });
-
Added
SendbirdChatParams.localCacheEncryption -
Added
onConnected, andonDisconnectedtoConnectionHandler -
Added
addOpenChannelHandler,removeOpenChannelHandler,removeAllOpenChannelHandlersinOpenChannelModule -
Added
addGroupChannelHandler,removeGroupChannelHandler,removeAllGroupChannelHandlersinGroupChannelModule -
Added
UserUpdateParams -
Added
UnreadItemCountParams -
Removed
sb.addChannelHandler(),sb.removeChannelHandler(), andsb.removeAllChannelHandlers() -
Removed builder pattern for
GroupChannelCollectionandMessageCollection -
Removed
sb.updateCurrentUserInfoWithProfileImage(). Usesb.updateCurrentUserInfo()instead -
Removed
MessageCollectionInitPolicy.CACHE_ONLY -
Replaced
SendBirdParamswithSendbirdChatParams -
Replaced
sb.GroupChannelwithGroupChannelModule -
Replaced
sb.OpenChannelwithOpenChannelModule -
Replaced
sb.BaseMessagewithMessageModule -
Replaced
SendBird.setLogLevel()withsb.logLevelandSendbirdChatParams.logLevel -
Replaced
sb.useAsyncStorageAsDatabase()toSendbirdChatParams.useAsyncStorageStore -
Replaced
channelHandler.onReadReceiptUpdatedtogroupChannelHandler.onUnreadMemberStatusUpdated -
Replaced
channelHandler.onDeliveryReceiptUpdatedtogroupChannelHandler.onUndeliveredMemberStatusUpdated -
Replaced
GroupChannelParamswithGroupChannelCreateParamsandGroupChannelUpdateParams -
Replaced
OpenChannelParamswithOpenChannelCreateParamsandOpenChannelUpdateParams -
Replaced
UserMessageParamswithUserMessageCreateParamsandUserMessageUpdateParams -
Replaced
FileMessageParamswithFileMessageCreateParamsandFileMessageUpdateParams -
Replaced
SendBird.getInstance()withSendbirdChat.instance -
Replaced
sb.getApplicationId()withsb.appId -
Replaced
sb.getConnectionState()withsb.connectionState -
Replaced
sb.getLastConnectedAt()withsb.lastConnectedAt -
Replaced
sb.Options.useMemberAsMessageSenderwithsb.options.useMemberInfoInMessage -
Replaced
channel.getCachedMetaData()withchannel.cachedMetaData -
Replaced
message.isResendable()withmessage.isResendable -
Replaced
sb.UserMessage.buildFromSerializedData(),sb.FileMessage.buildFromSerializedData(), andsb.AdminMessage.buildFromSerializedData()withsb.message.buildMessageFromSerializedData() -
Replaced
requestedMentionUserIdswithmentionedUserIdsinBaseMessage -
Replaced
isUserMessage,isFileMessage,isAdminMessagewithisUserMessage(),isFileMessage()andisAdminMessage()inBaseMessage -
Replaced
isGroupChannel,isOpenChannelwithisGroupChannel()andisOpenChannel() -
Moved
sb.appVersiontoSendbirdChatParams.appVersion -
Moved
sb.getMyGroupChannelChangeLogsByToken()tosb.groupChannel.getMyGroupChannelChangeLogsByToken() -
Moved
sb.getMyGroupChannelChangeLogsByTimestamp()tosb.groupChannel.getMyGroupChannelChangeLogsByTimestamp() -
Moved
sb.getUnreadItemCount()tosb.groupChannel.getUnreadItemCount() -
Moved
sb.getTotalUnreadChannelCount()tosb.groupChannel.getTotalUnreadChannelCount() -
Moved
sb.getTotalUnreadMessageCount()tosb.groupChannel.getTotalUnreadMessageCount() -
Moved
sb.getTotalScheduledMessageCount()tosb.groupChannel.getTotalScheduledMessageCount() -
Moved
sb.getSubscribedTotalUnreadMessageCount()tosb.groupChannel.getSubscribedTotalUnreadMessageCount() -
Moved
sb.getSubscribedCustomTypeTotalUnreadMessageCount()tosb.groupChannel.getSubscribedCustomTypeTotalUnreadMessageCount() -
Moved
sb.getSubscribedCustomTypeUnreadMessageCount()tosb.groupChannel.getSubscribedCustomTypeUnreadMessageCount() -
Moved
sb.Sender.buildFromSerializedData()tosb.message.buildSenderFromSerializedData() -
Moved
sb.GroupChannel.buildFromSerializedData()tosb.groupChannel.buildGroupChannelFromSerializedData() -
Moved
sb.GroupChannelListQuery.buildFromSerializedData()tosb.groupChannel.buildGroupChannelListQueryFromSerializedData() -
Moved
sb.Member.buildFromSerializedData()tosb.groupChannel.buildMemberFromSerializedData() -
Moved
sb.OpenChannel.buildFromSerializedData()tosb.openChannel.buildOpenChannelFromSerializedData() -
Moved
sb.User.buildFromSerializedData()tosb.buildUserFromSerializedData() -
Divided
ChannelHandlerintoGroupChannelHandlerandOpenChannelHandler -
Renamed
SendbirdExceptiontoSendbirdError -
Renamed
sb.initializeDatabase()tosb.initializeCache() -
Renamed
sb.clearDatabase()tosb.clearCachedData() -
Renamed
OptionstoSendbirdChatOptions -
Renamed
groupChannel.cachedReadReceiptStatustogroupChannel.cachedUnreadMemberState -
Renamed
groupChannel.cachedDeliveryReceiptStatustogroupChannel.cachedUndeliveredMemberState -
Renamed
GCMPushTokentoFCMPushToken
v4.0.0-beta.*
For the changelog between the beta release, please refer to this page
v3 Changelog
Please refer to this page
v4.0.0-beta.12
v4.0.0-beta.12 (June 09, 2022)
- Type of
SendbirdChatParams.useAsyncStorageStorehas changed to AsyncStorage of@react-native-async-storage/async-storage. - Added
clearCachedMessages()inSendbirdChat. - Rename
SendbirdChat.clearCache()toSendbirdChat.clearCachedData(). - Bug fixed the logic for filtering public group channel in
GroupChannelCollection. - Rename
SendbirdChat.Options.useMemberAsMessageSendertoSendbirdChat.Options.useMemberInfoInMessage. useMemberInfoInMessagenow applies to bothmessage.senderandmessage.mentionedUsers.- Bug fixed cached channel not updated when disconnect and then connect.
- Bug fixed broken file data of auto-resent file message.
- Added
BaseMessage.parentMessage. - Added
BaseMessage.applyParentMessage(). - Parent message update event now updates
parentMessagevalue of all its child messages. - Bug fixed
message.metaArraysvalue not being updated after callingcreateMessageMetaArrayKeys(),deleteMessageMetaArrayKeys(),addMessageMetaArrayValues(), andremoveMessageMetaArrayValues()ofBaseChannel. MessageCollectionInitPolicy.API_ONLYhas been removed.- All classes whose namespace ends with params (ex.
UserMessageCreateParams,GroupChannelCreateParams, etc.) is now changed to interfaces. - Improved stability.