Releases: daily-co/daily-js
Releases · daily-co/daily-js
0.57.3
Bugfixes
- Fixed non-fatal error with Chrome version 121.
0.57.2
Bugfixes
- Fixed issues with
testConnectionQuality()
andtestPeerToPeerCallQuality()
on Firefox. These fixes also fixed missing data ingetNetworkStats()
on Firefox.
0.57.1
Bugfixes
- Fixed the Types returned by the new
testPeerToPeerCallQuality()
method.
0.57.0
Features
- 📣 ☎️ Introduced support for SIP/PSTN dial out. Check out the documentation here!
- Video processing is no longer beta 🎉
- Video processing is now supported on Safari.
- Introduced a new
local-screen-share-canceled
event to indicate when a user cancels out of the browser’s screen sharing dialog (only works on Chrome) - Added
availableOutgoingBitrate
togetNetworkStats()
and metrics ⚠️ DeprecatedtestConnectionQuality()
, renaming it totestPeerToPeerCallQuality()
in preparation for a new and preferred pre-call test function,testCallQuality()
. (testCallQuality()
is in pre-beta and not ready for public use.)
Bugfixes
- Fixed logging of duplicate call object detection to ensure it reaches the logging endpoint.
updateWaitingParticipants()
failures will no longer error out the meeting- Corrected TypeScript definition for
layout.participants
in streaming / recording - Fixed breakage in ability to run apps from file: URLs
- Corrected TypeScript definition for events to include
local-audio-level
andremote-participants-audio-level
events.
Other improvements
- Fixed npm packaging to correctly show the open source license (bsd-2)
- Updated “Something is amiss” fatal errors to be more informative
- Disabled overly sensitive
auto-shutoff-cam-processor-on-high-cpu
mechanism - Updated generic “Error during call” fatal errors to provide more informative messages about what actually went wrong
- Added estimated bandwidth capacity, bandwidth measurement, and averages along with other underlying improvements to the
testPeerToPeerCallQuality()
pre-call function. - Added support for providing custom background images to the video processor via an
ArrayBuffer
0.56.0
Features
- Switched to a new video background blur/background replacement system. There’s no change to the existing
updateInputsSettings()
API. - Added support for the new
auto_start_transcription
meeting token setting. - Added a
transcription-message
event, simplifying receiving transcriptions. Previously, the only way would be to listen forapp-message
events from the sender'transcription'
(this approach still works).
Bugfixes
- Fix some insecure
window.postMessage()
calls. - Fix bug breaking echo cancellation in Firefox >= 116.
Other improvements
- Added logging to allow better tracking of various join time actions.
⚠️ Breaking change: remove support for thedetect_language
transcription option, as it's not supported for real-time transcriptions. This change will require you to remove detect_language to use this version of daily-js.⚠️ Breaking change: remove daily-js-provided transcription settings defaults, instead relying on the transcription service’s defaults. This allows the users to set only the settings they need without interference from our default settings. This is useful, for example, in the case of the nova-2 model, where a user should only need to specify the model without having to specify anything else. Since this change may alter your exact transcription settings, please double-check transcription behavior when migrating to this version of daily-js.- Add support for
punctuate
andendpointing
transcription parameters. Also adding support for anextra
object which can be used to specify additional transcription properties. - Silence annoying console errors when you
leave()
ordestroy()
your call object before youjoin()
.
0.55.1
Bugfixes
- Fixed issue with
0.55.0
npm package missing artifacts, including the typeScript definition.
0.55.0
Features
- Return
transcriptId
in thetranscription-started
event.- This
transcriptId
can be used to query transcription via REST APIs.
- This
- Integrated Sentry for specific tracking of connection issues.
- Introduced the new method
meetingSessionSummary()
as a replacement forgetMeetingSession()
and eventmeeting-session-summary-updated
as a replacement formeeting-session-updated
.- These updates allow us to align the naming with other functionality, like
meetingSessionState()
as well as update the signatures to be more developer friendly. - Session summary info is now cached so that querying it is not an asynchronous operation and can be called at any time.
- If called prior to ever joining a call, it will return an empty object.
- If called after leaving but before any new call state updates (like preAuth'ing or joining a new call), it will return the previous session's summary.
- These updates allow us to align the naming with other functionality, like
- Deprecated
getMeetingSession()
in favor ofmeetingSessionSummary()
. - Deprecated
meeting-session-updated
in favor ofmeeting-session-summary-updated
.
Bugfixes
- Trigger the
transcription-error
event if a meeting is moved while transcribing. - Included the missing production environment in Sentry for tracking issues.
Other improvements
- Updated the name from
DailyIframe
toDaily
. - Improved the logic for triggering the
cpu-load-change
event based onscheduleDuration
.- It now requires multiple schedule duration misses before triggering the event.
- Implemented optimizations to remove redundant information from metrics.
- Removed functionalities that had been deprecated for over a year:
- Removed deprecated
setInputDevices()
; use replacementsetInputDevicesAsync()
. - Removed deprecated
setOutputDevice()
; use replacementsetOutputDeviceAsync()
.
- Removed deprecated
- Add missing error
type: 'ejected'
to the meeting error thrown when a room is deleted out from under a user. - Updated the
redact
transcription to supportArray<boolean>
. This allows[true]
as a valid value.
0.54.0
Features
- Added network round trip time to
getNetworkStats()
. SeenetworkRoundtripTime
andaverageNetworkRoundTripTime
in docs
Bugfixes
- Fixed missing per-stream metrics on latest Safari
- Fixed issue with automatic device switching (on plugging in a new headset, say) a custom track was previously being used
- Fixed various issues related to calling things like
sendAppMessage()
prior to joining a call by either performing no-ops or throwing an error to indicate the call was done too early rather than getting cryptic console errors likenull is not an object
- Fix some meeting move log messages.
- Fixed return type of
getCallInstance()
Other improvements
- Update metrics rid reporting to work on Safari and Firefox
- Changed logging message when requested track differed from preferred track on the SFU. Now we log both the preferred and the requested in the same log line.
- Upgraded dependencies to resolve security threats
0.53.0
Features
- Implemented the
byRemoteRequest off
reason for screen track representations in theparticipants()
objects.
Bugfixes
- Fixes on the client side to eliminate confusing logs & unnecessary calls to the server related to preferred received spatial layers.
- Fixed an occasional bug where after a meeting move a client could be stuck not hearing or seeing anyone.
- Fixed an issue causing outbound metrics to go missing after SFU reconnects.
Other improvements
- Added a log line indicating that a mediasoup video consumer started with a given preferred simulcast layer.
- The
updateInputSettings()
audio processor type ofnoise-cancellation
is now generally available. The console warning indicating that this feature is in beta has been removed. - Mark the
startTranscription()
detect_language
property as deprecated. - Mark the
setInputDevices()
andsetOutputDevice()
methods as deprecated. Replaced bysetInputDevicesAsync()
andsetOutputDeviceAsync()
, respectively. - Mark the
screenSimulcastEncodings
property as deprecated. Replaced by thesendSettings
DailyCallOption
. - Ease up a bit on the aggressive timeout when trying to start video processor.
- Lots of improvements to the metrics reported from the /logs endpoint, including:
- Added lots of new stats, like
roundTripTimeMax
/roundTripTimeMin
and all new LastValue stats for some metrics to report the most recent value. - Improved the
packetLoss
calculations to reportpacketLoss
more accurately. packetsLostPct
is deprecated and replaced bypacketLossPctAvg
.- New values have been added which provide a more information about packet loss:
packetLossPctMax
,packetLossPctMin
, andpacketLossPctLastValue
. - Improved accuracy of metrics around times when metrics aren't reported.
- Added lots of new stats, like
0.52.0
Features
- Added the ability to remotely stop a participant's screen share.
Bugfixes
- Fixed a bug in Windows where if your cam is in use by another app your mic track never becomes playable.
- Fixed an issue where
leave()
ordestroy()
would fail if called between aload()
and one ofstartCamera()
,preAuth()
, orjoin()
. - Worked around a Chromium bug where, when you had the default mic selected in Daily, changing the default mic through OS settings wouldn't result in your actual mic input changing.
- Fixed an issue where your mic could seemingly get stuck in the unmuted state when there was a dial-in participant.
- Fixed an issue where if a client selected their default microphone, we would store the specific device in a cookie and lose the “default” specifier, resulting in always preferring that specific device rather than the default. For example, we would save "MacBook Pro Microphone (Built-in)" instead of "Default - MacBook Pro Microphone (Built-in)".
- Fixed a Firefox issue where toggling your camera off and on would cause remote participants to only receive your lowest simulcast layer from then on.
- Fixed issue preventing admins with hidden presence from being able to mute or eject participants.
Other improvements
- Eliminated 2 internal calls to Daily servers during call join in order to decrease the time to join a call.