Skip to content

v1.0.0

Choose a tag to compare

@stephen-derosa stephen-derosa released this 01 Jun 22:13
· 19 commits to main since this release
2ae61af

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