daily_flutter 0.40.0
daily_flutter: ^0.40.0 copied to clipboard
Flutter plugin for Daily. The Daily Client SDK allows you to build video and audio calling into your Flutter applications.
Changelog #
All notable changes to the daily-flutter SDK will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.40.0 - 2026-09-22 #
Added #
-
Added support to automatically start transcription when joining a room if the
auto_start_transcriptionmeeting token property is set, using the room'sauto_transcription_settings. -
Added
StreamingLayout.audioOnly, theaudio-onlyrecording layout preset, which was missing from the Flutter SDK. This also fixes an issue where an audio-only recording started by another participant or the REST API would not emitonRecordingStarted(the event failed to deserialize).
Changed #
-
Breaking: the minimum supported Flutter version is now 3.32.0 (Dart 3.8.0). If you cannot upgrade Flutter yet, stay on 0.39.0.
-
Relaxed the
permission_handlerconstraint to>=11.3.1 <14.0.0, so it no longer holds your app to one major version of that package. -
Model classes such as
ParticipantandCallStateare now declaredabstractorsealed. Constructing them, reading their fields,copyWithand the union helpers are all unchanged; only extending or implementing them directly no longer works. -
Upgraded libwebrtc to
branch-heads/8010(M153). Its vendored media and crypto dependencies (ffmpeg, libvpx and BoringSSL among them) are substantially newer. -
Breaking: the minimum supported iOS version is now 14.0 (was 13.0). This follows the libwebrtc upgrade, which is built against an iOS 14.0 deployment target.
-
The bundled example app now targets iOS 15.0. The SDK itself still supports 14.0; the example is raised separately because Apple requires a
MinimumOSVersionof 15.0 or later for apps uploaded to App Store Connect from Spring 2027.
Fixed #
-
Fixed an issue where
videoBitrateandaudioBitratein a meeting token'sstart_cloud_recording_optswere ignored, causing recordings started from the token to use the default bitrates. -
Fixed multiple memory, thread and file descriptor leaks when creating and releasing
CallClients. -
Fixed an issue on Android where enabling the microphone during a call sent no audio if the camera had been enabled first while the microphone was off.
0.39.0 - 2026-07-24 #
Added #
- Added
StreamingLayout.rawTracksAudioOnly, theraw-tracks-audio-onlyrecording layout preset for audio-only raw-tracks recordings.
Fixed #
-
Fixed an issue where participants would appear as "guest" in saved transcriptions.
-
Fixed an issue where the
raw-tracks-audio-onlyrecording layout preset in a meeting token'sstart_cloud_recording_optswas ignored, causing raw-tracks recordings to include video. -
Fixed an issue where server-side
startRecording()failures were reported as an opaque deserialization error instead of a proper recording error.
0.38.0 - 2026-06-19 #
Added #
- Added automatic fallback to
dailywebrtc.comanddailywebrtc.netwhendaily.coauthoritative nameservers are unreachable, improving connection resilience.
Fixed #
-
Fixed panics in signalling reconnect paths when room lookup returns no worker.
-
Fixed support for cloud-audio-only recording type
Performance #
-
Replaced
ureqHTTP client withhyper+rustls(ring backend). Includes connection timeouts, TLS configuration reuse, and per-request timing metrics for DNS lookup, TCP connect, and TLS handshake. -
Added per-phase connection timing metrics for WebSocket signalling (DNS lookup, TCP connect, TLS handshake, and WebSocket upgrade), complementing the existing HTTP connection timings.
0.37.0 - 2026-01-16 #
Fixed #
- Avoid unnecessary signalling reconnection attempts when
leave()is called during a network failure.
0.33.0 - 2025-08-11 #
0.32.0 - 2025-07-23 #
Added #
- Support the new
canReceivepermission, which involves:- Adding the
canReceivepermission to:ParticipantPermissions(the type in theParticipantmodel)ParticipantPermissionsUpdate(the type used byupdateRemoteParticipants())
- Showing the proper track state (i.e.
off, with reasonreceivePermission) whencanReceivepermission is lacking for a remote track. - Resuming receiving remote tracks when previously-revoked
canReceivepermissions have been restored.
- Adding the
Changed #
- Updated
daily-flutterdependencies.
Fixed #
-
Handle meeting session ID changes which occur once the session has started.
-
Fixed an issue on smartphones with a 32-bit OS where the app would get stuck on launch.
-
Fixed an issue where participants from previous meetings were being retained.
0.31.0 - 2025-05-06 #
Added #
-
Retrying multiple times to open the signalling channel during the join.
-
Alternate websocket URI format to avoid connection issues potentially caused by ISPs.
0.30.0 - 2025-03-31 #
Fixed #
-
Fixed issue where the ice servers configured by the user were not being applied when creating the PeerConnection.
-
Fixed a potential crash in the Flutter iOS SDK when disposing the renderer.
0.29.0 - 2025-02-28 #
Added #
- Added support to automatically start a recording when joining a room if the
start_cloud_recordingtoken property is set toTrue.
Changed #
- Updated third party dependencies
Fixed #
-
Fixed issue that when running
flutter build ios framework, theGCC_PREPROCESSOR_DEFINITIONSsettings from the Podfile were not being included. This caused thedaily_flutterpackage to incorrectly assume that permissions weren’t granted. -
Fixed an issue where reconnection would fail if the meeting token was no longer valid.
0.28.0 - 2024-12-13 #
Changed #
- Renamed
org.webrtcpackage toco.daily.webrtcto avoid conflicts.
Fixed #
-
Fixed various Android build issues seen with new versions of Gradle, Java, and AGP.
-
Fixed a logging-related crash (stack overflow) that could occur when rapidly starting and stopping the SDK.
-
Fixed an issue where missing fields in the domain/room permission config could cause a connection failure.
-
Improved meeting move robustness by increasing the number of retries, to account for situations where the backend takes longer to complete the move.
0.22.0 - 2024-08-05 #
Added #
- Added new metrics that will allow us to better understand the meeting quality.
Fixed #
-
Preventing Flutter iOS from crashing when closing the app (via the user manually swiping away).
-
Preventing Flutter Android from crashing when closing the app if the
surfaceTextureHelperhas not been properly initialized. -
Fixed an issue to show the correct state when the mic is muted remotely.
-
Fixed an issue with meeting moves that could occur in an exceptional case where, for a short period of time, we didn't receive information about which worker server to connect to.
0.20.0 - 2024-05-20 #
Added #
- Added support for Flutter 3.22 and Dart 3.4.
Fixed #
-
Fixed multi-threading issue encountered when sending events.
-
Resolved an issue where the videos sent had the wrong orientation when viewed on iOS mobile web.
-
Fixed an issue where
joinedAtvalue (participant info) could sometimes be zero. -
Fixed issue where
onParticipantUpdated()didn't reflect the new state of the local participant's screen video track, in cases whereleave()was called while a screen share was active. -
Fixed an issue that could cause join to fail if recording/transcription/live stream was started from the REST API.
-
Fixed an issue that would not allow join to succeed if a React Native client was already in the room.
0.16.0-beta.1 - 2024-03-04 #
Bringing the latest changes to daily-flutter, primarily focused on fixing multiple issues that could cause deadlock during network reconnection, enhancing performance, and reducing the bundle size for Android.
0.1.0-alpha.1 - 2023-01-17 #
Initial alpha release.