PackageTrack
Sign in Get early access

hmssdk_flutter

Add Real Time Audio & Video calls, Interactive Live Streaming & Recording, Chat, HLS, RTMP, PiP, CallKit, VoIP, Video conferencing, Stream Player & WebRTC-based communications API

1.11.1 2.7K downloads/mo #4791 most downloaded on pub.dev 100mslive/100ms-flutter

What this package is like to depend on

Last release 4 months ago

13 Apr 2026

Ships unpredictably

gaps range from 2 weeks to 1.1 years

Most releases are documented

notes for 47 of 57 stable releases

Nothing withdrawn

no release was ever pulled

5 years old

57 releases · first in 2021

2 releases in the last 12 months

see the full history below

Release timeline

57 releases · Aug 2021 to Apr 2026
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 57
  1. 1.11.1 13 Apr 2026

    Nothing published for this version

  2. 1.11.0 29 Oct 2025
    Release notes
    Package Version
    hms_room_kit 1.2.0
    hmssdk_flutter 1.11.0
    hms_video_plugin 0.1.0

    Breaking Changes

    ⚠️ This release includes important breaking changes to ensure compliance with Google Play's Android 16KB page size requirement.

    Minimum Version Requirements

    • Flutter: Minimum version upgraded to 3.24.0 (Recommended: 3.27.x)

      Applications must now use Flutter 3.24.0 or higher. For optimal performance and compatibility, Flutter 3.27.x is recommended.

    • Android API Level: Minimum increased from API 21 to API 24 (Android 7.0)

      The minimum supported Android version is now Android 7.0 (Nougat, API level 24). Recommended target is API 35 (Android 15).

    • iOS Platform: Minimum version upgraded to iOS 16.0

      Applications must now target iOS 16.0 or higher as the minimum deployment target.

    • Architecture Support: Migrated to 64-bit only architectures

      Support is now limited to 64-bit architectures only:

      • Android: arm64-v8a and x86_64 only (32-bit architectures removed)
      • iOS: arm64 only

    Build Tools & Dependencies Updated

    • Android Gradle Plugin (AGP): Upgraded to 8.9.0
    • Gradle: Updated to 8.11.1
    • Kotlin: Updated to 2.1.10
    • Android NDK: Updated to r28 (28.0.12674087)

    What's New

    Android 16KB Page Size Support

    Added full support for Android devices with 16KB memory page sizes, ensuring optimal performance on modern Android devices and maintaining Google Play Store compliance.

    This change ensures your application will:

    • Run smoothly on next-generation Android devices
    • Meet Google Play's new requirements
    • Maintain optimal performance across all supported Android versions

    Documentation & Examples

    • Added comprehensive Android Build Requirements documentation
    • Updated all sample applications with consistent build configurations
    • Updated dependencies across all packages and examples to ensure compatibility

    Uses Android SDK 2.9.78 & iOS SDK 1.17.0

    Full Changelog: 1.10.6...1.11.0

    Open source →
  3. 1.10.6 17 Sep 2024
    Release notes

    1.10.6 - 2024-09-17

    Package Version
    hms_room_kit 1.1.6
    hmssdk_flutter 1.10.6

    Breaking Changes in hms_room_kit

    • Removed Noise Cancellation dependency from Prebuilt on Android

      Noise Cancellation dependency is removed from Prebuilt on Android.
      Users will have to add the dependency manually in their Android project to use Noise Cancellation.
      This change is made to reduce the size of the Prebuilt package.
      Refer to the Noise Cancellation documentation for more details.

    hmssdk_flutter

    • Added Camera Zoom Controls in HMSCameraControls

      Users can now control the camera zoom using the HMSCameraControls class. The setZoom method can be used to set the zoom level of the camera.

      Learn more about Camera Zoom Controls here.

    hms_room_kit

    • Added support to control Automatic Gain Control and Noise Suppresion in Prebuilt

      Prebuilt now supports toggling Automatic Gain Control (AGC) and Noise Suppresion for better audio quality. Users can enable or disable AGC and Noise Suppresion from the prebuilt interface.

    • Resolved an issue where the Prebuilt UI was not updating on performing End Session

    • Hand Raise sorting based on Time

      Hand Raise list is now sorted based on the time of raising the hand. Refer to the Hand Raise documentation for more details.

    • Added support to perform Switch Role of any user on Prebuilt

      Users can now switch the role of any user, if they have necessary permissions, from the Prebuilt interface. Refer to the Change Role documentation for more details.

    Uses Android SDK 2.9.67 & iOS SDK 1.16.1

    Full Changelog: 1.10.5...1.10.6

    Open source →
  4. 1.10.5 25 Jul 2024
    Release notes
    Package Version
    hms_room_kit 1.1.5
    hmssdk_flutter 1.10.5

    hms_room_kit

    • Noise Cancellation initial state customisation

      Noise cancellation initial state can now be customised from the prebuilt customiser.

    Uses Android SDK 2.9.64 & iOS SDK 1.15.0

    Full Changelog: 1.10.4...1.10.5

    Open source →
  5. 1.10.4 01 Jul 2024
    Release notes
    Package Version
    hms_room_kit 1.1.4
    hmssdk_flutter 1.10.4
    hms_video_plugin 0.0.2

    hmssdk_flutter

    • Live Transcription in webRTC calls

      HMSSDK now provides support for transcription in webRTC calls. You can now start/stop transcription using HMSTranscriptionController methods. HMSSDK provides also provides callbacks for transcription start/stop events. Learn more about it here

    • Applications no longer need to request permissions for camera, microphone etc. HMSSDK handles the permissions internally. Checkout the permissions guide

    hms_room_kit

    • Introducing live transcription options in prebuilt

      Prebuilt now supports live transcription for better accessibility. Users can enable or disable live transcription from the prebuilt interface.

    Uses Android SDK 2.9.59 & iOS SDK 1.12.0

    Full Changelog: 1.10.3...1.10.4

    Open source →
  6. 1.10.3 12 Jun 2024
    Release notes
    Package Version
    hms_room_kit 1.1.3
    hmssdk_flutter 1.10.3
    hms_video_plugin 0.0.1

    hms_room_kit

    • Hand Raise can now be controlled from dashboard

      Hand Raise feature can now be enabled or disabled from the dashboard prebuilt customiser.

    hms_video_plugin

    • Introducing support for Virtual Background and Blur

      Users can now use virtual background and blur features in their video calls using the hms_video_plugin.
      Learn more about the feature here

    Uses Android SDK 2.9.59 & iOS SDK 1.12.0

    Full Changelog: 1.10.2...1.10.3

    Open source →
  7. 1.10.2 15 May 2024
    Release notes
    Package Version
    hms_room_kit 1.1.2
    hmssdk_flutter 1.10.2

    hmssdk_flutter

    • Introducing Whiteboard support in HMSSDK

      HMSSDK now provides support for Whiteboard. You can now start/stop a whiteboard using HMSWhiteboardController methods. HMSSDK provides also provides callbacks for whiteboard start/stop events. Learn more about it here

    • HLS Layer methods

      HLS Stream Layers can be controlled using the HMSHLSPlayerController's getHLSLayers and setHLSLayer methods. Learn more about the methods here

    • onPeerListUpdate event on HMSPreviewListener

      The onPeerListUpdate event is now available on HMSPreviewListener to get updates on the peer list. Learn more about it here

    hms_room_kit

    • Whiteboard support in Prebuilt

      Prebuilt now supports whiteboard for better collaboration. Users can create, manage, and stop whiteboards directly from the prebuilt interface.

    • Introducing option to select layers in HLS Player

      HLS Player now supports layer selection from HLS Player Settings.

    Uses Android SDK 2.9.56 & iOS SDK 1.10.0

    Full Changelog: 1.10.1...1.10.2

    Open source →
  8. 1.10.1 26 Apr 2024
    Release notes
    Package Version
    hms_room_kit 1.1.1
    hmssdk_flutter 1.10.1

    hmssdk_flutter

    • Support for captions in HLS Player

      HMSSDK now provides support for captions in HLS Player. You can now enable or disable captions in the HLS Player using the
      HMSHLSPlayerController methods. Moreover HMSSDK provides a new onCues callback to get captions. Learn more about it here

    hms_room_kit

    • Support for captions in HLS Player UI

      HLS Player now supports captions for better accessibility. This can be enabled or disabled from the player settings.

    • Introducing Landscape Mode for HLS Player

      HLS Player now supports landscape mode for better viewing experience.

    Uses Android SDK 2.9.54 & iOS SDK 1.9.0

    Full Changelog: 1.10.0...1.10.1

    Open source →
  9. 1.10.0 22 Apr 2024
    Release notes
    Package Version
    hms_room_kit 1.1.0
    hmssdk_flutter 1.10.0

    hmssdk_flutter

    • Noise Cancellation Integration

      You can enhance your app's audio quality with the newly integrated Noise Cancellation feature in HMSSDK. With this addition, control Noise Cancellation settings through the HMSNoiseCancellationController

      Learn more about leveraging this capability in your app by checking the documentation here.

    • SIP Capability

      HMSSDK now offers a way to differentiate between SIP and non-SIP users in the Room. You can use the type property in the HMSPeer class to check if a peer is a SIP user.

      Learn more about SIP Capabilities here.

    • HMSHLSPlayer now uses Hybrid Composition on Android for better performance.

    hms_room_kit

    • Newly designed UI for SIP Peers

      SIP peers will now have a newly designed UI to match the overall theme of the application.

    • Enhanced Prebuilt with Noise Cancellation

      Prebuilt supports noise cancellation out of the box. Users can enable or disable noise cancellation from the prebuilt interface.

    • All-New HLS Player Interface

      HLS Player now has a new look and feel to enhance the overall user experience.

    • Removed flutter_foreground_task dependency from prebuilt

      Prebuilt no longer uses flutter_foreground_task package. For apps that require foreground service, the package can be added on the application level.

    Uses Android SDK 2.9.54 & iOS SDK 1.8.0

    Full Changelog: 1.9.14...1.10.0

    Open source →
  10. 1.9.14 01 Apr 2024
    Release notes

    1.9.14 - 2024-04-01

    Package Version
    hms_room_kit 1.0.17
    hmssdk_flutter 1.9.14

    hmssdk_flutter

    • Resolved an issue on iOS where video appears stretched in landscape mode

    Uses Android SDK 2.9.51 & iOS SDK 1.8.0

    Full Changelog: 1.9.13...1.9.14

    Open source →
  11. 1.9.13 15 Mar 2024
    Release notes

    1.9.13 - 2024-03-15

    Package Version
    hms_room_kit 1.0.16
    hmssdk_flutter 1.9.13

    hmssdk_flutter

    • Leave Room Immediately if the app is killed(iOS only)

      HMSSDK automatically triggers the leave method call when the iOS application is terminated.

    hms_room_kit

    • Ability to join rooms directly without a preview

      Prebuilt now allows direct room joining without preview, customizable via the dashboard's Customize Prebuilt section.

    Updated to Android SDK 2.9.51 & iOS SDK 1.6.0

    Full Changelog: 1.9.12...1.9.13

    Open source →
  12. 1.9.12 04 Mar 2024

    Nothing published for this version

  13. 1.9.11 26 Feb 2024

    Nothing published for this version

  14. 1.9.10 16 Feb 2024

    Nothing published for this version

  15. 1.9.9 12 Feb 2024

    Nothing published for this version

  16. 1.9.8 01 Feb 2024

    Nothing published for this version

  17. 1.9.7 18 Jan 2024

    Nothing published for this version

  18. 1.9.6 16 Jan 2024

    Nothing published for this version

  19. 1.9.5 15 Dec 2023

    Nothing published for this version

  20. 1.9.4 08 Dec 2023

    Nothing published for this version

  21. 1.9.3 17 Nov 2023
    Release notes

    Added

    • Added Subscriber Stats for improved debugging of subscription issues.

    Updated to Android SDK 2.8.1 & iOS SDK 1.3.0

    Full Changelog: 1.9.2...1.9.3

    Open source →
  22. 1.9.2 09 Nov 2023
    Release notes

    Changed

    • Auto simulcast in HMSVideoView correctly picks the layers based on the size of the view.

    • Resolved an issue where after a Call Interruption the voices of users were robotic

    • Removed default usage of Software Echo Cancellation. Now, by default Hardware echo cancellation will be used. More information is available here

    Updated to Android SDK 2.8.0 & iOS SDK 1.2.0

    Full Changelog: 1.9.1...1.9.2

    Open source →
  23. 1.9.1 03 Nov 2023
    Release notes

    Fixed

    • Fixed a bug where peerLeft was not getting fired even in case of a broadcaster.

    Updated to Android SDK 2.7.9 & iOS SDK 1.1.0

    Full Changelog: 1.9.0...1.9.1

    Open source →
  24. 1.9.0 16 Oct 2023
    Release notes

    Added

    • Large Room Support

      • Added first class "Hand Raise" apis: raiseLocalPeerHand, lowerLocalPeerHand, lowerRemotePeerHand
      • Added onPeerListUpdate event on HMSUpdateListener, This requires overriding the onPeerListUpdate method in all implementations of HMSUpdateListener.
      • Added "Peer List Iterator" APIs - getPeerListIterator

      For more details refer here

    • Added isHandRaised property on HMSPeer class instance

    • Added initialising property on HMSBrowserRecordingState class instance

    Updated to Android SDK 2.7.7 & iOS SDK 1.1.0

    Full Changelog: 1.8.0...1.9.0

    Open source →
  25. 1.8.0 15 Sep 2023
    Release notes

    Added

    • Added previewForRole & cancelPreview APIs to preview the audio / video of a particular role before changing into the new Role.

      // preview video of a particular role
      await hmsSDK.previewForRole(role: "viewer-on-stage");
      
      // cancel preview
      await hmsSDK.cancelPreview();
      

      Learn more about Change Role here

    Changed

    • Starting HLS Streaming will now return an appropriate HMSException when any error happens to start the streaming.
      Future<HMSException?> startHlsStreaming(
          {HMSHLSConfig? hmshlsConfig,
          HMSActionResultListener? hmsActionResultListener})
      

    Updated to Android SDK 2.7.6 & iOS SDK 0.9.12

    Full Changelog: 1.7.5...1.8.0

    Open source →
  26. 1.7.5 18 Aug 2023
    Release notes

    Bug fixes and performance improvements

    Updated to Android SDK 2.7.3 & iOS SDK 0.9.9

    Full Changelog: 1.7.4...1.7.5

    Open source →
  27. 1.7.4 18 Aug 2023
    Release notes

    Bug fixes and performance improvements

    Updated to Android SDK 2.7.3 & iOS SDK 0.9.9

    Full Changelog: 1.7.3...1.7.4

    Open source →
  28. 1.7.3 03 Aug 2023
    Release notes

    Added

    • Added toggleAlwaysScreenOn method to enable the wakelock functionalities

      This method allows you to toggle always screen on mode which prevents the screen from turning off automatically.

      Read more about the toggleAlwaysScreenOn method here

    • Added initialising property in HMSBrowserRecordingState class

      The initialising property provides information whether the recording in the room is intialising

      Read more about the HMSBrowserRecordingState class here

    Updated to Android SDK 2.7.2 & iOS SDK 0.9.6

    Full Changelog: 1.7.2...1.7.3

    Open source →
  29. 1.7.2 14 Jul 2023
    Release notes

    Changed

    • Reduced SDK & App binary size on Android by removing redundant package imports

    Updated to Android SDK 2.7.1 & iOS SDK 0.9.5

    Full Changelog: 1.7.1...1.7.2

    Open source →
  30. 1.7.1 30 Jun 2023
    Release notes

    Added

    • Added phoneCallState property in HMSAudioTrackSetting

      The phoneCallState property can be used to set the microphone state when you receive a phone call.

      Read more about the phoneCallState property here.

    Updated to Android SDK 2.6.8 & iOS SDK 0.9.5

    Full Changelog: 1.7.0...1.7.1

    Open source →
  31. 1.7.0 20 Jun 2023
    Release notes

    Breaking

    • Removed Session Metadata methods

      The setSessionMetadata and getSessionMetadata methods which were deprecated in previous versions have been removed now.

      Utilize the Session Store functionality which is more convenient to implement features like Spotlight a Peer in Room, Keep a Message Pinned, etc. Read more about Session Store here.

    Added

    • Added HLS Player

      Introducing the 100ms HLS Player named HMSHLSPlayer a comprehensive end-to-end solution for playing Live Streaming content with inbuilt support for Timed Metadata, HLS Diagnostic Stats & Custom Player Controls.

      Learn more about HMSHLSPlayer here.

    • Switch Audio Output using Native iOS UI

      On iOS devices, you can now show the Native Airplay UI provided by iOS. Users can control the connected device which can be Airpods, any Bluetooth earphones, Wired Headsets, etc through which the Room's audio should be routed.

      Learn more about it here.

      • Added messageId to HMSMessage

      You can now uniquely identify a message using the messageId property of HMSMessage class.

      Checkout more about Messaging here.

    Changed

    • RTMP Streaming can now be started without the meetingUrl. It is now an optional parameter. Learn more about RTMP Streaming here.

    • Software Audio Echo Cancellation is now enabled by default. To further customize Audio & Video Track Settings, refer the docs here.

    • On Android, Screen share from a remote peer will now appear correctly occupy the space provided by the enclosing widget. Read more about Screen Share here.

    Updated to Android SDK 2.6.7 & iOS SDK 0.9.5

    Full Changelog: 1.6.0...1.7.0

    Open source →
  32. 1.6.0 05 May 2023
    Release notes

    New Features

    • Session Store You can now use Session Store, a shared real-time key-value store accessible by everyone in the Room. This can be used to implement new features such as Pinned Messages and Spotlight Video Tiles, which brings a particular peer to the center stage for everyone in the Room.

      Learn more about Session Store in the documentation.

    • Music Mode on iOS The latest update adds the ability to achieve high-quality audio recordings with full, rich sound, whether you are recording music, podcasts, or any other type of audio.

      Learn more about the Music Mode here.

    Changes

    • Android version 12+: We've made changes to Android 12+ so that adding PIP declaration in the Manifest file is now optional, except for those using the PIP Feature.

      Check out more in the Picture-in-Picture (PIP) documentation.

    • This version includes a significant improvement in the usability of Local Audio Share APIs. By optimizing the ergonomics, we have made it more intuitive and user-friendly for you to interact with these APIs.

      Read more about Local Audio Share here.

    Updated to Android SDK 2.6.2 & iOS SDK 0.9.3

    Full Changelog: 1.5.0...1.6.0

    Open source →
  33. 1.5.0 21 Apr 2023
    Release notes

    Breaking

    • Updated Screen share and Audio share implementation in Android

      The latest update includes changes in the implementation of Screen share and Audio share on Android. If you are using Screenshare or Local Audio Share functionalities, upgrading to this version or above will require changes to be made to the onActivityResult method of MainActivity.kt.

      More details are available in the Migration Guide listed below:

    Added

    • Camera Control Capabilities

      The latest update includes the ability to capture an image from a local peer feed at the maximum resolution supported by the Camera, and the ability to control the phone's flash (if supported).

      Read more about the Camera Controls here.

    • Enter PIP Mode automatically

      The new update allows for automatic entry into PIP mode for all Android versions upon minimizing the application.

      Read more about adding PIP Mode here.

    Changed

    • Improved logging capabilities in SDK for a more efficient and streamlined logging process.

      Read more about using Logging here.

    Updated to Android SDK 2.6.1 & iOS SDK 0.9.2

    Full Changelog: 1.4.0...1.5.0

    Open source →
  34. 1.4.0 06 Apr 2023
    Release notes

    Added

    • Join using Room Codes

      • Room Codes is a streamlined and secure way to manage user authentication in Rooms.
      • By generating short codes via getAuthTokenByRoomCode API, you can easily manage user access with one code per role for each room, without the need for server infrastructure
      • This feature ensures a smoother login experience for users while enhancing security.

      You can read more about Room Codes here.

    Changed

    • Improved Logging capabilities to help you diagnose and debug performance and user-reported issues more effectively

    Updated to Android SDK 2.6.0 & iOS SDK 0.9.1

    Full Changelog: 1.3.3...1.4.0

    Open source →
  35. 1.3.3 22 Mar 2023
    Release notes

    Fixed

    • Fixed an issue in Android PIP Mode wherein the PIP window showed black tile if the device is locked and then unlocked

    • Android PIP window will now automatically close if the Peer is removed from the Room

    • Updated the 100ms Quickstart, GetX, MobX & Riverpod based Sample apps

    Updated to Android SDK 2.5.9 & iOS SDK 0.7.1

    Full Changelog: 1.3.2...1.3.3

    Open source →
  36. 1.3.2 09 Mar 2023
    Release notes

    Fixed

    • Corrected an issue with DateTime parsing where joining failed on iOS devices behind UTC Timezone

    Updated to Android SDK 2.5.7 & iOS SDK 0.6.4

    Full Changelog: 1.3.1...1.3.2

    Open source →
  37. 1.3.1 27 Feb 2023
    Release notes

    Changed

    • Performance improvements for PIP Mode on iOS
    • Improved Disconnected State detection on certain Networks
    • Gracefully handling of null objects

    Updated to Android SDK 2.5.7 & iOS SDK 0.6.4

    Full Changelog: 1.3.0...1.3.1

    Open source →
  38. 1.3.0 02 Feb 2023
    Release notes

    Breaking

    • Removed Start / Stop Capturing APIs on Local Video Tracks. Use toggleCameraMuteState to mute / unmute video of local peer as mentioned in Guide here.

    Added

    • Added support for PIP Mode on iOS

      Now on iOS devices you can show a Picture-in-Picture(PIP) window while your app is in Background. You can configure the PIP window to show the Video of currently speaking Peer, or a Screenshare happening in Room, a Remote Peer's video in 1-to-1 Video Calls, etc

      To learn more about PIP & how to implement it in your apps, refer the PIP Guide here.

    • Added HMSPIPAndroidController to easily configure & use PIP Mode on Android

      PIP Mode support was available on Android since version 1.0.0. With this release we have made it more easy & simple to setup PIP on Android devices. Use the new HMSPIPAndroidController class to configure & start playing your Live Videos when your app is in Background. Refer the PIP Guide here.

    • Added Capture Snapshot API to capture a frame of the video track being rendered

      With the new captureSnapshot() method on HMSVideoTrack you can instantly capture a frame of any Video being rendered on screen. You can use this to capture moments of a Peer's Video, or a Screenshare happening in Room, etc. To learn more about how to use Capture Snapshot refer the Guide here.

    Deprecated

    • Deprecated direct passing of AppGroup & PreferredExtension while building HMSSDK for iOS Screenshare. Use the new HMSIOSScreenshareConfig class for starting Screenshare from iOS Devices. For more details, refer the Screnshare Guide here.

    • Deprecated switchAudio and switchVideo functions to mute/unmute Audio/Video of local peer. Use toggleMicMuteState and toggleCameraMuteState functions as mentioned in the Guide here.

    Fixed

    • Corrected an issue where doing multiple Role Changes stopped working
    • Corrected an issue where video views were getting recreated

    Updated to Android SDK 2.5.7 & iOS SDK 0.6.2

    Full Changelog: 1.2.0...1.3.0

    Open source →
  39. 1.2.0 13 Jan 2023
    Release notes

    Breaking

    • Made await while building HMSSDK Required

      Adding await to the build() method was optional earlier. It has been made Required now to eliminate edge cases where SDK initialization did not complete before invocation of join() method. Adding await ensures that an instance of HMSSDK is available before any further usages.

      hmsSDK = HMSSDK();
      
      await hmsSDK.build(); // NEW: adding await while invoking build method on HMSSDK is now Required
      
      hmsSDK.addUpdateListener(this);
      HMSConfig config = HMSConfig(authToken: 'eyJH5c', // client-side token generated from your token service
                              userName: 'John Appleseed');
      hmsSDK.join(config: config);
      

    Added

    • Added support for Adaptive Bitrate (Simulcast)

      Adaptive Bitrate refers to features that enable dynamic adjustments in video quality to optimize for end-user experience under diverse network conditions.

      To learn more about how ABR works & how it enhances your app, refer the guide here.

    • Using HMSVideoView on Android

      HMSVideoView on Android provides a better abstraction to render live video and handles edge cases like managing Release/Init states. It has in-built support to subscribe to video of the correct resolution.

      To learn more about Rendering Video, refer the guide here.

    • Added Simulcast support for RTC Stats

      RTC Call Stats are updated to show Simulcast layer data if available for Local Peer's Video Track. This can be used to diagnose user experience with metrics such as Audio/Video Bitrate, Round Trip Time, Packet loss, etc.

      To learn more about using RTC Call Stats, refer the guide here.

    Changed

    • Sending correct joined_at property on Android indicating the time when the peer joins the Room

    • Logging error messages when the App Group used for starting Screenshare from iOS is incorrect

    • On Android, the onJoin updates will now be triggered before onPeerUpdate when a user joins the room

    Updated to Android SDK 2.5.6 & iOS SDK 0.5.5

    Full Changelog: 1.1.0...1.2.0

    Open source →
  40. 1.1.0 17 Dec 2022
    Release notes

    Added

    • Added support for Bulk Role Change

      Bulk Role Change is used when you want to convert all Roles from a list of Roles, to another Role.

      For example, if peers join a room with a Waiting Role and now you want to change all these peers to Viewer Role then use the changeRoleOfPeersWithRoles API.

      // fetch all available Roles in the room
      List<HMSRole> roles = await hmsSDK.getRoles();
      
      // get the Host Role object
      HMSRole toHostRole = roles.firstWhere((element) => element.name == "host");
      
      // get list of Roles to be updated - in this case "Waiting" and "Guest" Roles
      roles.retainWhere((element) => ((element.name == "waiting") || (element.name == "guest")));
      
      // now perform Role Change of all peers in "Waiting" and "Guest" Roles to the "Host" Role
      hmsSDK.changeRoleOfPeersWithRoles(
          toRole: toHostRole,
          ofRoles: roles,
          hmsActionResultListener: hmsActionResultListener);
      

      For More Information, refer: https://www.100ms.live/docs/flutter/v2/features/change-role

    • Added Switch Audio Output APIs on iOS

      Audio Output Routing is helpful when users want to switch output to a connected device other than the default one. This functionality is already available on Android.

      hmsSDK.switchAudioOutput(audioDevice: HMSAudioDevice.SPEAKER_PHONE);
      

      For More Information, refer: https://www.100ms.live/docs/flutter/v2/features/audio-output-routing

    Deprecated

    • Deprecated changeRole API in favour of changeRoleOfPeer

      No change in functionality or method signature.

    Fixed

    • Microphone not getting captured on Role Change from a non-publishing to publishing Role on iOS
    • Corrected an issue where on iOS a default Audio Mixer was getting created if Track Settings was passed while building the HMSSDK instance

    Updated to Native Android SDK 2.5.4 & Native iOS SDK 0.5.3

    Full Changelog: 1.0.0...1.1.0

    Open source →
  41. 1.0.0 09 Dec 2022
    Release notes

    Added

    • Added support for Picture in Picture mode on Android.

      PIP Mode lets the user watch the room video in a small window pinned to a corner of the screen while navigating between apps or browsing content on the main screen.

      Example implementation for checking device support & enabling PIP mode:

      // to start PIP mode invoke the `enterPipMode` function, the parameters passed to it are optional
      hmsSDK.enterPipMode(aspectRatio: [16, 9], autoEnterPip: true);
      
      // method to check whether PIP mode is available for current device
      bool isPipAvailable = await hmsSDK.isPipAvailable();
      
      // method to check whether PIP mode is active currently
      bool isPipActive = await hmsSDK.isPipActive();
      
    • Added roomPeerCountUpdated type in HMSRoomUpdate

    • Added isPlaybackAllowed to Remote Audio & Video Tracks to check if the track is allowed to be played locally

    • Added convenience APIs to Mute / Unmute Audio or Video of the entire room locally

    Fixed

    • Corrected parsing of HMSMessage objects sent Server-side APIs
    • Session Metadata can now be reset to a null value
    • Importing Native Android SDK dependency from Maven Central instead of Jitpack
    • HMSTrackSettings is now nullable while building the HMSSDK object
    • Corrected usage of Native Util functions to fetch Audio & Video tracks
    • Corrected default local audio track settings for iOS devices
    • Corrected sending of peer count in HMSRoom instance on iOS

    Updated to Native Android SDK 2.5.1 & Native iOS SDK 0.4.7

    Full Changelog: 0.7.8...1.0.0

    Open source →
  42. 0.7.8 31 Oct 2022
    Release notes
    • Added support for Joining with Muted Audio & Video on iOS devices
    • Added Maven Central repository to look for Android dependencies
    • Added support for receiving Server-side HMSMessage
    • Added HMSLogSettings to configure Native Android SDK logs
    • Corrected setters for local audio/video track settings while building the HMSSDK object
    • Updated to Native Android SDK 2.5.1 & Native iOS SDK 0.4.6

    Full Changelog: 0.7.7...0.7.8

    Open source →
  43. 0.7.7 20 Oct 2022
    Release notes
    • Added ability to set & get session metadata
    • Added ability to join with muted audio & video using Initial states (Muted / Unmuted) HMSVideoTrackSettings & HMSAudioTrackSettings in the builder of HMSSDK
    • Added better Telemetrics for analytics
    • Added option to use Software Decoder for Video rendering on Android devices
    • Added action result listener to switchCamera function on local video track
    • Fixed LetterBoxing (Black borders on top and bottom) observed when sharing the screen in landscape mode on Android
    • Fixed incorrect sending of Speaker Updates when peer has left the room
    • Removed unused setters for Local Audio & Video Track Settings
    • Updated to Native Android SDK 2.5.0 & Native iOS SDK 0.4.5

    Full Changelog: 0.7.6...0.7.7

    Open source →
  44. 0.7.6 23 Sep 2022
    Release notes
    • Added audio output change listener callback while in Preview on Android
    • Added API to show Native Audio Output Picker on iOS
    • Corrected an issue where audio was always coming from the Earpiece instead of Built-In Speaker on iOS
    • Fixed an issue where audio gets distorted when headset is used while sharing audio playing on iOS
    • Updated HMSException class. Added canRetry attribute

    Full Changelog: 0.7.6...0.7.5

    Open source →
  45. 0.7.5 18 Aug 2022
    Release notes
    • Added support on iOS for sharing audio from local files on your device & from other audio playing apps
    • Added ability to apply local peer track settings while initializing HMSSDK
    • Added APIs to fetch local peer track settings
    • Fixed an issue where exiting from Preview without joining room was not releasing camera access
    • Added destroy API to cleanup Native HMSSDK instance correctly
    • Disabled Hardware Scaler on Android to correct intermittent Video tile flickering
    • Updated to Native Android SDK 2.4.8 & Native iOS SDK 0.3.3
    Open source →
  46. 0.7.4 29 Jul 2022
    Release notes

    Added

    • Added APIs to stream device audio in different modes
    • Added APIs to view and change the output speaker selected by the SDK to playout
    • setAudioMode API to change the Audio out mode manually between in-call volume and media volume

    Fixed

    • Calling switchCamera API leads to triggering 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 is optional while creating the HMSHLSMeetingURLVariant instance for HMSHLSConfig. 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
    Open source →
  47. 0.7.3 23 Jun 2022
    Release notes
    • Added support for iOS Screenshare
    • Added HMSHLSRecordingConfig to perform recording while HLS Streaming
    • Updated error callback in HMSUpdateListener to onHMSError
    • Updated to Native Android SDK 2.4.2 & Native iOS SDK 0.3.1
    Open source →
  48. 0.7.2 02 Jun 2022
    Release notes
    • Segregated RTC Stats update notifications from HMSUpdateListener into HMSStatsListener
    • Removed room_peer_count_updated from HMSRoomUpdate enum
    • Added sessionId to the HMSRoom class
    • Updated to Native Android SDK 2.3.9 & Native iOS SDK 0.3.1
    Open source →
  49. 0.7.1 20 May 2022
    Release notes
    • Added RTC Stats Listener which provides info about local & remote peer's audio/video quality
    • Improved video rendering performance for Android devices
    • Correct RTMP Streaming & Recording configuration settings
    • Added support for Server-side Subscribe Degradation
    • Updated to Native Android SDK 2.3.9 & Native iOS SDK 0.2.13
    Open source →
  50. 0.7.0 19 Apr 2022
    Release notes

    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.

    • Added HLS Recording to initial PeerList

    • onPeerUpdate and onRoomUpdate callbacks in 'HMSPreviewListener' to get info about the room at Preview screen

    • Added startedAt and stoppedAt field for Browser and SFU recording

    Fixed

    • Error Analytics events not being sent

    • 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

    • HLS recording status wasn't always updated when stopped

    • Rare crash when cameras are unavailable and it seemed to the app like none exist

    • Updated to Native Android SDK 2.3.4 & Native iOS SDK 0.2.9

    Open source →
  51. 0.6.0 25 Jan 2022
    Release notes

    Breaking Change

    • Updated Change Role APIs argument types
    • Changed Messaging APIs argument types
    • Updated argument types of changeTrackState, changeRole, acceptRoleChange, changeTrackStateForRoles APIs

    Added

    • Added HLS Support. Now you can Start/Stop HLS Streaming from Flutter SDK
    • Added support to do ScreenShare from Android device

    Changed

    • Updated callbacks for Permission based action APIs
    Open source →
  52. 0.5.0 15 Jan 2022
    Release notes

    Breaking Change

    • Renamed SDK Public interface to HMSSDK class
    • Updated HMSConfig object which is used to join the room

    Added

    • Added APIs to change remote track status
    • Added APIs to start/stop Recording
    • Added APIs to change metadata of local peer which can be used to implement raise hand functionality
    • Added API to change name of local peer
    • Added API to get current room status
    • Added API to get peer audio/video status
    • Added new Group & Direct Peer Messaging APIs
    • Added volume setter & getter APIs on audio tracks
    • Added Action Result Listeners to notify success or failure of API invocations

    Changed

    • Updated HMSException object with isTerminal
    • Changed sendMessage API to sendBroadcastMessage to send a message to all peers in room
    • Changed HMSMessageResultListener to HMSActionResultListener in Messaging APIs
    • Video Rendering flow for Android & iOS video tracks
    • Preview API implementation

    Fixed

    • Reconnection issues wherein even when network recovered, peer could not rejoin the room
    • Cleaning up config object whenever room is joined/left
    Open source →
  53. 0.4.1 03 Dec 2021
    Release notes
    • Added matchParent boolean on video view
    Open source →
  54. 0.4.0 22 Oct 2021
    Release notes
    • Updated Messaging APIs
    • Added audio level, peer & track object in HMSSpeaker
    • Updated track source type to string
    • Updated sample app
    Open source →
  55. 0.3.0 14 Oct 2021
    Release notes
    • Corrected crash on using getLocalPeer
    • Updated sample app
    Open source →
  56. 0.2.0 07 Oct 2021
    Release notes

    This version of 100ms Flutter SDK comes loaded with bunch of features & improvements like -

    • Improved low network performance
    • Added Active Speaker listener
    • Resolved build conflicts on iOS
    • Added APIs to Change Role of a Peer
    • Added APIs to Mute Audio/Video of a Remote Peer
    • Added APIs to End a Room
    • Updated Chat Messaging APIs to enable Broadcast, Group & Personal
    • Improved Reconnection after network switch/loss
    • Improved Interruption Handling when a Meeting is ongoing
    Open source →
  57. 0.1.0 17 Aug 2021
    Release notes

    The first version of 100ms Flutter SDK comes power-packed with support for multiple features like -

    • Join/Leave Rooms
    • Mute / Unmute Audio / Video
    • Switch Camera
    • Chat
    • Preview Screen
    • Network Switch Support
    • Subscribe Degradation in bad network scenarios
    • Error Handling and much more.

    Take it for a spin! 🥳

    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive