Release Notes
Latest Versions
| Package | Version |
|---|---|
| live.100ms:room-kit | |
| live.100ms:android-sdk: | |
| live.100ms:video-view: | |
| live.100ms:hls-player: | |
| live.100ms:hls-player-stats: | |
| live.100ms:video-filters: | |
| live.100ms:virtual-background: | |
| live.100ms:hms-noise-cancellation-android: |
v2.9.78 - 2025-10-15
Fixed
- Fix for memory leak issue
v2.9.77 - 2025-08-07
Added
- Support for 16kb page size
v2.9.76 - 2025-04-16
Fixed
- Screen share rotation crash fix on android 12 and above
v2.9.74 - 2025-03-3
Added
- Renamed the namespace of all WebRTC-related files to prevent conflicts with files from other WebRTC vendors when integrated into an application.
Breaking
- Due to the namespace changes, imports for WebRTC files must be updated from org.webrtc to hms.webrtc throughout the application, if present
v2.9.73 - 2025-02-12
Added
- Added success and failure callbacks on playing wav file
v2.9.72 - 2025-02-02
Added
- Added new method to stream any wav file into hms Room
v2.9.71 - 2025-01-10
Changed
- The remote track is muted while Pre Call Diagnostic checks are performed, so there would not be any echo issue
Added
- Added an optional parameter to pass the amount of time for which Pre call diagnostic check should be done. Default value is 20s as earlier
v2.9.70 - 2024-12-09
Added
- Analytics to identify the type of network(wifi/cellular) user is on while connecting to HMS rooms
- Fetch local peer's responses when a poll is started and add it to the responses of poll questions
v2.9.69 - 2024-10-25
Fixed
- SDK cleanup was not done fully on getting a join error leading to media dispose crash when joining the next time with same sdk instance and trying to leave
Changed
- libkrisp-audio-sdk SO files are now part of noise cancellation module and not the core library. This reduces the size of core lib
v2.9.68 - 2024-09-24
Fixed
- NullPointerException crash fix in RetryScheduler
- Crash fix in emulator while applying VB
- Fix retry continuing even after leaving some times
v2.9.67 - 2024-09-10
Fixed
- VB memory leaks
- Native crashes and memory issues on multiple fast join-leave
- If leave was called when retry is ongoing, then next join would be queued if called on the same instance sometimes
v2.9.66 - 2024-08-29
Fixed
- Java, native and graphic memory leaks
- Getting "Failed to set offer/answer" error after leaving sometimes
v2.9.65 - 2024-08-13
Added
- Long running Session capability
- Add analytics event for interruption start/stop
- Added Jitter and packetSend in HMSStats
Fixed
- Higher Join time when called with preview when
captureNetworkQualityInPreviewis disabled - onError callback of addplugin is not called if disableAutoResize option is enabled
v2.9.64 - 2024-07-22
Added
- Search peer API in large rooms
Fixed
- Closed the buffer stream after loading krisp blob for noise cancellation
- Disable internal AGC and NS when noise cancellation is enabled before joining
- Screen-share not working bug which was introduced in v2.9.63
v2.9.63 - 2024-07-5
Fixed
- Join time optimization
v2.9.62 - 2024-06-26
Added
- HMSDiagnostic release, Now customer can use the Diagnostics api to check if the call works correctly before joining the call.
Fixed
- RTCStats fixed
v2.9.61 - 2024-06-17
Fixed
- Bug that could cause tracks to remain muted if the same HMSSDK instance is used to join a room fixed.
setNoiseCancellationEnablednow takes a mandatoryHMSActionResultListenerbecause it may not have been enabled if it's either off from the dashboard or the library isn't added and it was unclear if it was enabled. It is also renamed toenableNoiseCancellationgetNoiseCancellationEnabledrenamed toisNoiseCancellationEnabledisNoiseCancellationAvailablerenamed toisNoiseCancellationSupported
Added
- Set up to add diagnostic tests.
- Added noise cancellation start/stop events.
- Added support to enable noise cancellation from the dashboard.
v2.9.60 - 2024-06-07
Added
- New API
VideoFrameInfoListenerto receiverotatedWidth,rotatedHeightandrotationto help change the virtual background on orientation changes to avoid stretching.
v2.9.59 - 2024-05-31
Added
- Transcriptions for live video can now be toggled on and off in realtime.
- Analytics for virtual background.
disableEffectsAPI to clear any ongoing video effects.- Bluetooth name support for legacy API to get names, provided the Bluetooth connect permission is granted by the app.
Fixed
- Analytics for some features.
- Proguard rules for apps compiling with gradle 8.4.0 and above.
enableBlurandenableBackgroundcan now be called beforeaddPlugin
v2.9.58 - 2024-05-24
Fixed
- Crash fix on adding and removing plugin multiple times.
- Proguard related issues that prevented blur and virtual background from working in release configs.
Added (Breaking Changes) :
- HMSVirtualBackground API - Please note that we have made some changes in the way background blur and image are applied in terms of usage.
- There is only one HMSVirtualBackground class that you need to instantiate. Add it to the plugin using addPlugin. Then choose enableBlur() or enableBackground(bitmap) as per the UI.
v2.9.57 - 2024-05-17
Fixed
- In rare conditions the blur plugin could cause a crash.
- Owner in whiteboard will not be null.
Added
- Names for bluetooth devices are now listed.
v2.9.56 - 2024-04-13
Fixed:
- Whiteboard permissions issues.
Added:
- Background Blur.
- Local image tile capturing now has a helper method to get orientation corrected bitmaps.
Changed:
- Kotlin version bumped from 1.6.10 to 1.7.20
- Compile sdk version and target sdk version bumped from 31 to 33.
- Ktx verion bumped from 1.6.0 to 1.10.1
- Kotlin gradle plugin bumped from 1.5.20 to 1.8.0
v2.9.55 - 2024-04-26
Fixed
- IndexOutOfBounds Exception on new remote track addition in rare cases.
v2.9.54 - 2024-04-19
Added
- Transcriptions for live/webrtc audio.
getPeerByIdsimplifies getting theHMSPeerobject for a givenpeerId.- Fix issue where flutter could crash in rare cases involving disconnection, leaving and rejoining.
- Better support for unknown VPNs.
v2.9.53 - 2024-04-05
Added
- Whiteboard feature
- Applications can now publish audio from background when screen-share is running on Android 11 and above by adding
FOREGROUND_SERVICE_MICROPHONEpermission on their manifest.
v2.9.52 - 2024-03-22
Fixed
- Error setting noise cancellation from the audio track settings was fixed.
- Rare crash involving analytics.
- AOBR
Added
- SIP is now a peer type. 100ms calls can be joined via regular phone calls.
- Closed caption availability is now exposed from the
HmsHlsPlayerwithplayer.areClosedCaptionsSupported. - Analytics changes.
peerListUpdatedis a new callback that simplifies showing the peers in the room.
v2.9.51 - 2024-03-11
Fixed
- Multi choice answers in polls not being recorded correctly.
- Crash fix while screen or audio sharing on android 14
- Local audio share was leading to echo in certain devices.
- Blacklisted only pixel 3 from using hardware encoder instead of all pixel devices
- Issue leading to un-necessary binding and unbinding due to a bug in
HMSVideoView
v2.9.5 - 2024-03-04
Added
- Support for noise Cancellation powered by Krisp
Fixed
- Analytics bugs for webrtc stats collection
v2.9.4 - 2024-02-23
Added
- Better internal analytics by capturing inbound RTP stats (subscriber stats)
- Added a
HMSHLSPlaylistTypefield inHMSHLSVariantto denote the type of hls stream - live or event
v2.9.3 - 2024-02-17
Changed
- Masking device-id field used in analytics
- Not storing log files to disk if room is marked HIPPA
Fixed
- Analytics fixes around publisher stats
v2.9.2 - 2024-02-9
Added
Added Video Filter Plugin
v2.9.1 - 2024-02-5
Added
Previews are now skippable based on settings in the dashboard.
v2.9.0 - 2024-01-25
Fixed
- Pixel 4/4a issue with back camera publishing corrupt video
v2.8.9 - 2024-01-19
Added
- Added response time in millis to Quiz answers
v2.8.8 - 2024-01-15
Fixed
- Applications now do not need to take
BLUETOOTH_CONNECTpermission from user for Android 12 and above
Changed
- Upgraded tarketSDKVersion and compileSDKVersion to 31 from 30
- Type of
availableAudioDevicesinonAudioDeviceChangedofAudioManagerDeviceChangeListeneris changed fromMutableSettoSetif you are using Kotlin. It remainsSetfor java applications
v2.8.7 - 2024-01-05
Added
- getResponse of HMSInteractivity center would map self answers to the questions as well
Fixed
- Crash fix : `SDKStore.getLocalPeer()`` throwing null pointer exception while leaving very fast after joining
v2.8.6 - 2023-12-28
Fixed
- Possible crash while joining.
java.lang.IllegalStateException: Property factory should be initialized before get
v2.8.5 - 2023-12-20
Fixed
- Crash in android 5.0 when receiving timed metadata
v2.8.4 - 2023-12-15
Added
- Prebuilt now contains an option to skip previews.
Fixed
- Set running field in HMSHLSStreamingState correctly on getting a HLS update
v2.8.3 - 2023-12-06
Fixed
HMSTextureRendererclass was sending wrong values inonResolutionChangeofVideoViewStateChangeListenerin certain cases
v2.8.2 - 2023-12-01
Added
- Support for using TextureView to render webrtc video
Fixed
- Issue where camera was publishing in 1:1 aspect ratio if 9:16 publish is set on some devices
v2.8.1 - 2023-11-16
Fixed
- Publisher and Subscriber stats are sent according to whether they're enabled in flags on the dashboard.
Added
- Intermediate stages of Beam - The states have been updated to include the following:
- Recording states:
- NONE,
- STARTING
- STARTED
- PAUSED
- RESUMED
- STOPPED
- FAILED
- Streaming states are:
- NONE,
- STARTING
- STARTED
- STOPPED
- FAILED
v2.8.0 - 2023-11-3
Added
- Added subscribe side analytics
Fixed
- PeerInfo not being sent in disconnection analytics
- Auto simulcast in
HmsVideoViewcorrectly picks the layers based on the size of the view.
v2.7.9 - 2023-10-27
Added
- Added support to disable in-built audio manager using
HMSAudioTrackSettingssettersetDisableInternalAudioManager()
v2.7.8 - 2023-10-21
Fixed
PEER LEFTevent not being sent from sdk- Fix incorrect poll state reporting
v2.7.7 - 2023-10-04
Added
- Pagination API support for fetching peer list in large rooms.
- Ability to switch to software echo cancellation from backend.
Fixed
- Bug in hasNext() method of iterator.
- Initial mute state of HMSTrackSettings not working . This bug was introduced in v2.7.6
v2.7.6 - 2023-09-14
Breaking Changes
- The SDK is now compiled with Java 11 and if you're using an older version of the JDK you'll get an error like "class file has wrong version 55.0, should be 52.0". To fix this please upgrade your JDK to at least Java 11. This was necessitated by a change in WebRTC.
- SDK uses WebRTC m107.
Added
- Preview API for role change.
onPermissionsRequestedalso comes during the Preview API.- Added pan and zoom for HMSVideoView.
HMSBrowserRecordingStateof HMSRoom can also be in 'initializing' state.
Fixed
- A nullpointer when comparing an hls peer to a non-hls peer was fixed.
- Analytics fixes.
- Track was wrongly marked degraded in some cases.
- Peercount was being set to 0 on reconnection.
v2.7.3 - 2023-08-09
Added
- Polls: Polls are now native to 100ms! Start quizzes or run a poll to get everyone's opinions. Read the docs
- Permissions callback: SDK reads the role and requests only the permissions needed, audio for audio users, audio and camera for broadcasters etc. The callback contains the required permissions, requesting is still up to the app. Read the docs for more info.
Fixed
- Publish stats: If
previewwasn't used, stats weren't sent. - ROOM_PEER_COUNT_UPDATED is sent in room updates even if the room update was 0 initially.
Breaking Changes:
peerCountinHMSRoomis now nullable.
v2.7.2 - 2023-07-13
Fix
- Override the local peer name given in preview with the name given in join
v2.7.1 - 2023-07-13
Changed
- Unnecessary imports for
hls-playerwere removed. - Analytics related fixes
- Pixel distortion issue using SimulcastEncoderFactory
v2.6.8 - 2023-06-28
Added
- Added option to NOT mute when phone is in ringing state. Using this also means that SDK cannot mute local peer on receiving a VoIP phone call
v2.6.7 - 2023-06-2
Added
- SDK now sends detailed analytics from the WebRTC publisher side for debugging call quality issues.
v2.6.6 - 2023-05-29
Breaking Changes
- SessionStore's
onKeyChangeListenernow returnsJsonElementinstead ofAny - The deprecated methods for
setSessionMetaDataandgetSessionMetaDatawere removed. Please use the SessionStore directly instead.
Fix
- SessionStore API fix: While it can still take
Anydatatypes, it must returnJsonElementbecause the SDK can't parse the values back. Do see changes to the doc - Internal library path updates, no client visible changes.
- HMSTrack when compared to null, would crash.
track == track?for instance.
Added
- MeetingUrl is now optional for rtmp/recordings
v2.6.5 - 2023-05-23
Fix
- Fix
captureImageAtMaxSupportedResolution()not working on certain devices which were using legacy camera1 API.
v2.6.4 - 2023-05-18
Added
HMSMessagenow hasmessageIdassigned to each message. After sending a message, add it to the UI from theonMessageSuccesscallback to read the unique messageId.
v2.6.3 - 2023-05-08
Fix
- Fixed video distortion in all Pixel devices by forcing s/w encoder.
v2.6.2 - 2023-05-01
Breaking Changes
- KeyChangeListener for the session store now returns
Anyinstead ofStringas data. This is equivalent toObjectin Java.
Added
- Simplifying how the videos can be shown on the app. Here's the code it reduces.
- Session Store now receives data of Any/Object type rather than just strings.
Fix
- Removing the key listeners in
HmsSessionStorewhen disconnected could've crashed the app. - Role changing a non-hls role to hls and back would result in its tracks not being seen by new peers joining the call.
v2.6.1 - 2023-04-14
Breaking Changes
- Hls stats is overhauled and now part of the new hls-player library.
Added
- HmsHlsPlayer. A new library that simplifies co-ordinating events on hls live streams with the app.
- Session Store a room level real time key-value store that can be updated and listened to by any peer.
Changed
volumeis a public property onHMSRemoteAudioTrack.kt
Fix
- Bug that caused tracks to disappear after a peer's role was changed, with certain types of roles.
- When logging was enabled, logs weren't being cleared in some cases resulting in the disk filling up on the device.
- Internal analytics changes.
- Crash with a certain type of notification.
v2.6.0 - 2023-03-31
Breaking Changes
- getToken() is an instance level API and returns a string in onSuccess instead of a TokenResult object. It modifies an API introduced in 2.5.9. Docs
customerUserIDis now nullable for bothHMSLocalPeerandHMSRemotePeer.
Added
- Audio is unsubscribed from if the volume is set to zero. This saves data during calls with a lot of muted peers.
Fixed
- Updated internal analytics properties.
v2.5.9 - 2023-03-17
Added
- Short Codes to join rooms - Rather than requiring your server infrastructure for authenticating users, you can now use a 100ms API to generate tokens for users. A user with a given short code can login as a certain role. One short code per role for each room.
Fixed
- Analytics improvements to better measure 100ms performance.
v2.5.8 - 2023-03-07
Added
- Allow echo cancellation, noise suppression and automatic gain control to be configureable from
HMSAudioTrackSettings. - Limit the number of peers in the room with Max Peer Count.
- Added extra analytics for 100ms. (cluster)
- Improved manual focus for the camera.
Fixed
- Fixed Remote peer’s HMSRole having empty permissions, publish params and subscribe params.
- Pixel 3 phones now always use software decoders to resolve an issue that happens when they don't.
- Send screenshare track info separately in local statistics.
v2.5.7 - 2023-01-20
Added
- Send
requested_byin acceptChangeRole message - Added
CameraControlsinterface toHMSLocalVideoTrack- Check details about this here
Fixed
captureBitmapAPI of the localHMSVideoViewnow returns the bitmap at the publishing resolution of local peer- Sometimes
HMSTrackwas in-correctly removed fromHMSPeerif aRemotePeerun-publishes aHMSTrackand re-publishes it again
v2.5.6 - 2023-01-11
Added
- New API in SDK to send Timed Metadata while streaming to hls viewers
- Util method added to get HMS SDK and WebRTC version
- Added
joined_atfield to Local and Remote peers AutoSimulcastis enabled by default while usingHMSVideoView- Local Stats for all the layers
Fixed
isScreenShared()API always returningfalse- Multiple setLayer call in
HMSVideoView
Changed
onJoinnotification will come beforeonPeerUpdatewhen user joined a room. Earlier it used to be sent later- Prefer layer is now request response instead of notify
onLocalVideoStatsofHMSStatsObservernow has aListofHMSLocalVideoStatsinstead of single object to accomodate for Simulcast layers
v2.5.5 - 2022-12-17
Fixed
TRACK_REMOVEupdate not being sent for screen-share to a new peer who joined the room when screen-share was already in progress
v2.5.4 - 2022-12-15
Added
- Auto Simulcast - HMSVideoView when used, changes the simulcast layer based on its size automatically to reduce bandwidth consumption.
- Bulk role change - A list of roles an be provided to change several peers with that role to a single one with one API call.
Fixed
- Only a single update is sent for a local peer when their role is changed instead of two.
Deprecated
- The method
changeRoleis nowchangeRoleForPeer. No functional changes.
v2.5.3 - 2022-12-7
Added
- HMSVideoView - Easy to use abstraction over SurfaceViewRenderer
Fixed
- Simulcast bug where the layers are not added in the HMSRemoteVideoTrack
- Fix for audio capture not picking the correct sampling rate of mic automatically
v2.5.2 - 2022-11-25
Added
- Simulcast.
- Quality limitation reasons on the local video track.
- Extra Analytics.
- Current and past sdks from 2.4.0 are also deployed on Maven Central along with jitpack.
Fixed
- A bug where degraded tracks would not recover in a certain situation.
- Consistent naming for HLS player stats across platforms.
v2.5.1 - 2022-10-28
Added
- Updated WebRTC to fix hardware simulcast resolution not changing between layers.
- Screenshare now gets unpublished if the role of the peer is changed to one that can't.
Changed
- Messages that are sent via REST API now arrive with a null sender peer, where previously they were not sent at all.
senderPeerin HMSMessages can be null now.
v2.5.0 - 2022-10-14
Added
- SFN module that can be used to receive periodic player stats about HLS playback
- Option in
HMSVideoTrackSettingsto force device to usesoftware decoder
v2.4.9 - 2022-09-30
Added
- Session Metadata API(alpha version)
- Added better Telemetrics for analytics
- Initial states(Muted/Unmuted) for local video and audio track can be mentioned while joining using the
HMSVideoTrackSettingsandHMSAudioTrackSettingsin the builder ofHMSSDK
Changed
- Deprecated
ROOM_NAME_UPDATEDandROOM_ID_UPDATEDtypes ofHMSRoomUpdateas they are no longer used - Updated WebRTC to m104 from m97
Fixed
- SDK calling
leave()on being removed from the room leading topeer.leave.failurewebhook along withpeer.leave.success - LetterBoxing(Black borders on top and bottom) observed when sharing screen in landscape mode
- NPE fix in performance measurement while calling join and no websocket connection
- Send offline analytics events to the right environment
v2.4.8 - 2022-08-12
Fixed
removeSinkwill only stop the download of avideoTrackif all the sinks attached to it are removed- Stop camera capturer on calling
leaveon Preview page - Setting the correct audio output device when a Bluetooth headset is in
connectingstate
v2.4.7 - 2022-07-28
Fixed
- Calling
switchCameraAPI leads trigerring ofonSuccesscallback twice onRoomUpdatewith typeHMSRoomUpdate.ROOM_PEER_COUNT_UPDATEDnot getting called when peer count changes in the room- Peer not able to publish tracks when updated to WebRTC from HLS if rejoins after a reconnection in WebRTC Mode
Changed
HMSHLSConfigis now an optional parameter while callingstartHLSStreamingandstopHLSStreaming- The
meetingUrlparameter while creatingHMSHLSMeetingURLVariantinstance forHMSHLSConfigis optional now. If nothing is provided HMS system will take the default meetingUrl for starting HLS stream changeRoleForcepermission inHMSRoleis now removed and no longer usedrecordingpermission inHMSRoleis now broken into -browserRecordingandrtmpStreamingstreamingpermission inHMSRoleis nowhlsStreaming
v2.4.6 - 2022-07-15
Fixed
- Checking for targetApiVersion along with Device SDK version while initializing Bluetooth manager
v2.4.5 - 2022-07-14
Fixed
peer_list_timecalculation- Audio device switch issues
- Bluetooth issues in HLS mode
- Removed additional Bluetooth permission in SDK for android 30 and above
Added
Join response timeto analytics- Support to enable or disable WebRTC's AutoResize option while publishing video track
v2.4.4 - 2022-07-07
Fixed
- Web-Socket reconnection not working for non WebRTC peers
v2.4.3 - 2022-07-01
Fixed
cameraFacingfield inHMSVideoTrackSettingsnot getting updated on callingswitchCameraAPI- Issue of 'peer is not joined' error while joining and SDK reconnection
- Automatic proguard rules were fixed. No app-side proguard configuration is required for production builds with 100ms.
Added
- APIs to stream device audio in different modes
- APIs to view and change the output speaker selected by the SDK to play out
- Analytics events to measure
retrycounts of JOIN calls
v2.4.2 - 2022-06-22
Fixed
- WebRTC not able to find Camera from Android Camera Manager leading to
CantAccessCaptureDeviceerror while calling preview or join API - Assertion Crash in Network Monitor while trying to create new instane of HMSSDK while a call is in progress
- Chances of Multiple socket connection getting created in case there is network disconnection in preview screen and join gets called during that time
Added
setAudioModeAPI to change the Audio out mode manually between in-call volume and media volume- Retry on 5xx and 429 errors in all RPC calls
- Analytics events to measure
peer-listtime - Join optimization by not sending offer for non WebRTC peers
Changed
- Made TrackError while switching camera non-terminal
- Removed recreation of Lists happening in SDK, leading to slowness while calling certain APIs in big rooms. Affected APIs by this change are :-
getPeers(),getRemotePeers(),getPlugins()- now returnListinstead ofArray
v2.4.1 - 2022-06-14
Fixed
- Made SDK compatible for compileSDKversion 30 by reducing version of Room lib to 2.3.0
Added
- Analytics events to measure join and preview time
- Retry on 5xx errors in internal join message
v2.4.0 - 2022-06-09
Fixed
- Update the width and height of screen-share video track being published based on the rotation of device
- Crash fix on Android 12 if app does not provide Bluetooth Connect permission. SDK now sends a non-terminal error
- Crash fix on Android 12 on calling the
HMSScreenCaptureService.getStopScreenSharePendingIntentAPI while starting screenshare - Un-necessarily sending
HLS_RECORDING_STATE_UPDATEDinonRoomUpdatecallback when HLS Streaming is enabled
Changed
- Socket close from cancel, which ensures the leave API does not wait for server response hence initiating internal teardown immediately
Added
- Offline storage of Analytics event. Events that cannot be send immediately via websockets would be persisted in a db and will be sent later when connection returns
- Remove height/width check for rtmp and browser recording in SDK
- RemoveRtcStatsObserver API is added
v2.3.9 - 2022-05-18
Fixed
- Screen Share not starting in highest resolution
- Serverside Subscribe degradation fix - marking track not degraded after removeSink is called
- IO Exception Crash in Android 12, in the alarm manager of Log Util
- NPE Crash fix in WebRTC stats monitor
- Crash in LogUtils
Changed
serverReceiveTimedata type inHMSMessageis not of typeLonginstead ofDate
v2.3.7 - 2022-05-09
Fixed
- A crash in some rare cases where analytics events were being sent while the room was ending.
Added
sessionIdis a new parameter in HMSRoom. It is updated with the current sessionId when a room is joined.
2.3.6 - 2022-04-28
Fixed
- Fixed bug: Local peer being null in stats callbacks
- Fixed bug:
onSuccesscallback not called frompreview/joinif network goes off BEFORE ws-connect and comes back after sometime
Added
- Server Side Subscribe Degradation
2.3.5 - 2022-04-20
Fixed
- Crash fix:
InvalidTokenFormatexeception. This would be thrown in theonErrorcallback instead - Fixed bug: Sending
TRACK_DEGRADEDwhen not required in some cases
Added
- Apps can now add resolution(w*h) when starting
RTMPStreaming - SDK has the capability to write logs in the filesystem of devices. Apps can enable or disable while initializing the SDK
2.3.4 - 2022-03-28
Fixed
- HLS recording status wasn't always updated when stopped.
- Rare crash when cameras are unavailable and it seemed to the app like none exist.
Added
- Network Quality in preview. Network quality reports can now be requested at the preview screen. Use the returned value to determine if you should suggest people's internet is too slow to join with video etc.
- Network Quality during calls. Peer Network Quality updates are now received during the call. Use this to show how strong any peer's internet is during the call.
2.3.3 - 2022-03-17
Fixed
Leavenot finishing if SDK is in reconnection state. Hence alljoincalls after that was getting queued up if called on the same HMSSDK instance- Improved subscribe degradation so that new add sinks are handled properly when SDK is already in degraded state
- Crash fix on starting/stopping HLS where
HlsStartRecordingwas null
Added
- Added Hls Recording to initial PeerList
- Ignore
room-stateupdates after joining
2.3.2 - 2022-03-14
Fixed
- ERROR Analytics events not being sent
2.3.1 - 2022-02-25
Fixed
- NPE in
OnPeerUpdateManagerwhen sometimesroom-satemessage comes beforepolicy-changemessage. Ignoring the firstroom-satemessage in such cases
2.3.0 - 2022-02-23
Added
HlsRecordingConfigtoHMSHLSConfigobjectonPeerUpdateandonRoomUpdatecallbacks in 'HMSPreviewListener' to get info about the room at Preview screen- Server will send a timeout error if a peer stays on preview page for too along
- Calling
previewAPI again without aleavecall would result in an error
Changed
- Synced leave function
- Make
leaveAPI call to server sync instead of async
Fixed
- Socket is now cancelled instead of close, which was causing queued messages to be processed after
teardown leading to crashes and
Failed to set remote offer sdp: Called in wrong state: closederror - NPE in
sendMessageAPI
2.2.9 - 2022-02-08
Added
- Local track updates like mute/unmute will be send as well via
onTrackUpdate - Added
startedAtandstoppedAtfield forBrowserandSFUrecording
Changed
- Upgraded kotlin version to
1.6.10 - Upgraded WebRTC version to
m97 customerUserIDcan be null
Fixed
- Crash Fix when joining without mic permission
- Stop screenshare on calling
leave()API if screenshare is going on - Potential fix for
ClassCastExceptionon accesinglocalPeerwhile publishing - Fix for
HMSException: Network connection lostcrash when connection failed while joining - Improved time taken for YUV conversion for virtual background
- Fixed background image overlay
2.2.8 - 2022-01-24
Added
- Added APIs to support of
Virtual Background - Use the following dependency along with main 100ms SDK dependency to support VB plugin
implementation 'com.github.100mslive.android-sdk:virtualBackground:2.2.8'
Changed
- Gradle Dependency to add core 100ms SDK features has changed to following
implementation 'com.github.100mslive.android-sdk:lib:x.x.x'
2.2.7 - 2022-01-18
Changed
- Downgrading
androidx.core:core-ktxto1.6.0to support apps with compile sdk version < 31.
2.2.6 - 2022-01-14
Added
- Added analytics to collect whether device is using h/w or s/w AEC
- Added
isTerminalproperty inHMSException- Use this property to determine whether peer can continue in the room or not - Added analytics to collect info about
could not find FRONT cameraissue - Added analytics events for phone call interruptions
- Queue-ing analytics events which maybe getting missed as websocket not present
Fixed
- Bug fix - All Remote peers get muted for local peer if the local peer receives a phone call at a moment when there is no one else in the room
onReconnectionwill not be send continuously & will be sent only in the start. It was being sent continously while SDK was retrying.- NPE crash fix in
OnPeerUpdateManagerandSDKStore.getRoom
2.2.5 - 2021-12-29
Fixed
- OOM Crash due to printing of
SDKStoreobject inHMSSpeaker - Clear local track mute status when the sdk is cleared
- Fix for
java.lang.IllegalStateException: No camera device found for FRONTcrash - Now the peer will be able to join the room but with no videoTrack
Added
- An optional
HMSActionResultListeneris added toswitchCameraAPI - errors will be sent back to app if some errors come up - Send the local Screenshare Track to app in
onTrackUpdate - Added new analytics event
videopresence.failedfor cases where SDK cannot find a camera to capture
Changed
- Device permission denied errors are not terminal errors anymore.
Clients will get a
onJoinoronPreviewcallback even if audio or video tracks cannot be created by the SDK due to some issues in the capture device.onErrorcallbacks will also be called along with the above callbacks
2.2.4 - 2021-12-20
Fixed
- RTMP updates are fired once server notifies
switchCameraAPI does not need a Coroutine scope to be called from
Added
- APIs to start/stop HLS Streaming (beta version)
HLS_STREAMING_STATE_UPDATEDenum inHMSRoomUpdateto notify changes about HLS streaming status inHMSRoom- Beta version of
getStats()API startScreenShareAPI now take an optionalNotificationfrom app which can be used to stop the screenshare
2.2.3 - 2021-12-03
Fixed
UninitializedPropertyExceptioncrash while callingacceptChangeRoledue to socket not getting initialized- Permission Errors are non terminal now
Added
- Subscribe Degradation events being sent to analytics
2.2.2 - 2021-11-25
Added
changeMetadataAPI to change themetadatainHMSPeer. This change will be updated to all and will be persistent
Fixed
HMSRoomUpdatewill be trigerred for the local peer who initiated a start or stop Recording- The room's Recording status will be checked upon reconnection of a peer
- Screenshare cannot be unpublished while in reconnection mode
setVolume()API onRemoteAudioTrackcan now take in value from 0.0 to 10.0
Fixed
- Analytic fixes
- Fix issue in self role change which was calling
roleChangetwice - Remove token from URL Params
2.2.0 - 2021-11-19
Fixed
- Analytic fixes
- Fix issue in self role change which was calling
roleChangetwice - Remove token from URL Params
Added
- Add Audio Recording errors to Analytics
- Add more instrumentation tests
2.1.9 - 2021-11-11
Added
- Beta version of
screenshareAPI LeaveAPI now takes in an optional parameter to returnsuccessanderrorcallbacks
Fixed
Class cast exceptioncrash fix if End Room API was called by server whererequested_bypeer is null
2.1.8 - 2021-11-03
Added
getRoomAPI toHMSSDKwhich will return aHMSRoominstance that the user has joined,NULLotherwise
Fixed
- Crash fix -
IllegalArgumentException: Receiver not registeredon calling leave immediately after joining Already JOINEDHMSException will now be coming inonErrorofHMSUpdateListenerinstead of a throwing a fatal Exception- RTMP Recording fixes
2.1.7 - 2021-11-01
Changed
The timeouts for all websocket operations on the server have been increased from 5 seconds to 11 seconds.
If a join was failing before for lack of feedback, it has a larger margin within which to succeed now.
2.1.6 - 2021-10-28
Breaking Changes
requestedBy: HMSPeer in HMSChangeTrackStateRequest is now nullable.
It could be mute if the person tried to mute or unmute someone and immediately left the room.
Fixed
- Check for Role change of remote peers after reconnection
- Return correct value of isPlaybackAllowed
- HMSTrack is null for local peer in HMSSpeaker
onSuccesscallback for theacceptChangeRequestmethod was never being called. This will now be called appropriately. This request can safely be ignored because the SDK already muted the peer but may be helpful in recognizing that the mute came externally. A check like the following is now required in youronChangeTrackStateRequest:
if (details.track.isMute != details.mute) { // Process ChangeTrackMuteRequest }
Added
- Added
customerIdanddescriptionto HMSPeer's tostring(). HMSChangeTrackStateRequestis now sent even when peers are muted. Previously, if a remote peer requested a peer to mute, there would be no ChangeTrackStateRequest- The way packet loss is measured for track degradation is changed
2.1.5 - 2021-10-27
Fixed
- Crash fix for "MediaStream has been disposed" - that could happen when multiple peers leave and join a large room
2.1.4 - 2021-10-18
Fixed
- Videos send by Pixel 3 device are distorted
- UninitializedPropertyAccessException crash fix on leave
- Using subscribe degradation as set on the local peer's role
Added
HMSTrackobj inHMSSpeaker
2.1.3 - 2021-10-04
Fixed
- Reconnection improvements - reconnection time has reduced
- Analytics fix
Added
- Ability to start/stop a RTMP Streaming or Recording
- Ability to change the mute status of one or many remote HMSTrack for all peers of a particular role, or all tracks of a particular source, type or source AND type.
- Ability to use either software or hardware acoustic echo cancellation from the application layer
Updated
- Updated to latest m94 release of WebRTC
2.1.2 - 2021-09-20
Fixed
- Donot degrade videos on reconnection
- SendTrack updates after reconnection if a new peer joins while SDK is reconnection
- Muting new tracks that are getting added when SDK mutes all remote tracks on interruption
2.1.1 - 2021-09-10
Fixed
- SDK Reconnection on network disconnection improvement
- NPE Crash fix on preview screen in case of SDK reconnection
- Fix: onPreview getting was called twice in case of SDK reconnection
2.1.0 - 2021-09-03
Fixed
- Subscribe Degradation improvements
- sendBroadcast API now accepts any type of HMSMessageType
- Concurrent modification Exception Crash fix
2.0.9 - 2021-08-27
Added
- Support for self role change
Changed
- Updated WebRTC lib to latest
- Bug fix(can reuse the same instance of hmsSDK to rejoin a room)
- Few memory leak
- IMP --> With this release no need to add any dependency to WebRTC library. Anyone migrating from previous versions, PLEASE REMOVE the WebRTC dependency from your app's build.gradle
2.0.8 - 2021-08-17
Added
- Sending private and group messages APIs
- Remove peer from a room API
- Remote mute peer API
- End room API
Changed
- send(message:) API renamed to sendBroadcastMessage
2.0.7 - 2021-08-06
Fixed
- Bug fixes in subscribe degradation
- Bug fixes in role change
- Bug fixes in onReconnection handling
- Bug fix in incoming phone call handling
2.0.6 - 2021-07-27
Fixed
- Bugs in change role
Added
- Support for subscribe degradation
2.0.5 - 2021-07-20
Added
- HMSSpeaker contains HMSPeer instead of peerId
- Support for changing of roles
2.0.4 - 2021-07-09
Fixed
- Crash fixes on leave and network change
- Audio Routing to earpiece on interruption
- No audio in BT headset on connecting disconnecting error
- Check if role allows publishing in preview
- Release camera on leave
Added
- SDK will handle all interruptions like incoming voice and VoIP calls
- Pass HMSRole to client via HMSPeer
2.0.2 - 2021-06-30
Fixed
- Made
hmsSDK.getLocalpeer()nullable - Fix logging bug
- Fix bug where
ontrackUpdatecame before RTCTrack
2.0.1 - 2021-06-29
Added
- Retry when join call returns server error in 5xx or 429
isTerminalproperty to analytics
Fixed
- NPE Crash on SDKStore.getLocalPeer()
- Unsupported notification message crash
- Call onError callback in WebRTC subscription failure
2.0.0-beta02 - 2021-06-24
Added
- Preview API
- Enabled Opus DTX for audio
- Added retry to INIT API call
2.0.0-beta01 - 2021-06-16
Added
- Proper error messages from client and server
- Handling of bad network conditions by retrying inside SDK
- Audio Manager is part of the SDK
- Callbacks for
onReconnectingandonReconnected - Added Analytics to track issues
2.0.0-alpha04 - 2021-06-04
Added
-
Simplified SDK interfaces that can power a fully featured video conferencing application
joinleavelistenersfor tracks/peers/other data
-
Features not covered in this release
- Handling network disconnections (disconnect from wi-fi to 4g ends the call)
- Handling subscription network degradations
- Handling second order publish network degradations
- Detailed analytics
- Recording
Have a suggestion? Recommend changes ->



