Upcoming changes

Last updated: 2024-03-21

Daily's SDKs are versioned, giving you control over the version you're using. This helps to prevent unexpected changes for your applications. But, some parts of Daily's technical stack run in our cloud, which you don't have control over. This includes media services, REST APIs, SFUs, and Daily Prebuilt. This page provides you with advanced notice for when those server-side applications will have a change in functionality, so you can test and configure before we deploy those changes.

Also, this page includes deprecation notifications for both client SDKs and server-side functionality.

Legend

New features and changes

StatusDescription
In developmentWe're building this feature and are providing notice that it will soon be available to test.
TestableWe've shipped a beta version of this feature that you can now test.
ReleasedThis feature has shipped and is enabled by default. You can disable it through a configuration parameter.

Deprecations

StatusDescription
Under considerationWe're considering removing this feature but no changes have been made yet.
DeprecatedThis feature is planned for removal in the near future.
RemovedWe have removed this feature.

Notices

Deprecated strictMode: false for the purpose of allowing multiple call instances

Affects:
daily-js, react-native-daily-js
Status:
Deprecated
Description:

strictMode: false has been replaced with the opt-in flag, allowMultipleCallInstances: true. Support for multiple call instances is now in pre-alpha support and the intended way to enable it is via the new flag. When support moves out of beta, we will make the new flag the only way to opt in and throw an Error if multiple instances are detected without allowMultipleCallInstances regardless of the strictMode setting. Note: strictMode, which defaults to true, will continue to be used for disallowing use of a Daily call instance after it has been destroyed.

Disable Picture-in-Picture for Safari users

Affects:
Daily Prebuilt
Status:
Released
Description:

Daily Prebuilt is disabling Picture-in-Picture support for Safari users. Safari does not sufficiently support Picture-in-Picture functionality, which results in Safari crashing for users when a video stream ends. We will investigate reintroducing this feature for Safari in later versions.

Daily Adaptive Bitrate available to test for multi-party daily-js calls

Affects:
daily-js, react-native-daily-js
Status:
Testable
Description:

Daily Adaptive Bitrate continually adapts the send settings to the current network conditions to deliver a call that is always reliable and when the network is good, delivers exceptional video quality. We are planning to make this feature on by default for all multi-party calls in the future. You can test this today. To learn more, check out our guide.

Daily Adaptive Bitrate to become the default setting for 1:1 daily-js calls

Affects:
daily-js, react-native-daily-js
Status:
Released
Description:

Daily Adaptive Bitrate continually adapts the send settings to the current network conditions to deliver a call that is always reliable and when the network is good, delivers exceptional video quality. We are planning to make this feature on by default for all 1:1 calls in the near future. You can test this today. To learn more, check out our guide.

SFU to become the default mode for all calls

Affects:
daily-js, react-native-daily-js
Status:
Released
Description:

We are planning to make a change that will result in all calls routing through Daily’s Global Mesh SFU infrastructure. For customers requiring P2P calls, you can keep the current configuration by setting the sfu_switchover property to 2. Over the years, we have made a substantial investment in our Global Mesh SFU infrastructure, which offers reliable connections and ultra low latencies from locations all around the world. In our testing and analysis of real world calls, SFU calls outperform P2P in every measure. For this reason, we are planning to bring these reliability and performance improvements to all Daily customers. If you’d like to learn more, contact us at help@daily.co.

Deprecated testConnectionQuality() and stopTestConnectionQuality()

Affects:
daily-js, react-native-daily-js
Status:
Deprecated
Description:

The testConnectionQuality() and stopTestConnectionQuality() methods are now deprecated. Instead, in daily-js you should use the testCallQuality() and stopTestCallQuality() methods in their place. On react-native, please use testPeerToPeerCallQuality() and stopTestPeerToPeerCallQuality() methods in their place. Contact us (help@daily.co) to learn more.

Deprecated getMeetingSession()

Affects:
daily-js, react-native-daily-js
Status:
Deprecated
Description:

getMeetingSession() is now deprecated. Users should update their code to use the new and improved non-asynchronous meetingSessionSummary().

Removing properties from participants() method

Affects:
daily-js, react-native-daily-js
Status:
Deprecated
Description:

The following properties are deprecated: audioTrack, videoTrack, screenAudioTrack, screenVideoTrack. In their place, use the persistentTrack; for example, tracks.audio.persistentTrack. Also, the following properties are deprecated: audio, video, screen. In their place, use the track state; for example, tracks.audio.state. Lastly, cam_info and screen_info are deprecated and replaced by tracks.video.state and tracks.screenVideo.state.

Removing screen capture options for Electron

Affects:
daily-js
Status:
Deprecated
Description:

The screen capture options existed only for use in Electron apps. daily-js now provides custom track support and the ability to specify screen options through the startScreenShare() method.

Removing "output-byte-stream" and "rtp-tracks" recording types

Affects:
daily-js
Status:
Deprecated
Description:

The "output-byte-stream" and "rtp-tracks" recording types are superseded by "cloud" and "raw-tracks" recording types, respectively. They will be removed at a future date.