• New callbacks OnLiveTranscriptMsgReceived and OnClosedCaptionMessageReceived to receive live transcript and closed caption messages:

    • In meeting_closedcaption_interface.h:

      virtual void onLiveTranscriptionMsgReceived(const wchar_t* ltMsg, unsigned int speaker_id, SDKLiveTranscriptionOperationType type) = 0;
      virtual void onClosedCaptionMsgReceived(const wchar_t* ccMsg, unsigned int sender_id, time_t time) = 0;
  • A new enum in MeetingFailCode.

    • In meeting_service_interface.h:

  • The ability to notify users that the meeting has enabled auto-recording.

    • In meeting_service_interface.h:

      "bool is_auto_recording_local" and "bool is_auto_recording_cloud;" in MeetingParameter
  • Support spotlighting in Custom UI.

  • Support 3rd party recording token when joining meetings.


  • Renamed onVideoOrderUpdated to onHostVideoOrderUpdated.

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

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

  • Support using sendChatToUser in E2EE meeting.


  • Issue where users were unable to send chat with custom UI in sdk_demo_v2.

  • Issue where the “Select share app” window showed up twice after enabling the “Show all sharing options” in the “Setting” window for direct share.

  • Issue where an incorrect error code “Internal error” was returned when authenticating the SDK with an empty SDK key or secret.

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

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

  • Issue where the interface CanStartRecording returned an incorrect value when calling from an attendee who did not have the recording permission.

  • Issue where the interface IsSupportWaitingRoom and IsWaitingRoomOnEntryFlagOn returned incorrect values for attendees.

  • Issue where when BOOption.IsParticipantCanChooseBO = true and IsParticipantCanReturnToMainSessionAtAnyTime = false, the attendee could still leave the breakout room (BO).

  • Issue where an incorrect user ID was provided in the callback onActiveVideoUserChanged and onActiveSpeakerVideoUserChanged.

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

  • Issue where an unassigned user could not choose a BO when the BOs allowed the attendee to choose a BO to join.

  • Issue where QA and Video services returned incorrect error codes.

  • Issue where the callback event IZoomSDKVideoSource::onUninitialized was not being triggered when using a virtual camera and leaving a meeting.

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

  • Issue where the user info provided incorrect information when the user was in the waiting room.

  • Issue where the SDK was occasionally unable to promote a user in a webinar.

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

  • Issue where the callback onLowOrRaiseHandStatusChanged was not being triggered when the host or co-host lowered another user's hand.

  • Issue where IsRequestToStartLiveTranscriptionEnalbed returned an incorrect error code.

  • Issue where SetMultiShareSettingOptions did not take effect when the co-host called it.

  • Issue where using the interface UnSpotlightVideo on a video-off user returned the incorrect error code.

  • Issue where the interface isHost returned false after reclaiming host successfully in a BO meeting.

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

  • Issue where the interface GetMyQuestionCount returned an incorrect value.

  • Issue where showing or hiding only one of the H323TabDIALIN and H323TabCALLOUT items did not take effect.