Skip to content

Releases: sendbird/sendbird-ios-distribution

SendbirdAIAgentMessenger-v1.7.0

20 Feb 06:44
68f6b92

Choose a tag to compare

New Features

  • Multiple Files Message (MFM) support

    • Users can now select and send multiple images at once as a MultipleFilesMessage
    • Documents are restricted to single-file sending only; only images support multi-selection
    • Add button is automatically disabled when a document is attached or the image limit is reached
  • SBAMultipleFilesMessageCell — new cell for rendering MultipleFilesMessage

    • Customizable via SBAConversationModule.List.MultipleFilesMessageCell
  • SBAQueryParamsSet.Conversation — now public

    • multipleFilesMessageParamsSendBuilder: a static builder closure to pre-configure MultipleFilesMessageCreateParams before sending

Improvements

  • Conversation list last message displayMultipleFilesMessage now correctly renders last message previews:

    • Shows message text if present
    • Otherwise shows photo count (e.g., "3 photos") or file count (e.g., "2 files")
  • Debounced table view reload in SBAConversationListViewController to prevent excessive UI updates during multi-file uploads

  • SBA_Conversation_Input_Placeholder_noConversation localization key added

Localization

  • Added new strings across 11 languages (en, ko, ja, de, es, fr, hi, it, nl, pt-PT, tr):
    • SBA_Common_ok
    • SBA_Common_Alert_maxImageSelection — shown when photo picker limit is reached
    • SBA_Common_Alert_someFilesExcluded — shown when files are excluded due to upload restrictions
    • SBA_Conversation_List_AttachmentIndicator_fileAttachedFormat / filesAttachedFormat
    • SBA_ConversationList_List_lastMessageFile / lastMessagePhotosFormat / lastMessageFilesFormat

SendbirdAIAgentCore-v1.7.0

20 Feb 06:44
68f6b92

Choose a tag to compare

New Features

  • Multiple Files Message (MFM) support

    • Users can now select and send multiple images at once as a MultipleFilesMessage
    • Documents are restricted to single-file sending only; only images support multi-selection
    • Add button is automatically disabled when a document is attached or the image limit is reached
  • SBAMultipleFilesMessageCell — new cell for rendering MultipleFilesMessage

    • Customizable via SBAConversationModule.List.MultipleFilesMessageCell
  • SBAQueryParamsSet.Conversation — now public

    • multipleFilesMessageParamsSendBuilder: a static builder closure to pre-configure MultipleFilesMessageCreateParams before sending

Improvements

  • Conversation list last message displayMultipleFilesMessage now correctly renders last message previews:

    • Shows message text if present
    • Otherwise shows photo count (e.g., "3 photos") or file count (e.g., "2 files")
  • Debounced table view reload in SBAConversationListViewController to prevent excessive UI updates during multi-file uploads

  • SBA_Conversation_Input_Placeholder_noConversation localization key added

Localization

  • Added new strings across 11 languages (en, ko, ja, de, es, fr, hi, it, nl, pt-PT, tr):
    • SBA_Common_ok
    • SBA_Common_Alert_maxImageSelection — shown when photo picker limit is reached
    • SBA_Common_Alert_someFilesExcluded — shown when files are excluded due to upload restrictions
    • SBA_Conversation_List_AttachmentIndicator_fileAttachedFormat / filesAttachedFormat
    • SBA_ConversationList_List_lastMessageFile / lastMessagePhotosFormat / lastMessageFilesFormat

SendbirdAIAgentMessenger-v1.6.0

11 Feb 14:08
fca41ed

Choose a tag to compare

New Features

  • Context-Based Conversation Search

    Added AIAgentMessenger.searchConversation(params:completionHandler:) to find existing conversations that match specific context criteria. This allows you to look up conversations associated with particular attributes (e.g., order ID, page URL) without manually tracking channel URLs.

    • Searches only open conversations for the specified AI Agent
    • Context matching uses AND condition — all provided key-value pairs must match
    • Returns an array of matching channel URLs
    let params = AIAgentMessenger.SearchConversationParams(
        aiAgentId: "AI_AGENT_ID",
        context: ["key": "value"]
    )
    
    AIAgentMessenger.searchConversation(params: params) { result in
        switch result {
        case .success(let channelURLs):
            // Use channelURLs to open or manage matched conversations
        case .failure(let error):
            // Handle error
        }
    }

