Release Notes

1.12.0 - 2024-06-07

Added

  • imageDataSource API for virtual background plugin.
  • start/stop live transcription APIs
  • search peers by name API for large rooms

1.11.0 - 2024-05-17

Added

  • proxy/turn configuration API in HMSConfig

1.10.0 - 2024-05-08

Added

  • Transcription state in HMSRoom

Changed

  • Blur plugin performance improvements

Fixed

  • Freeze on plugin state toggle on some devices

1.9.0 - 2024-04-19

Added

  • Transcription feature in conferencing calls
  • VP9 codec support
  • Whiteboard feature

Fixed

  • Peer count update does not come for empty room

1.8.0 - 2024-03-27

Added

  • type property in HMSPeer for SIP peers support.
  • Hand raise configuration in room layout API

Fixed

  • Participant video appears stretched in some scenarios.

1.7.0 - 2024-03-15

Added

  • Support for noise cancellation powered by Krisp

Fixed

  • Fix poll vote count reset after disconnection

1.6.0 - 2024-02-27

Added

  • playlist type property in HMSHLSVariant
  • Support for header and description in room layout API

1.5.1 - 2024-02-02

Added

  • Skip preview flag in room layout API

1.5.0 - 2024-01-19

Added

  • Color controls video plugin

1.4.2 - 2023-12-28

Added

  • Quiz leaderboard summary API

1.4.1 - 2023-12-14

Added

  • Room layout support for skipping preview in bring on stage feature

1.4.0 - 2023-12-08

Added

  • fetchLeaderboard API to fetch the leaderboard for a quiz

1.3.1 - 2023-12-04

Added

  • Layout API support for chat controls

Fixed

  • Occasional crash when subscriber analytics are enabled

1.3.0 - 2023-11-16

Added

  • State property for streaming and recording room states.

Fixed

  • createdBy property not populated for HMSPoll

1.2.1 - 2023-11-10

Fixed:

  • Auto simulcast layer selection not picking highest layer for large tiles.

1.2.0 - 2023-11-03

Added

  • Analytics improvements

1.1.0 - 2023-09-28

Added

  • Peer list iterator API for large rooms

1.0.1 - 2023-09-15

Added:

  • Support for large scale rooms
  • First class APIs for raising hand in a room: raiseLocalPeerHand, lowerLocalPeerHand, lowerRemotePeerHand. isHandRaised property on HMSPeer

Breaking change:

  • peerJoin update type in on(peer:update:) callback will not be sent for every peer in the room upon room join, onPeerListUpdate callback will be sent instead. This new callback should be the main source of notification regrading peer list updates. The peerJoin / peerLeave update types should only be used for showing notifications to the user if app has this feature.

0.9.12 - 2023-09-13

Fixed

  • High simulcast layer not published for 720p with 1:1 aspect template setting

0.9.11 - 2023-09-08

Added

  • Exposed volume property in HMSRemoteAudioTrack
  • canPublish property on HMSRole to check if role publishes any tracks

0.9.10 - 2023-09-01

Changed

  • room.peerCount will keep updating post join

0.9.9 - 2023-08-16

Fixed

  • Room layout schema handling empty response

0.9.8 - 2023-08-08

Added

  • Prebuilt UI support

0.9.7 - 2023-08-07

Changed

  • Analytics improvements
  • HMSPoll type property renamed to category

Fixed

  • Peer information was not populated in HMSPollQuestionResponse coming from fetchResponses API

0.9.6 - 2023-07-20

Added

  • Initialising state support for browser recording
  • Polls and quizzes APIs

Changed

  • Join API now overrides user name set in preview API

Fixed

  • Listener->speaker->listener->speaker crash when using audio sharing feature

0.9.5 - 2023-06-01

Changed

  • Internal analytics improvements to aid faster debugging of call quality issues

0.9.4 - 2023-05-16

Added

  • HMSMessage will have a messageID property that allows to uniquely identify a message.

0.9.3 - 2023-04-27

Added

  • audioMode setting in HMSAudioTrackSettings which can be used to turn on Music Mode

