diff --git a/.changeset/refresh-subscribed-codecs-after-publisher-answer.md b/.changeset/refresh-subscribed-codecs-after-publisher-answer.md deleted file mode 100644 index 9ee47c66e..000000000 --- a/.changeset/refresh-subscribed-codecs-after-publisher-answer.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"client-sdk-android": patch ---- - -Keep dynacast-paused simulcast layers paused across publisher renegotiations. Previously a paused layer started to upload again after any renegotiation of the publisher connection. Publishing a track, unpublishing one, a codec change, and an ICE restart all caused this. With servers before v1.13.8, the layer stayed on until the next subscribed-quality change. Newer servers restate the pause a few seconds after the answer (livekit/livekit#4907), so there it stayed on for that window. - -The server's answer to a publisher offer no longer carries the RFC 8853 pause markers. Applying that answer re-enables every layer the client paused. Directly after it applies a publisher answer, the SDK now re-applies the last known subscribed codecs. - -One frame per layer can still escape, because the encoders restart during the apply. This matches the JavaScript and Rust SDKs. diff --git a/.changeset/webrtc-150-7871-04-emudhra-roots.md b/.changeset/webrtc-150-7871-04-emudhra-roots.md deleted file mode 100644 index 565632df5..000000000 --- a/.changeset/webrtc-150-7871-04-emudhra-roots.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"client-sdk-android": patch ---- - -Update libwebrtc to 150.7871.04, which removes the AAA Certificate Services root from the TURN/TLS trust anchors so certificates from the compromised eMudhra intermediates are rejected. - -This version also passes the TLS hostname to the Android platform certificate verifier, so the fallback to the OS trust store no longer fails when the app's `network_security_config` has a `domain-config`. diff --git a/CHANGELOG.md b/CHANGELOG.md index a54c14b1c..f6432d6fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,19 @@ # client-sdk-android +## 2.29.2 + +### Patch Changes + +- Keep dynacast-paused simulcast layers paused across publisher renegotiations. Previously a paused layer started to upload again after any renegotiation of the publisher connection. Publishing a track, unpublishing one, a codec change, and an ICE restart all caused this. With servers before v1.13.8, the layer stayed on until the next subscribed-quality change. Newer servers restate the pause a few seconds after the answer (livekit/livekit#4907), so there it stayed on for that window. - [#1037](https://github.com/livekit/client-sdk-android/pull/1037) ([@lukasIO](https://github.com/lukasIO)) + + The server's answer to a publisher offer no longer carries the RFC 8853 pause markers. Applying that answer re-enables every layer the client paused. Directly after it applies a publisher answer, the SDK now re-applies the last known subscribed codecs. + + One frame per layer can still escape, because the encoders restart during the apply. This matches the JavaScript and Rust SDKs. + +- Update libwebrtc to 150.7871.04, which removes the AAA Certificate Services root from the TURN/TLS trust anchors so certificates from the compromised eMudhra intermediates are rejected. - [#1043](https://github.com/livekit/client-sdk-android/pull/1043) ([@erikhortsch](https://github.com/erikhortsch)) + + This version also passes the TLS hostname to the Android platform certificate verifier, so the fallback to the OS trust store no longer fails when the app's `network_security_config` has a `domain-config`. + ## 2.29.1 ### Patch Changes diff --git a/README.md b/README.md index a90bd3564..9d895de06 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.29.1" + def livekit_version = "2.29.2" 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.29.2-SNAPSHOT" + // implementation "io.livekit:livekit-android:2.29.3-SNAPSHOT" } ``` diff --git a/gradle.properties b/gradle.properties index 2b7dec3d6..a87fb2e38 100644 --- a/gradle.properties +++ b/gradle.properties @@ -33,7 +33,7 @@ kapt.use.worker.api=true ############################################################### GROUP=io.livekit -VERSION_NAME=2.29.1 +VERSION_NAME=2.29.2 POM_DESCRIPTION=LiveKit Android SDK, WebRTC Rooms diff --git a/package.json b/package.json index edd789767..c60fb08f6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "client-sdk-android", - "version": "2.29.1", + "version": "2.29.2", "repository": "https://github.com/livekit/client-sdk-android.git", "license": "Apache License 2.0", "private": true,