• New callbacks to provide parameters of meeting and add the ability to notify users that the meeting has enabled auto-recording.

    • Add New Class Named ZoomSDKMeetingParameter in ZMVideoSDKRecordingHelper.h:

    • New callback in ZoomSDKMeetingServiceDelegate:

      - (void)onMeetingParameterNotification:(ZoomSDKMeetingParameter *)meetingParameter;
  • Support 3rd party recording token when joining meetings.

    • Add New Property to Class Named ZoomSDKStartMeetingElements in ZoomSDKMeetingService.h:

      @property(nonatomic, copy)NSString *appPrivilegeToken;
    • Add New Enum Value to Enum Named ZoomSDKMeetingError in ZoomSDKErrors.h:

      ZoomSDKMeetingError_AppPrivilegeTokenError = 500,
  • Support spotlighting in Custom UI.

  • New callbacks OnLiveTranscriptMsgReceived and OnClosedCaptionMessageReceived to receive live transcript and closed caption messages in ZoomSDKCloseCaptionController.h:

    • The Delegate Method - (void)onReceiveCCMessageWithString:(NSString*)inString; 
      is now replaced by - (void)onReceiveCCMessageWithString:(NSString*)inString senderID:(unsigned int)senderID;

    • The Delegate Method - (void)onLiveTranscriptionMsgReceived:(NSString*)msgContent type:(ZoomSDKLiveTranscriptionOperationType)type;` 
      is now replaced by - (void)onLiveTranscriptionMsgReceived:(NSString*)msgContent type:(ZoomSDKLiveTranscriptionOperationType)type speakerID:(unsigned int)speakerID;


  • Remove restrictions on the send raw data interfaces, allowing all Developers to send raw data.

  • Moved the location of the custom localizable string file from ZSDKRes.bundle/Contents/Resources/SDK_Localization_Resources to ZoomSDK.framework/Resources.

  • Renamed onVideoOrderUpdated to onHostVideoOrderUpdated.

    • The Delegate Method - (void)onVideoOrderUpdated:(NSArray*)orderList; 
      is now renamed to  - (void)onHostVideoOrderUpdated:(NSArray*)orderList;

  • Enhanced the privilege of the co-host in the breakout room (BO) with the following limitations:

    • If the host is on desktop and the co-host is on desktop, then the co-host has the privilege to call the interfaces in create, admin, assistant, and data.

    • If the host is on desktop and the co-host is on mobile, then the co-host only has the privilege of a regular attendee.

    • If the host is on mobile and the co-host is on desktop or mobile, then the co-host only has the privilege of a regular attendee.


  • Issue where the SDK didn’t install audio devices correctly when invoking the other shared interfaces (except shared pure computer audio) and set enableShareComputerSound= YES.

  • Issue where the video filter disappeared after selecting color when the setting “enabling green screen” was enabled in the Custom UI.

  • Issue where the renderer could not update when the user name changed or in join only with audio in Custom UI mode.

  • Issue where users could not be pinned programmatically.

  • Issue where the parameter types were mismatched in the sample app.

  • Issue where the interface to mute all participants’ audio only works once.

  • Issue where the return value of the interface isMuted contradicted the value in OnAttendeeCanTalkStatusChanged.

  • Issue where the interface - (ZoomSDKShareSource*)getShareSourcebyUserId:(unsigned int)userID; could be called and retrieved an object in Custom UI even if there was no active sharing.

  • Issue where occasionally the interface - (ZoomSDKError)allowParticipantsToChat:(BOOL)allow; did not take effect and returns incorrect values.

  • Issue where occasionally the interface - (BOOL)isShowZoomWindowWhenShare; returned the incorrect value.

  • Issue where the co-host could be demoted in a webinar.

  • Issue where the interface AutoLogin returns ZoomSDKAuthError_Unknown when the user rejects the system permission request.

  • Issue where a regular attendee may receive the callback onDisallowAttendeeChatNotification when joining a webinar that allows chat.

  • Issue where unpinning all users in the 1st screen also impacted the 2nd screen.

  • Issue where changing the share mode on the second screen did not work.

  • Issue where a regular attendee got an incorrect QA comment and vote up status when joining a webinar.

  • Issue where the hand raised status of the current attendee provided incorrect information.

  • Issue where the user in the waiting room could not receive chat message notifications.

  • Issue where the SDK was able to set the video order when someone had their hands raised. When a user raises their hands, the Zoom UI updates the video order and puts that user in the front. In order to comply with this logic and avoid potential conflicts, Zoom does not allow the SDK to set the video order while someone has their hands raised.

  • Issue where the isHost value in ZoomSDKUserInfo provided incorrect information when in a breakout room (BO) meeting.

  • Issue where allowing or disallowing local recording for the co-host always returned success.

  • Issue where the interface EnableWaitingRoomOnEntry returned an incorrect error code when the meeting enabled join before host.

  • Issue where the status received was incorrect when using call me in a meeting.

  • Issue where when the co-host got a failure result when calling the interface confirmSwitch.

  • Issue receiving a success value when sending chat to the waiting room in a webinar.

  • Issue where the host or co-host can be put into a waiting room.

  • Issue where when BOOption.IsParticipantCanChooseBO = true and IsParticipantCanReturnToMainSessionAtAnyTime = false, the attendee can still leave the BO.

  • Issue where unspotlighting a video-off user returned an incorrect error code.

  • Issue where the co-host called setShareSettingType and it did not work.

  • Issue where occasionally the interface isRequestToStartLiveTranscriptionEnabled returned an incorrect value.

  • Issue where joining a waiting room received the callback onUserLeft with an array that contained all users the first time, but then receiving the callback onUserLeft again that only contained myself.

  • Issue where setting ToolBarReactionsButton to hide did not take effect.

  • Issue where the co-host was not able to receive the event onUnAssignedUserUpdated when the host changed.

  • Issue where the user name info could not fully be displayed in the Custom UI mode in the sample app.

  • Issue where emoji reactions could be partially cut off depending on NSRect size..