March 19, 2024
Overview
The latest releases include the following highlights:
daily-android
adds camera zoom and flashlight control and custom tracks are now generally available.daily-ios
adds new custom track methods and custom tracks are now generally available.daily-python
now supports native Voice Activity Detection (VAD) to enable building voice AI applications.- Two new participant webhooks are added, indicating when a participant joins and leaves a session.
daily-js
0.60.0
Highlights
- If you're using Daily to dial out from your calls, you can now specify the
displayName
. - We fixed an issue where base64 data URLs were failing when used in
updateInputSettings()
. - We've added the ability to disable the microphone when it's muted using a new
forceDiscardTrack
option forsetLocalAudio(false)
. This option will enforce Daily to discard the track along with muting the mic. Doing so will have the effect of turning off mic-in-use indicators. While this sounds ideal, this flag should be used cautiously. By default, we do not discard the microphone track because unmuting requires re-fetching the track and introduces a delay that likely clips the start of someone talking. Popular web based video calling services do not use this. We've added this capability for use cases where users are connected to a Daily session for a very long time and they aren't speaking (e.g. a virtual work or office).
Release notes
For more information, check out the release notes.
react-native-daily-js
0.58.0
Highlights
- If you're using Daily to dial out from your calls, you can now specify the
displayName
. - We've added the ability to disable the microphone when it's muted using a new
forceDiscardTrack
option forsetLocalAudio(false)
. This option will enforce Daily to discard the track along with muting the mic. Doing so will have the effect of turning off mic-in-use indicators. While this sounds ideal, this flag should be used cautiously. By default, we do not discard the microphone track because unmuting requires re-fetching the track and introduces a delay that likely clips the start of someone talking. Popular web based video calling services do not use this. We've added this capability for use cases where users are connected to a Daily session for a very long time and they aren't speaking (e.g. a virtual work or office).
Release notes
For more information, check out the release notes.
daily-android
0.17.0
Zoom and flashlight controls
daily-android
now provides native controls to turn on the flashlight (introduced in 0.16.0) and control the camera zoom. You can control both using the updateInputs()
method. We've also provided convenience methods making it easier to control the camera and flashlight:
- Camera zoom control convenience method:
CallClient.setCameraZoom()
- Flashlight control convenience method:
CallClient.setCameraTorch()
Release notes
For more information, check out the release notes.
0.16.0
Custom tracks are now GA
Custom tracks for daily-android
are now generally available. In this first GA release, here are the highlights:
CallClient.beta.addCustomVideoTrack()
has been deprecated, in favor ofCallClient.addCustomVideoTrack()
.- We've added the ability to remove and update custom tracks, using
CallClient.updateCustomVideoTrack()
andCallClient.removeCustomVideoTrack()
.
HIPAA: User analytics improvements
For customers with HIPAA compliance enabled for their account, you can now set a user's user_id
to a UUID using a meeting token. Since this UUID doesn't contain and PHI or PII, it can be stored by Daily. Using this UUID, you can map between the Daily call and tracking you have for that individual to provide better troubleshooting support, usage tracking, and analytics. You can read more about this in our docs.
Release notes
For more information, check out the release notes.
daily-ios
0.17.0
Added
- Add support for an
audio-only
recording layout preset. - Add transcription management features:
- New
CallClient
methods: - New delegate methods:
callClient(_:transcriptionStarted:)
callClient(_:transcriptionStoppedBy:)
callClient(_:transcriptionError:)
- New
- Add
rawResponse
field toTranscriptionMessage
. It's included ifincludeRawResponse
was specified when starting the transcription
Fixed
- Fixed an issue that could cause join to fail if recording/transcription/live stream was started from the REST API.
Release notes
For more information, check out the release notes.
0.16.0
Custom tracks are now GA
Custom tracks for daily-ios
are now generally available. In this first GA release, here are the highlights:
- We've added the ability to add, remove, and update custom tracks, using:
HIPAA: User analytics improvements
For customers with HIPAA compliance enabled for their account, you can now set a user's user_id
to a UUID using a meeting token. Since this UUID doesn't contain and PHI or PII, it can be stored by Daily. Using this UUID, you can map between the Daily call and tracking you have for that individual to provide better troubleshooting support, usage tracking, and analytics. You can read more about this in our docs.
Release notes
For more information, check out the release notes.
daily-python
0.7.0, 0.7.1
Voice Activity Detection (VAD)
daily-python
now includes built-in voice activity detection (VAD). This advanced feature enhances applications by accurately identifying when human speech is occurring, making it particularly beneficial in noise-rich environments. VAD is pivotal for developers building voice integrations with Large Language Model (LLM) agents, ensuring seamless and efficient interactions by initiating processing only when actual speech is detected.
Completion callbacks change
⚠️ Breaking change ⚠️: Completion callbacks now receive only the necessary arguments. For example, before CallClient.leave(completion=...)
completion callback would receive (None, Error | None)
arguments when it should only receive (Error | None)
. Check out the release notes for more information.
Release notes
For more information, check out the release notes.
daily-react
0.17.3
- Fixed an issue where
useTranscription()
returnedisTranscribing: true
after a meeting ended. - Fixed an issue where
useActiveSpeakerId()
unnecessarily initialized its state withnull
, when an active speaker id was already present. - Fixed an issue where
useAudioLevel()
broke echo cancellation in Firefox, due to unintentionally playing out an audio track when it was meant to be analyzed only.
Daily Prebuilt
Improvements and fixes
- Mobile users now see higher resolution and frame rate for the active speaker on page one.
- Fixed an infrequent issue where it was possible to encounter a CORS error when trying to join a call.
- Fixed an issue where some Safari users would see translation keys instead of text in the UI.
- Fixed an issue on mobile where Daily Prebuilt would render a custom button light mode icon when the device was in dark mode.
- Fixed an issue where after applying a custom virtual background and switching to "None", Daily Prebuilt still applied the original custom background when the page refreshes.
Features and improvements
Media Services
Batch Processor
- Added Swedish language support.
Dial-in & Dial-out
- Added verified caller IDs for outbound calls.
Webhooks
- Added two new webhooks events:
participant.joined
andparticipant.left
- Added a new retry configuration for webhooks. You now have the option for: 1) a circuit breaker, 2) exponential retry per message.
- Added support to provide an HMAC to the
'POST /webhooks'
and'POST /webhooks/:id'
endpoints, instead of using an on-demand generated secret.
Additional
- The oldest supported version of
daily-js
is now 0.51.0.