Releases: daily-co/daily-python
v0.19.5
Added
- It is now possible to set a logging interval when creating an audio or video renderer. This is useful to check if the renderers are being called correctly (specially on startup). By default, the interval is set to 10 seconds but can be changed using the
logging_interval_ms
argument. Note that these logs are only visible when setting the environment variableRUST_LOG=debug
.
Fixed
- Fixed an issue where the newly introduce
Daily.set_log_level()
was only setting the log level in debug builds.
v0.19.4
Added
- Added
Daily.set_log_level()
as well as a newlog_level
argument toDaily.init()
. The available log levels are:LogLevel.Off
,LogLevel.Error
,LogLevel.Warn
,LogLevel.Info
,LogLevel.Debug
,LogLevel.Trace
.
v0.19.3
Added
- Added option to ignore audio level when creating a custom audio track.
v0.19.2
Fixed
- Fixed an issue where an audio source could cause a segmentation fault on application exit if audio was still being written.
v0.19.1
Fixed
-
Fixed an audio renderer issue that would cause garbled audio if remote audio was stereo.
-
Handle meeting session ID changes which occur once the session has started.
v0.19.0
Added
- Added a new
CustomAudioTrack
. This new track can be used as an additional custom audio track (i.e. with custom names) or as the main microphone track.
audio_source = CustomAudioSource(...)
audio_track = CustomAudioTrack(audio_source)
client.join("YOUR_DAILY_ROOM", client_settings={
"inputs": {
"microphone": {
"isEnabled": True,
"settings": {
"customTrack": {
"id": audio_track.id
}
}
}
}
})
-
Added support for
CallClient.start_dialout()
new fields:displayName
,userId
,video
,codecs
, andpermissions
. -
CallClient.set_audio_renderer()
can receive two additional arguments:sample_rate
andcallback_interval_ms
. Withsample_rate
you can now specify the desired sample rate of the incoming audio data. Withcallback_interval_ms
you can control how often the provided callback is called (with 10ms intervals).
Changed
-
CallClient.add_custom_audio_track()
andCallClient.update_custom_audio_track()
now receive aCustomAudioTrack
instead of aCustomAudioSource
. -
System certificates are now loaded on macOS, Linux and Windows platforms instead of the embedded Mozilla's root certificates.
Fixed
- Fixed an issue that would cause a blocking virtual microphone to not send any audio in some cases.
v0.18.2
Fixed
-
Fixed
daily-python
install issue on macOS < 15.0. -
Fixed
CallClient.remove_custom_track()
type hints.
v0.18.1
Fixed
-
Fixed an issue that would cause virtual microphones to not call the completion callbacks in some situations.
-
Retrying multiple times to open the signalling channel during the join.
-
Alternate websocket URI format to avoid connection issues potentially caused by ISPs.
v0.18.0
Added
-
It is now possible to create custom audio tracks with
CallClient.add_custom_audio_track()
. The custom audio tracks need a custom audio source which can be created withCustomAudioSource()
. You can also update an existing custom track with a new audio source withCallClient.update_custom_audio_track()
or remove and existing custom track withCallClient.remove_custom_audio_track()
. -
Support the new
canReceive
permission, which involves:- Showing the proper track state (i.e.
"off"
, with"receivePermission"
among the"offReasons"
) whencanReceive
permission is lacking for a remote track. - Resuming receiving remote tracks when previously-revoked
canReceive
permissions have been restored.
- Showing the proper track state (i.e.
Changed
-
Error messages "no subscription for consumer" and "Failed to close consumer" are now logged as debug messages since they can be caused by a remote participant simply disconnecting which is a valid and common case.
-
Audio (
CallClient.set_audio_renderer()
) and video (CallClient.set_video_renderer()
) renderers callbacks now receive the audio and video source as the last argument.
v0.17.0
Fixed
daily-python
0.16.x was compiled with glibc 2.35, which prevented installing it on systems with an older glibc version. This release goes back to glibc 2.28.