Skip to content

Releases: sendbird/sendbird-chat-sdk-ios

4.39.3

29 Apr 10:28
965ad6f

Choose a tag to compare

Bug Fix

  • Fixed a cold-start changelog delivery bug where the memory cache retained stale GroupChannel data after DB upsert, causing GroupChannelCollection to surface outdated lastMessage values (#1732)

4.39.2

24 Apr 05:44
3c5bcba

Choose a tag to compare

Improvements

  • Guaranteed message resend ordering

4.39.1

17 Apr 07:07
961addb

Choose a tag to compare

New Interfaces

  • Made aiAgentChannelFilter and deskChannelFilter publicly accessible on GroupChannelListQueryParams, GroupChannelListQuery, and GroupChannelChangeLogsParams (#1722)

Bug Fixes

  • Fixed an issue where newly received messages could be missing from the local cache after a MessageCollection is disposed and re-initialized (#1723)

4.39.0

09 Apr 04:39
9f4f296

Choose a tag to compare

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

26 Mar 08:52
8902b59

Choose a tag to compare

New Interfaces

  • Added Member.joinedAt property that provides the timestamp of when the member joined the channel, in seconds
  • Added ConversationHandoff.requestedAt property 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 day
    • getWeeklyDoNotDisturb(completionHandler:) — retrieve the current weekly DND schedules
    • clearWeeklyDoNotDisturb(completionHandler:) — clear all weekly DND schedules
    • DndSchedule as 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

18 Mar 13:09
05491cb

Choose a tag to compare

Improvement

  • Improved stability

4.37.2

10 Mar 07:18
72e5ed7

Choose a tag to compare

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)

4.37.1

20 Feb 06:22
46d07fb

Choose a tag to compare

New Features

  • Add message property to MultipleFilesMessageCreateParams
    • Allows including a text message when sending multiple files in a single message

4.37.0

11 Feb 12:37
3260763

Choose a tag to compare

New Features

  • AI Agent Conversation Initialization API
    • Added initConversation(params:completionHandler:) method to GroupChannel for initializing conversations with AI agents
    • Added InitConversationParams class to specify initialization parameters (AI agent ID)
    • Added setShouldSendFirstMessage(_:) method to MessengerSettingsParams to control automatic welcome message behavior

Improvements

  • Added context property to Conversation class to expose AI Agent context data as a raw JSON string
  • Updated default aiAgentConversationStatusFilter to include both .open and .closed states in AIAgent.GroupChannelListQueryParams and AIAgent.GroupChannelUnreadMessageCountParams

4.36.0

29 Jan 08:07
a181039

Choose a tag to compare

Fixed

  • Poll voterCount is now updated in real-time when vote events are received
  • Fixed an issue where GroupChannel.memberCount, GroupChannel.joinedMemberCount, and OpenChannel.participantCount were not updated correctly when receiving member count update events from the server

Deprecations

  • Chatbot Feedback APIs

    • Deprecated FeedbackHandler typealias
    • Deprecated Feedback model class and related properties
    • Deprecated BaseMessage.myFeedback and BaseMessage.myFeedbackStatus properties
    • Deprecated feedback methods: submitFeedback(), updateFeedback(), deleteFeedback()
    • All deprecated feedback methods now return ChatError.notSupported error
  • Message Form APIs

    • Deprecated MessageForm and MessageFormItem classes
    • Deprecated BaseMessage.messageForm property
    • Deprecated submitMessageForm() method now returns ChatError.notSupported error
  • Event Handling

    • Deprecated EventDetail.UpdateFeedbackMessage event class
    • Deprecated CollectionEventSource.eventFeedbackMessageUpdated enum case