NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #910 most downloaded on pub.dev
Flutter Client SDK for LiveKit. Build real-time video and audio into your apps. Supports iOS, Android, and Web.
Last release today
08 Oct 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
118 releases · first in 2021
One column per quarter.
Update README.md with Agents block by @ShayneP in #1210
Full Changelog: v2.13.0...v2.13.1
setLocalDescription rejection) is now routed to the reconnect path instead of escaping as an unhandled NegotiationErrorfeat: upgrade to libwebrtc m150. by @cloudwebrtc in #1187
Full Changelog: v2.12.0...v2.13.0
enableWARP and zeroPlayoutDelay options to LiveKitClient.initializeLeave{action: RESUME}) now resumes the session instead of escalating to a full reconnect, so remote participants are no longer dropped and re-addedHonor discardFrameWhenCryptorNotReady in BaseKeyProvider.create by @hiroshihorie in #1171
Full Changelog: v2.11.0...v2.12.0
chore: introduce DevelopmentTokenSource and deprecate SandboxTokenSource by @hiroshihorie in #1149
Full Changelog: v2.10.0...v2.11.0
Add RPC tester interface to example app by @1egoman in #1085
Full Changelog: v2.9.0...v2.10.0
Added: Add native certificate pinning for SDK-owned connections Added: Add RPC v2 (data-stream-based payloads) with v1 fallback Added: Audio engine av
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
chore: use pub doc directory layout
chore: use pub doc directory layout
Added: Add agent deployment targeting to token source options Fixed: Android plugin compatibility with AGP 9 built-in Kotlin Fixed: Use maintain-resol
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
Added: Session API support for simpler E2EE setup Changed: Manual video quality selection can be used with adaptive stream enabled Changed: Generated
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
Add audio renderer API by @hiroshihorie in #1004
Full Changelog: v2.6.5...v2.7.0
Protocol v16 support by @hiroshihorie in #1003
Full Changelog: v2.6.4...v2.6.5
Fix setVideoInputDevice by @hiroshihorie in #973
Full Changelog: v2.6.3...v2.6.4
fix: debounce for ensurePublisherConnected. by @cloudwebrtc in #967
Full Changelog: v2.6.2...v2.6.3
Added: Bitrate priority control APIs
Fixed: Enable E2EE for VP9 codec
Allow customizing screen share dialog labels for localization
Added pre-connect audio buffering
Feat: Add E2EE support for H265
Fix missing properties for TextStreamInfo
Fix Publication's track property initialization
fix: Switch to livekit fork of noise for 16KB page support
hotfix: bump libwebrtc to m137.7151.03 to support H.265
fix: Fix @internal conflicting imports from package meta or flutter/foundation.
fix(web, firefox): backup old values before overwriting them
deviceId when track is null (#814)Added: Attribute typings for agent and transcription
fix: fix room.disconnect when pending reconnect.
fix: interop for encode and decode function in e2ee cryptor
feat: Add smoothTransition option for AudioVisualizer.
feat: noise filter for flutter web.
fix: calling setSourceEnabled should not affect the current output settings
feat: Automatically configure audio mode for Android.
fix: fixed bug for fast track publish.
fix: Fix creation timing for local participant.
fix: Fixed the echo issue on some specific models of Android devices.
bypassVoiceProcessing = true settings for connect page. (#693)feat: VideoRenderer support cache renderer.
fix: Properly handle broadcast capture state
Emit a final empty AudioVisualizerEvent after track stops
feat: add TrackProcessor support.
fix: bug for speakerPhone switch.
fix: side effects for stop remote track.
fix bypass voice processing not work.
Support FocusMode/ExposureMode for camera capture options.
Add support for audio visualizer.
Fix version mismatch for CocoaPods
Nothing published for this version
fix: Fixed speaker cannot be switched on iOS.
Fix TrackStreamStateUpdatedEvent not emitted.
feat: support bypass voice processing.
Update README.md for Android Screenshare
upgrade flutter-webrtc to 0.11.7
Deprecated connectOptions in Room constructor.
connectOptions in Room constructor.roomOptions int room.connect.screenShareEncoding for VideoPublishOptions.CameraCaptureOptions.params.encoding to optional.
It is recommended to use VideoPublishOptions.videoEncoding/screenShareEncoding
to control the video sending bitrate.* add PlatformView for iOS (#509) * update lints to 4.0.0.
feat: expose DegradationPreference for publish options.
feat: bump version for flutter-webrtc.
fix: ignore unable to parse frames completely
feat: add voiceIsolation support
fix: audio devcie ids consistency (#513) feat: provide option to skip stop/restartTrack for mute/unmute
fix: audio devcie ids consistency (#513) feat: provide option to skip stop/restartTrack for mute/unmute (#516)
bump version of flutter-webrtc with privacy manifest files
upgrade to connectivity plus 6.x.
fix: Expose keyRingSize/discardFrameWhenCryptorNotReady parameters for KeyProvider
Your coding agent can read these notes before it upgrades. Set up the MCP server →