Breaking change

  • The following callback is only triggered when my record status changes

    - (void)onRecordStatus:(ZoomSDKRecordingStatus)status;
  • Deprecated ActionMeetingCmd_LowerAllHands (defined in ZoomSDKErrors.h).

    • To lower all hands, call the interface:
      - (ZoomSDKError)lowerAllHands:(BOOL)forWebinarAttendees;

    • YES will lower all hands for webinar attendees

    • NO will lower all hands for regular meeting participants or webinar panelists

  • The following interface only works when true is passed into it:
    - (void)enableForceAutoStopMyVideoWhenJoinMeeting:(BOOL)enable;
    When false, it has no effect.


  • Recording status

    • New callback in ZoomSDKMeetingRecordDelegate:

      - (void)onLocalRecordStatus:(ZoomSDKRecordingStatus)status userID:(unsigned int)userID;
    • New interface in ZoomSDKMeetingRecordController to get current cloud record status:

      - (ZoomSDKRecordingStatus)getCloudRecordingStatus;
    • New interface in ZoomSDKUserInfo to get current local record status:

      - (ZoomSDKRecordingStatus)getLocalRecordingStatus;

  • Current local video order changed

    • New callback in ZoomSDKMeetingActionControllerDelegate:

      - (void)onLocalVideoOrderUpdated:(NSArray*)localOrderList;
  • Reclaim host

    • New interface in ZoomSDKMeetingActionController to reclaim the role of host:

      - (ZoomSDKError)reclaimHost;
  • Allow API users to customize the polling link

    • New interface in ZoomSDKMeetingUIController.h:

      - (ZoomSDKError)setCustomizedPollingUrl:(NSString*)urlString bCreate:(BOOL)bCreate;
  • Add a Boolean parameter to indicate assign or revoke in the onCoHostChanged callback

    • New callback in ZoomSDKMeetingActionControllerDelegate:

      - (void)onMeetingCoHostChanged:(unsigned int)userID isCoHost:(BOOL)isCoHost
  • Notify the status of lower hand

    • New interface in ZoomSDKMeetingActionController:

      - (ZoomSDKError)lowerAllHands:(BOOL)forWebinarAttendees;
    • New callback in ZoomSDKMeetingActionControllerDelegate:

      - (void)onAllHandsLowered;
  • Notify of user name change

    • New callback in ZoomSDKMeetingActionControllerDelegate:

      - (void)onUserNamesChanged:(NSArray<NSNumber*>*)userList


  • Added support to record avatars when recording locally using Custom UI.

  • The interface - (ZoomSDKError)backToMeeting; now works when the "Wait for host" or "Waiting room" window is minimized.


  • Issue where the webinar attendee retrieved incorrect status from GetWebinarAttendeeStatus.

  • Issue where the callback AudioStatusChange only provided the status of one user when the host muted all participants in a meeting.

  • Issue where sometimes breakout room (BO) users could not leave BO using the SDK interface, while they could leave using the button in the meeting UI.

  • Issue where the host call RequestToStartLiveTranscription returned the wrong error code.

  • Issue where getLiveAnswerName was null after the host selected “answer in live”.

  • Issue where chat to the waiting room with SDK interface should not succeed when the waiting room is empty.

  • Issue where getAllInterpreterList was not updated when updating language information in the Zoom UI.

  • Issue where the if webinar attendee called getMyQuestionCount before calling getMyQuestionList, the interface returnedan incorrect value.

  • Issue where the isSupportShowOriginalSoundOptionInMeetingUI interface returned the wrong value in some cases.

  • Issue where switching domains failed in some cases.

  • Issue where - (BOOL)isSupportPromptJoinAudioDialogWhenUse3rdPartyAudio; occasionally returned the wrong value.

  • Issue where the snapshot was saved in the record root path.

  • Issue where the user who does not have the privilege to send closed captions (CC) should not get the 3rd party URL.

  • Issue where share viewer should not be able to clear another user’s annotation.


  • - (void)onCoHostChange:(unsigned int)userID

  • - (void)onUserNameChanged:(unsigned int)userid userName:(NSString *)userName