github livekit/livekit v1.9.1

10 hours ago

Fixed

  • swap pub/sub track metrics (#3717)
  • Fix bug with SDP rid, clear only overflow. (#3723)
  • Don't check bindState on downtrack.Bind (#3726)
  • Return highest available layer if requested quality is higher than max (#3729)
  • Fix data packet ParticipantIdentity override logic in participant.go (#3735)
  • Fix svc encoding for chrome mobile on iOS (#3751)
  • offer could be nil when migrating. (#3752)
  • fix(deps): update module github.com/livekit/protocol to v1.39.3 (#3733)
  • bounds check layer index (#3768)
  • Do not send leave if nil (to older clients) (#3817)
  • Fix: RingingTimeout was being skipped for transferParticipant (#3831)
  • Handle no codecs in track info (#3859)
  • Fix missed unlock (#3861)
  • Fix timeout handing in StopEgress (#3876)
  • fix: ensure the participant kind is set on refresh tokens (#3881)
  • Do not advertise NACK for RED. (#3889)
  • Do not send both asb-send-time and twcc. (#3890)
  • Prevent race in determining BWE type. (#3891)

Added

  • Adds Devin to readme so it auto updates DeepWiki weekly (#3699)
  • Allow passing extra attributes to RTC endpoint. (#3693)
  • warn about credentials when used in tokens (#3705)
  • protocol dep for webhook stats buckets (#3706)
  • for real, pick up protocol change for webhooks queue length buckets (#3707)
  • implement observability for room metrics (#3712)
  • e2e reliability for data channel (#3716)
  • Add simulcast support for WHIP. (#3719)
  • Add Id to SDP signalling messages. (#3722)
  • Set and use rid/spatial layer in TrackInfo. (#3724)
  • Add log for dropping out of order reliable message (#3728)
  • chore: set workerid on job creation (#3737)
  • return error when moving egress/agent participant (#3741)
  • SVC with RID -> spatial layer mapping (#3754)
  • feat(cli-flags): add option for cpu profiling (#3765)
  • Enable H265 by default (#3773)
  • Signalling V2 protocol implementation start (#3794)
  • Signal v2: envelope and fragments as wire message format. (#3800)
  • Grouping all signal messages into participant_signal. (#3801)
  • starting signaller interface (#3802)
  • Signal handling interfaces and participant specific HTTP PATCH. (#3804)
  • Split signal segmenter and reassembler. (#3805)
  • Filling out messages unlikely to change in v2. (#3806)
  • Use signalling utils from protocol (#3807)
  • Validation end point for v2 signalling. (#3811)
  • More v2 signalling changes (#3814)
  • Minor tweak to keep RPC type at service level. (#3815)
  • Add country label to edge prom stats. (#3816)
  • HTTP DELETE of participant session (#3819)
  • Get to the point of establishing subscriber peer connection. (#3821)
  • Get to the point of connecting publisher PC and using it for async signalling (#3822)
  • Support join request as proto + base64 encoded query param (#3836)
  • Use wrapped join request to be able to support compressed and uncompressed. (#3838)
  • handle SyncState in join request (#3839)
  • Support per simulcast codec layers. (#3840)
  • Support video layer mode from client and make most of the code mime aware (#3843)
  • Send participant_connection_aborted when participant session is closed (#3848)
  • Support G.711 A-law and U-law (#3849)
  • Extract video size from media stream (#3856)
  • update mediatransport util for ice port 3478 (#3877)
  • Single peer connection mode (#3873)
  • handle frame number wrap back in svc (#3885)
  • Use departure timeout from room preset. (#3888)
  • Use RequestResponse to report protocol handling errors (#3895)

Changed

  • Add a trend check before declaring joint queuing region. (#3701)
  • Small changes to add/use helper functions for length checks. (#3704)
  • remove unused ws signal read loop (#3709)
  • Flush stats on close (#3713)
  • Do not require create permission for WHIP participant. (#3715)
  • Create client config manager in room manager constructor. (#3718)
  • Clear rids from default for layers not published. (#3721)
  • Clear rids if not present in SDP. (#3731)
  • Revert clearing RIDs. (#3732)
  • Take ClientInfo from request. (#3738)
  • remove unused code (#3740)
  • reuse compiled client config scripts (#3743)
  • feat(cli): update to urfave/cli/v3 (#3745)
  • move egress roomID load to launcher (#3748)
  • Log previous allocation to see changes. (#3759)
  • Do not need to just clean up receivers. Remove that interface. (#3760)
  • ClearAllReceivers interface is used to pause relay tracks. (#3761)
  • Temporary change: use pre-defined rids (#3767)
  • Revert "Temporary change: use pre-defined rids" (#3769)
  • Log SDP rids to understand the mapping better. (#3770)
  • Limit taking rids from SDP only in WHIP path. (#3771)
  • Set rids for all codecs. (#3772)
  • Return default layer for invalid rid + track info combination. (#3778)
  • Normalize known rids. (#3779)
  • forward agent id to job state (3786)
  • Map ErrNoResponse to ErrRequestTimedOut in StopEgress to avoid returning 503 (#3788)
  • Set participant active when peerconnection connected (#3790)
  • Handle Metadata field from RoomConfig (#3798)
  • [🤖 readme-manager] Update README (#3808)
  • [🤖 readme-manager] Update README (#3809)
  • Rename RTCRest -> WHIP (#3829)
  • Delete v2 signalling (#3835)
  • Clean up missed v2 pieces (#3837)
  • Update go deps (#3849)
  • Populate SDP cid in track info when available. (#3845)
  • Log signal messages as debug. (#3851)
  • Log signal messages on media node. (#3852)
  • Log track settings more. (#3853)
  • Update pion deps (#3863)
  • Update golang Docker tag to v1.25 (#3864)
  • Update module github.com/livekit/protocol to v1.40.0 (#3865)
  • Remove unnecessary check (#3870)
  • chunk room updates (#3880)
  • Switch known rids from 012 -> 210, used by OBS. (#3882)
  • init ua parser once (#3883)
  • Revert to using answer for migration case. (#3884)
  • Handle migration better in single peer connection case. (#3886)

Don't miss a new livekit release

NewReleases is sending notifications on new releases.