Skip to content

Releases: livekit/client-sdk-android

v2.26.1

25 Jun 17:17
bf01057

Choose a tag to compare

Patch Changes

  • Fix audio output getting stuck on the earpiece after reconnecting on a reused Room (Android 12+). AudioSwitchHandler.stop() now clears its audioSwitch reference synchronously (and the field is @Volatile) so a subsequent start() reliably observes the teardown and re-creates the switch, instead of racing the posted teardown runnable and reusing a stale, already-stopped switch. - #967 (@YashJainSC)

  • Emit TrackSubscriptionFailed events through Room and RemoteParticipant when the server detects a subscription failure - #959 (@davidliu)

  • Clarified documentation regarding data stream receivers and errors - #965 (@davidliu)

v2.26.0

02 Jun 16:47
2f40d86

Choose a tag to compare

Minor Changes

  • Allow customizing maxRoundTripLatency on LocalParticipant.performRpc for high-latency networks - #953 (@1egoman)

  • Add support for RPC V2 - #946 (@1egoman)

Patch Changes

  • Change proguard rule for protobufs to official recommended rule, allowing unused protobuf classes to be removed with minification - #946 (@1egoman)

  • Increased max data packet size for LocalParticipant.publishData to 65535 bytes (64KB - 1) - #948 (@1egoman)

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)