Skip to content

v2.0.0

Compare
Choose a tag to compare
@davidliu davidliu released this 03 Feb 07:39
· 148 commits to main since this release
223aea2

Breaking Changes

There are several breaking changes between v1 and v2. Please consult our migration guide when upgrading to v2.

  • Room.remoteParticipants is now keyed by participant identity.
  • Participant.tracks and other similar methods/members are renamed to Participant.trackPublications.
  • LocalParticipant.publishData now uses participant identity as destinations instead of participant sids.
  • Room.sid may be null after connection. Please use the suspend function Room.getSid() to get the actual value when populated.
  • io.livekit.android.room.track.VideoQuality has been added to omit certain values that didn't make sense for users.

Removal of deprecated APIs

  • LiveKit.connect - Please use LiveKit.create and Room.connect instead.
  • Room.listener - Please use Room.events instead.
  • Participant.listener - Please use Participant.events instead.
  • Certain VideoPreset169 and VideoPreset43 members like VGA and HD have been removed.
  • DeviceManager - This class was previously unused and didn't have any effect within the SDK.

Renaming of org.webrtc package to livekit.org.webrtc

We've renamed the org.webrtc package we use internally to livekit.org.webrtc, in order to avoid any collision
with other WebRTC implementations. If your code references this package, you'll need to change the import like so:

// v1
import org.webrtc.*

// v2
import livekit.org.webrtc.*

Moved composables into a separate package

Composables such as VideoRenderer have been moved into a separate package, components-android. Previously
the SDK depended on Jetpack Compose, causing View-based apps to depend on an unnecessary package. These composables
have been split off into a separate package so only Compose-based apps will need to depend on it.

To migrate, add in your build.gradle:

dependencies {
  implementation "io.livekit:livekit-android-compose-components:1.0.0"
}

The VideoRenderer composable has also been renamed to VideoTrackView to maintain parity with other platforms.

Participant.Sid and Identity inline value classes

To avoid confusion between participant sid and identity which shared the String type, we've added the
Participant.Sid and Participant.Identity inline value classes. This will prevent inadvertantly using
one in place of the other.

Other changes

  • Don't emit RoomEvent.Reconnecting for resumes by @davidliu in (#371)
  • Support sync stream id by @davidliu in a42a47a
    • Stream ids allow for better synchronization among tracks with the same stream id. By default, the microphone and camera share a stream id.

Full Changelog: v1.6.0...v2.0.0