Releases: daily-co/daily-python
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_rateandcallback_interval_ms. Withsample_rateyou can now specify the desired sample rate of the incoming audio data. Withcallback_interval_msyou 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 aCustomAudioTrackinstead 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-pythoninstall 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
canReceivepermission, which involves:- Showing the proper track state (i.e.
"off", with"receivePermission"among the"offReasons") whencanReceivepermission is lacking for a remote track. - Resuming receiving remote tracks when previously-revoked
canReceivepermissions 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-python0.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.
v0.16.1
Fixed
- Fixed an issue that was preventing new virtual speakers to get selected.
v0.16.0
Added
- Added support for updating remote participants'
canReceivepermission via theupdate_remote_participants()method.
Fixed
- Fixed an issue where the ICE servers configured by the user were not being applied when creating the PeerConnection.
v0.15.0
Added
- Added support to automatically start a recording when joining a room if the
start_cloud_recordingtoken property is set toTrue.
Fixed
- Fixed an issue where reconnection would fail if the meeting token was no longer valid.