Improvements

  • Offline Mode Support: Automatically fallback to cached settings when Messenger Settings API fails

Deprecations

  • Deprecated MessageForm.isValidVersion, MessageFormItem.LayoutType.keyboardType, MessageFormItem.LayoutType.returnKeyType, MessageFormItem.ResultCount.isUpdatable()

SendbirdAIAgentCore-v1.6.0

11 Feb 14:08
fca41ed

Choose a tag to compare

New Features

  • Context-Based Conversation Search

    Added AIAgentMessenger.searchConversation(params:completionHandler:) to find existing conversations that match specific context criteria. This allows you to look up conversations associated with particular attributes (e.g., order ID, page URL) without manually tracking channel URLs.

    • Searches only open conversations for the specified AI Agent
    • Context matching uses AND condition — all provided key-value pairs must match
    • Returns an array of matching channel URLs
    let params = AIAgentMessenger.SearchConversationParams(
        aiAgentId: "AI_AGENT_ID",
        context: ["key": "value"]
    )
    
    AIAgentMessenger.searchConversation(params: params) { result in
        switch result {
        case .success(let channelURLs):
            // Use channelURLs to open or manage matched conversations
        case .failure(let error):
            // Handle error
        }
    }

Improvements

  • Offline Mode Support: Automatically fallback to cached settings when Messenger Settings API fails

Deprecations

  • Deprecated MessageForm.isValidVersion, MessageFormItem.LayoutType.keyboardType, MessageFormItem.LayoutType.returnKeyType, MessageFormItem.ResultCount.isUpdatable()

SendbirdAIAgentMessenger-v1.5.1

05 Feb 14:19
f5a3e6a

Choose a tag to compare

Improvements

  • Optimized layout update cycle in conversation message list to prevent redundant UI refresh calls

SendbirdAIAgentCore-v1.5.1

05 Feb 14:18
f5a3e6a

Choose a tag to compare

Improvements

  • Optimized layout update cycle in conversation message list to prevent redundant UI refresh calls

SendbirdAIAgentMessenger-v1.5.0

03 Feb 08:13
334766d

Choose a tag to compare

New Features

  • Scroll Mode: Added ChatGPT-style fixed scroll mode for conversation list
    • New SBAScrollMode enum with .auto (default) and .fixed options
    • Configure via AIAgentMessenger.config.conversation.list.scrollMode
    • In .fixed mode, sent messages stay positioned at the top of the collection view
  • New Message Indicator: Added floating indicator for new incoming messages
    • Shows count of unread messages when scrolled away from bottom
    • Tap to scroll to the latest message
    • Enable/disable via AIAgentMessenger.config.conversation.list.isNewMessageIndicatorEnabled (default: true)
  • Custom Message Template: Added support for custom message template rendering
    • New SBACustomMessageTemplateData model for template data structure
    • New SBACustomMessageTemplateView base class for custom template UI
    • Event handling system for custom template interactions via sendEvent(name:data:)
    • Register custom views via SBAModuleSet.ConversationModule.List.Cell.CustomMessageTemplateView
  • CSAT Always Visible Option: Added always_visible support for CSAT follow-up questions
    • Follow-up questions can now be displayed without requiring CSAT score selection
    • New alwaysVisible property in SBAMessageCSATData.FollowUp

Public API Changes

  • New enum: SBAScrollMode
public enum SBAScrollMode {
    case auto   // Default scroll behavior
    case fixed  // Fixed message positioning (ChatGPT-style)
}
  • New configuration properties in SBAConfig.Conversation.List:
    • isNewMessageIndicatorEnabled: Bool - Controls new message indicator visibility
    • scrollMode: SBAScrollMode - Sets the conversation scroll behavior
  • New localization class: SBALocalization.Conversation.NewMessageView
    • title: String - Customizable title for the new message indicator
  • New struct: SBACustomMessageTemplateData
