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.meetingIdDyteMeetingParticipant.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 typeDyteScreenShareMeetingParticipanthas also been removed - Chat Methods: Removed deprecated file and image send methods. The new closure-based methods take
NSURLs & return proper errors- File message methods:
- Removed:
sendFileMessage(filePath: String)sendFileMessage(filePath: String, fileName: String)sendFileMessage(fileUri: NSURL)
- Use instead:
sendFileMessage(fileURL: NSURL, onResult: (ChatFileError?) -> Void)
- Removed:
sendFileMessage(filePath: String, peerIds: [String])sendFileMessage(fileUri: NSURL, peerIds: [String])
- Use instead:
sendFileMessage(fileURL: NSURL, peerIds: [String], onResult: (ChatFileError?) -> Void)
- Removed:
- Image message methods:
- Removed:
sendImageMessage(filePath: String, fileName: String)sendImageMessage(imageUri: NSURL)sendImageMessage(imagePath: String)
- Use instead:
sendImageMessage(imageURL: NSURL, onResult: (ChatFileError?) -> Void)
- Removed:
sendImageMessage(imagePath: String, peerIds: [String])sendImageMessage(imageUri: NSURL, peerIds: [String])sendImageMessage(filePath: String, fileName: String, peerIds: [String])
- Use instead:
sendImageMessage(imageURL: NSURL, peerIds: [String], onResult: (ChatFileError?) -> Void)
- 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
- Uses enums for error codes, making it easier to handle specific cases
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.