NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #736 most downloaded on pub.dev
Flutter WebRTC plugin for iOS/Android/Desktop/Web, based on GoogleWebRTC.
Last release today
07 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
3 versions withdrawn
withdrawn after publishing
8 years old
184 releases · first in 2018
[Darwin] fix(crash): do not dereference a freed video renderer from the first frame callback. Disposing a renderer while frames are in flight no longe
EXC_BAD_ACCESS in -[FlutterRTCVideoRenderer renderFrame:] (#2190).sharedSingleton on the plugin instance that owns the peer connection factory. A second Flutter engine no longer replaces it with an instance that has no factory (#2186).ensureAudioSession (#2195).RTCDataChannel.close() moves the channel to the closed state and notifies listeners. send() after close() throws instead of reaching the platform (#2191).fix(desktop): keep PeerConnection observer alive during disposal by @realdev-fr in #2171
One column per quarter.
Full Changelog: v1.6.2+hotfix.1...1.6.2+hotfix.2
peerConnectionDispose instead of peerConnectionClose. close() followed by dispose() no longer reports MissingPluginException for cancel on FlutterWebRTC/peerConnectionEvent (#2172).DataChannel wrapper when a channel is closed or its peer connection is disposed (#2174).RTCPeerConnection.dispose() closes every data channel the connection created or received. RTCDataChannel.close() on native platforms is idempotent (#2175).fix(android): guard null cameraName before reuse check in getUserMedia by @dev-ahmedhany in #2166
Full Changelog: v1.6.2...v1.6.2+hotfix.1
fix(darwin): stop leaking every platform view that is disposed by @gfx in #2179
Full Changelog: 1.6.2+hotfix.2...v1.6.2+hotfix.3
fix(desktop): resolve remote tracks by id so setVolume reaches them by @Carlos-Gabriel-Garcia-Campos-Braga in #2160
zeroPlayoutDelay and WARP options for WebRTC.initialize. by @cloudwebrtc in #2159Full Changelog: v1.6.1...v1.6.2
feat: upgrade libwebrtc to m150. by @cloudwebrtc in #2154
Full Changelog: v1.6.0...v1.6.1
fix(ios): restore simulator microphone capture by @songkeys in #2140
Full Changelog: v1.6.0...v1.6.0+hotfix.1
feat: RTCVideoPlatformView.placeholderBuilder by @bdlukaa in #2102
Full Changelog: v1.5.2...v1.6.0
RPSystemBroadcastPickerView buttonPressed: selector with public UIKit APIs, App Store review rejected binaries containing it (#2121).eventSink/eventQueue access between the WebRTC signaling thread and the platform thread. On iOS the unsynchronized access could crash with EXC_BAD_ACCESS in objc_retain inside -[RTCDataChannel(Flutter) onListenWithArguments:eventSink:] (#2118).Helper.setMicrophoneMuteMode / Helper.getMicrophoneMuteMode). voiceProcessing (the default) plays the platform mute tone on mute/unmute; inputMixer and restartEngine mute silently (#2098, #2105).Helper.setMicrophoneMuted / Helper.isMicrophoneMuted), independent of MediaStreamTrack.enabled (#2105).RTCVideoPlatformView.placeholderBuilder to show a widget until the first frame renders (#2102).getStreamForId to embedders (#2109).OrientationAwareScreenCapturer (#2092).setFocusPoint/setExposurePoint when the orientation cache was never populated (#2113).captureFrame writes the image file (#2090).Fix Windows libwebrtc extraction through plugin symlinks by @hiroshihorie in #2100
Full Changelog: v1.5.1...v1.5.2
[Android] fix: recreate the texture surface when the incoming frame size changes, so simulcast layer upgrades no longer stay blurry ( #2085 ).
fullScreenOnly option to requestCapturePermission to force entire-screen capture on API 34+ (#2079).SetRecordingDevice(0) when no sourceId is supplied (#2072).Full Changelog: v1.5.0...v1.5.1
[iOS/macOS] feat: enable platform rendering ( RTCVideoPlatFormView ) on macOS, with a shared Darwin implementation ( #2058 ).
RTCVideoPlatFormView) on macOS, with a shared Darwin implementation (#2058).KeyDerivationAlgorithm option (#2049).third_party/libwebrtc_version.ini (#2061).Full Changelog: v1.4.1...v1.5.0
scalabilityMode by @hiroshihorie in #2022
Full Changelog: v1.4.0...v1.4.1
macOS: use ScreenCaptureKit for screen capture (fallback to RTCDesktopCapturer) by @EnterDevelopers in #1991
Full Changelog: v1.3.1...v1.4.0
Remove Xcode platform support installation step by @cloudwebrtc in #1989
Full Changelog: v1.3.0...v1.3.1
fix(ios): resolve critical memory leak in video recording by @aliaksander-ivashkevich in #1960
priority and networkPriority to RTCRtpEncoding by @hiroshihorie in #1983Full Changelog: v1.2.1...v1.3.0
priority and networkPriority to RTCRtpEncoding (#1983)fix: clip hard edge on web's rtc_video_view by @kNoAPP in #1936
Full Changelog: v1.2.0...v1.2.1
RECORDINGS - Add fallback resolutions for unsupported stream frame sizes on low-end Android devices by @daniel-g-favoreto-opl in #1900
Full Changelog: v1.0.0...v1.2.0
[Apple/Android] feat: Add H265/HEVC support.
[Native] feat: Upgrade libwebrtc to m137. (#1877).
[Windows/Linux] feat: Add audio processing and sink API for cpp.
[Android] fix: calls in terminated mode by disabling orientation manager
[iOS/Android]feat: Media Recorder implementation Android and iOS
Nothing published for this version
Nothing published for this version
[Android] fix: remove setPreferredInputDevice when getUserAduio.
[Android] fix: Fix clearAndroidCommunicationDevice call blocking.
clearAndroidCommunicationDevice call blocking.[All] feat: add getBufferedAmount for DataChannel.
[Android] feat: Migrate to the new Surface API.
[Android] fix: fixed video not rendered after resume from background.
[web] bump version for dart_webrtc.
[web] bump version for dart_webrtc.
[iOS] feat: Add option to start capture without broadcast picker
[Dart] feat: expose rtc video value
[iOS] More robustness for video renderer.
[iOS] fix In-app screen recording.
[iOS/Android] Fixed buf for screen capture.
[iOS/macOS] fix: Pass MediaConstraints for getUserAudio.
[iOS] fix: Audio route issue for iOS.
[iOS/Android] add FocusMode/ExposureMode settings for mobile.
[iOS/Android/macOS] feat: Expose AV Processing and Sink native APIs.
[Dart] fix: race condition during video renderer initialization.
Nothing published for this version
[iOS] fix: fix switch camera broken on iOS.
[iOS] fix: fix switch camera broken on iOS.
[web] fix: add stub WebRTC.initialize for web.
[Docs] Fixing proguard rules link (#1686)
[iOS/Android] feat: support unprocessed audio (#825)
[eLinux] feat: add support for eLinux (#1338)
[iOS/macOS] Fix memory leak for iOS/macOS.
[macOS] fix compilation error for macOS.
[Web] Bump dart_webrtc to 1.4.9.
[Web] change VideoElement to HTMLVideoElement.
[iOS] Fixed PlatformView not rendering after resuming from background.
[Android] Report actual sizes for camera media stream track (#1636).
[Android] fix issue for camera switching.
* Bump version for libwebrtc.
[Windows] fix crash for windows.
[macOS] Downgrade macOS system dependencies to 10.14.
[Native] upgrade libwebrtc to m125.6422.
[iOS] fix(platform_view): fit cover works wrong
[iOS] feat: add PlatformView Renderer for iOS.
[Web] Some important fixes for web.
[Android] fix: make MediaDeviceInfo (Audio deviceId, label, groupId) consistent.
[iOS/macOS] chore: update swift webrtc sdks to 114.5735.10
[iOS/macOS] Fix compilation warning for iOS/macOS.
Your coding agent can read these notes before it upgrades. Set up the MCP server →