public struct SBACustomMessageTemplateData: Codable {
    public let templateId: String
    public let response: Response
    public let error: String?

    public struct Response: Codable {
        public let status: Int
        public let content: String?
    }
}
  • New class: SBACustomMessageTemplateView - Base class for custom template UI rendering
  • New delegate event: SBAConversationModule.List.DelegateEvent.didReceiveCustomMessageTemplateAction(name:data:message:)
  • New property in SBAMessageCSATData.FollowUp:
    • alwaysVisible: Bool? - Controls whether follow-up is shown without CSAT score selection

Improvements

  • Renamed SBANewMessageInfo to SBANewMessageView with enhanced functionality
  • Improved collection view reload handling with context-based approach

SendbirdAIAgentCore-v1.5.0

03 Feb 08:13
334766d

Choose a tag to compare

New Features

  • Scroll Mode: Added ChatGPT-style fixed scroll mode for conversation list
    • New SBAScrollMode enum with .auto (default) and .fixed options
    • Configure via AIAgentMessenger.config.conversation.list.scrollMode
    • In .fixed mode, sent messages stay positioned at the top of the collection view
  • New Message Indicator: Added floating indicator for new incoming messages
    • Shows count of unread messages when scrolled away from bottom
    • Tap to scroll to the latest message
    • Enable/disable via AIAgentMessenger.config.conversation.list.isNewMessageIndicatorEnabled (default: true)
  • Custom Message Template: Added support for custom message template rendering
    • New SBACustomMessageTemplateData model for template data structure
    • New SBACustomMessageTemplateView base class for custom template UI
    • Event handling system for custom template interactions via sendEvent(name:data:)
    • Register custom views via SBAModuleSet.ConversationModule.List.Cell.CustomMessageTemplateView
  • CSAT Always Visible Option: Added always_visible support for CSAT follow-up questions
    • Follow-up questions can now be displayed without requiring CSAT score selection
    • New alwaysVisible property in SBAMessageCSATData.FollowUp

Public API Changes

  • New enum: SBAScrollMode
public enum SBAScrollMode {
    case auto   // Default scroll behavior
    case fixed  // Fixed message positioning (ChatGPT-style)
}
  • New configuration properties in SBAConfig.Conversation.List:
    • isNewMessageIndicatorEnabled: Bool - Controls new message indicator visibility
    • scrollMode: SBAScrollMode - Sets the conversation scroll behavior
  • New localization class: SBALocalization.Conversation.NewMessageView
    • title: String - Customizable title for the new message indicator
  • New struct: SBACustomMessageTemplateData
public struct SBACustomMessageTemplateData: Codable {
    public let templateId: String
    public let response: Response
    public let error: String?

    public struct Response: Codable {
        public let status: Int
        public let content: String?
    }
}
  • New class: SBACustomMessageTemplateView - Base class for custom template UI rendering
  • New delegate event: SBAConversationModule.List.DelegateEvent.didReceiveCustomMessageTemplateAction(name:data:message:)
  • New property in SBAMessageCSATData.FollowUp:
    • alwaysVisible: Bool? - Controls whether follow-up is shown without CSAT score selection

Improvements

  • Renamed SBANewMessageInfo to SBANewMessageView with enhanced functionality
  • Improved collection view reload handling with context-based approach

SendbirdAIAgentMessenger-v1.4.3

19 Dec 08:58
ec49180

Choose a tag to compare

Changes

  • Updated dependency SDK versions to the latest stable releases
  • SendbirdChatSDK: v4.35.0
  • SendbirdMessageTemplate: v3.33.0

New Features

  • User Input Blocking System: Implemented server-driven user input disabling

SendbirdAIAgentCore-v1.4.3

19 Dec 08:58
ec49180

Choose a tag to compare

Changes

  • Updated dependency SDK versions to the latest stable releases
  • SendbirdChatSDK: v4.35.0
  • SendbirdMessageTemplate: v3.33.0

New Features

  • User Input Blocking System: Implemented server-driven user input disabling