EU region transcription, SIP video dial-out quality parameters, cross-SDK domain failover, native SDK stability fixes, and SIP 488 codec negotiation responses.
Overview
June brings automatic domain failover (daily.co → dailywebrtc.com/.net) across all client SDKs for improved connection resilience. daily-js 0.91.0 and react-native-daily-js 0.86.0 add support for specifying the EU region for transcription and new quality parameters (fps, width, height, videoBitrate) for SIP video dial-out. The native SDKs — daily-ios 0.38.0, daily-android 0.38.0, and daily-python 0.30.0 — ship important stability fixes, and daily-python adds custom screen-share audio tracks. On the server side, SIP interoperability improves with proper 488 Not Acceptable responses for incompatible codecs and custom SIP header passthrough for the Daily provider.Complete release history for our client SDKs is available in our Github release notes:daily-js
View full release notes →0.91.0
- Added support for specifying the EU region for transcription.
- Added
fps,width,height, andvideoBitrateparameters to SIP video dial-out. - External-facing track names are now included in the list of reserved values that are disallowed as custom track names.
- Added automatic client domain failover (
daily.co→dailywebrtc.com/dailywebrtc.net) for improved connection resilience. - Updated dependencies to resolve vulnerabilities.
react-native-daily-js
View full release notes →0.86.0
- Added support for specifying the EU region for transcription.
- Added
fps,width,height, andvideoBitrateparameters to SIP video dial-out. - Added support for AsyncStorage v2 and v3.
- External-facing track names are now included in the list of reserved values that are disallowed as custom track names.
- Added automatic client domain failover (
daily.co→dailywebrtc.com/dailywebrtc.net) for improved connection resilience. - Updated dependencies to resolve vulnerabilities.
daily-ios
View full release notes →0.38.0
- Added
CallClient.initAsync(), a static async factory that runs the blocking WebRTC/MediaSoup initialization off the main thread, keeping the UI responsive duringCallClientcreation. - Added automatic fallback to
dailywebrtc.comanddailywebrtc.netwhendaily.coauthoritative nameservers are unreachable, improving connection resilience. - Adaptive Bitrate (ABR) is now enabled by default for camera tracks. It can still be disabled by setting
allowAdaptiveLayerstofalsein the camerasendSettings. - Fixed an issue where SDK resources were not properly cleaned up when all
CallClientinstances were released. - Fixed an intermittent crash when force-quitting and relaunching the app while the camera was active.
- Fixed support for the
cloud-audio-onlyrecording type. - Improved connection performance with a new HTTP client featuring connection timeouts and TLS configuration reuse.
daily-android
View full release notes →0.38.0
- Added automatic fallback to
dailywebrtc.comanddailywebrtc.netwhendaily.coauthoritative nameservers are unreachable, improving connection resilience. - Adaptive Bitrate (ABR) is now enabled by default for camera tracks. It can still be disabled by setting
allowAdaptiveLayerstofalsein the camerasendSettings. - Fixed a segmentation fault that could occur when a
CallClientwas released (or garbage collected) while still in a call. - Fixed support for the
cloud-audio-onlyrecording type. - Improved connection performance with a new HTTP client featuring connection timeouts and TLS configuration reuse.
daily-python
View full release notes →0.30.0
- Added automatic fallback to
dailywebrtc.comanddailywebrtc.netwhendaily.coauthoritative nameservers are unreachable, improving connection resilience. - Fixed a use-after-free that could cause a segmentation fault in the audio playout thread if a
CallClientwas released while still in a call with participant audio renderers registered. - Fixed a segmentation fault that could occur when a
CallClientwas released (or garbage collected) while still in a call.
0.29.1
- Fixed an issue where a room configured with
enable_recordingset tocloud-audio-onlywas ignored when starting a recording, causing the recording to also capture video. - Fixed an issue where
StartRecordingPropertiesnone properties were serialized tonull.
0.29.0
- Added support for
screenAudioinput, making it possible to send a custom screen-share audio track alongside or independently ofscreenVideo.
Media Services
Telephony
- Added server-side support for a new
startDialIn()method to dynamically start a SIP dial-in endpoint. The client-side API will be included in an upcoming daily-js release. - SIP calls with incompatible codecs now receive a proper
488 Not Acceptableerror response, and thertpmapfor the offered Opus codec has been fixed for better codec negotiation interoperability. - Custom SIP headers are now passed through for calls using the Daily SIP provider.
dialout-errorevents now include custom SIP headers.- Fixed a crash that could occur when a SIP session timed out after the session had already been terminated.
Recording
- The
recording-errorevent now includes therecordingId, making it easier to correlate errors with specific recordings.
Streaming
- Fixed a VCS composition issue where pinned tracks that dropped from an explicit pin list were not evicted from the layout.
Other
- Oldest supported daily-js version bumped to 0.85.0, with 0.86.0 approaching end-of-support.
REST API
- Added
created_atandupdated_atto transcripts API responses. - Added an opt-in
include_sip_participantsquery parameter toGET /meetings/:id.
Critical Firefox 149 fix,
provider and sipCallId in telephony events, mtgSessionId in presence endpoints, and VCS simulator video mode.Overview
May brings daily-js 0.90.0 and react-native-daily-js 0.85.0 with a critical fix for a Firefox 149 regression that prevented remote participant media from playing, and newprovider and sipCallId fields across all dial-in and dial-out events for improved telephony observability. On the server side, presence endpoints now include mtgSessionId, and the VCS simulator gains video mode support along with a layer pinning fix.Complete release history for our client SDKs is available in our Github release notes:daily-js
View full release notes →0.90.0
- Added
providerandsipCallIdfields to alldialin-*anddialout-*events, making it easier to correlate telephony events with specific calls and providers. - ⚠️ Fixed a Firefox 149 regression that caused remote participant media not to play.
- Fixed a corner case in iOS user-agent detection.
- Updated dependencies to resolve vulnerabilities.
react-native-daily-js
View full release notes →0.85.0
- Added
providerandsipCallIdfields to alldialin-*anddialout-*events. - Updated dependencies to resolve vulnerabilities.
daily-python
View full release notes →0.28.1
- Fixed a segmentation fault that could occur after virtual microphone or speaker inputs or publishing updates.
Media Services
Streaming
- Added video mode to the VCS simulator, allowing developers to test video layouts directly in the simulator.
- Fixed a track add bug in VCS layer pinning.
REST API
- Added
mtgSessionIdto the responses ofGET /presenceandGET /rooms/:name/presence.
daily-react 0.25.0 with multi-instance recording and streaming, daily-python 0.28.0 with screen share custom tracks, and SIP telephony improvements.
Overview
April brings daily-react 0.25.0 with support for multiple concurrent recording and live streaming instances, and daily-python 0.28.0 with screen share custom tracks and Adaptive Bitrate enabled by default for camera tracks. On the server side, SIP dial-in and dial-out events now includesipCallId and provider fields, Signalwire is selectable as a telephony provider, and VCS streaming gains a configurable label placement parameter along with a mic status indicator.Complete release history for our client SDKs is available in our Github release notes:daily-react
View full release notes →0.25.0
- Added support for multiple concurrent recording and live streaming instances.
useRecording()anduseLiveStreaming()now accept aninstanceIdparameter for per-instance state. NewuseRecordingInstances()anduseLiveStreamingInstances()hooks return all active instances, and newRecordingInstanceStateandLiveStreamingInstanceStatetypes are exported. Stopping or erroring one instance no longer clears state for others. - Added
networkStatusto the return value ofuseNetwork(). - Added support for the
cloud-audio-onlyrecording type. - The daily-react version is now reported through daily-js via the new
aboutClientAPI, so it’s included in call logs regardless of which library creates the call instance.
daily-python
View full release notes →0.28.0
- Added support for
screenVideocustom tracks. You can now send a custom screen share track by settinginputs.screenVideo.settings.customTrack.id. - Adaptive Bitrate (ABR) is now enabled by default for camera tracks. It can still be disabled by setting
allow_adaptive_layerstoFalsein the camerasend_settings. - Fixed support for the
cloud-audio-onlyrecording type. - Fixed panics in signalling reconnect paths when room lookup returns no worker.
Daily Prebuilt
- Tightened the iOS user-agent match to reject spoofed iOS substrings.
- Fixed transcription language fallback so that an empty string falls back to the default language (switched from
??to||).
Media Services
Telephony
- SIP dial-in and dial-out events now include
sipCallIdandproviderfields, making it easier to correlate events with specific calls and providers. - Signalwire and Daily can now be selected as a telephony provider for dial-in and dial-out.
- Standardized the
providervalue to lowercasesignalwirein dial-in and dial-out events. - Added
provideras a valid parameter for thestartDialoutAPI. - Added support for video track updates on SIP video calls.
- Fixed screen share track addition for SIP video.
- Added support for configuring a Cloudflare anycast IP address instead of the STUN server hostname.
Recording
- Added a new
enable_raw_tracks_event_jsondomain and room property to opt into JSON event output for raw-tracks recordings. - Added more WAV settings for raw-tracks transcoded mode.
- Raw-tracks listings now verify S3 item
ContentTypeto avoid including unexpected files.
Streaming
- Added a new VCS parameter
videoSettings.grid.labelPlacementfor customizing participant label position in streaming layouts. - Added a mic status indicator and a highlight border inset to VCS layouts.
- Fixed VCS participant label misindexing in audio-only layouts.
Smaller call-machine bundle (~2MB less), VCS layout animations, configurable max API keys, and daily-js 0.81.0 minimum version bump.
Overview
March includes significant performance improvements for daily-js and react-native-daily-js, with the initial call-machine bundle now ~2MB smaller through dynamic loading. Audio processor errors no longer automatically mute the microphone, andtestCallQuality() reliability has been fixed. On the server side, VCS streaming layouts gain animation support, and a new max_api_keys domain property lets you limit API key creation per domain. The oldest supported daily-js version has been bumped to 0.81.0, with versions through 0.83.1 approaching end-of-support.Complete release history for our client SDKs is available in our Github release notes:daily-js
View full release notes →0.89.1
- Fixed an issue causing all
testCallQuality()tests to fail. - Fixed remaining vulnerabilities in dependencies.
0.89.0
- Reduced initial call-machine bundle download size by ~2MB. Larger portions are now dynamically loaded as-needed.
- Audio processor errors no longer automatically mute the microphone.
- Removed the client-side 3-hour limit for raw-tracks recordings. Limits are now handled server-side.
- Fixed auto-syncing audio output device on Safari, where
setSinkIdrequires a user gesture and was causing repeated errors. - Improved system idle detection to avoid stale reconnect retries after 5 minutes of inactivity. Calls will now leave cleanly in idle scenarios.
- Breaking: If you self-host the call-machine-bundle using
callObjectBundleUrlOverride, a new separate bundle is now required for Krisp noise cancellation. Contact help@daily.co for upgrade instructions.
react-native-daily-js
View full release notes →0.84.1
- Fixed remaining vulnerabilities in dependencies.
0.84.0
- Reduced initial call-machine bundle download size by ~2MB with dynamic loading.
- Added
digitDurationMsoption tosendDTMF()for configurable DTMF digit duration. - Removed the client-side 3-hour limit for raw-tracks recordings.
- Improved system idle detection to avoid stale reconnect retries after 5 minutes of inactivity.
- Breaking: If you self-host the call-machine-bundle using
callObjectBundleUrlOverride, a new separate bundle is now required for Krisp noise cancellation. Contact help@daily.co for upgrade instructions.
Dashboard
- Added a configurable
max_api_keysdomain property to set the maximum number of API keys allowed per domain.
Media Services
Telephony
- Fixed video not working with Linphone SIP client.
- Improved STUN server fallback during SDP negotiation retry.
- Fixed hung media workers caused by unresolved SIP transport promises.
- Improved handling of active SIP sessions during meeting moves.
- Broadcast app messages are no longer sent to participants in the knocking (waiting room) state.
- Oldest supported daily-js version bumped to 0.81.0. Versions through 0.83.1 are approaching end-of-support.
Streaming
- The new VCS pipeline is now the default for new customers. In April, we are transitioning existing customers to the new pipeline; the legacy pipeline will be EOLed later this summer. In the meantime, you can switch between the new and legacy pipelines with the
enable_legacy_compositorflag. - Added a layout animation system for VCS (Video Compositing Service) streaming layouts.
- Fixed RTMP URL handling for streaming destinations.
- Improved jitter buffer latency and added video stall detection for RTMP streaming.
Recording
- Added
event-jsonas a validdataOutputsoption for recordings via the REST API. We’re considering makingevent-jsonthe default output format and invite feedback from the community. Note that this would add an additionalevent-jsonfile to the existing S3 folder and may break downstream workflows that assume only media files are present.
REST API
- Added validation for the
cloud-audio-onlyroom and meeting token property. - New
max_api_keysdomain property to configure the maximum number of API keys per domain.
DTMF tone support for SIP calls, raw-tracks recording improvements, Krisp SDK lazy loading, and webhook event ID timestamps.
Overview
February brings DTMF tone support for SIP calls, improved raw-tracks recording reliability during meeting moves, and a Krisp SDK performance optimization that splits noise cancellation into a separate bundle for faster page loads. Audio processor errors no longer mute the microphone, and the 3-hour limitation for raw-tracks recordings has been removed.Complete release history for our client SDKs is available in our Github release notes:Daily Prebuilt
- Audio processor error handling updated to no longer mute the microphone on Krisp errors.
- Fixed a mute state sync race condition on the first call of the day.
- Krisp SDK is now loaded as a separate bundle for faster initial page load.
- Added a user-facing notification when the Krisp SDK fails to load.
- Updated noise cancellation overload translations.
Dashboard
- Improved dashboard loading speed.
- Removed references to the deprecated
owner_only_broadcastproperty.
Media Services
Telephony
- Added DTMF (telephone-event) support for sending and receiving DTMF tones during SIP calls.
- Added a setting to keep rooms open without WebRTC participants (for SIP-only scenarios).
- Fixed the call transfer initiated event for SIP REFER.
- Fixed dial-in events to be preserved when no peer is in the room yet.
Recording
- Removed the 3-hour limitation for raw-tracks recordings.
- Improved raw-tracks recording reliability during meeting moves when the SFU connection changes.
- Added
user_nameanduser_idto raw-tracks recording events. - Recording finished webhooks are now reliably sent from the upload finisher for improved delivery.
Webhooks
- Webhook event IDs now include timestamps, matching the format shown in the documentation.
Transcription
- Added model parameters to the transcription info field.
REST API
- Fixed the
/domains/memberendpoint to return all non-revoked API tokens.
Recording dataOutputs for transcripts and chat, cloud-audio-only recording, laptop lid session handling, CPU load detection improvements, and Kamailio call transfer support.
Overview
January is a feature-rich month with new recording capabilities includingdataOutputs for recording-synchronized transcripts, chat messages, and event logs, plus a new cloud-audio-only recording type. We’ve also improved session handling for laptop lid closures, refined CPU load detection, and shipped call transfer support on our new telephony infrastructure.Complete release history for our client SDKs is available in our Github release notes:daily-js
View full release notes →0.87.0
- Fixed an issue in Chrome where the Compute Pressure API did not work inside an iframe due to permissions policy restrictions.
0.86.0
-
Introduced a new
dataOutputsoption instartRecording()to capture auxiliary data alongside the recording media. Three output types are supported:event-json— a JSON file describing recording session events (media file starts, track updates, etc.)transcript-webvtt— a WebVTT file with transcription events, timecode-aligned with the recording media (requires an active live transcription)chat-webvtt— a WebVTT file with chat messages, timecode-aligned with the recording media
-
Added support for a new
cloud-audio-onlyrecording type. This produces m4a files with theaudio/mp4content type. It can be used alongside other recording types and does not share an instance ID with RTMP/HLS streaming. - Fixed an issue where sessions would attempt to reconnect after long periods of laptop lid closure. Sessions now automatically disconnect after 5 minutes of detected inactivity.
-
Fixed uncaught errors in
join()andstartCamera()when no room URL is provided or the URL is invalid. These now properly throw an error and leavemeetingState()in"left-meeting". -
Improved the
cpu-load-changeevent by requiring multiple consecutive high CPU readings before reporting high load and by refining global decode time calculation to exclude videos with empty frame metrics. -
Added compute pressure state to the
getCpuLoadStats()API when supported by the browser. -
Added
max_app_message_sizetoDailyRoomInfotypes.
react-native-daily-js
View full release notes →0.83.0
- Introduced a new
dataOutputsoption instartRecording()to capture auxiliary data alongside the recording media. Supportsevent-json,transcript-webvtt, andchat-webvttoutput types. - Added support for the new
cloud-audio-onlyrecording type. - Fixed an issue where sessions would attempt to reconnect after long periods of laptop lid closure.
- Fixed uncaught errors in
join()andstartCamera()when no room URL is provided or the URL is invalid. - Improved the
cpu-load-changeevent accuracy. - Added
max_app_message_sizetoDailyRoomInfotypes. - Added missing type definitions for streaming and recordings.
Daily Prebuilt
- Removed automatic camera turn-off behavior on bad network conditions.
Dashboard
- Updated Cloud recording storage tooltip.
- Removed HIPAA 30-day trial wording.
Media Services
Telephony
- Added call transfer support on the new Kamailio-based telephony infrastructure.
- Added support for numeric SIP usernames.
Recording
- Added server-side support for
dataOutputsrecording option and thecloud-audio-onlyrecording type. - Fixed download link file extensions for recordings stored in custom S3 buckets.
Recording-synchronized transcripts, gapless audio for raw-tracks, CPU warning notifications, and Prebuilt session resume and background effects fixes.
Overview
December brings recording-synchronized transcripts, a new gapless audio pipeline for raw-tracks recording, and configurable CPU warning notifications in Daily Prebuilt. We’ve also improved session resume reliability after laptop lid closures and added automatic detection to disable background effects on underpowered hardware.Complete release history for our client SDKs is available in our Github release notes:Daily Prebuilt
- Added a new
enable_cpu_warning_notificationsdomain and room property to control whether CPU warning notifications are shown to users. - Background effects are now automatically disabled when a WebGL software renderer is detected, preventing poor performance on underpowered hardware.
- Fixed poor network state handling.
- Fixed session resume issues that could occur after closing and reopening laptop lids.
Dashboard
- Added configuration for the new
enable_cpu_warning_notificationsproperty. - Updated settings deletion copy.
Media Services
Recording
- Added support for recording-synchronized transcripts via
dataOutputsinstartRecording(). - New transcoded gapless audio pipeline for raw-tracks recording, producing continuous audio files without gaps.
- Raw-tracks recording now works with the
force_audio_only_recordingflag. - Fixed file extension for WAV files in transcoded gapless audio mode.
- Fixed a missing room state update during meeting move restore that could cause recording state inconsistencies.
Transcription
- Deepgram model improvement program opt-out is now enabled by default for improved data privacy.
SIP codec negotiation, call transfer fixes, recording enhancements, and Prebuilt breakout room and screen sharing fixes.
Overview
November is a server-focused release with telephony improvements including SIP codec negotiation and call transfer reliability fixes, recording enhancements, and Daily Prebuilt bug fixes for breakout rooms and screen sharing on Chrome.Complete release history for our client SDKs is available in our Github release notes:Daily Prebuilt
- Fixed the “request for help” feature from the main room during breakout sessions.
- Improved handling of blocked-by-browser screen share errors in Chrome.
Dashboard
- Removed Intercom chat widget from the dashboard. Contact us at
help@daily.cofor support.
Media Services
Telephony
- Added support for preferred codec negotiation based on the SIP invite SDP.
- Fixed room ID preservation during call transfers when a room is deleted mid-transfer.
- Fixed SIP username filtering for pinless dial-in configuration.
Recording
- Fixed stop recording by instance ID to correctly detect the recording type.
- Optimized audio bitrate to 96kbps for audio-only recordings.
- The GET recordings API now includes
roomNamein the response.
REST API
- Fixed 404 errors for presence queries on deleted rooms.
Narrower CSP for video backgrounds, audio-only recording property, dynamic SIP dial-in endpoints, and telephony and recording fixes.
Overview
October brings a Content Security Policy improvement for video background processing, removing the need for the broadunsafe-eval directive. We’ve also added a new force_audio_only_recording domain property, dynamic SIP dial-in endpoint creation, and several telephony and recording reliability fixes across our platform.Complete release history for our client SDKs is available in our Github release notes:daily-js
View full release notes →0.85.0
- You no longer need to specify the broad
unsafe-evalin your Content Security Policy (CSP) when using video background processing (virtual backgrounds or background blur). You can now use the narrowerwasm-unsafe-evalinstead. - Fixed an issue where the initial send settings were not being respected for cam video.
react-native-daily-js
View full release notes →0.82.0
- Fixed an issue where the initial send settings were not being respected for cam video.
Daily Prebuilt
- Added a Krisp system overload notification to inform users when audio processing is under heavy CPU load.
- Fixed recording handling when recording types are configured as comma-separated values.
- Fixed dynamic chunk loading issues that could cause failures in certain deployment configurations.
Dashboard
- Removed Daily Bots dashboard links and unified domain handling.
Media Services
Telephony
- Added support for dynamically creating SIP dial-in endpoints.
- SIP participants are now properly ejected when a room is deleted.
- Fixed presence data for dial-out participants who are the first to join a room.
- Fixed pagination in the list phone numbers API.
- Fixed error handling in the list available numbers API.
Recording and Transcription
- Added a new
force_audio_only_recordingdomain property for audio-only recording. - Meeting-move-aware transcription is now enabled by default.
- Fixed Deepgram extra metadata encoding for transcription sessions.
Phone extension support for dial-out, Android 16KB page size compatibility, auto-start recording reliability, and new Picture-in-Picture events.
Overview
September adds phone extension support for dial-out operations across our client SDKs, Android 16KB page size compatibility for React Native, and improved reliability for auto-start recording and transcription. We’ve also added new Picture-in-Picture events for Daily Prebuilt and improved handling for unsupported browsers.Complete release history for our client SDKs is available in our Github release notes:daily-js
View full release notes →0.84.0
- Added support for calling phone extensions during dial-out operations. You can now specify an extension number and wait time before dialing the extension after the main call connects.
- Added Prebuilt-specific
pip-startedandpip-stoppedevents. - Improved reliability of handling auto-start recording and transcription options when joining a room.
- Improved handling for unsupported browsers. The Daily constructor will now throw an error of
WebRTC not supported or suppressedif the browser cannot support a call.
react-native-daily-js
View full release notes →0.81.0
- Added support for Android 16KB page size.
- Added support for calling phone extensions during dial-out operations. You can now specify an extension number and wait time before dialing the extension after the main call connects.
- Improved reliability of handling auto-start recording and transcription options when joining a room.
Dashboard
- Added a cancel plan button to the billing interface.
Chrome 140 and Firefox 142 compatibility fixes, pre-join screen sharing, Krisp CPU overload handling, telephony improvements, and Prebuilt accessibility updates.
Overview
August brings browser compatibility fixes for Chrome 140 and Firefox 142, new screen sharing capabilities before joining a call, and telephony improvements including dial-out extensions and cross-domain SIP transfers. We’ve also shipped Daily Prebuilt accessibility improvements, a high CPU usage notification, and stability fixes across our media services.Complete release history for our client SDKs is available in our Github release notes:daily-js
View full release notes →0.83.1
- Updated mediasoup-client for compatibility with Chrome 140. Without this fix, joining or reconnecting to a call without an audio track would fail on Chrome 140.
- Added a workaround for a Firefox 142 bug that caused
daily-jsto incorrectly report bad network conditions due toroundTripTime. - Fixed a regression in 0.82.0 where
captureOptionspassed tostartScreenShare()were ignored. - Removed deprecated and unused
rtp-tracksrecording support.
0.82.0
- Added support for calling
startScreenShare()prior tojoin(). A call topreAuth()orstartCamera()is still required first to initialize state. - Fixed and improved error handling for
setOutputDevicesAsync(). The method now throws an error if the call fails. - Updated dependencies to resolve security vulnerabilities.
- Bumped Krisp to the latest version with updated models. Added handling for CPU overload which can cause choppy voice output. This will temporarily and silently pause audio processing while the CPU recovers. If overload continues,
daily-jswill emit anaudio-processor-errorwitherrorMsgof"Krisp error: system overload", turn off the processor, and mute the microphone.
react-native-daily-js
View full release notes →0.80.0
- Updated mediasoup-client dependency to latest.
- Removed deprecated and unused
rtp-tracksrecording support.
0.79.0
- Updated dependencies to resolve security vulnerabilities.
Daily Prebuilt
- Fixed unblock instructions in embedded Prebuilt on Chrome on iOS.
- Added a high CPU usage notification snackbar.
- Improved accessibility throughout the Prebuilt interface.
Media Services
Telephony
- Added support for providing a phone extension in
startDialout(). - Enabled SIP call transfer to non-Daily domains.
- Improved handling of dial-in properties when creating rooms with dial-in configured.
- Added
roomNameto transcription webhook events.
Recording
- Fixed a bug where audio tracks were not being added to recordings.
New network status callbacks, improved telephony error handling, and platform-wide stability fixes.
Overview
This month’s updates bring new network status callbacks to our native mobile SDKs, giving you more insight into connection health. We’ve shipped a newdialin-error type (start-failed) that triggers when SIP registration fails, a critical audio playback fix for Safari in Daily React, and numerous stability improvements across our backend services.Complete release history for our client SDKs is available in our Github release notes:daily-js
View full release notes →0.81.0
- Added
ignoreAudioLevelparameter tostartCustomTrack()to exclude a track from audio level calculations. - Improved
enumerateDevices()logging and reduced noisy error reporting.
react-native-daily-js
View full release notes →0.78.0
- Added a new
dialin-errortype tostart-failed. - Fixed a potential null pointer exception during module initialization.
- Improved
enumerateDevices()logging and reduced noisy error reporting.
daily-react
View full release notes →0.23.1
- Fixed an issue that could prevent audio playback in Safari after a participant leaves.
- Added an optional
intervalparameter to theuseAudioLevelObserver()hook. - Updated the
useNetwork()hook to return the newnetworkStateandnetworkStateReasonsproperties. - Added
user_nameandrawResponseto theTranscriptiontype definition.
daily-android
View full release notes →0.32.0
- Added a new
onNetworkConnectionStatusUpdated()callback to monitor call-critical network connections. - Added support for handling mid-call session ID changes.
- Fixed a potential null pointer exception during device list changes.
daily-ios
View full release notes →0.32.0
- Added a new delegate function (
networkConnectionStatusUpdated) to monitor call-critical network connections. - Added support for handling mid-call session ID changes.
- Fixed a bug where
userIDcould benilin the call configuration, even when present in the token.
daily-python
View full release notes →0.19.4
- Added
set_log_level()and alog_levelinit argument for controlling log verbosity.
Media Services
Telephony and Recording/Livestreaming
- Added a new
start-failederror type to thedialin-errorevent. This fires when the SIP address on a room fails SIP registration with the SIP network. - Improved handling of non-unique ‘from’ numbers in PSTN dial-in, allowing multiple participants to join from the same caller ID.
- Shipped numerous stability improvements for SIP registration, raw tracks recording, and connection reliability.
Older updates
2025
5 updates from 2025.
2024
8 updates from 2024.
2023
18 updates from 2023.
2022
16 updates from 2022.
2021
12 updates from 2021.
2020
8 updates from 2020.