From 82ec8ec6106eba4a243d9963b677b44c88ae3e89 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 16 Sep 2026 21:08:06 +0000 Subject: [PATCH] v2.29.0 --- .changeset/data-tracks.md | 19 ------------- .changeset/fix-data-track-stream-end-race.md | 5 ---- .changeset/idempotent-add-simulcast-track.md | 5 ---- .changeset/keep-jna-for-data-tracks.md | 5 ---- CHANGELOG.md | 28 ++++++++++++++++++++ README.md | 4 +-- gradle.properties | 2 +- package.json | 2 +- 8 files changed, 32 insertions(+), 38 deletions(-) delete mode 100644 .changeset/data-tracks.md delete mode 100644 .changeset/fix-data-track-stream-end-race.md delete mode 100644 .changeset/idempotent-add-simulcast-track.md delete mode 100644 .changeset/keep-jna-for-data-tracks.md diff --git a/.changeset/data-tracks.md b/.changeset/data-tracks.md deleted file mode 100644 index 6642b054..00000000 --- a/.changeset/data-tracks.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -"client-sdk-android": minor ---- - -Add data tracks, a named channel for streaming structured frames to a room. - -Publish with `LocalParticipant.publishDataTrack` (or `withDataTrack` to scope a publication to a -block), then push frames with `LocalDataTrack.tryPush` or `send`. Subscribers find published tracks -through `RemoteParticipant.dataTracks` or the new `RoomEvent.DataTrackPublished` / -`DataTrackUnpublished` events, and call `RemoteDataTrack.subscribe` for a `DataTrackStream` of -incoming frames. - -Frame formats are declared through `DataTrackPublishOptions` using `DataTrackFrameEncoding` -(protobuf, flatbuffer, CDR, ROS 1, CBOR, msgpack, JSON), and schema definitions can be shared -with `LocalParticipant.defineSchema` / `getSchema`. Frames are end-to-end encrypted when E2EE -is enabled on the room. - -This adds a dependency on `io.livekit:livekit-uniffi-android`, containing the shared Rust core also -used by the other native SDKs. diff --git a/.changeset/fix-data-track-stream-end-race.md b/.changeset/fix-data-track-stream-end-race.md deleted file mode 100644 index 3a4756eb..00000000 --- a/.changeset/fix-data-track-stream-end-race.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"client-sdk-android": patch ---- - -Fixed `DataTrackStream.flow` sometimes completing without delivering the frames that arrived just before the stream ended. diff --git a/.changeset/idempotent-add-simulcast-track.md b/.changeset/idempotent-add-simulcast-track.md deleted file mode 100644 index 6a429e99..00000000 --- a/.changeset/idempotent-add-simulcast-track.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"client-sdk-android": patch ---- - -Fix crash when a duplicate SubscribedQualityUpdate requests a backup codec that is already added. addSimulcastTrack now skips the duplicate instead of throwing IllegalStateException ("VP8 already added!"), matching the JS SDK behavior. diff --git a/.changeset/keep-jna-for-data-tracks.md b/.changeset/keep-jna-for-data-tracks.md deleted file mode 100644 index 0ac3e683..00000000 --- a/.changeset/keep-jna-for-data-tracks.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"client-sdk-android": patch ---- - -Fixed data tracks failing to load in apps minified with R8. diff --git a/CHANGELOG.md b/CHANGELOG.md index 836c42b3..c30cf326 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,33 @@ # client-sdk-android +## 2.29.0 + +### Minor Changes + +- Add data tracks, a named channel for streaming structured frames to a room. - [#1004](https://github.com/livekit/client-sdk-android/pull/1004) ([@davidliu](https://github.com/davidliu)) + + Publish with `LocalParticipant.publishDataTrack` (or `withDataTrack` to scope a publication to a + block), then push frames with `LocalDataTrack.tryPush` or `send`. Subscribers find published tracks + through `RemoteParticipant.dataTracks` or the new `RoomEvent.DataTrackPublished` / + `DataTrackUnpublished` events, and call `RemoteDataTrack.subscribe` for a `DataTrackStream` of + incoming frames. + + Frame formats are declared through `DataTrackPublishOptions` using `DataTrackFrameEncoding` + (protobuf, flatbuffer, CDR, ROS 1, CBOR, msgpack, JSON), and schema definitions can be shared + with `LocalParticipant.defineSchema` / `getSchema`. Frames are end-to-end encrypted when E2EE + is enabled on the room. + + This adds a dependency on `io.livekit:livekit-uniffi-android`, containing the shared Rust core also + used by the other native SDKs. + +### Patch Changes + +- Fixed `DataTrackStream.flow` sometimes completing without delivering the frames that arrived just before the stream ended. - [#1025](https://github.com/livekit/client-sdk-android/pull/1025) ([@adrian-niculescu](https://github.com/adrian-niculescu)) + +- Fix crash when a duplicate SubscribedQualityUpdate requests a backup codec that is already added. addSimulcastTrack now skips the duplicate instead of throwing IllegalStateException ("VP8 already added!"), matching the JS SDK behavior. - [#1010](https://github.com/livekit/client-sdk-android/pull/1010) ([@davibittencourtome](https://github.com/davibittencourtome)) + +- Fixed data tracks failing to load in apps minified with R8. - [#1023](https://github.com/livekit/client-sdk-android/pull/1023) ([@adrian-niculescu](https://github.com/adrian-niculescu)) + ## 2.28.2 ### Patch Changes diff --git a/README.md b/README.md index 8de95027..05d61f87 100644 --- a/README.md +++ b/README.md @@ -84,7 +84,7 @@ LiveKit for Android is available as a Maven package. ```groovy title="build.gradle" ... dependencies { - def livekit_version = "2.28.2" + def livekit_version = "2.29.0" implementation "io.livekit:livekit-android:$livekit_version" @@ -95,7 +95,7 @@ dependencies { implementation "io.livekit:livekit-android-track-processors:$livekit_version" // Snapshots of the latest development version are available at: - // implementation "io.livekit:livekit-android:2.28.3-SNAPSHOT" + // implementation "io.livekit:livekit-android:2.29.1-SNAPSHOT" } ``` diff --git a/gradle.properties b/gradle.properties index 6e6bc304..45270d56 100644 --- a/gradle.properties +++ b/gradle.properties @@ -33,7 +33,7 @@ kapt.use.worker.api=true ############################################################### GROUP=io.livekit -VERSION_NAME=2.28.2 +VERSION_NAME=2.29.0 POM_DESCRIPTION=LiveKit Android SDK, WebRTC Rooms diff --git a/package.json b/package.json index 0702dc44..da061865 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "client-sdk-android", - "version": "2.28.2", + "version": "2.29.0", "repository": "https://github.com/livekit/client-sdk-android.git", "license": "Apache License 2.0", "private": true,