Features
- Add an API to expose local and remote participant audio levels. It work in both SFU or P2P modes while
v2CamAndMic
is enabled (which is the default setting in daily-js 0.49.0). See the documentation for more information: - Add
testNetworkConnectivity()
andabortTestNetworkConnectivity()
methods to daily-js. - Add
testConnectionQuality()
andstopTestConnectionQuality()
to daily-js. - Add audio stats to
DailyNetworkStats
returned fromgetNetworkStats()
. Today we have video stats and total stats (which takes audio into account) but do not provide specific audio stats. This release adds fieldsaudioRecvBitsPerSecond
,audioRecvPacketLoss
,audioSendBitsPerSecond
,audioSendPacketLoss
,worstAudioRecvPacketLoss
, andworstAudioSendPacketLoss
to the stats object, and includes improvements on how the packet loss calculations are done.
Bugfixes
- Fixed
eject_after_elapsed
type in tokenConfig fromboolean
to anumber
. - Fixed a permission issue which would occur when attempting to activate a wake lock from embedded Prebuilt.
- Fixed the return type of
getCpuLoadStats()
when the call is not in a joined state. - Fixed an issue where on occasion, a screenshare track state would get stuck in 'loading' and appear to be on locally and remotely after it was stopped.
Other improvements
v2CamAndMic
will be enabled by default in Call Object apps beginning with this release.- Reiterating from earlier release notes: We've implemented a complete refactor of our internal logic that deals with gathering and updating a client's local media (unmuting, changing devices, etc) in order to resolve a number of longstanding issues.
- This new logic has already rolled out to all Prebuilt users, and with this release it is becoming the default for Call Object usage, too.
- If you think you're facing issues as a result of this change, you can opt out of the new code path using
dailyConfig: { v2CamAndMic: false }
wherever you provide your call options. - Note that in an upcoming release (version to be determined) you will no longer be able to opt out, so please report any issues you believe may have been introduced.
- Allowed passing in
Array
s in addition toSet
s forcanSend
andcanAdmin
permissions in theupdateParticipant()
andupdateParticipants()
methods. - Added handling for additional URLs with
proxyUrl
. In particular, noise cancellation (powered by Krisp) is now supported when usingproxyUrl
. - Linter cleanup and general housekeeping.
- Redux dispatcher cleanup of unnecessary async calls and unused variables.
- Added additional log info for video-processors to includes the expected FPS.
- Removed workaround for
targetBitrate
issue targeting Chrome 117 or later, because it's no longer needed. - Added Brazilian Portuguese support to daily-js types for Daily Prebuilt configuration
- Marked
cam_info
,screen_info
, andDailyVideoElementInfo
as deprecated in the daily-js and react-native-daily-js type declaration files.