Breaking changes

  • Add a parameter for interface LowerAllHands.

    virtual SDKError LowerAllHands() = 0 --> virtual SDKError LowerAllHands(bool forWebinarAttendees) = 0


  • New interfaces to allow API users to customize the polling link

    virtual SDKError SetCustomizedPollingUrl(const wchar_t* pollingURL, bool bCreate) = 0;
  • New callbacks to notify when the current local video order has changed

    virtual void onLocalVideoOrderUpdated(IList<unsigned int >* localOrderList) = 0;
  • New callback to notify the change of user name

    virtual void onUserNamesChanged(IList<unsigned int>* lstUserID) = 0;
  • New interface and callback to notify the status of lower hand

    virtual void onAllHandsLowered() = 0;
  • New interface to control and to check the permission of allowing participants to chat

    virtual SDKError AllowParticipantsToChat(bool bAllow) = 0;
    virtual bool IsParticipantAllowedToChat() = 0;
  • New interface and callbacks designated for the status of local recording and cloud recording

    virtual RecordingStatus GetLocalRecordingStatus() = 0;
    virtual void onLocalRecordingStatusChanged(unsigned int user_id, RecordingStatus status) = 0;
    virtual RecordingStatus GetCloudRecordingStatus() = 0;


  • Changed the return error code from ZMMeetingBridgeErrors_NO_PERMISSION to ZMMeetingBridgeErrors_WRONG_USAGE when the host calls RequestToStartLiveTranscription.

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

  • The “Return to Meeting” button now works when the "Wait for host" or "Waiting room" window is minimized.


  • Issue where if the host did not allow the attendee to return to the main session and stopped the breakout room (BO) with a countdown, IBOAttendee.LeaveBo did not work.

  • Invalidity issue when using render object to match user_id to display video after VideoRenderElement-> Hide() in Custom UI 

  • Issue when the webinar attendee called the interface GetWebinarAttendeeStauts, it returned null.

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

  • Issue where the virtual background function did not work

  • Issue where sharing a whiteboard or iOS device was still sharing after disabling the device share

  • Issue when the host was on a mobile platform and cohost was on a desktop platform, when the host restarted the breakout room (BO), the desktop user crashed when joining the BO

  • Issue when the coHost switched from one BO to another and got incorrect BO user status

  • Issue where the interface showAANPanel didn't work

  • Issue where EnableForceAutoStopMyVideoWhenJoinMeeting didn't work when the param is false

  • Issue where switching domains failed in some cases

  • Issue where shared viewers should not be able to clear another user's annotations

  • Issue where the isSupportPromptJoinAudioDialogWhenUse3rdPartyAudio interface returned an incorrect value.

  • Issue where attendees could not get the correct dismiss & delete questions.

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

  • Issue where the 3D avatar filter should not be shown in the setting dialog