Releases: daily-co/daily-js
Releases · daily-co/daily-js
0.82.0
Features
- Added support for
startScreenSharing()
prior tojoin()
. Note: A call topreAuth()
orstartCamera()
is still required first to initialize state.
Bugfixes
- Fixed and improved error handling for
setOutputDeviceAsync()
. With this change,setOutputDevicesAsync()
will now throw an error if the call fails.
Other improvements
- Updated dependencies to resolve security vulnerabilities
- Bumped Krisp version to the latest with the latest models and added handling for CPU overload which can cause choppy voice output. This change will temporarily and silently pause audio processing while the CPU recovers. If the system continues to be overloaded, daily-js will eventually emit a
audio-processor-error
with anerrorMsg
of"Krisp error: system overload"
, turn off the processor, and mute the microphone.
0.81.0
Features
- Added
ignoreAudioLevel
parameter tostartCustomTrack
. When enabled, the SFU will exclude the track from participant audio level calculations. - Added a new
dialin-error
type:start-failed
.
Other improvements
- Updated
enumerateDevices()
to report errors only when significant, and added improved logging to trackenumerateDevices
timing.
0.80.0
Features
- Added support for join time permissions for the SIP/PSTN user.
Other improvements
- Removed the use of STUN from Xirsys.
- Updated packages to address security vulnerabilities.
0.79.0
Bugfixes
- Various fixes and improvements around handling Krisp errors.
Other improvements
- Removed a client-side limit on max_live_streams
- Disabled redux devtools
0.78.0
Bugfixes
- Various fixes to the ejection logic, where a user could be ejected at the wrong time if their local computer clock is off or join if the time resulted in the past.
⚠️ PLEASE NOTE: This means that if you were for some reason settingeject_after_elapsed
to a negative value, participants will no longer be allowed to join. - Starting in 0.72.0, on Chrome, providing an invalid
deviceId
foraudio
results inOverconstrainedError
s. This is continued fall out for handling Chrome's change in their handling ofdeviceId
- Fix for issue 261 where errors in Krisp initialization were getting unhandled and could cause issues when joining.
Other improvements
- Reverted the change that disabled background effects on Windows when software WebGL was in use. Instead, we now log a warning and introduced a new
fatal-error
type:video-processor-warning
for applications to determine best behavior. Please note that when this warning occurs, the expected behavior is for the user’s video frame rate to drop significantly. Docs to be added shortly here - Added
instanceId
to webhooks for raw tracks. - Removed the beta feature warning from
testCallQuality()
- Added a log around
enumerateDevices()
to identify any time it takes longer than expected. This primarily is for knowing when join times are affected on Firefox due to the tab not being in focus. - Improved the new
networkState
calculations, removingrecvPacketLoss
from the calculations for now as it is typically misleading.
0.77.0
Features
-
Added support for the new
canReceive
permission, which controls which tracks participants are permitted to receive from one another. Check out the docs forupdateParticipant()
and the participant properties for more information. -
Introduced two new fields to
getNetworkStats()
intended to replacethreshold
andquality
:networkState
: Will hold a value ofgood
,warning
,bad
, orunknown
to match the API oftestCallQuality()
and are based on packet loss, the available outgoing bitrate, and round trip times.networkStateReasons
: An array of strings stating which stats fields triggered thewarning
orbad
state. (If the state isgood
, the reasons will be empty or undefined).
See the docs for
getNetworkStats()
and thenetwork-quality-change
event for more information. -
‡ Added support for setting the
callerId
when usingsipCallTransfer()
to transfer a call to a PSTN number
Bugfixes
- Fixed broken
proxyUrl
support
Other improvements
- Disabled background effects for Windows browsers without hardware graphics acceleration. This is already the behavior on other platforms, but Windows would continue to attempt to apply affects at the cost of video frame rates.
- Updated packages to resolve security vulnerabilities
- ‡ Removed
recordings_bucket
details from the return ofroom()
. This field will now be simply set totrue
if a custom bucket is in use.
‡ These features depend on a server-side release expected to go out 4/2/25
0.76.0
Features
- Upgraded noise cancellation library, Krisp, to latest version (v2.2.1)
Bugfixes
- Fixed an issue introduced in 0.75.0 where switching from a custom track back to a daily managed track using
setInputDevicesAsync()
did not work. - Fixed iceTransportPolicy property being ignored in versions 0.73.0-0.75.0.
Other improvements
- Added missing
enable_dialout
field toDailyRoomInfo
in typescript definitions.
0.75.2
Bugfixes
- Fixed an issue that would cause the system to get a new video track unnecessarily.
0.75.1
Bugfixes
- Fixed issues preventing default video constraints from being applied.
- Removed benign console error that would occur if
setInputSettingsAsync()
was called with anull
deviceId
.
0.75.0
Features
- The
Participant
payload’sparticipantType
now reportssip-dial-in
,sip-dial-out
,pstn-dial-in
andpstn-dial-out
for participants connected via dial-in/out. - Added a new streaming config to support audio-only recording for raw-tracks;
raw-tracks-audio-only
. Note: When choosing this layout, you can not switch from audio-only to audio+video. A new recording would be required. - daily-js now supports using
updateInputSettings()
to dynamically customize track constraints. This change deprecates advanced call property optionsuserMediaAudioConstraints
anduserMediaVideoConstraints
as well as thetrackConstraints
option insetBandwidth()
. See docs for details (will be updated shortly)
Bugfixes
- Fixed Issue #39:
ondevicechange
not defined on some systems - Fixed issues surrounding
track-started
/track-stopped
events where you could end up with both extra events as well as false positivetrack-started
events when muting the camera and microphone back-to-back. - Fixed an issue with Krisp where we were not properly handling exception thrown on setup
- Fixes an issue with custom tracks where a
track-stopped
event would not be emitted ifstop()
is called on the track beforesetLocalVideo(false)
Other improvements
- Updated internal REST apis to use native utilities for performing the requests
- Updated Banuba video processing library.
- Previously, if a
track-stopped
event was triggered due to a participant leaving, the event would not include the participant info for the left participant. These events now include the last known info for that participant.