This page records the main changes in each version of the SMeeting Windows SDK. You can get the current SDK version with SMeetingEngine_Version.
1.0.0-alpha.7 - 2026-09-29
Added- The
SMeeting_CC interface is now officially available:SMeeting_C.cpp/SMeetingEngineGlobal.cppare compiled intoSMeeting.vcxprojagain, andSMeeting.dllnow actually exports theSMeetingEngine_*family of C functions (the number of x86 exported symbols goes from 3 to 139). Before this, the wrapper was excluded from the project, and the DLL in the package didn’t contain these symbols.
- The internal implementation of
SMeeting_Cis ported to the interfaces after the engine-level / meeting-level split and no longer follows the single-meeting approach from before the split, consistent with theISMeetingEngine/ISMeetingChannelstructure introduced in1.0.0-alpha.5
- C++: none.
SMeeting.h/SMeeting_def.hhave no signature changes, the vtables ofISMeetingEngine/ISMeetingChannelare unchanged, and there is no ABI break. - C: no changes to the function declarations in
SMeeting_C.h(only the comment at the top of the file was updated). However, because the C wrapper is only now actually compiled into the DLL,SMeeting.libgains C export symbols, and projects that use the C interface need to relink. - Package contents are unchanged:
meeting_dll/include/still contains onlySMeeting.h/SMeeting_def.h;SMeeting_C.his not in the package, so you still need to request the header separately to use the C interface.
1.0.0-alpha.6 - 2026-09-24
Added-
Added an x64 (64-bit) package; Windows delivery is now two packages, x86 + x64:
meeting-win-sdk-2.0.zip(x86, 32-bit)—the package name is exactly the same as beforemeeting-win-sdk-x64-2.0.zip(x64, 64-bit)—new; the package name has an extra-x64segment before the version number
meeting_dll/in both), butSMeeting.dll/SMeeting.libhave different bitness, so don’t mix them or unzip them into the same directory; pick the package that matches your project’s target platform. For the download links, see Integration. -
Dependency libraries are split by architecture into two sets,
lib/<library>/lib/win32andlib/<library>/lib/win64
- Fixed the x64 project configuration: the output type changed from
ApplicationtoDynamicLibrary, x64 now has its own include and library directories (pointing tolib/*/lib/win64), and output goes toRelease_x64 - Upgraded the underlying curl: libcurl uses new header files and import libraries, and a zlib dependency (
zlib1.dll) is added - The jsoncpp import library is renamed from
jsoncpp_static.libtojsoncpp.liband split into win32 / win64 directories - Removed the unused pthread dependency; the underlying audio and video library is refreshed accordingly, and
binno longer containsDenModule.dll,rtp.dll, orzlib.dll, usingzlib1.dllinstead - Source and header file encoding is unified to UTF-8 with BOM, and a new
.editorconfigenforces it, which fixes the C4819 warnings and potential garbled Chinese comments inSMeeting_def.hand other files under GBK environments
- Fixed 4 jsoncpp array loops: the index type changed from
size_ttoJson::Value::ArrayIndex, avoiding type mismatches in 64-bit builds
SMeeting.h / SMeeting_def.h / SMeeting_C.h only changed encoding in this release, with no signature changes;
the vtables are unchanged, and there is no ABI break. Following the general convention in the Quickstart,
we still recommend recompiling your project after upgrading the SDK.
1.0.0-alpha.5 - 2026-08-21
Added- Added the
ISMeetingChannelmeeting object; each meeting corresponds to one channel object. - Added the
ISMeetingChannelEventmeeting-level event callbacks. - Added the
ISMeetingChannelSettingmeeting-level settings object. - Internally added
SRTCChannelControlto wrap eachSRTC::IRTCChanneland its media objects.
ISMeetingEngineis reduced to engine-level APIs: login, meeting management HTTP APIs, device enumeration, IM, the resource drive, and the channel object lifecycle.- Entering a meeting now takes two steps:
createChannel/createChannelByMeetingIdonly create the object, andISMeetingChannel::enter()actually enters the meeting. ISMeetingSettingkeeps onlysdk_log_path/enable_stream_log; the other settings moved toISMeetingChannelSetting.- When automatically re-entering from the waiting room,
channelIdstays the same, andleaveChannelstill releases the object by the original key.
adminDestroyRoomnow correctly callsleaveChannelto leave the underlying SRTC channel.- Calling device enumeration before login now lazily initializes the underlying SRTC engine on demand.
- Removed
ISMeetingEngine::enterRoom,enterRoomByMeetingId, andexitRoom; usecreateChannel+ISMeetingChannel::enter()+leaveChannelinstead. - Removed
ISMeetingEngine::exitWaitRoom(roomno, meeting_id, back); useISMeetingChannel::exitWaitRoom(back)instead. - The following methods moved from
ISMeetingEnginetoISMeetingChannel:admin*,updateName, chat / raise hand,getMe/getRoom/getMembers/getMember/getOpt,getLocalMic/getLocalCamera/getLocalScreen/getRemoteVideo/getRemoteAudio/getMcuVideo,getCustomVideo/getCustomAudio/setCustomRecvBack, the sub-meeting*SubMeetingmethods,mcu*, sign-insignin*, andgetLocalRecord. getLocalRecord(mid, &rec)changed togetLocalRecord(&rec); mid uses the channel object’s own meeting ID.- All meeting-level callbacks drop the
roomnofirst parameter; the first parameter ofonAdminConfirmHandupchanged touid. onDeviceStatusChange/onShareTargetNotFindmoved from the engine callbacks toISMeetingChannelEvent.- Pure virtual interface signature changes alter the vtable, so your app crashes if you replace only the DLL without recompiling your project.