May 31, 2025

Overview

Mobile SDKs now support canReceive permissions and improved connection reliability. The Python SDK gets powerful custom audio track capabilities. Meeting move aware recording is enabled by default, we've added call transfer webhooks, and transcription saves are now more resilient.

Complete release history for our client SDKs is available in our Github release notes:


daily-js

View full release notes →

0.79.0

  • Improved Krisp error handling.
  • Removed a client-side limit on max_live_streams.
  • Disabled Redux DevTools in production builds.

react-native-daily-js

View full release notes →

0.76.0

  • Removed a client-side limit on max_live_streams.
  • Disabled Redux DevTools in production builds.

daily-android

View full release notes →

0.31.0

  • Added support for the canReceive permission to manage which media tracks remote participants can receive.
  • Improved connection reliability by retrying signaling channel connections and using an alternate WebSocket URI format.
  • Fixed a bug where custom ICE server configurations were not being applied.

daily-ios

View full release notes →

0.31.0

  • Added support for the canReceive permission to manage which media tracks remote participants can receive.
  • Improved connection reliability by retrying signaling channel connections and using an alternate WebSocket URI format.

daily-python

View full release notes →

0.19.1

  • Fixed an audio renderer issue that caused garbled audio with remote stereo tracks.
  • Added handling for meeting session ID changes that occur mid-call.

0.19.0

  • Introduced CustomAudioTrack for use as an additional custom track or as the main microphone input.
  • Added support for displayName, userId, video, codecs, and permissions in start_dialout().
  • Added sample_rate and callback_interval_ms arguments to set_audio_renderer() for more control over audio data.
  • Updated add_custom_audio_track() and update_custom_audio_track() to accept a CustomAudioTrack instance.
  • Switched to using system-level root certificates on all platforms.
  • Fixed a bug where blocking virtual microphones could fail to send audio.

0.18.2

  • Fixed an installation issue on macOS versions older than 15.0.
  • Corrected type hints for remove_custom_track().

0.18.1

  • Improved connection reliability by retrying signaling channel connections and using an alternate WebSocket URI format.
  • Fixed a bug with virtual microphone completion callbacks.

Media Services

Recording

  • Meeting move aware recording and streaming is now enabled by default. This feature (previously in pre-beta) automatically resumes recordings and live streams when meetings are transferred between servers during maintenance or failovers, eliminating gaps in recorded content.

Telephony

  • Introduced new webhooks to track call transfer status: calltransfer.triggered, calltransfer.initiated, calltransfer.answered, and calltransfer.complete.
  • Added support for passing custom SIP headers during pinless dial-in, which are now available in the sipHeaders object in the webhook payload.
  • Added canReceive permission controls for dial-in and dial-out participants via the startDialOut() API and room properties.
  • On-demand SIP dial-out endpoints are now the default behavior, improving resource efficiency.

Transcription

  • Transcripts are now saved to storage every two minutes by default, improving data resilience.
  • The /transcript and /transcripts API endpoints now include roomName, participantMinutes, and isVttAvailable for more detailed information.
  • Fixed a race condition that could cause duplicate transcription messages when participant settings were updated rapidly.