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 closure-based methods take
NSURL
s & 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.