Fixed

  • Peer tracks are not received by newly joined peers after publish -> non-publish -> publish role change

0.9.2 - 2023-04-14

Added

  • HMSSessionStore API - a cloud based key value store for the session
  • Switch camera API with completion handler

Fixed

  • No audio/video when changing roles quickly
  • Potential crash due to overflow while screen sharing

0.9.1 - 2023-03-31

Changed

  • Errors from getAuthTokenByRoomCode API will now include a more informative message

Fixed

  • Swift package manager error when both HMSSDK and HMSHLSPlayerSDK packages are added

Breaking

  • getAuthTokenByRoomCode API is now an instance method of HMSSDK

0.8.1 - 2023-03-23

Breaking

  • endpoint param is removed from getAuthTokenByRoomCode API

0.7.1 - 2023-03-17

Added

  • getAuthTokenByRoomCode API

Changed

  • Performance improvement for screen-sharing
  • improve call failure detection and reporting

Breaking

  • HMSHLSStatsMonitor is moved to a separate HMSHLSPlayerSDK

0.6.5 - 2023-03-13

Added

  • cameraOrientationLock API for HMSVideoTrackSettings to lock camera orientation

0.6.4 - 2023-02-14

Changed

  • Performance improvements for PiP mode
  • videoContentMode property now controls content resizing for HMSSampleBufferDisplayView

0.6.3 - 2023-02-07

Added

  • modifyCaptureDeviceUsingBlock API on HMSLocalVideoTrack for fine grain camera control
  • captureImageAtMaxSupportedResolutionWithFlash API on HMSLocalVideoTrack for taking high res photos during video capture
  • decodedString extension API on AVMetadataItem to get timed metadata json payload

Changed

  • Improved disconnected state detection on certain networks

0.6.1 - 2023-01-19

Added

  • Error callback onPlaybackFailure to monitor HLS error events

Fixed

  • requested_by field not populated in role change webhook
  • RTC stats are not reported for screen share track
  • RTC stats are not reported if user joins with HLS role and then switches to WebRTC
  • In the first onRoom update during preview local peer's role is nil
  • In App Screen share sends bogus error first time with permission popup
  • Sometimes, in app screen share is stuck waiting for a visual change in the UI

Breaking change

  • RTC stats delegate callback signatures have been changed to return HMSVideoTrack and HMSAudioTrack types in order to support stats for screen share track.

0.5.5 - 2023-01-06

Added

  • Simulcast support for local RTC stats
  • Capture frame API for HMSVideoView

Changed

  • In-app screenshare will auto resume on app coming to foreground

Fixed

  • Switch output causes bluetooth devices to not show up in device list
  • Frames repeating in in-app screen share

0.5.4 - 2022-12-23

Added

  • Varying frame rate support for simulcast layers
  • API to share in app screen content
  • Log a helpful message to the console when provided app group id is wrong
  • Sending track removed update for each of peer's tracks before sending peerLeft update

Fixed

  • Redundant "track restored" event is sent whenever simulcast layer selection is changed
  • Changing role during audio file playback is causing a crash

0.5.3 - 2022-12-14

Fixed

  • iPhone 14 + bluetooth headset microphone issue when custom audio source is used
  • Video track settings not respecting back camera selection
  • HLS Stream playback not using bluetooth headset speaker

0.5.2 - 2022-12-07

Fixed

  • Microphone not captured on non publishing to publishing role change first time after app force quit.

0.5.1 - 2022-11-25

Added

  • Simulcast support
  • HMSHLSPlaybackMonitor class for easy retrieval of HLS playback stats from AVPlayer
  • Audio routing API to change audio output between earpiece and speaker
  • Local camera frame capture plugin

0.4.7 - 2022-11-04

Added

  • Tap to focus local camera API

Fixed

  • iOS 16 screen share failing if the app went into background without PIP mode
  • Sending chat message from REST API resulted in peer joined update getting fired

Changed

  • Bitcode support has been deprecated

0.4.6 - 2022-10-21

