Today, if you're using
daily-js in call object mode, you may have noticed that certain bug fixes and updates are applied automatically to your client code, regardless of the version of
daily-js you're using. Sometimes, these dynamic updates can introduce slight changes to the behavior of the API.
We’ve received feedback from developers who are looking for more stability and want more control over when these fixes and updates end up in their client implementations.
So, starting in an upcoming version of
daily-js, bug fixes and updates will no longer be automatically applied to previous versions of
daily-js, reducing unexpected changes for users of our library.
Going forward, if you’re using a numbered version of
daily-js in call object mode, you will need to periodically update to the latest version in order to receive any of the latest fixes or improvements*.
If you're using
daily-js to embed Daily Prebuilt, there's no change; you'll continue to get the latest embedded Daily Prebuilt experience (though you might choose to regularly update
daily-js to take advantage of its latest API improvements*).
*Note: Daily commits to supporting previous
daily-js versions released up to 6 months ago, so you'll want to at least update to stay within that support window.
🚀 Allow setting an idle timeout for streaming
When a user switches to another tab, some browsers throttle the CPU and cause their stream to pause. Idle timeout logic on our worker will stop livestreams or recordings automatically in this scenario, so we now allow users to override this behaviour and let streams run on for a configurable time before timing out as idle.
Control this behaviour by setting the new key
minIdleTimeOutto a number of seconds in the DailyStreamingOptions object supplied to either the
startLivestreamingdaily-js methods. For example:
💻 Update streaming/recording APIs to allow specifying an
instanceId. This lays the groundwork for supporting multiple active recording and/or livestream instances per call. [Coming soon]
📷 Add new
selected-devices-updatedevent which will fire when
setOutputDeviceAsyncis called, to allow applications to respond to output device changes.
🐛 Bugfix: Allow
joined_atto be undefined, and prevent it from being set before it has a reasonable value. (Fixes Github issue #191).
- 💪 Includes all of the above changes!