Release Notes

Latest Versions

PackageVersion
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.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 captureNetworkQualityInPreview is 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.
  • setNoiseCancellationEnabled now takes a mandatory HMSActionResultListener because 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 to enableNoiseCancellation
  • getNoiseCancellationEnabled renamed to isNoiseCancellationEnabled
  • isNoiseCancellationAvailable renamed to isNoiseCancellationSupported

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 VideoFrameInfoListener to receive rotatedWidth, rotatedHeight and rotation to 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.
  • disableEffects API 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.
  • enableBlur and enableBackground can now be called before addPlugin

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.
  • getPeerById simplifies getting the HMSPeer object for a given peerId.
  • 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_MICROPHONE permission 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 HmsHlsPlayer with player.areClosedCaptionsSupported.
  • Analytics changes.
  • peerListUpdated is 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 HMSHLSPlaylistType field in HMSHLSVariant to 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_CONNECT permission from user for Android 12 and above

Changed

  • Upgraded tarketSDKVersion and compileSDKVersion to 31 from 30
  • Type of availableAudioDevices in onAudioDeviceChanged of AudioManagerDeviceChangeListener is changed from MutableSet to Set if you are using Kotlin. It remains Set for 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

  • HMSTextureRenderer class was sending wrong values in onResolutionChange of VideoViewStateChangeListener in 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 HmsVideoView correctly 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 HMSAudioTrackSettings setter setDisableInternalAudioManager()

v2.7.8 - 2023-10-21

Fixed

  • PEER LEFT event 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.
  • onPermissionsRequested also comes during the Preview API.
  • Added pan and zoom for HMSVideoView.
  • HMSBrowserRecordingState of 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 preview wasn'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:

  • peerCount in HMSRoom is 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-player were 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 onKeyChangeListener now returns JsonElement instead of Any
  • The deprecated methods for setSessionMetaData and getSessionMetaData were removed. Please use the SessionStore directly instead.

Fix

  • SessionStore API fix: While it can still take Any datatypes, it must return JsonElement because 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

  • HMSMessage now has messageId assigned to each message. After sending a message, add it to the UI from the onMessageSuccess callback 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 Any instead of String as data. This is equivalent to Object in 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 HmsSessionStore when 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

  • volume is a public property on HMSRemoteAudioTrack.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
  • customerUserID is now nullable for both HMSLocalPeer and HMSRemotePeer.

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_by in acceptChangeRole message
  • Added CameraControls interface to HMSLocalVideoTrack - Check details about this here

Fixed

  • captureBitmap API of the local HMSVideoView now returns the bitmap at the publishing resolution of local peer
  • Sometimes HMSTrack was in-correctly removed from HMSPeer if a RemotePeer un-publishes a HMSTrack and 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_at field to Local and Remote peers
  • AutoSimulcast is enabled by default while using HMSVideoView
  • Local Stats for all the layers

Fixed

  • isScreenShared() API always returning false
  • Multiple setLayer call in HMSVideoView

Changed

  • onJoin notification will come before onPeerUpdate when user joined a room. Earlier it used to be sent later
  • Prefer layer is now request response instead of notify
  • onLocalVideoStats of HMSStatsObserver now has a List of HMSLocalVideoStats instead of single object to accomodate for Simulcast layers

v2.5.5 - 2022-12-17

Fixed

  • TRACK_REMOVE update 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 changeRole is now changeRoleForPeer. 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. senderPeer in 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 HMSVideoTrackSettings to force device to use software 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 HMSVideoTrackSettings and HMSAudioTrackSettings in the builder of HMSSDK

Changed

  • Deprecated ROOM_NAME_UPDATED and ROOM_ID_UPDATED types of HMSRoomUpdate as they are no longer used
  • Updated WebRTC to m104 from m97

Fixed

  • SDK calling leave() on being removed from the room leading to peer.leave.failure webhook along with peer.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

  • removeSink will only stop the download of a videoTrack if all the sinks attached to it are removed
  • Stop camera capturer on calling leave on Preview page
  • Setting the correct audio output device when a Bluetooth headset is in connecting state

v2.4.7 - 2022-07-28

Fixed

  • Calling switchCamera API leads trigerring of onSuccess callback twice
  • onRoomUpdate with type HMSRoomUpdate.ROOM_PEER_COUNT_UPDATED not 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

  • HMSHLSConfig is now an optional parameter while calling startHLSStreaming and stopHLSStreaming
  • The meetingUrl parameter while creating HMSHLSMeetingURLVariant instance for HMSHLSConfig is optional now. If nothing is provided HMS system will take the default meetingUrl for starting HLS stream
  • changeRoleForce permission in HMSRole is now removed and no longer used
  • recording permission in HMSRole is now broken into - browserRecording and rtmpStreaming
  • streaming permission in HMSRole is now hlsStreaming

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_time calculation
  • Audio device switch issues
  • Bluetooth issues in HLS mode
  • Removed additional Bluetooth permission in SDK for android 30 and above

Added

  • Join response time to 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

  • cameraFacing field in HMSVideoTrackSettings not getting updated on calling switchCamera API
  • 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 retry counts of JOIN calls

v2.4.2 - 2022-06-22