Added

  • HMSVideoTrackSettings and HMSAudioTrackSettings now have initialMuteState property that controls wether user will have tracks muted or unmuted on join
  • HMSAudioTrackSettingsBuilder and HMSVideoTrackSettingsBuilder are provided to simplify settings creation. Example:
sdk.trackSettings = HMSTrackSettings.build { videoSettingsBuilder, audioSettingsBuilder in videoSettingsBuilder.initialMuteState = .mute audioSettingsBuilder.initialMuteState = .mute }

0.4.5 - 2022-10-06

Fixed

  • Screenshare compatibility for iOS 16

0.4.3 - 2022-09-28

Added

  • Session metadata API

Fixed

  • Potential fix for a race condition where WebSocket message arriving post cleanup leading to a crash

0.4.2 - 2022-09-21

Fixed

  • Audio coming from the earpiece instead of a speaker when joining with a non publishing role.
  • Fix missing headers compiler warning.

0.4.1 - 2022-09-09

Added

  • HLS Extended metadata support
  • Zoom and pan gesture support for HMSVideoView can be enabled via isZoomAndPanEnabled property.

Fixed

  • Headset microphone audio getting distorted when custom audio source is provided.

Breaking changes

  • Error reporting has been updating to match error codes on Android as well as to use iOS conventions for the error interface. See migration guide here for details.

0.3.3 - 2022-07-27

Added

  • Support for local file playback and audio sharing
  • Support for Picture in Picture mode

Changed

  • Simplified HLS start API

0.3.2 - 2022-07-01

Added

  • Add resolution variable in HMSRTMPConfig
  • Support message sending from REST API
  • Join performance improvements for large rooms

Fixed

  • Reconnecting/reconnected callbacks triggered when new user joins
  • Fix HLS playback audio not routed to external speaker post role change

0.3.1 - 2022-05-31

Added

  • Screenshare support
  • Virtual background
  • Custom video plugins API
  • Analytics capturing improvements

Breaking change

  • Removed tracksErrorAudioShouldBeSilenced error that was used to signal that other app is playing audio that cannot be mixed, it is now up to the app to detect for example using CallKit

0.2.13 - 2022-05-16

Fixed

  • Local track state updates not being sent due to a bug in 0.2.12

0.2.12 - 2022-05-13

Fixed

  • Track will not recover if it was unsubscribed from post being degraded

0.2.11 - 2022-04-28

Added

  • Subscribe degradation improvements

Fixed

  • onReconnected callback not fired in some scenarios

0.2.10 - 2022-04-21

Fixed

  • Error 5000 returned when trying to rejoin from onError callback

Changed

  • Message in sendBroadcastMessage, sendDirectMessage and sendGroupMessage completion handlers will now have the timestamp set by the server instead of using local

0.2.9 - 2022-03-29

Added

  • Network health callbacks in preview and mid call
  • Fix camera light going on for muted track post role change

0.2.8 - 2022-03-08

Added

  • HMSHLSConfig constructor now takes HMSHLSRecordingConfig param to optionally enabled recording of HLS stream
  • hlsRecordingState property added to HMSRoom to show current recording state

0.2.7 - 2022-02-21

Added

  • Recording/Streaming info will now have "started at" date
  • Room state and peer list are now available in preview mode (if enabled from dashboard) via on(room:update:) and on(peer:update:) callbacks in HMSPreviewListener

Fixed

  • SDK interfering with apps querying device battery level

0.2.6 - 2022-01-28

Fixed

  • Fixed connection issues for EU based rooms.

0.2.5 - 2022-01-20

Added

  • Call stats API

0.2.4 - 2021-12-21

Added

  • HLS Streaming API

Changed

  • Improved track switching delay in HMSVideoView

Fixed

  • Track remove callback not fired in case of multiple auxiliary tracks were getting removed

0.2.3 - 2021-12-06

Fixed

  • Microphone permission requested for view only role
  • Subscribe degradation not working
  • onError callback fired on non main thread for no mic/video permission error

0.2.2 - 2021-11-26

