Skip to content

Latest commit

 

History

History
470 lines (237 loc) · 25.3 KB

File metadata and controls

470 lines (237 loc) · 25.3 KB

client-sdk-android

2.23.5

Patch Changes

2.23.4

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)

2.23.3

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)

2.23.2

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)

2.23.1

Patch Changes

  • Fixed non-local return in onConnectionQuality that caused lost connection quality updates for remaining participants when one participant was not found in the list. - #817 (@adrian-niculescu)

  • Fixed impossible empty streams check in Room.onAddTrack that could crash if WebRTC called onAddTrack with an empty streams array. - #816 (@adrian-niculescu)

  • Improve thread-safety and reconnection reliability for hasPublished flag. - #814 (@adrian-niculescu)

  • Fixed ConcurrentModificationException in LocalAudioTrack.dispose() when sinks are registered. - #820 (@adrian-niculescu)

  • Fix LocalParticipant jobs map clean-up when unpublishing tracks. - #807 (@adrian-niculescu)

  • Fixed PeerConnectionTransport coroutine scope not being cancelled on close. - #818 (@adrian-niculescu)

  • Improve reconnection reliability by hardening state flags and synchronizing data channel receive state. - #806 (@adrian-niculescu)

  • Remove reference to internal OkHttp method - #811 (@davidliu)

  • Increase RTC negotiation reliability by dropping outdated sdp answers and forwarding offer ids - #813 (@davidliu)

  • Fixed ProGuard/R8 minification crash in release builds when using AgentAttributes. Added @Keep annotations to Klaxon-based data classes and updated ProGuard rules to prevent obfuscation of reflection-based JSON parsing classes. #808 - #809 (@adrian-niculescu)

  • Update WebRTC-SDK to 137.7151.05. - #824 (@davidliu)

    • Fixes echo cancellation and noise suppression failing to enable.
    • Fixes microphone not shutting off when muted.

2.23.0

Minor Changes

  • Change TokenSource.fetch methods to return Result to explicitly handle exceptions - #802 (@davidliu)

  • Add support for multiple listeners on AudioSwitchHandler - #802 (@davidliu)

  • Rename AgentState to AgentSdkState - #802 (@davidliu)

  • Deprecate Room.withPreconnectAudio method. - #802 (@davidliu)

    • Set AudioTrackPublishDefaults.preconnect = true on the RoomOptions instead to use the preconnect buffer.
  • Expose agentAttributes as a value on Participant - #802 (@davidliu)

  • Expose the server info of the currently connected server on Room - #802 (@davidliu)

Patch Changes

  • Fix crash when cleaning up local participant - #802 (@davidliu)

  • Fix crash when creating audio track for communication mode workaround - #805 (@davidliu)

2.22.1

