Skip to content

Releases: livekit/client-sdk-cpp

v1.0.0

01 Jun 22:13
2ae61af

Choose a tag to compare

What's Changed

Full Changelog: v0.4.1...v1.0.0-rc

Public Breaking Changes

  • Removed the entire livekit_bridge library/API:

    • liblivekit_bridge / bridge CMake target
    • bridge/ source, headers, tests, and README
  • Removed TrackSource-keyed frame callback APIs:

    • Room::setOnAudioFrameCallback(participant_identity, TrackSource, ...)
    • Room::setOnVideoFrameCallback(participant_identity, TrackSource, ...)
    • Room::clearOnAudioFrameCallback(participant_identity, TrackSource)
    • Room::clearOnVideoFrameCallback(participant_identity, TrackSource)
    • Matching SubscriptionThreadDispatcher overloads
  • Removed deprecated SDK functions:

    • Room::Connect
    • Room::room_info
    • AudioFrame::total_samples, sample_rate, num_channels, samples_per_channel, to_string
    • AudioSource::sample_rate, num_channels, ffi_handle_id
    • Participant::set_name, set_metadata, set_attributes, set_attribute, remove_attribute, set_kind, set_disconnect_reason
    • Track::stream_state, mime_type, has_handle, ffi_handle_id
    • Result::has_error
    • LocalAudioTrack::to_string
    • LocalVideoTrack::to_string
    • RemoteAudioTrack::to_string
    • RemoteVideoTrack::to_string
    • RemoteParticipant::to_string
    • VideoSource::ffi_handle_id
  • Signature changes:

    • All method/function styling is now camelBack() case. Prior violations of this were simply renamed, e.g. Connect() -> connect(), and room_info -> roomInfo()
    • Room::e2eeManager() now returns a weak_ptr
    • Room::localParticipant() now returns a weak_ptr
    • Room:remoteParticipant() now returns a weak_ptr
    • E2EEManager::keyProvider() now returns a weak_ptr
    • livekit::initialize()removed second argument and the LogSink entirely. This was done to future proof releases. This was not decided lightly and was a result of the extensive log forwarding investigation done and minimizing breaking changes beyond v1.0.0. Context: LogSink enum was not working as expected. If set to kCallback, it would enable FFI capture_logs, but no support existed in the FFI client to handle those events. So functionally, kCallback would silently disable all Rust logs (never would reach console out or callbacks of any kind). Additionally, setting this value to kCallback wouldn't actually forward logs to the user lambda. That only works via livekit::setLoggingCallback

v1.0.0-rc

01 Jun 20:53
9d0eeb5

Choose a tag to compare

v1.0.0-rc Pre-release
Pre-release

What's Changed

Full Changelog: v0.4.1...v1.0.0-rc

Public Breaking Changes

  • Removed the entire livekit_bridge library/API:

    • liblivekit_bridge / bridge CMake target
    • bridge/ source, headers, tests, and README
  • Removed TrackSource-keyed frame callback APIs:

    • Room::setOnAudioFrameCallback(participant_identity, TrackSource, ...)
    • Room::setOnVideoFrameCallback(participant_identity, TrackSource, ...)
    • Room::clearOnAudioFrameCallback(participant_identity, TrackSource)
    • Room::clearOnVideoFrameCallback(participant_identity, TrackSource)
    • Matching SubscriptionThreadDispatcher overloads
  • Removed deprecated SDK functions:

    • Room::Connect
    • Room::room_info
    • AudioFrame::total_samples, sample_rate, num_channels, samples_per_channel, to_string
    • AudioSource::sample_rate, num_channels, ffi_handle_id
    • Participant::set_name, set_metadata, set_attributes, set_attribute, remove_attribute, set_kind, set_disconnect_reason
    • Track::stream_state, mime_type, has_handle, ffi_handle_id
    • Result::has_error
    • LocalAudioTrack::to_string
    • LocalVideoTrack::to_string
    • RemoteAudioTrack::to_string
    • RemoteVideoTrack::to_string
    • RemoteParticipant::to_string
    • VideoSource::ffi_handle_id
  • Signature changes:

    • Room::e2eeManager() now returns a weak_ptr
    • Room::localParticipant() now returns a weak_ptr
    • Room:remoteParticipant() now returns a weak_ptr
    • E2EEManager::keyProvider() now returns a weak_ptr
    • livekit::initialize()removed second argument and the LogSink entirely. This was done to future proof releases. This was not decided lightly and was a result of the extensive log forwarding investigation done in #133 and upcoming v1.0.0 breaking changes anyways. LogSink enum was not working as expected. If set to kCallback, it would enable FFI capture_logs, but no support existed in the FFI client to handle those events. So functionally, kCallback would silently disable all Rust logs (never would reach console out or callbacks of any kind). Additionally, setting this value to kCallback wouldn't actually forward logs to the user lambda. That only works via livekit::setLoggingCallback

v0.4.1

28 May 23:38
bb40ec7

Choose a tag to compare

What's Changed

Full Changelog: v0.4.0...v0.4.1

v0.4.0

27 May 19:32
a00c070

Choose a tag to compare

What's Changed

Deprecation Announcements

  • All public functions and methods now follow camelBack() case. Previous methods still exist in this version of the SDK, but will be removed in the next major release.

Full Changelog: v0.3.4...v0.4.0

v0.3.4

24 Apr 19:45
627dc56

Choose a tag to compare

What's Changed

New Contributors

Deprecation Announcements

bridge/ on 06/01

Full Changelog: v0.3.3...v0.3.4

v0.3.3

08 Apr 18:21
977ae2a

Choose a tag to compare

What's Changed

Full Changelog: v0.3.2...v0.3.3

v0.3.2

02 Apr 17:18
905cca7

Choose a tag to compare

What's Changed

New Contributors

Full changelog: v0.3.1...v0.3.2

v0.3.1

10 Feb 00:35
4cef479

Choose a tag to compare

What's Changed

Full Changelog: v0.2.7...v0.3.1

v0.3.0

04 Feb 02:16
40cde81

Choose a tag to compare

v0.3.0 Pre-release
Pre-release

What's Changed

Full Changelog: v0.2.7...v0.3.0

v0.2.9

03 Feb 20:30
3333a4a

Choose a tag to compare

v0.2.9 Pre-release
Pre-release

What's Changed

Full Changelog: v0.2.7...v0.2.9