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.customParticipantId->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.