Added

  • changeMetadata API
  • changeName API
  • setVolume API for HMSRemoteAudioTrack

0.2.1 - 2021-11-18

Breaking Change

  • requestedBy field has been made optional for HMSChangeTrackStateRequest, HMSRemovedFromRoomNotification, HMSRoleChangeRequest. It will be nil if request can originated from the REST API.
  • customerUserDescription field has been renamed to metadata in HMSPeer

0.1.6 - 2021-10-29

Changed

  • HMSLocalVideoTrack settings property is now properly reflecting cameraFacing state
  • Calling leave in preview mode no longer returns an error
  • Calling setMute on local video track stops camera access
  • Calling setMute on local tracks will now result in on(track: HMSTrack, update: HMSTrackUpdate, for peer: HMSPeer) callback fired for those tracks

0.1.5 - 2021-10-21

  • Removed Xcode 13 requirement

0.1.4 - 2021-10-13

Fixed

  • Fixed leave call not taking effect

0.1.3 - 2021-10-11

Added

  • hmsPeerStateDidChange notification added for convenience

Changed

  • Deprecated init(userName:userID:roomID:) of HMSConfig as same parameters are coming in the auth token

0.1.2 - 2021-09-30

Added

  • preview(role:completion:) API added to support showing preview screen mid call

0.1.1 - 2021-09-23

Added

  • changeRolesOfAllPeers API added to change roles of multiple peers at once
  • changeTrackState API variant added to mute/unmute multiple peers at once
  • startRTMPOrRecording and stopRTMPAndRecording APIs added to start/stop RTMP / browser recording

Changed

  • leave API now provides a completion handler that is called when leave operation has completed
  • HMSTrack source property type has been changed to String to allow custom track sources

Fixed

  • onReconnecting callback was not firing upon network disconnect

0.0.12 - 2021-09-02

Added

  • Swift package manager support
  • Bitcode support

Changed

  • Moved to XCFramework

0.0.11 - 2021-08-25

Added

  • HMSVideoView now has a mirror property that controls mirroring of the video.

Changed

  • changeRole API now can be used to change role of a local peer.

0.0.10 - 2021-08-17

Added

  • Sending private and group messages APIs
  • Remove peer from a room API
  • Remote mute peer API
  • End room API
  • videoContentMode property added to HMSVideoView to allow selecting if content should fit or fill the view
  • videoTrack getter added HMSVideoView for convenience

Changed

  • send(message:) API renamed to sendBroadcastMessage

0.0.9 - 2021-08-05

  • Fixed individual track publish settings not respected during change role
  • Fixed wrong track source coming for trackRemoved update
  • Fixed button states not updating properly during role change in sample app

0.0.8 - 2021-07-26

  • HMSVideoView will auto pick the best fitting simulcast layer
  • Sample app will not show role change options if user does not have necessary permissions

0.0.7 - 2021-07-16

  • Added simulcast support
  • Added support for forced change role
  • HMSSpeaker now has a reference to HMSPeer instead of id

0.0.6 - 2021-07-09

  • Added capability to change role mid-call
  • Passing HMSRole object to peers
  • SDK checks for appropriate permissions before trying to publish audio & video
  • Corrected parsing of roles that do not subscribe to other roles

0.0.5 - 2021-07-02

  • Automatic video track switch off in bad network conditions.
  • Preview API added to the SDK, added preview screen to the sample app.

0.0.4 - 2021-06-25

  • Added Media Interruption Handling
  • Optimized network usage
  • Updated background to foreground transitions
  • Improved Error logging

0.0.3 - 2021-06-22

  • Removed private modules to fix installing failure

0.0.2 - 2021-06-16

  • Added Reconnection for reliability in bad network conditions
  • Handled network provider (WiFi to Mobile Data) transitions mid-call
  • Upgraded Data Source which apps can use to easily create customized views
  • Added descriptive Error Codes
  • Added Analytics to track SDK performance
  • Added default handing to app background/foreground transitions
  • Handled joining meetings in different roles
  • Multiple Sample App enhancements

0.0.1 - 2021-06-04

  • 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