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.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 mandatoryHMSActionResultListener
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 toenableNoiseCancellation
getNoiseCancellationEnabled
renamed toisNoiseCancellationEnabled
isNoiseCancellationAvailable
renamed 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
VideoFrameInfoListener
to receiverotatedWidth
,rotatedHeight
androtation
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
andenableBackground
can 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.
getPeerById
simplifies getting theHMSPeer
object 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_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
withplayer.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 inHMSHLSVariant
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
inonAudioDeviceChanged
ofAudioManagerDeviceChangeListener
is changed fromMutableSet
toSet
if you are using Kotlin. It remainsSet
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 inonResolutionChange
ofVideoViewStateChangeListener
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
settersetDisableInternalAudioManager()
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
inHMSRoom
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 returnsJsonElement
instead ofAny
- The deprecated methods for
setSessionMetaData
andgetSessionMetaData
were removed. Please use the SessionStore directly instead.
Fix
- SessionStore API fix: While it can still take
Any
datatypes, it must returnJsonElement
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 hasmessageId
assigned to each message. After sending a message, add it to the UI from theonMessageSuccess
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 ofString
as data. This is equivalent toObject
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 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
customerUserID
is now nullable for bothHMSLocalPeer
andHMSRemotePeer
.
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 toHMSLocalVideoTrack
- Check details about this here
Fixed
captureBitmap
API of the localHMSVideoView
now returns the bitmap at the publishing resolution of local peer- Sometimes
HMSTrack
was in-correctly removed fromHMSPeer
if aRemotePeer
un-publishes aHMSTrack
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 usingHMSVideoView
- Local Stats for all the layers
Fixed
isScreenShared()
API always returningfalse
- Multiple setLayer call in
HMSVideoView
Changed
onJoin
notification will come beforeonPeerUpdate
when user joined a room. Earlier it used to be sent later- Prefer layer is now request response instead of notify
onLocalVideoStats
ofHMSStatsObserver
now has aList
ofHMSLocalVideoStats
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 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.
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 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
HMSVideoTrackSettings
andHMSAudioTrackSettings
in the builder ofHMSSDK
Changed
- Deprecated
ROOM_NAME_UPDATED
andROOM_ID_UPDATED
types ofHMSRoomUpdate
as they are no longer used - Updated WebRTC to m104 from m97
Fixed
- SDK calling
leave()
on being removed from the room leading topeer.leave.failure
webhook 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
removeSink
will only stop the download of avideoTrack
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 ofonSuccess
callback twice onRoomUpdate
with typeHMSRoomUpdate.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 callingstartHLSStreaming
andstopHLSStreaming
- The
meetingUrl
parameter while creatingHMSHLSMeetingURLVariant
instance forHMSHLSConfig
is optional now. If nothing is provided HMS system will take the default meetingUrl for starting HLS stream changeRoleForce
permission inHMSRole
is now removed and no longer usedrecording
permission inHMSRole
is now broken into -browserRecording
andrtmpStreaming
streaming
permission inHMSRole
is 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_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 inHMSVideoTrackSettings
not getting updated on callingswitchCamera
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 returnList
instead 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.getStopScreenSharePendingIntent
API while starting screenshare - Un-necessarily sending
HLS_RECORDING_STATE_UPDATED
inonRoomUpdate
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 inHMSMessage
is not of typeLong
instead 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
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 frompreview
/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 theonError
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 alljoin
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 sometimesroom-sate
message comes beforepolicy-change
message. Ignoring the firstroom-sate
message in such cases
2.3.0 - 2022-02-23
Added
HlsRecordingConfig
toHMSHLSConfig
objectonPeerUpdate
andonRoomUpdate
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 aleave
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
andstoppedAt
field forBrowser
andSFU
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 accesinglocalPeer
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
to1.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 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 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
andSDKStore.getRoom
2.2.5 - 2021-12-29
Fixed
- OOM Crash due to printing of
SDKStore
object inHMSSpeaker
- 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 toswitchCamera
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
oronPreview
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 inHMSRoomUpdate
to notify changes about HLS streaming status inHMSRoom
- Beta version of
getStats()
API startScreenShare
API now take an optionalNotification
from app which can be used to stop the screenshare
2.2.3 - 2021-12-03
Fixed
UninitializedPropertyException
crash while callingacceptChangeRole
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 themetadata
inHMSPeer
. 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 onRemoteAudioTrack
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 returnsuccess
anderror
callbacks
Fixed
Class cast exception
crash fix if End Room API was called by server whererequested_by
peer is null
2.1.8 - 2021-11-03
Added
getRoom
API toHMSSDK
which will return aHMSRoom
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 inonError
ofHMSUpdateListener
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 theacceptChangeRequest
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 youronChangeTrackStateRequest
:
if (details.track.isMute != details.mute) { // Process ChangeTrackMuteRequest }
Added
- Added
customerId
anddescription
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 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
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
andonReconnected
- 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 ->