PackageTrack
Sign in Get early access

livekit_client

Flutter Client SDK for LiveKit. Build real-time video and audio into your apps. Supports iOS, Android, and Web.

2.11.0 160K downloads/mo #932 most downloaded on pub.dev livekit/client-sdk-flutter

What this package is like to depend on

Last release 13 days ago

11 Aug 2026

Ships fairly regularly

a new release about every 3 weeks

Nearly every release is documented

notes for 110 of 112 stable releases

Nothing withdrawn

no release was ever pulled

5 years old

115 releases · first in 2021

17 releases in the last 12 months

see the full history below

Release timeline

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

Releases

latest 60 of 115
  1. 2.11.0 11 Aug 2026
    Release notes

    What's Changed

    • chore: introduce DevelopmentTokenSource and deprecate SandboxTokenSource by @hiroshihorie in #1149
    • fix: Room.getSid() never resolves when the JoinResponse carries an empty room sid by @bkali in #1152
    • Migrate enum conversions from map lookups to switch expressions by @hiroshihorie in #1156
    • Default video degradation preference by track source, including the backup codec by @xianshijing-lk in #1155
    • chore: update generated protocol definitions to v1.50.4 by @hiroshihorie in #1161
    • Surface newer server disconnect reasons as distinct DisconnectReason values by @hiroshihorie in #1158
    • Clear simulcast codec state on unpublish and full reconnect by @hiroshihorie in #1159
    • Batch dependency bumps (supersedes open dependabot PRs) by @hiroshihorie in #1163
    • Ensure roomOptions in Room.connect(...) are using the locally defined variable, NOT implicitly this.roomOptions by @1egoman in #1169
    • Modernize the Flutter example app by @hiroshihorie in #1066

    New Contributors

    Full Changelog: v2.10.0...v2.11.0

    Open source →
    Release notes
    • Added: New DisconnectReason members for newer server disconnect reasons, previously reported as unknown
    • Added: Add DevelopmentTokenSource, the new name for the now-deprecated SandboxTokenSource
    • Changed: Default video degradation preference is now based on the track source (camera maintains framerate, screen share maintains resolution, others balanced) and is applied to the backup codec's sender as well
    • Changed: Update generated protocol definitions to v1.50.4
    • Changed: Unrecognized protobuf enum values from newer servers now fall back to safe defaults, for example a new DisconnectReason maps to unknown
    • Changed: Update dependencies: device_info_plus to 13.x, connectivity_plus 7.3.1, dart_webrtc 1.8.1, synchronized 3.4.1, uuid 4.6.0
    • Changed: Modernize the example app with a redesigned connect page, connection history, room header, focus layout, and an in-room messages panel
    • Fixed: Room.connect no longer ignores the roomOptions argument passed to it
    • Fixed: Room.getSid() now resolves when the room sid is issued after the join response
    • Fixed: Backup codec state is cleared on unpublish and full reconnect, so republishing no longer acts on senders from a torn down connection
    • Fixed: DegradationPreference.disabled now maps to maintainFramerateAndResolution, as WebRTC defines it
    Open source →
  2. 2.10.0 03 Aug 2026
    Release notes

    What's Changed

    Full Changelog: v2.9.0...v2.10.0

    Open source →
    Release notes
    • Added: Swift Package Manager support for iOS and macOS. CocoaPods remains fully supported.
    • Added: Add ScreenSelectDialog.show and Hardware.requestCapturePermission so apps can start screen share without importing flutter_webrtc
    • Fixed: Omit data stream totalLength when size is unknown
    • Fixed: Fix compile errors on Dart 3.13 where nullable publish options are no longer promoted across await
    • Fixed: Harden the example RPC tester
    Open source →
  3. 2.9.0 28 Jul 2026
    Release notes

    Added: Add native certificate pinning for SDK-owned connections
    Added: Add RPC v2 (data-stream-based payloads) with v1 fallback
    Added: Audio engine availability and externalCallSystem mode for CallKit
    Added: AudioManager audio session options with engine-driven native lifecycle and platform routing controls
    Added: Add ConnectionCheck utility for diagnosing connection issues (port of the client-sdk-js connection helper)
    Added: Audio frame capture on Linux/Windows
    Added: Microphone mute mode control on iOS/macOS
    Added: Runtime audio processing controls for local audio tracks
    Added: Widget Placeholder added for VideoTrackRenderer
    Changed: Default VideoTrackRenderer renderMode to auto, which currently resolves to texture rendering
    Fixed: Apply Android media audio attributes during WebRTC initialization
    Fixed: Use initialization audio options as the default Android session policy
    Fixed: Avoid sticky Android speaker routing when updating route preference
    Fixed: Clean up local audio tracks when recording start fails
    Fixed: Throw platformUnavailable when runtime audio processing is unsupported
    Fixed: Apply create-time audio processing when local recording is prepared
    Fixed: Remove non-public buttonPressed: selector from broadcast picker activation
    Fixed: Allow selectAudioOutput on Android
    Fixed: Support platform video rendering on macOS
    Fixed: Emit a single disconnected event when connecting fails
    Fixed: Handle switching video render modes without stale renderers
    Docs: Add AGENTS.md with agent/contributor guidelines

    Open source →
    Release notes
    • Added: Add native certificate pinning for SDK-owned connections
    • Added: Add RPC v2 (data-stream-based payloads) with v1 fallback
    • Added: Audio engine availability and externalCallSystem mode for CallKit
    • Added: AudioManager audio session options with engine-driven native lifecycle and platform routing controls
    • Added: Add ConnectionCheck utility for diagnosing connection issues (port of the client-sdk-js connection helper)
    • Added: Audio frame capture on Linux/Windows
    • Added: Microphone mute mode control on iOS/macOS
    • Added: Runtime audio processing controls for local audio tracks
    • Added: Widget Placeholder added for VideoTrackRenderer
    • Changed: Default VideoTrackRenderer renderMode to auto, which currently resolves to texture rendering
    • Fixed: Apply Android media audio attributes during WebRTC initialization
    • Fixed: Use initialization audio options as the default Android session policy
    • Fixed: Avoid sticky Android speaker routing when updating route preference
    • Fixed: Clean up local audio tracks when recording start fails
    • Fixed: Throw platformUnavailable when runtime audio processing is unsupported
    • Fixed: Apply create-time audio processing when local recording is prepared
    • Fixed: Remove non-public buttonPressed: selector from broadcast picker activation
    • Fixed: Allow selectAudioOutput on Android
    • Fixed: Support platform video rendering on macOS
    • Fixed: Emit a single disconnected event when connecting fails
    • Fixed: Handle switching video render modes without stale renderers
    • Docs: Add AGENTS.md with agent/contributor guidelines
    Open source →
  4. 2.9.0-dev.0 20 Jun 2026 pre-release
    Release notes

    chore: use pub doc directory layout

    Open source →
  5. 2.8.1 20 Jun 2026
    Release notes

    Added: Add agent deployment targeting to token source options
    Fixed: Android plugin compatibility with AGP 9 built-in Kotlin
    Fixed: Use maintain-resolution as the default video degradation preference for local video publishing

    Full Changelog: v2.8.0...v2.8.1

    Open source →
    Release notes
    • Added: Add agent deployment targeting to token source options
    • Fixed: Android plugin compatibility with AGP 9 built-in Kotlin
    • Fixed: Use maintain-resolution as the default video degradation preference for local video publishing
    Open source →
  6. 2.8.0 03 Jun 2026
    Release notes

    Added: Session API support for simpler E2EE setup
    Changed: Manual video quality selection can be used with adaptive stream enabled
    Changed: Generated protocol definitions for LiveKit protocol v1.45.8
    Fixed: waitForBufferStatusLow busy-waiting after engine close
    Fixed: Simulcast lower layers exceeding the top layer
    Fixed: forceRelay log message interpolation
    Fixed: sendSyncState error handling so sync-state preparation failures are not swallowed
    Fixed: Screen share simulcast default low layer alignment
    Fixed: Region failover null-provider dereference
    Fixed: Android builds with dependencies that require compileSdk 36
    Fixed: Deferred track listener leaks across reconnects
    Fixed: Adaptive stream dimensions on high-density displays
    Fixed: Session.start() reentrancy during concurrent calls
    Fixed: Connected server address resolving from the wrong peer connection
    Fixed: Reconnect counter null assertion on the first reconnect attempt
    Fixed: Premature publication disposal during unpublish

    Open source →
    Release notes
    • Added: Session API support for simpler E2EE setup
    • Changed: Manual video quality selection can be used with adaptive stream enabled
    • Changed: Generated protocol definitions for LiveKit protocol v1.45.8
    • Fixed: waitForBufferStatusLow busy-waiting after engine close
    • Fixed: Simulcast lower layers exceeding the top layer
    • Fixed: forceRelay log message interpolation
    • Fixed: sendSyncState error handling so sync-state preparation failures are not swallowed
    • Fixed: Screen share simulcast default low layer alignment
    • Fixed: Region failover null-provider dereference
    • Fixed: Android builds with dependencies that require compileSdk 36
    • Fixed: Deferred track listener leaks across reconnects
    • Fixed: Adaptive stream dimensions on high-density displays
    • Fixed: Session.start() reentrancy during concurrent calls
    • Fixed: Connected server address resolving from the wrong peer connection
    • Fixed: Reconnect counter null assertion on the first reconnect attempt
    • Fixed: Premature publication disposal during unpublish
    Open source →
  7. 2.7.0 24 Mar 2026
    Release notes

    What's Changed

    Full Changelog: v2.6.5...v2.7.0

    Open source →
    Release notes
    • Added: Add setVideoDimensions for remote track publications
    • Added: Add audio renderer API for receiving raw audio frames
    • Changed: Bump flutter-webrtc to 1.4.0 and upgrade to libwebrtc m144
    • Fixed: Add signal RTT tracking via pingReq/pongResp
    • Fixed: Add jitter to reconnect retry delays
    • Fixed: Fix missing params in CameraCaptureOptions.copyWith
    • Fixed: Fix missing RoomReconnectedEvent and incorrect SyncState timing during signal-only reconnection
    • Fixed: Fix VP9/SVC dynacast layer handling
    • Fixed: Stop processor on track end
    • Fixed: Include last server offer in SyncState during reconnection
    Open source →
  8. 2.6.5 06 Mar 2026
    Release notes

    What's Changed

    Full Changelog: v2.6.4...v2.6.5

    Open source →
    Release notes
    • Added: Send reconnect reason to server during WebSocket reconnection
    • Fixed: setProcessor() now uses VideoProcessorOptions for video tracks instead of AudioProcessorOptions
    • Fixed: Fix wildcard variable lint warnings to improve pub.dev score
    • Fixed: Preserve Bluetooth and AirPlay options when forcing speaker output on iOS
    • Fixed: MissingPluginException when stopping audio visualizer on Android/iOS
    • Fixed: Fix microphone stopping after pre-connect audio completes
    • Fixed: Duplicate tracks published when setCameraEnabled called rapidly
    Open source →
  9. 2.6.4 26 Feb 2026
    Release notes

    What's Changed

    Full Changelog: v2.6.3...v2.6.4

    Open source →
    Release notes
    • Added: Add web support for pre-connect audio buffer
    • Fixed: Remove duplicate sendLeave
    • Fixed: Fix setVideoInputDevice not switching camera
    • Fixed: Web pre-connect audio buffer using wrong sample rate
    • Fixed: Fix iOS audio renderer resource leak and remove Android 32-bit dead code
    • Fixed: Fix web audio capture not starting on Safari due to suspended AudioContext
    • Performance: Send raw PCM bytes in audio renderer instead of boxed int arrays
    Open source →
  10. 2.6.3 13 Feb 2026
    Release notes

    What's Changed

    Full Changelog: v2.6.2...v2.6.3

    Open source →
    Release notes
    • Fixed: Fix publisher connection causing redundant renegotiations on lower-end devices
    • Fixed: Use explicit show clauses for foundation imports
    • Fixed: Fix concurrent modification on collection iteration during async operations
    • Fixed: Fix crash when writing to closed data stream controllers
    • Fixed: Fix region URL provider cache using wrong time unit and wrong field check for regions in leave event
    • Chore: Update protobuf to v1.44.0
    Open source →
  11. 2.6.2 02 Feb 2026
    Release notes
    • Added: Bitrate priority control APIs
    • Fixed: Windows: stop camera after unpublishing video track
    • Fixed: Keep mute state in sync with server
    • Fixed: Fix example prejoin device dropdown handling
    • Chore: Mark LocalVideoTrack constructor as internal for consistency with LocalAudioTrack
    • Chore: Update protobuf dependency to v6.0.0
    • Chore: Skip iOS platform download in CI
    Open source →
  12. 2.6.1 09 Jan 2026
    Release notes
    • Fixed: Enable E2EE for VP9 codec
    • Fixed: Correct spelling in E2EE log and error messages
    • Fixed: Ensure all dispose functions are executed even if one throws
    • Fixed: Fix microphone label typo in example app prejoin audio settings
    • Docs: Fix typos and inconsistencies in README and CHANGELOG
    Open source →
  13. 2.6.0 09 Dec 2025
    Release notes
    • Session API
    • Allow customizing screen share dialog labels for localization
    Open source →
  14. 2.5.4 25 Nov 2025
    Release notes
    • Added pre-connect audio buffering
    • Added token source API with caching and endpoint helpers
    • Enabled software AEC/NS/AGC for Linux
    • Added event logging with public/internal tagging
    • Migrated manual JSON serialization to json_serializable code generation
    • Re-enabled Flutter lint warnings and fixed existing issues
    • Improved reliable data channel buffering, sequencing, and added integration tests
    • Fixed race condition with pending tracks
    Open source →
  15. 2.5.3 23 Oct 2025
    Release notes
    • Feat: Data Packet Cryptor (#873)
    • Feat: Add E2EE support for H265 (#864)
    • Fix: fix async call for update participant info (#897)
    • Move the accessToken to header (#891)
    • Bumpup and clamp connection timeout, fix the comment (#893)
    • Fix events emit order (#902)
    Open source →
  16. 2.5.2 14 Oct 2025
    Release notes
    • Fix missing properties for TextStreamInfo (#881)
    • Enum for TextStreamOperationType (#882)
    • Fix stream progress (#884)
    Open source →
  17. 2.5.1 17 Sep 2025
    Release notes
    • Fix Publication's track property initialization (#867)
    • Fix Missing attributes in data stream (#865)
    • Fix Internal WebRTC pod version conflict (#876)
    Open source →
  18. 2.5.0 25 Jul 2025
    Release notes
    • Bump flutter-webrtc to 1.0.0.
    • Upgrade libwebrtc to m137.7151
    • fix: E2EE bug for Chrome. (#832)
    • fix(web, firefox): backup old values before overwriting them (#819)
    • fix: memory leak visualizer stop android (#831)
    • fix: ensure engine always has correct device id if switching camera fails (#820)
    • fix: Always emit RoomDisconnectedEvent when the reason is clientInitiated. (#821)
    • fix: sif frame enqueuing with e2ee (#822)
    • fix: update camera deviceId when track is null (#814)
    • feat: Audio Visualizer for Windows/Linux. (#739)
    Open source →
  19. 2.5.0+hotfix.1 31 Jul 2025
    Release notes
    • fix: Switch to livekit fork of noise for 16KB page support (#839)
    • hotfix: bump libwebrtc to m137.7151.01 for android (#837)
    • fix: tighten VideoTrackRenderer Widget (#695)
    Open source →
  20. 2.5.0+hotfix.2 21 Aug 2025
    Release notes
    • hotfix: bump libwebrtc to m137.7151.03 to support H.265 (#837)
    • feat: Expose ParticipantState (#848)
    • chore: Update protobuf to v1.39.2 (#847)
    Open source →
  21. 2.5.0+hotfix.3 21 Aug 2025
    Release notes
    • fix: Fix @internal conflicting imports from package meta or flutter/foundation.
    Open source →
  22. 2.4.9 30 Jun 2025
    Release notes
    • Added: Attribute typings for agent and transcription (#811)
    • Changed: Enum for VideoView.fit (#806)
    • Chore: Update protobuf protocol to v1.39.2 (#812)
    Open source →
  23. 2.4.8 11 Jun 2025
    Release notes
    • fix: fix room.disconnect when pending reconnect. (#802)
    • fix: fix bitrate display for remote video track. (#801)
    • feat: add a flag to skip auto native audio config (#797)
    • fix: sif detection for e2ee (#788)
    • chore: Update protobuf dep (#790)
    Open source →
  24. 2.4.7 22 May 2025
    Release notes
    • fix: interop for encode and decode function in e2ee cryptor (#785)
    • chore: Unorder the lossy data channel (#783)
    • chore: bump flutter-webrtc to 0.14.1.
    • fix: mitigate reconnect loop (#780)
    Open source →
  25. 2.4.6 06 May 2025
    Release notes
    • feat: Add smoothTransition option for AudioVisualizer. (#773)
    • fix: Fix deadlock when creating a frame cryptor on iOS/macOS.
    • fix: add task runner for linux to fix crashes.
    Open source →
  26. 2.4.5 21 Apr 2025
    Release notes
    • feat: noise filter for flutter web. (#762)
    Open source →
  27. 2.4.4 15 Apr 2025
    Release notes
    • feat: data stream
    • fix: calling setSourceEnabled should not affect the current output settings (#754)
    • fix: Calling connect on a disconnected room instance should reset _isClosed. (#752)
    • fix: Fix for Chrome getUserMedia "ideal" Constraint Change.
    • fix: fix duplicate fmtp for vp9 on some old Android devices. (#758)
    Open source →
  28. 2.4.3 09 Apr 2025
    Release notes
    • feat: Automatically configure audio mode for Android. (#746)
    Open source →
  29. 2.4.2 03 Apr 2025
    Release notes
    • fix: Fixed the echo issue on some specific models of Android devices.
    • chore: Bbmp version for flutter-webrtc.
    • fix: Improve browser version detection, fix issue #730 (#738)
    • feat: Fast track publication. (#720)
    • chore: Remove bypassVoiceProcessing = true settings for connect page. (#693)
    • fix: [bug] Crash when join room on Windows.
    • fix: Disable selectAudioInput for mobile platforms.
    Open source →
  30. 2.4.2+hotfix.1 04 Apr 2025
    Release notes
    • fix: fixed bug for fast track publish.
    Open source →
  31. 2.4.2+hotfix.2 09 Apr 2025
    Release notes
    • fix: Fix creation timing for local participant. (#749)
    • fix: Filter out non-video codecs for fast video track publication. (#747)
    Open source →
  32. 2.4.1 10 Mar 2025
    Release notes
    • feat: VideoRenderer support cache renderer. (#723)
    • feat: Visualizer for web. (#718)
    • fix: Fix bar Visualizer overflow for Android. (#717)
    • fix: disconnect reason inconsistent. (#715)
    • fix: remove stats video data print from logs (#716)
    Open source →
  33. 2.4.0 23 Feb 2025
    Release notes
    • feat: RPC. (#682)
    • fix: Properly handle broadcast capture state (#705)
    Open source →
  34. 2.3.6 07 Feb 2025
    Release notes
    • Emit a final empty AudioVisualizerEvent after track stops (#701)
    • fix: Improve speaker switching logic for iOS. (#692)
    Open source →
  35. 2.3.5 14 Jan 2025
    Release notes
    • feat: add TrackProcessor support. (#657)
    • fix: bug for mute/unmute and speaker switch. (#684)
    Open source →
  36. 2.3.4 27 Dec 2024
    Release notes
    • fix bypass voice processing not work. (#668)
    • fix track.stop for remote track. (#669)
    • fix Visualizer block UI. (#667)
    Open source →
  37. 2.3.4+hotfix.1 30 Dec 2024
    Release notes
    • fix: bug for speakerPhone switch. (#672)
    Open source →
  38. 2.3.4+hotfix.2 31 Dec 2024
    Release notes
    • fix: side effects for stop remote track.
    Open source →
  39. 2.3.3 23 Dec 2024
    Release notes
    • Support FocusMode/ExposureMode for camera capture options. (#658)
    • Fix Swift compilation errors (#662)
    • Improve reconnect logic. (#654)
    • Fixed bug for Screen Share on iOS/Android.
    Open source →
  40. 2.3.2 08 Dec 2024
    Release notes
    • Add support for audio visualizer.
    Open source →
  41. 2.3.1 28 Nov 2024

    Nothing published for this version

  42. 2.3.1+hotfix.1 02 Dec 2024
    Release notes
    • Fix version mismatch for CocoaPods (#648)
    • Android AGP upgrade (#649)
    Open source →
  43. 2.3.0 26 Oct 2024
    Release notes
    • fix: Fixed speaker cannot be switched on iOS. (#617)
    • feat: Increase default audio bitrate. (#616)
    Open source →
  44. 2.2.8 23 Oct 2024
    Release notes
    • Fix TrackStreamStateUpdatedEvent not emitted. (#612)
    Open source →
  45. 2.2.7 21 Oct 2024
    Release notes
    • feat: support bypass voice processing. (#595)
    • fix: Dispose LocalParticipant when room.disconnect. (#609)
    • Fix spelling error in method name: _checkPremissions to_checkPermissions (#605)
    • fix: fix speaker switching behavior for android. (#604)
    • fix: Optimize stats display (#602)
    • fix: Handle disconnect reasons correctly. (#594)
    Open source →
  46. 2.2.6 20 Sep 2024
    Release notes
    • fix: android build failure. (#587)
    • Update README.md for Android Screenshare (#583)
    Open source →
  47. 2.2.5 04 Sep 2024
    Release notes
    • upgrade flutter-webrtc to 0.11.7
    • upgrade web to 1.0.0
    • feat: Add timestamps to TranscriptionSegment. (#577)
    • feat: Prepare connection/region pinning. (#574)
    Open source →
  48. 2.2.4 12 Aug 2024
    Release notes
    • fix bug for PlatformView on iOS (#570)
    • Deprecated connectOptions in Room constructor.
    • Deprecated roomOptions int room.connect.
    • Added screenShareEncoding for VideoPublishOptions.
    • Change CameraCaptureOptions.params.encoding to optional. It is recommended to use VideoPublishOptions.videoEncoding/screenShareEncoding to control the video sending bitrate.
    Open source →
  49. 2.2.3 02 Aug 2024
    Release notes
    • add PlatformView for iOS (#509)
    • update lints to 4.0.0. (#563)
    Open source →
  50. 2.2.2 23 Jul 2024
    Release notes
    • feat: expose DegradationPreference for publish options. (#556)
    • fix room.disconnect issue. (#559)
    • fix: use getSettings() to get actual dimensions for mobile (#560)
    • Add support for participant attributes (#558)
    Open source →
  51. 2.2.1 12 Jul 2024
    Release notes
    • fix: fix crash for windows
    • feat: bump version for flutter-webrtc.
    • fix: ratchet on a single frame until ratchetWindowSize (#544)
    • fix: fix mediaStreamTrack.getSettings() on Flutter Web.
    Open source →
  52. 2.2.0 12 Jun 2024
    Release notes
    • feat: add Transcription Event. (#531)
    • feat: Expose Participant.Kind. (#532)
    • fix: ignore unable to parse frames completely (#530)
    Open source →
  53. 2.1.6 06 Jun 2024
    Release notes
    • Framecryptor decrypting fixes (#520)
    • feat: add voiceIsolation support (#523)
    • fix: audio session control for ios.
    Open source →
  54. 2.1.5 21 May 2024
    Release notes

    fix: audio devcie ids consistency (#513) feat: provide option to skip stop/restartTrack for mute/unmute (#516)

    Open source →
  55. 2.1.4 06 May 2024
    Release notes
    • bump version of flutter-webrtc with privacy manifest files
    Open source →
  56. 2.1.3 19 Apr 2024
    Release notes
    • upgrade to connectivity plus 6.x.
    • bump dart_webrtc to 1.4.3.
    Open source →
  57. 2.1.2 09 Apr 2024
    Release notes
    • fix: Expose keyRingSize/discardFrameWhenCryptorNotReady parameters for KeyProvider
    Open source →
  58. 2.1.1 09 Apr 2024
    Release notes
    • update to package:web (#484)
    • feat: add keyRingSize/discardFrameWhenCryptorNotReady to KeyProviderOptions. (#493)
    Open source →
  59. 2.1.0 05 Apr 2024
    Release notes
    • Fix: bug for sync state (#491)
    Open source →
  60. 2.0.3 28 Mar 2024
    Release notes
    • Read capabilities from RtcRTPReceiver instead of from sender. (#488)
    • Update screenshare logic for svc publishing (#487)
    • Prevent screen-sharing on flutter web mobile. (#486)
    • feat: add setKey variant, setRawKey (#482)
    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