Patch Changes

  • Fixed camera indicator remaining on after network disconnection by disposing orphaned tracks from failed reconnection attempts (#296) - #798 (@adrian-niculescu)

2.22.0

Minor Changes

Patch Changes

2.21.1

Patch Changes

2.21.0

Minor Changes

  • End to end encryption for data channels option - #762 (@davidliu)

    • Added EncryptionType fields to DataReceived events and StreamInfo objects to indicate the encryption status.
  • Add TokenSource implementation for use with token servers - #769 (@davidliu)

Patch Changes

  • Increase RPC method max roundtrip time to 7s - #775 (@davidliu)

2.20.3

Patch Changes

  • Switch to using header based auth bearer token - #770 (@davidliu)

2.20.2

Patch Changes

  • Remove unneeded suspend modifier from registerRpcMethod - #757 (@davidliu)

  • Fix crash when publishing disposed tracks - #758 (@davidliu)

  • Fix race condition when releasing Room object - #756 (@davidliu)

  • Fix VirtualBackgroundVideoProcessor not responding to changes in backgroundImage - #752 (@davidliu)

  • Ensure room is disconnected before releasing resources - #756 (@davidliu)

2.20.1

Patch Changes

  • Fix crash caused by extra simulcast layers equal to original resolution - #749 (@davidliu)

  • Wrap exceptions thrown in sendText and sendFile into Result - #749 (@davidliu)

2.20.0

Minor Changes

  • Update libwebrtc to 137.7151.03 - #742 (@davidliu)

  • Return streamInfo from datastream send helper methods - #741 (@davidliu)

  • Add simulcastLayers to VideoTrackPublishOptions for directly specifying the resolutions to use - #746 (@davidliu)

  • Add H265 as a supported codec - #742 (@davidliu)

Patch Changes

  • E2E reliability for data channels with resending after reconnects - #738 (@davidliu)

  • Fix default simulcast layers using a lower than intended resolution - #746 (@davidliu)

  • Properly use screenShareTrackPublishDefaults when manually publishing a screenshare track - #746 (@davidliu)

2.19.1

Patch Changes

  • Fixed ProGuard rules to keep JniInit class for WebRTC native registration (#735) - #736 (@adrian-niculescu)

2.19.0

Minor Changes

Patch Changes

  • Fix IllegalStateException when switchCamera of localVideoTrack - #725 (@binkos)

  • Make blurRadius in the VirtualBackgroundTransformer variable to allow for dynamically changing the value. - #731 (@binkos)

  • Add sendText and sendFile helper methods to LocalParticipant for ease of use - #732 (@davidliu)

  • Add default name of "unknown" for StreamByteOptions to allow for no-arg construction - #732 (@davidliu)

2.18.3

Patch Changes

  • Move audio handling to background thread to avoid UI freezes. - #715 (@davidliu)

2.18.2

Patch Changes

  • Properly return Result on ByteStreamSender convenience methods - #709 (@davidliu)

2.18.1

Patch Changes

  • Fix not being able to publish immediately after connecting - #706 (@davidliu)

2.18.0

Minor Changes

  • Refactor some internal data message sending methods to use Result instead of throwing Exceptions to - #703 (@davidliu) fix crashes.

2.17.1

Patch Changes

2.17.0

Minor Changes

  • Change isMicrophoneEnabled, isCameraEnabled, isScreenshareEnabled to FlowObservable variables - #685 (@davidliu)

Patch Changes

  • Fix switchCamera not working if the camera id is physical id - #676 (@KasemJaffer)

  • Fix sending pre-connect audio data when byte buffer has backing array - #678 (@davidliu)

  • Specify default values for StreamTextOptions and streamText - #688 (@davidliu)

2.16.0

Minor Changes

  • Unorder the lossy data channel - #665 (@bcherry)

  • Add pre-connect audio for use with agents - #666 (@davidliu)

    See Room.withPreconnectAudio for details.

  • CameraX: support for selecting cameras by their physical id - #668 (@KasemJaffer)

  • Add Participant.State and related events - #666 (@davidliu)

Patch Changes

2.15.0

Minor Changes

  • Add VirtualBackgroundVideoProcessor and track-processors package - #660 (@davidliu)

2.14.3

Patch Changes

2.14.2

Patch Changes

  • Fix CameraXSession not setting the target capture format correctly - #652 (@davidliu)

  • Improved handling of track publication failures by introducing a new TrackPublicationFailed event and fixing a broken state issue where the track remained active but inaccessible, causing the microphone or camera to stay on without a published track and leading to unreliable republishing. - #637 (@jeankruger)

2.14.1

Patch Changes

  • Fix ConcurrentModificationException in IncomingDataStreamManager - #642 (@davidliu)

  • Dedupe supported codecs to provide valid SDP - #643 (@davidliu)

2.14.0

Minor Changes

Patch Changes

  • Unpublish the screen sharing track on stop and introduce ScreenCaptureParams to be able to define the notification and set a callback for onStop - #626 (@jeankruger)

2.13.0

Minor Changes

Patch Changes

  • Fix publish deadlock when no response from server - #618 (@davidliu)

  • Add SCREEN_SHARE_AUDIO as a Track.Source.Type - #610 (@davidliu)

  • Surface canPublishSources, canUpdateMetadata, and canSubscribeMetrics on ParticipantPermission - #610 (@davidliu)

  • Fast fail attempts to publish without permissions - #618 (@davidliu)

2.12.3

Patch Changes

2.12.2

Patch Changes

2.12.1

Patch Changes

  • Fix documented default of preferredDeviceList in AudioSwitchHandler - #584 (@davidliu)

  • Allow access to participant field in ParticipantAttributesChanged event - #591 (@binkos)

2.12.0

Minor Changes

Patch Changes

  • Add publishDTMF method for Sending DTMF signals to SIP Participant - #576 (@dipak140)

2.11.1

Patch Changes

  • Fix maxFps not applying for very low framerates - #573 (@davidliu)

2.11.0

Minor Changes

  • Add use cases to CameraX createCameraProvider - #536 (@KasemJaffer)

  • Detect rotation for screenshare tracks - #552 (@davidliu)

  • Default to scaling and cropping camera output to fit desired dimensions - #558 (@davidliu)

    • This behavior may be turned off through the VideoCaptureParams.adaptOutputToDimensions
  • Add separate default capture/publish options for screenshare tracks - #552 (@davidliu)

Patch Changes

  • Add AudioPresets and increase default audio max bitrate to 48kbps - #551 (@davidliu)

  • Fix crash when setting publishing layers - #559 (@davidliu)

  • Added VideoFrameCapturer for pushing video frames directly - #538 (@davidliu)

  • Fix surface causing null pointer exception on some devices - #544 (@KasemJaffer)

  • Update Kotlin dependency to 1.9.25 - #552 (@davidliu)

2.10.0

Minor Changes

2.9.0

Minor Changes

  • Implement LocalAudioTrack.addSink to receive audio data from local mic - #516 (@davidliu)

  • Implement client metrics - #511 (@davidliu)

Patch Changes

2.8.1

Patch Changes

  • Fix local video tracks not rendering processed frames - #495 (@davidliu)

  • Add utility class NoDropVideoProcessor to force video processing while not connected - #495 (@davidliu)

  • More fixes for crashes caused by using disposed track - #497 (@davidliu)

2.8.0

Minor Changes

  • Implement LocalTrackSubscribed event - #489 (@davidliu)

  • Add first and last received times to TranscriptionSegment - #485 (@davidliu)

Patch Changes

  • More guarding of rtc api usages to prevent crashes - #488 (@davidliu)

2.7.1

Patch Changes

  • Noisily log when a VideoRenderer is used without initializing it first - #482 (@davidliu)

  • Fix NPE in RegionProvider when host can't be determined - #482 (@davidliu)