Skip to main content

Introduction

With the v2 release of the Dyte Core SDK, we're introducing a major upgrade focused on making the development experience simpler, more consistent, and intuitive. This upgrade introduces breaking changes across four key areas:

1. Migration to V2 REST API Terminology

  • meeting.meta.roomName -> meeting.meta.meetingId
  • DyteMeetingParticipant.clientSpecificId -> DyteMeetingParticipant.customParticipantId
  • Removed DyteMeetingInfo (V1)

2. Removal of Deprecated APIs

We have removed deprecated methods and properties in favour of improved, uniform, and clearer versions.

  • Removed DyteParticipants.screenshares (use DyteParticipants.screenShares). The deprecated type DyteScreenShareMeetingParticipant has also been removed
  • Chat Methods: Removed deprecated file and image send methods. The new lambda-based methods take more reliable Uris & return proper errors
    • File message methods:
      • Removed:
        • sendFileMessage(filePath: String)
        • sendFileMessage(filePath: String, fileName: String)
        • sendFileMessage(fileUri: Uri)
      • Use instead:
        • sendFileMessage(fileUri: Uri, onResult: (ChatFileError?) -> Unit)
      • Removed:
        • sendFileMessage(filePath: String, peerIds: List<String>)
        • sendFileMessage(fileUri: Uri, peerIds: List<String>)
      • Use instead:
        • sendFileMessage(fileUri: Uri, peerIds: List<String>, onResult: (ChatFileError?) -> Unit)
    • Image message methods:
      • Removed:
        • sendImageMessage(filePath: String, fileName: String)
        • sendImageMessage(imageUri: Uri)
        • sendImageMessage(imagePath: String)
      • Use instead:
        • sendImageMessage(imageUri: Uri, onResult: (ChatFileError?) -> Unit)
      • Removed:
        • sendImageMessage(imagePath: String, peerIds: List<String>)
        • sendImageMessage(imageUri: Uri, peerIds: List<String>)
        • sendImageMessage(filePath: String, fileName: String, peerIds: List<String>)
      • Use instead:
        • sendImageMessage(imageUri: Uri, peerIds: List<String>, onResult: (ChatFileError?) -> Unit)
  • Removed deprecated listener callbacks:
    • DyteSelfEventsListener.onStageStatusUpdated. Use DyteStageEventListener.onStageStatusUpdated()
    • DyteStageEventListener.onPresentRequestAccepted(participant: DyteJoinedMeetingParticipant)
    • DyteMeetingRoomEventsListener.onActiveTabUpdate(id: String, tabType: ActiveTabType).
      Use DyteMeetingRoomEventsListener.onActiveTabUpdate(meeting: DyteMobileClient, activeTab: ActiveTab)

3. Revamped Error Handling

  • Errors are categorised by modules, such as ChatError, SelfError, and MeetingError
  • All public APIs provide proper errors and additional error data where applicable for better debugging
  • Utilises Kotlin sealed classes for better type safety

4. API Structural Changes

We made a few direct breaking changes in our APIs to simplify the types, make methods more intuitive and ensure uniformity across platforms.  For example, DyteMeetingParticipant has been restructured to align with real-world entities.

Learn more about the direct breaking changes and migration instructions on the next page.