Skip to content

Releases: sendbird/sendbird-ai-agent-messenger-ios

0.10.6

25 Aug 20:57
e00c2c0
Compare
Choose a tag to compare

Features

  • Conversation Header Customization
    • Made SBAConversationModule.Header.TitleView public for custom title view implementation

Improvements

  • Improved Japanese translation quality with more natural expressions
  • Date separators now respect user's system locale settings

Bug Fixes

  • Fixed theme not applying

Performance

  • Fixed infinite setupStyles() recursion issue
  • Optimized streaming event handling to prevent duplicates
  • Improved table view reload performance with debouncing

0.10.5

22 Aug 01:39
04f26b3
Compare
Choose a tag to compare

Changed

  • Exposed public properties in SBAConversationModule.Header:
    • menuButton, closeButton, and handoffButton

0.10.4

18 Aug 17:02
ba56be7
Compare
Choose a tag to compare

Improvements

  • Profile Image Hidden Options in Conversation
    • Added SBAConfig.Conversation.Header.shouldShowProfile
      • Controls profile image visibility in conversation header
    • Added SBAConfig.Conversation.List.shouldShowSenderProfile
      • Controls sender profile image visibility in message list

0.10.3

18 Aug 07:57
b54493d
Compare
Choose a tag to compare

Improvements

  • Profile Image Hidden Options in Conversation
    • Added SBAConfig.Conversation.Header.shouldShowProfile
      • Controls profile image visibility in conversation header
    • Added SBAConfig.Conversation.List.shouldShowSenderProfile
      • Controls sender profile image visibility in message list

0.10.2

14 Aug 06:37
dc56fc1
Compare
Choose a tag to compare

Improvements

  • Supports minimum version to iOS 14

0.9.16

13 Aug 14:28
Compare
Choose a tag to compare

Improvements

  • Fixed image ratio handling.

0.10.1

12 Aug 10:39
7229518
Compare
Choose a tag to compare

Improvements

  • iOS minor version issue supports

0.10.0

09 Aug 12:32
0bc5a89
Compare
Choose a tag to compare

Features

  • New Authentication Flow: Streamlined authentication with automatic connection

    AIAgentMessenger.authenticate(aiAgentId: "agent123") { result in
        // Returns activeChannelURL on success
    }
    • Added authenticate(aiAgentId:paramsBuilder:completionHandler:) method
    • Added AuthenticateParamsBuilder for configuration
    • Added AuthenticateResultHandler returning activeChannelURL on success
  • Conversation Creation: New API for creating conversations programmatically

    AIAgentMessenger.createConversation(aiAgentId: "agent123") { result in
        // Returns channelURL of created conversation
    }
    • Added createConversation(aiAgentId:paramsBuilder:completionHandler:) method
    • Added ConversationCreateParamsBuilder
    • Added ChannelURLResponseHandler for conversation creation results
  • Enhanced Builder Pattern Support: All major APIs now support builder pattern

    • baseInitialize(appId:paramsBuilder:completionHandler:) with InitializeParamsBuilder
    • attachLauncher(aiAgentId:channelURL:paramsBuilder:) with LauncherSettingsParamsBuilder
    • presentConversation(aiAgentId:channelURL:paramsBuilder:) with ConversationSettingsParamsBuilder
    • presentConversationList(aiAgentId:paramsBuilder:) with ConversationSettingsParamsBuilder
  • Session Factory Methods: Simplified session creation

    // For authenticated users
    let session = AIAgentMessenger.SessionInfo.manual(
        userId: "user123",
        sessionToken: "token",
        sessionDelegate: delegate
    )
    
    // For anonymous users
    let session = AIAgentMessenger.SessionInfo.anonymous()
  • Enhanced Template Support: Extended message template configuration

    • Added Cascade template configuration in SBAConfig.Conversation.Template.InternalVariables
    • New cascade spacing and padding properties: spacing, paddingRight, paddingLeft

Improvements

  • Color Scheme Updates: New method for updating color scheme

    • update(colorScheme:) method for dynamic color scheme changes
  • Session Delegate Enhancements: Improved session token management

    • SessionDelegate protocol now properly handles token updates
    • Automatic session token refresh through delegate callbacks
    • Optional methods in SessionDelegate with default implementations
  • Error Handling: New error types for better error classification

    • SBAErrorType.authenticateFailed for authentication failures
    • SBAErrorType.invalidAuthentication for invalid authentication state
    • SBAErrorType.invalidAgentInfo for invalid agent information
  • Push Notification: All completion handlers now execute on service queue

    • registerPushToken(deviceToken:unique:completionHandler:)
    • unregisterPushToken(completionHandler:)
    • unregisterAllPushToken(completionHandler:)

Bug Fixes

  • Localization: Fixed duplicate locale updates
    • SBALocalization.updateLocale(_:) now checks for duplicate updates before applying

Performance & Stability

  • UI Performance: Fixed infinite recursion issues
  • Memory Management: Better resource cleanup
  • Template Configuration: Extended template system
  • Type Safety: Improved type definitions

BREAKING CHANGES

  • Session Management: Complete overhaul of session management system

    • UserSessionInfo class has been replaced with new SessionInfo hierarchy
    • ManualSessionInfo for authenticated users with custom user data
    • AnonymousSessionInfo for anonymous users (requires app attribute settings enabled)
    • updateSessionInfo(with:) now accepts SessionInfo instead of UserSessionInfo
    • Session info must be reset after calling deauthenticate() or when authentication expires
  • Initialization Parameters: InitializeParams constructor removed

    • Properties are now mutable: logLevel, startHandler, migrationHandler, apiHost, wsHost
    • Use builder pattern instead of constructor parameters

Migration Guide for v0.10.0:

  1. Update Session Management:

    // OLD (v0.9.x)
    let sessionInfo = AIAgentMessenger.UserSessionInfo(
        userId: "user123",
        sessionToken: "token",
        sessionDelegate: delegate
    )
    
    // NEW (v0.10.0)
    let sessionInfo = AIAgentMessenger.SessionInfo.manual(
        userId: "user123",
        sessionToken: "token", 
        sessionDelegate: delegate
    )
  2. Update Initialization:

    // OLD (v0.9.x)
    let params = AIAgentMessenger.InitializeParams(
        logLevel: .info,
        apiHost: "custom.host"
    )
    
    // NEW (v0.10.0)
    AIAgentMessenger.baseInitialize(appId: "app123") { params in
        params.logLevel = .info
        params.apiHost = "custom.host"
    }
  3. Use New Authentication API:

    // NEW in v0.10.0
    AIAgentMessenger.authenticate(aiAgentId: "agent123") { result in
        switch result {
        case .success(let activeChannelURL):
            print("Authenticated with channel: \(activeChannelURL)")
        case .failure(let error):
            print("Authentication failed: \(error)")
        }
    }
  4. Update Builder Pattern Usage:

    // NEW builder pattern support
    AIAgentMessenger.attachLauncher(aiAgentId: "agent123") { params in
        params.options.position = .bottomRight
        params.parent = viewController
    }

0.9.15

08 Aug 07:08
32fa45f
Compare
Choose a tag to compare

Improvements

  • Fixed image ratio handling.

0.9.14

07 Aug 12:18
4a0197b
Compare
Choose a tag to compare

Improvements

  • Fixed an issue where the file attachment view was not appearing.