Releases: daily-co/daily-js
Releases · daily-co/daily-js
0.74.0
Bugfixes 🎊
- Fix Krisp error handling.
- New error message when attempting to enable Krisp in unsupported browser.
- Fix bad logic around determining support for audio processing in Safari.
- Better handling for errors
testCallQuality()
.
Other improvements 🎉
- No longer warn in logs when using Adaptive Bitrate. Adaptive Bitrate is a good thing.
- Add
sessionId
to thedialin-*
events (to be similar todialout-*
events).
0.73.0
Features 🎃
- Added a new
visualState
option forcustomTrayButtons
in embedded Prebuilt. For details on how to use this feature, see thecustomTrayButtons
properties documentation. - Introduces client-side support for the pre-beta feature of automatic recover of recordings and streaming during a meeting move. If interested in helping us test this feature, reach out to help@daily.co for how to enable it on your domain.
Bugfixes 🧟
- Fixed a timing issue where a call to
leave()
might be ignored if it was called too soon after the call tojoin()
- Fixed an issue introduced with Chrome 129 where Chrome began throwing
OverConstrained
errors if thedeviceId
did not match an existing device and would ignore thedeviceId
if it wasn’t set asexact
- For Safari 17.0-17.3, fixed an issue where these versions would report the ability to support audio processing when in reality they did not.
- Fixed an issue where resources were loaded from Daily's QA server if the request was made after a call to
startCamera()
without providing a url and beforejoin()
orpreAuth()
.
Other improvements 👻
- Updated dependencies, including Sentry, to resolve security vulnerabilities. Note: the Sentry upgrade required a change to how we use Sentry. Our usage should not interfere or bleed into customer Sentry and visa versa. Please reach out to help@daily.co if you see otherwise.
- Changed logging surrounding
updateParticipant(s)()
failures to only log as errors when the failure is due to permissions or some other error and not because the participant was not recognized. These failures are red herrings and inconsequential. Read: You should see far fewerupdate can't be applied
errors in your dashboard logs 🙂 - Removed old device handling logic. If you were still using the
v2CamAndMic
flag, this flag is now a no-op and all clients are on v2. - Fixed an issue where the
callQualityTest()
would fail if the user's local clock was behind the server's by more than a minute.
0.72.2
Bugfixes
- Fix: Fixed an issue where resources were loaded from Daily's QA server if the request was made after a call to startCamera() without providing a url and before join() or preAuth().
0.72.1
Bugfixes
- Fixed an issue where a call to leave immediately after join can be ignored
- Fixed Chrome 129 issue in case we were receiving invalid deviceId
0.72.0
Bugfixes
- Fixed the camera zoom issue that occurred in Portrait mode specifically when using Chrome or within a webview on iOS 16.
- Fixed issue in Chrome 129 that could prevent some users from changing microphone and camera devices.
0.71.2
Features
- Implemented a new ability to transcribe a subset of participants along with the ability to initiate multiple simultaneous transcription. This opens up transcription to work with use cases like breakout rooms or spatial applications where you only want to transcribe participants in the same vicinity. All transcriptions are now associated with an
instanceId
much like recordings or streamings with the ability to callupdateTranscription()
for changing the list of participants that should be transcribed. For more information, check out our updated guide. startDialOut()
now supports setting auserId
that gets associated with all dial out events- Added a new
test-completed
event that gets emitted whenever a pre-join test has completed, providing a way for accessing the results asynchronously. This also provides a way for Daily Prebuilt customers to access the results of the call quality test that gets run as part of its prejoin UI. Check out the docs for more info.
Bugfixes
- Fixed issue on older Safari (< 17) where
supportedBrowser()
would incorrectly claim support for video processing. - Fixed issue with background processing where the raw background would appear for a brief moment when switching between backgrounds.
Other improvements
- Added support for AppleWebKit/605.1.15 user agent
- Improved the logging surrounding Krisp initialization errors
0.70.0
Features
- Support for multiple simultaneous call client instances is now in beta. For more information, check out our new guide.
- Improve noise cancellation (specified via
updateInputSettings()
or theinputSettings
call property) and make it available on desktop and mobile Safari. - Added a
networkThreshold
property tocall.participants()
objects and related events (e.g.participant-updated
, etc.), showing their network quality. - (Prebuilt only) Added support for new
enable_shared_chat_history
domain and room properties, which controls whether newly-joined participants can see chat history from before they joined.
Bugfixes
- Fixed a TypeScript type definition.
0.69.0
Features
- Added Danish language support to Prebuilt.
- Allow users to override
userMediaAudioConstraints
when using Prebuilt.
Bugfixes
- Fixed an issue in Chrome 127 where the video was freezing when applying background effects.
0.68.0
Features
- New getter methods
isLocalAudioLevelObserverRunning()
andisRemoteAudioLevelObserverRunning()
- Exposing custom SIP headers received during the connection within the
dialin connected
event.
Bugfixes
- Updated console deprecation warning for
testConnectionQuality()
to point to daily's preferred alternative oftestCallQuality()
. - Fixed participant track types for better support of custom tracks.
- Fixed a Chrome issue where a squared resolution could result in incorrect scaling or cropping when applying background effects.
Other improvements
- Added logs for owners receiving waiting participant requests, updates and removals.
- Updated dependencies to fix package vulnerabilities.
- Updated cookies to follow the new CHIPS (Cookies Having Independent Partitioned State) guidelines and 3rd party restrictions. More details here.
- Improved internals of
testCallQuality()
so that the test's server connections better match what is expected to be in use during the actual call.
0.67.0
Features
- Added pre-beta support for using multiple call instances at once. As this is an atypical use case, you must opt in by setting
allowMultipleCallInstances
totrue
in your Daily constructor properties.- Note: If you were previously getting around this by setting
strictMode
tofalse
, please update to use the new flag.strictMode
for this purpose is now deprecated and in a future release it will no longer allow you to have multiple call instances. - This feature is not yet documented. For more information, contact help@daily.co.
- Note: If you were previously getting around this by setting
- Introduced
testCallQuality()
as the new, preferred method for testing a client’s network connection prior to joining a call. This function replaces the prior functiontestConnectionQuality()
and is preferred over the existingtestPeerToPeerCallQuality()
as it performs a complete call under the hood with self-generated video. Check out the docs for more information. Also seestopTestCallQuality
for the corresponding way of ending the test early.
Bugfixes
- Fixed a Firefox issue where toggling your camera off and on could cause remote participants to not receive the video from the participant.
- Fixed an issue with array-type validation inside the iFrame properties.
- Fixed an issue where an iOS 16 user receiving a GSM phone call (e.g. from a landline) while on a Daily call would not hear the other participants after declining the phone call.
- Fixed issue with old daily-js embedding the latest prebuilt and the message handling in between.
Other improvements
- Daily objects like
store
are no longer placed on the window and no longer conflict with other libraries. - Promoted the previously private
_callFrameId
to a primary attribute of theDailyCall
instance in thedaily-js
library and renamed it tocallClientId
. This field, which uniquely identifies each call instance, is now included in the payload of alldaily-js
events.