Skip to content

v1.0.0-rc

Pre-release
Pre-release

Choose a tag to compare

@stephen-derosa stephen-derosa released this 01 Jun 20:53
9d0eeb5

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