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
(useDyteParticipants.screenShares
). The deprecated typeDyteScreenShareMeetingParticipant
has also been removed - Chat Methods: Removed deprecated file and image send methods. The new lambda-based methods take more reliable
Uri
s & 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)
- Removed:
- 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:
- File message methods:
- Removed deprecated listener callbacks:
DyteSelfEventsListener.onStageStatusUpdated
. UseDyteStageEventListener.onStageStatusUpdated()
DyteStageEventListener.onPresentRequestAccepted(participant: DyteJoinedMeetingParticipant)
DyteMeetingRoomEventsListener.onActiveTabUpdate(id: String, tabType: ActiveTabType)
.
UseDyteMeetingRoomEventsListener.onActiveTabUpdate(meeting: DyteMobileClient, activeTab: ActiveTab)
3. Revamped Error Handling
- Errors are categorised by modules, such as
ChatError
,SelfError
, andMeetingError
- 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.