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
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
0.76.0
- Removed a client-side limit on
max_live_streams
. - Disabled Redux DevTools in production builds.
daily-android
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
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
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
, andpermissions
instart_dialout()
. - Added
sample_rate
andcallback_interval_ms
arguments toset_audio_renderer()
for more control over audio data. - Updated
add_custom_audio_track()
andupdate_custom_audio_track()
to accept aCustomAudioTrack
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
, andcalltransfer.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 thestartDialOut()
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 includeroomName
,participantMinutes
, andisVttAvailable
for more detailed information. - Fixed a race condition that could cause duplicate transcription messages when participant settings were updated rapidly.