Releases: sendbird/sendbird-chat-sdk-ios
Releases · sendbird/sendbird-chat-sdk-ios
4.39.3
4.39.2
Improvements
- Guaranteed message resend ordering
4.39.1
New Interfaces
- Made
aiAgentChannelFilteranddeskChannelFilterpublicly accessible onGroupChannelListQueryParams,GroupChannelListQuery, andGroupChannelChangeLogsParams(#1722)
Bug Fixes
- Fixed an issue where newly received messages could be missing from the local cache after a
MessageCollectionis disposed and re-initialized (#1723)
4.39.0
Build Environment
- Rebuilt with Xcode 26 to comply with Apple's App Store submission requirement,
effective late April 2026, which mandates that all apps be built using Xcode 26 or later. - No functional changes or API modifications are included in this release.
Note for Xcode 16 users: This release is compiled with Xcode 26 and may not be
compatible with Xcode 16 build environments. If you are still on Xcode 16, please
continue using the previous version.
4.38.1
New Interfaces
- Added
Member.joinedAtproperty that provides the timestamp of when the member joined the channel, in seconds - Added
ConversationHandoff.requestedAtproperty that provides the timestamp of when the handoff was requested
New Feature
Weekly Do Not Disturb (Weekly DND)
- Users can now set weekly do not disturb schedules.
- Users can set different DND time windows for each day of the week, that is to be repeated weekly.
- This new feature replaces the legacy daily DND interfaces, which are now deprecated (see deprecated interfaces below).
setWeeklyDoNotDisturb(schedules:timezone:completionHandler:)— set per-day DND schedules with multiple time windows per daygetWeeklyDoNotDisturb(completionHandler:)— retrieve the current weekly DND schedulesclearWeeklyDoNotDisturb(completionHandler:)— clear all weekly DND schedulesDndScheduleas a typealias for[DayOfWeek: [DndTimeWindow]]
// USAGE EXAMPLE:
// Using a factory method
let schedule: DndSchedule = .weekdays([
DndTimeWindow(startHour: 22, startMinute: 0, endHour: 23, endMinute: 59)
])
// Using a dictionary literal
let schedule: DndSchedule = [
.monday: [DndTimeWindow(startHour: 9, startMinute: 0, endHour: 17, endMinute: 0)],
.saturday: [DndTimeWindow(startHour: 0, startMinute: 0, endHour: 12, endMinute: 0)]
]
// Pass to setWeeklyDoNotDisturb
SendbirdChat.setWeeklyDoNotDisturb(schedules: schedule, timezone: .current) { error in
// Handle error
}4.38.0
Improvement
- Improved stability
4.37.2
New Features
- AI Agent Context Management API
- Added
AIAgent.updateContext(channelURL:context:completionHandler:)to fully replace AI Agent context for a channel (PUT) - Added
AIAgent.patchContext(channelURL:context:completionHandler:)to partially update AI Agent context for a channel (PATCH)
- Added
4.37.1
New Features
- Add
messageproperty toMultipleFilesMessageCreateParams- Allows including a text message when sending multiple files in a single message
4.37.0
New Features
- AI Agent Conversation Initialization API
- Added
initConversation(params:completionHandler:)method toGroupChannelfor initializing conversations with AI agents - Added
InitConversationParamsclass to specify initialization parameters (AI agent ID) - Added
setShouldSendFirstMessage(_:)method toMessengerSettingsParamsto control automatic welcome message behavior
- Added
Improvements
- Added
contextproperty toConversationclass to expose AI Agent context data as a raw JSON string - Updated default
aiAgentConversationStatusFilterto include both.openand.closedstates inAIAgent.GroupChannelListQueryParamsandAIAgent.GroupChannelUnreadMessageCountParams
4.36.0
Fixed
- Poll voterCount is now updated in real-time when vote events are received
- Fixed an issue where
GroupChannel.memberCount,GroupChannel.joinedMemberCount, andOpenChannel.participantCountwere not updated correctly when receiving member count update events from the server
Deprecations
-
Chatbot Feedback APIs
- Deprecated
FeedbackHandlertypealias - Deprecated
Feedbackmodel class and related properties - Deprecated
BaseMessage.myFeedbackandBaseMessage.myFeedbackStatusproperties - Deprecated feedback methods:
submitFeedback(),updateFeedback(),deleteFeedback() - All deprecated feedback methods now return
ChatError.notSupportederror
- Deprecated
-
Message Form APIs
- Deprecated
MessageFormandMessageFormItemclasses - Deprecated
BaseMessage.messageFormproperty - Deprecated
submitMessageForm()method now returnsChatError.notSupportederror
- Deprecated
-
Event Handling
- Deprecated
EventDetail.UpdateFeedbackMessageevent class - Deprecated
CollectionEventSource.eventFeedbackMessageUpdatedenum case
- Deprecated