Fixed

  • WebRTC not able to find Camera from Android Camera Manager leading to CantAccessCaptureDevice error 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

  • setAudioMode API 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-list time
  • 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 return List instead of Array

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.getStopScreenSharePendingIntent API while starting screenshare
  • Un-necessarily sending HLS_RECORDING_STATE_UPDATED in onRoomUpdate callback 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

  • serverReceiveTime data type in HMSMessage is not of type Long instead of Date

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

  • sessionId is 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: onSuccess callback not called from preview/join if 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: InvalidTokenFormat exeception. This would be thrown in the onError callback instead
  • Fixed bug: Sending TRACK_DEGRADED when not required in some cases

Added

  • Apps can now add resolution(w*h) when starting RTMP Streaming
  • 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

  • Leave not finishing if SDK is in reconnection state. Hence all join calls 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 HlsStartRecording was null

Added

  • Added Hls Recording to initial PeerList
  • Ignore room-state updates after joining

2.3.2 - 2022-03-14

Fixed

  • ERROR Analytics events not being sent

2.3.1 - 2022-02-25

Fixed

  • NPE in OnPeerUpdateManager when sometimes room-sate message comes before policy-change message. Ignoring the first room-sate message in such cases

2.3.0 - 2022-02-23

Added

  • HlsRecordingConfig to HMSHLSConfig object
  • onPeerUpdate and onRoomUpdate callbacks 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 preview API again without a leave call would result in an error

Changed

  • Synced leave function
  • Make leave API 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: closed error
  • NPE in sendMessage API

2.2.9 - 2022-02-08

Added

  • Local track updates like mute/unmute will be send as well via onTrackUpdate
  • Added startedAt and stoppedAt field for Browser and SFU recording

Changed

  • Upgraded kotlin version to 1.6.10
  • Upgraded WebRTC version to m97
  • customerUserID can be null

Fixed

  • Crash Fix when joining without mic permission
  • Stop screenshare on calling leave() API if screenshare is going on
  • Potential fix for ClassCastException on accesing localPeer while publishing
  • Fix for HMSException: Network connection lost crash 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-ktx to 1.6.0 to 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 isTerminal property in HMSException - Use this property to determine whether peer can continue in the room or not
  • Added analytics to collect info about could not find FRONT camera issue
  • 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
  • onReconnection will not be send continuously & will be sent only in the start. It was being sent continously while SDK was retrying.
  • NPE crash fix in OnPeerUpdateManager and SDKStore.getRoom

2.2.5 - 2021-12-29

Fixed

  • OOM Crash due to printing of SDKStore object in HMSSpeaker
  • Clear local track mute status when the sdk is cleared
  • Fix for java.lang.IllegalStateException: No camera device found for FRONT crash - Now the peer will be able to join the room but with no videoTrack

Added

  • An optional HMSActionResultListener is added to switchCamera API - 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.failed for cases where SDK cannot find a camera to capture

Changed

  • Device permission denied errors are not terminal errors anymore. Clients will get a onJoin or onPreview callback even if audio or video tracks cannot be created by the SDK due to some issues in the capture device. onError callbacks will also be called along with the above callbacks

2.2.4 - 2021-12-20

Fixed

  • RTMP updates are fired once server notifies
  • switchCamera API does not need a Coroutine scope to be called from

Added

  • APIs to start/stop HLS Streaming (beta version)
  • HLS_STREAMING_STATE_UPDATED enum in HMSRoomUpdate to notify changes about HLS streaming status in HMSRoom
  • Beta version of getStats() API
  • startScreenShare API now take an optional Notification from app which can be used to stop the screenshare

2.2.3 - 2021-12-03

Fixed

  • UninitializedPropertyException crash while calling acceptChangeRole due 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

  • changeMetadata API to change the metadata in HMSPeer. This change will be updated to all and will be persistent

Fixed

  • HMSRoomUpdate will 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 on RemoteAudioTrack can now take in value from 0.0 to 10.0

Fixed

  • Analytic fixes
  • Fix issue in self role change which was calling roleChange twice
  • Remove token from URL Params

2.2.0 - 2021-11-19

Fixed

  • Analytic fixes
  • Fix issue in self role change which was calling roleChange twice
  • 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 screenshare API
  • Leave API now takes in an optional parameter to return success and error callbacks

Fixed

  • Class cast exception crash fix if End Room API was called by server where requested_by peer is null

2.1.8 - 2021-11-03

Added

  • getRoom API to HMSSDK which will return a HMSRoom instance that the user has joined, NULL otherwise

Fixed

  • Crash fix - IllegalArgumentException: Receiver not registered on calling leave immediately after joining
  • Already JOINED HMSException will now be coming in onError of HMSUpdateListener instead 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
  • onSuccess callback for the acceptChangeRequest method 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 your onChangeTrackStateRequest:
if (details.track.isMute != details.mute) { // Process ChangeTrackMuteRequest }

Added

  • Added customerId and description to HMSPeer's tostring().
  • HMSChangeTrackStateRequest is 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

  • HMSTrack obj in HMSSpeaker

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 ontrackUpdate came before RTCTrack

2.0.1 - 2021-06-29

Added

  • Retry when join call returns server error in 5xx or 429
  • isTerminal property 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 onReconnecting and onReconnected
  • 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

    • join
    • leave
    • listeners for 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 ->

Was this helpful?

1234