Skip to content

Releases: livekit/client-sdk-android

v2.25.3

18 May 17:08
701d548

Choose a tag to compare

Patch Changes

  • docs(audio): clarify that AudioSwitchHandler.selectDevice() is sticky and overrides preferredDeviceList. Document that callers who only need a different priority order should set preferredDeviceList instead, and that selectDevice(null) clears a sticky selection. - #941 (@daxiondi)

  • Update libwebrtc to 144.7559.05 - #936 (@davidliu)

  • fix: resume joinContinuation when LEAVE received during reconnect handshake to avoid reconnection loop hanging issue - #934 (@YashJainSC)

  • Fixed silent loss of reliable data when DataChannel.send returned false and when buffered items were replayed across multiple resumes. - #921 (@adrian-niculescu)

  • Fix byte streams not sending the name of the bytestream - #939 (@davidliu)

  • Update AudioSwitch to handle potential exception when unregistering audio device listeners - #944 (@davidliu)

v2.25.2

05 May 17:07
0706179

Choose a tag to compare

Patch Changes

  • Fix Room.connect not properly throwing ConnectException for websocket connection failures during Room.join() - #926 (@davidliu)

  • Fix reconnect potentially getting cancelled by websocket failure - #926 (@davidliu)

  • Fixed RTCEngine.addTrack leaking pendingTrackResolvers entries on timeout or caller cancellation, which previously caused subsequent publishes of the same track to fail with DuplicateTrackException until the connection was torn down. - #920 (@adrian-niculescu)

  • Fix exception when resending data channel messages after a resume - #923 (@davidliu)

v2.25.1

28 Apr 12:54
ba0bb22

Choose a tag to compare

Patch Changes

  • Add convenience constructor to E2EEOptions for shared key encryption - #917 (@davidliu)

v2.25.0

27 Apr 07:21
ea820ae

Choose a tag to compare

Minor Changes

  • AudioOptions: Added disableAudioPrewarming flag - #912 (@davidliu)

Patch Changes

  • Fix potential leak for StreamSender caused by exceptions - #913 (@davidliu)

  • Update audio handling to use AudioManager communication device APIs on S and above - #910 (@davidliu)

  • Rethrow cancellation exceptions for coroutines - #913 (@davidliu)

  • Implement changing preferred audio device list on AudioSwitchHandler mid-call - #910 (@davidliu)

v2.24.1

31 Mar 14:31
1f6df41

Choose a tag to compare

Patch Changes

  • Fix LocalParticipant.publishData throwing exception for packets over 15KB - #902 (@xianshijing-lk)

v2.24.0

23 Mar 13:23
eec7b7a

Choose a tag to compare

Minor Changes

Patch Changes

  • Fix resume not working sometimes after connection loss/gain - #894 (@davidliu)

  • Fix transcription attributes not converting correctly - #889 (@davidliu)

  • Specifically keep native libwebrtc methods from being obfuscated - #893 (@davidliu)

  • Properly cancel jobs awaiting on DataChannel low buffer instead of completing on dispose - #897 (@davidliu)

  • Fix exception not being caught when using LocalParticipant.publishData - #897 (@davidliu)

v2.23.5

24 Feb 10:12
25451cf

Choose a tag to compare

Patch Changes

v2.23.4

16 Feb 12:55
0163556

Choose a tag to compare

Patch Changes

  • Make selfie segmenter work better - #861 (@Deneath)

  • Ensure child jobs are cleaned up on ICE reconnect timeout - #870 (@davidliu)

  • Cancel websocket when join coroutine is cancelled - #871 (@davidliu)

  • Concurrency fixes for SignalClient connection - #871 (@davidliu)

v2.23.3

27 Jan 11:38
9d249c7

Choose a tag to compare

Patch Changes

  • Optimised connection params building - #852 (@pulakdp)

  • Fixed ScreenCaptureConnection suspending forever when bindService fails and crashing when resuming canceled continuations. - #838 (@adrian-niculescu)

  • Migrate from Klaxon decoding to kotlinx-serialization for AgentAttribute deserialization - #851 (@davidliu)

  • perf: Skip Klaxon parsing for empty agent attribute maps - #849 (@YashJainSC)

v2.23.2

13 Jan 07:54
08a2954

Choose a tag to compare

Patch Changes

  • Fix exception when parsing AgentAttribute inputs and outputs - #847 (@davidliu)

  • Properly reset network callback manager after disconnect - #841 (@davidliu)

  • Fixed audio focus not being abandoned on pre-O devices due to mismatched listener instance. - #837 (@adrian-niculescu)

  • Fixed file descriptor leak in ByteStreamSender where Source was not closed after reading. - #839 (@adrian-niculescu)

  • Fixed data race in CameraEventsDispatchHandler by using CopyOnWriteArraySet for thread-safe iteration. - #822 (@adrian-niculescu)

  • Fixed Room getting stuck in CONNECTING state after failed connect attempts. - #836 (@adrian-niculescu)

  • Fix thread visibility issues in SignalClient that could cause messages to be silently dropped. - #819 (@adrian-niculescu)

  • Fix race condition when sending sync state before tracks are subscribed - #831 (@davidliu)

  • Don't throw on invalid values for Agent enum types - #847 (@davidliu)

  • Add overload for TokenSource.fromEndpoint that accepts a string for the url - #844 (@davidliu)

  • Fixed screen sharing with VP9/AV1 codecs - #828 (@pblazej)

  • Proguard rule optimizations - #803 (@davidliu)