Skip to content

Releases: pexip/pexip-android-sdk

0.17.0

12 Nov 15:52
0e5bf7f
Compare
Choose a tag to compare

Added

  • A disconnect signal to let Infinity know that the MediaConnection is going away
  • ConferenceStep.conference(String) to create a new ConferenceStep using a different alias
  • VideoTrackEmbeddedRenderer as an alternative to VideoTrackRenderer

Changed

  • Required JDK to 17
  • Microphone mute to rely on AudioDeviceModule.setMicrophoneMute(Boolean) instead of
    AudioManager.setMicrophoneMute(Boolean)
  • Noise suppressor and acoustic echo canceler to use software implementation
  • Explicitly set breakout_capable to false to make breakouts opt-in

0.16.0

07 Oct 08:37
48b4204
Compare
Choose a tag to compare

Added

  • Roster.muteVideo(ParticipantId?) and Roster.unmuteVideo(ParticipantId?) to control state of
    participant's video track
  • Roster.clientMute() and Roster.clientUnmute() to control state of client mute
  • Roster.allowGuestsToUnmute() and Roster.disallowGuestsToUnmute() to control whether guests
    can unmute themselves (v36+)
  • A coroutine-friendly NodeResolver
  • call_tag, parent_participant_uuid support
  • VersionId API to show what version of Infinity is being used

Changed

  • BREAKING: java.util.UUID usages to ParticipantId, CallId, and RegistrationId. Note
    that it in normal use it will only break tests that instantiated classes or called functions that
    use java.util.UUID
  • BREAKING: timestamps and durations previously represented as a Long now use Instant
    and Duration respectively
  • BREAKING: TokenStore is now an @InternalSdkApi
  • Kotlin to 2.0.20

Fixed

  • okhttp3.internal.* usages
  • Incorrect handling of nanos and millis

0.15.0

26 Mar 06:49
8d4ae80
Compare
Choose a tag to compare

Added

  • Theme.layout that provides the currently active layout of the conference, alongside available layouts and their SVGs
  • Theme.transformLayout to modify the layout of the conference
  • UnsupportedInfinityException to indicate when the deployment is not supported by the SDK
  • Various methods that modify Roster:
    • me and presenter
    • raiseHand, lowerHand and lowerAllHands
    • disconnect and disconnectAll
    • mute, unmute, muteAllGuests and unmuteAllGuests
    • makeHost and makeGuest
    • spotlight and unspotlight
    • admit, lock and unlock
  • Participant.me property to indicate whether the participant is you
  • Participant.speaking property that signals whether the participant is currently speaking
  • Ability to set a VideoProcessor

Changed

  • Kotlin to 1.9.23
  • ICE restart to happen on default network change. As a result of this change,
    MediaConnectionConfig.continualGathering has been deprecated and is ignored

Fixed

  • Participant not being deserialized due to startTime being null
  • Skipping some SSEs due to a race

Removed

  • -coroutines modules
  • -infinity modules
  • BLUETOOTH_CONNECT permission from :sdk-media-android

0.14.1

08 Feb 10:31
b9d6e18
Compare
Choose a tag to compare

Fixed

  • SSE restart caused by SerializationException in ParticipantResponseSerializer due to unknown values

0.14.0

17 Jan 15:02
d26edf2
Compare
Choose a tag to compare

Added

  • Direct media support
  • Preferred aspect ratio support
  • InfinityService.RequestBuilder.infinityService,InfinityService.ConferenceStep.requestBuilder,
    InfinityService.RegistrationStep.requestBuilder, InfinityService.ParticipantStep.conferenceStep,
    InfinityService.CallStep.participantStep that give access to previous steps
  • Conference.referer to improve call transfer flow
  • MediaConnection.secureCheckCode that can be used to verify whether a direct media connection is
    secure
  • MediaConnectionConfig.continualGathering to tweak ICE gathering policy
  • Roster to provide a list of participants
  • Referer to improve call transfer experience
  • VideoTrackRenderer can notify you when the first frame renders, as well as when frame resolution
    changes

Changed

  • Kotlin to 1.9.22
  • WebRTC to M119
  • Merged all -infinity modules with their respective bases
  • Various deprecated methods DeprecationLevel to DeprecationLevel.ERROR

Fixed

  • Crash in TokenStore.refreshTokenIn when release_token throws

Removed

  • Various deprecated methods with DeprecationLevel.ERROR

Notes

-infinity modules now only contain their base modules as the sole dependency and can be skipped
in consumer modules. They will continue to be published for some time to provide a clean migration
path and will be removed at a later point.

0.13.1

29 Aug 06:51
3b7e58d
Compare
Choose a tag to compare

Changed

  • targetSdk to 34
  • token to be passed in the body instead of the header for request_token API call

Fixed

  • registration_token being ignored

0.13.0

25 Aug 07:35
d7e8053
Compare
Choose a tag to compare

Added

  • DegradationPreference API that lets one specify the desired behavior in low bandwidth conditions
  • ICE restart when ICE connection reaches failed state
  • Call transfer support via ReferConferenceEvent

Changed

  • Kotlin to 1.9.0
  • WebRTC to M114
  • Various deprecated methods DeprecationLevel to DeprecationLevel.ERROR
  • ack is now called later in the call setup phase
  • Merged all -coroutines modules with their respective bases
  • createOffer to setLocalDescription that supports rollback
  • Usages of java.net.URL to okhttp3.HttpUrl internally
  • BREAKING: Conference no longer implements MediaConnectionSignaling. It instead provides an instance of MediaConnectionSignaling as a property Conference.signaling. To migrate, update any calls of MediaConnectionConfig.Builder(conference) to MediaConnectionConfig.Builder(conference.signaling)

Fixed

  • Unnecessary network calls after MediaConnection has been disposed
  • Unconstrained codec FPS
  • keepScreenOn not working in VideoTrackRenderer

Removed

  • Various deprecated methods with DeprecationLevel.ERROR
  • Read timeout on ack

Notes

-coroutines modules now only contain their base modules as the sole dependency and can be skipped
in consumer modules. They will continue to be published for some time to provide a clean migration
path and will be removed at a later point.

0.12.0

22 May 13:05
371fdfb
Compare
Choose a tag to compare

0.11.0

19 Dec 11:14
ba54373
Compare
Choose a tag to compare

0.10.0

05 Oct 06:37
2983e29
Compare
Choose a tag to compare