April 29, 2026

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 include sipCallId 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() and useLiveStreaming() now accept an instanceId parameter for per-instance state. New useRecordingInstances() and useLiveStreamingInstances() hooks return all active instances, and new RecordingInstanceState and LiveStreamingInstanceState types are exported. Stopping or erroring one instance no longer clears state for others.
  • Added networkStatus to the return value of useNetwork().
  • Added support for the cloud-audio-only recording type.
  • The daily-react version is now reported through daily-js via the new aboutClient API, 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 screenVideo custom tracks. You can now send a custom screen share track by setting inputs.screenVideo.settings.customTrack.id.
  • Adaptive Bitrate (ABR) is now enabled by default for camera tracks. It can still be disabled by setting allow_adaptive_layers to False in the camera send_settings.
  • Fixed support for the cloud-audio-only recording 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 sipCallId and provider fields, 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 provider value to lowercase signalwire in dial-in and dial-out events.
  • Added provider as a valid parameter for the startDialout API.
  • 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_json domain 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 ContentType to avoid including unexpected files.

Streaming

  • Added a new VCS parameter videoSettings.grid.labelPlacement for 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.