releases.shpreview
LiveKit/LiveKit Server

LiveKit Server

$npx -y @buildinternet/releases show livekit-server
Mon
Wed
Fri
AprMayJunJulAugSepOctNovDecJanFebMarApr
Less
More
Releases5Avg2/moVersionsv1.9.11 → v1.11.0
Apr 17, 2026

NOTE: Minor version bump that enables data tracks (https://docs.livekit.io/transport/data/data-tracks/) by default.

Added

  • Embedded turn test (#4412)
  • chore: log API key during worker registration (#4428)
  • Add some simple data track stats (#4431)
  • Add Close method for UpDataTrackManager and call it on participant (#4432)
  • Log join duration. (#4433)
  • Add subscriber stream start event notification (#4449)

Changed

  • Cleaning up some logs and standardising log frequency. (#4420)
  • Keep subscription synchronous when publisher is expected to resume. (#4424, #4425)
  • Do not close publisher peer connection to aid migration. (#4426, #4427)
  • Enable data tracks by default. (#4429)
  • chore: pin GH commits and switch to golangci-lint (#4444)
  • Switch to stdlib maps, slices (#4445)
  • Store concrete ICE candidate for remote candidates. (#4458)

Fixed

  • clear track notifier observers on subscription teardown (#4413)
  • Guard against timestamp inversion in RED -> Opus conversion. (#4414, #4415, #4418)
  • ensure participant init is correctly serialized for logging (#4417)
  • Clean up data track observers on unsubscribe. (#4421)
  • compute agent dispatch affinity from target load (#4442)
  • Apply IPFilter when get local ip (#4440)
  • Unsubscribe from data track on close (#4443)
  • Use Muted in TrackInfo to propagated published track muted. (#4453)
  • fix: limit join request and WHIP request body to http.DefaultMaxHeaderBytes (#4450)
  • fix publisher frame count reporting for simulcast streams (#4457)
Mar 30, 2026

Added

  • add packet trailer stripping support (#4361)
  • Path check helpers (#4392)
  • add deadline to dtls connect context (#4395)
  • feat(agent-dispatch): add job restart policy (#4401)

Changed

  • Close both peer connections to aid migration. (#4382)

Fixed

  • Fix TURN server URL (#4389)
  • AV1 parser overflow fix. (#4405)
  • Address malformed H264/H265 parsing issues (#4407)
Mar 23, 2026

PLEASE NOTE: The logging key for participant session ID (a.k.a participant SID) has been changed from pID to participantID in this release for the sake of clarity. Hence the minor version bump.

Added

  • Add option to require media sections when participant joining (#4347, #4354)
  • Support originating calls from custom domains (#4349)
  • Add StopEgress function to the EgressLauncher interface (#4353)
  • Add option to not re-use transceiver in e2ee. (#4356)
  • Add API to restart lite stats. (#4366, #4368)
  • handle AGENT_ERROR disconnect reason (#4339)

Changed

  • Mark last run of grow bucket outside goroutine. (#4348)
  • Refine ipv6 support (#4352)
  • Sample data send error logging. (#4358)
  • Switch data track extension to 1-byte ID/length. (#4362)
  • Do not kick off migration of closed participant (#4363)
  • Do not block all ext ID determination on stream allocator listener (#4364)
  • Rename log field pID to participantID (#4365)
  • Replace deprecated io/ioutil with io in whipservice (#4375)
  • Update grpc to address CVE-2026-33186 (#4381)

Fixed

  • Fix repair stream ID reporting for RTX pairing. (#4369)
Mar 5, 2026

Added

  • Add silent frame for pcmu/a (#4258)
  • adds a test to ensure agent worker errors cause disconnection (#4273)
  • Populate client_protocol field in ParticipantInfo (#4293)
  • Read client protocol from query param (#4294)
  • generate & log egressID for start egress request (#4303)
  • ESP32 Client Info (#4267)
  • feat: make INSTALL_PATH overridable in install script (#3954)

Changed

  • Defer setting clock rate in RTPStats module till codec is bound. (#4250)
  • Wrapping SIP errors for invalid argument and not found (#4253)
  • Ignore parse addr error when add remote candidate (#4264)
  • Generate config flags (#4268)
  • clear reference guard when resetting signal stats (#4279)
  • refresh telemetry guard on participant move (#4280)
  • use separate allocation for signal stats telemetry guard (#4281)
  • Set up audio config in audio level module when config is updated. (#4290)
  • Update self-hosting deployment documentation link (#4312)
  • Key telemetry stats worker using combination of roomID, participantID (#4323)
  • Two phase restart when doing external restart of receiver. (#4329)
  • Send participant left event after track unpublished for moved (#4334)

Fixed

  • Fix receiver restart race (#4248)
  • require participant broadcast when metadata/attributes are set in token (#4266)
  • Create buffer if needed when a PLI is requested. (#4282)
  • Do not increase max expected layer on track info update. (#4285)
  • Publish is always on publisher peer connection.(#4307)
  • Potential fix for code scanning alert no. 35: Workflow does not contain permissions (#4311)
  • Potential fix for code scanning alert no. 36: Workflow does not contain permissions (#4310)
  • Fix for some CodeQL reported issues (#4314)
  • Protect against incorrect temporal layer. (#4327)
  • do not discount packets lost on duplicate packets (#4333)
  • Use ParticipantTelemetryListener of LocalParticipant. (#4342)
  • Fix SIP client timeout. (#4345)
Jan 15, 2026

PLEASE NOTE: The previous release tag v1.9.10 hit a panic under some conditions. Sincerely regret the inconvenience caused. Although we do test rigorously, it is not guaranteed to cover all scenarios. We request you to report any issues you encounter. Thank you.

Added

  • Support OpenTelemetry tracing. Add Jaeger support. (#4222)
  • Add option to force simuclast codec. (#4226)
  • Log timeout in API (#4231, #4232)
  • Add participant option for data track auto-subscribe. (#4240)

Changed

  • Remove enable arrival time forwarding method. (#4217)
  • sfu/receiver and sfu/buffer refactor (#4221, #4224, #4225)
  • Change some logs to debugw (#4229)
  • Changing field naming of data track packet (#4235)
  • Update Pion transport package. (#4237)
  • Wrapping the invalid request errors for CreateSipParticipant (#4239)

Fixed

  • Swap result sink atomically rather than closing and setting (#4216)
  • Address crash in v1.9.10 (#4219, #4220)
  • Return on SDP fragment read error. (#4228)
Jan 1, 2026

WARNING: Please do not use this release. There is a run time issue which causes the server to panic. The issue has been addressed in https://github.com/livekit/livekit/pull/4219 and https://github.com/livekit/livekit/pull/4220.

Added

  • add explicit room exists servicestore op (#4175)
  • Add support for TURN static auth secret credentials (#3796)
  • Make new path for signalling v1.5 support. (#4180)
  • report video size from media data for whip (#4211)
  • Support preserving external supplied time. (#4212)

Changed

  • Use published track for model access in data down track. (#4176)
  • Refactor receiver and buffer into Base and higher layer. (#4185, #4186, #4187, #4189, #4196, #4198, #4207)
  • Update pion/webrtc to v4.2.1 (#4191)
  • Receiver restart related changes. (#4192, #4200, #4202, #4208)
  • Do not warn about track not bound if participant is not ready. (#4205, #4206)

Fixed

  • Flush ext packets on restart/close and release packets. (#4179)
  • Resolve RTX pair via OnTrack also. (#4190)
  • Handle repair SSRC of simulcast tracks during migration. (#4193)
  • return iceservers for whip (#4210)
Dec 18, 2025

Added

  • Add support for RTP stream restart. (#4161)

Changed

  • Avoid duplicate track add to room track manager. (#4152, #4153)
  • Consistently undo update to sequence number and timestamp when the incoming packet cannot be sequenced. (#4156)
  • deregister observability function when participant is closed (#4157)
  • Ensure subscribe data track handles are unique (#4162)
  • move delete to oss service store (#4164)
  • clean up manual roomservice log redaction (#4165)
  • skip lost sequence number ranges in getIntervalStats (#4166, #4169)

Fixed

  • chore: fix a large number of spelling issues (#4147)
  • Handle case of sequence number jump just after start. (#4150)
  • Drop run away receiver reports. (#4170)
  • Publish/Unpublish counter match. (#4173)
Dec 10, 2025

Added

  • Mark RTCP buffer Write as noinline. (for better heap attribution) (#4138)
  • add debug metric for tracking references (#4134)

Changed

  • Use isEnding to indicate if down track could be resumed. (#4132)
  • switch participant callbacks to room to listener interface (#4136)
  • protocol deps to get inactive file adjusted memory usage. (#4137)
  • update webrtc to 4.1.8 to pick up DTLS fingerprint check during handshake (#4140)

Fixed

  • Do not pause rid in SDP to prevent race with adaptive streaming (#4129)
  • leak fixes (#4131, #4141, #4142, #4143, #4144)
Dec 5, 2025

Added

  • Data tracks (experimental and not ready for use) (#4089)

Changed

  • log bucket growth (#4122)
  • Update pion/ice to stop gather first on close (#4123)
  • move utils.WrapAround to mediatransportutil (#4124)
  • Let participant close remove the published tracks. (#4125)

Fixed

Dec 1, 2025

Added

  • Control latency of lossy data channel (#4088)
  • logger proto redaction. (#4090)
  • Record join/publish/subscribe cancellations (#4102, #4104)

Fixed

  • Fix "address" typo in transport logs (addddress → address) (#4097)
  • Clear stereo=1 if stereo is not enabled. (#4101)
  • Participant session close deadlock fixes (#4107, #4113, #4116)

Changed

  • Switch forwarding latency log to Debugw (#4098)
  • Update mediatransportutil to get OWD estimator relocation (#4115)
Nov 15, 2025

Added

  • Log reason for subscriber not being able to determine codec. (#4071)
  • Kind details for connector (#4072)

Fixed

  • Prevent invalid track access while peer connection is shutting down. (#4054)

Changed

  • Update PsRPC to get redis pipeliner implementation (#4055)
  • Forwarding latency measurement. (#4056. #4057, #4059, #4061, #4062, #4067, #4080)
  • Update pion/transport to v3.1.1 (to get batch I/O ping-pong buffer) (#4070)
  • Use sync.Pool for objects in packet path. (#4066)
  • Bump protocol to pull sip validation changes and error mapping (#4081)
Nov 2, 2025

Added

  • Opportunistic video layer allocation on setting max spatial layer. (#4003, #4030, #4031, #4033)
  • use env var for GOARCH. (#4012)
  • Use simulcast codec as default policy for audio track. (#4040)
  • Enable AbsCaptureTimeURI in RTC configuration. (#4043)
  • Add prom histogram for forwarding latency and jitter. (#4044, #4045)

Fixed

  • Correct direction for request/response for prom counters. (#4027)
  • Do not bind buffer if codec is invalid. (#4028)
  • Remove ~ from rid which indicates disabled layer to get the actual rid. (#4032)
  • Prevent leakage of previous codec after codec regression. (#4035, #4037)
  • fix: add missing Unlock() in AddReceiver. (#4036)

Changed

  • Some golang modernisation bits. (#4106)
  • Use rtp converter from protocol/utils. (#4019, #4020)
  • High forwarding latency. (#4034, #4038)
  • if RingingTimeout is provided, deadline should be set to that timeout. (#4018)
  • Don't warn 0 payload type for PCMU. (#4039)
Oct 17, 2025

Added

  • Use gzip reader pool (#3903)
  • Rpcs for ingress proxy WHIP (#3911)
  • Include agent_name as a participant attribute (#3914)
  • Clean code as there is no oss sweeper for ingress (#3918)
  • Support simulcasting of audio (#3920)
  • Subscrbed audio codecs - update from remote nodes. (#3921)
  • Log some information around high forwarding latency. (#3944)
  • feat: server rpc apis (#3904)
  • short circuit participant broadcast filter in livestream mode (#3955)
  • Adjust for hold time when fowarding RTCP report. (#3956)
  • Add node_ip to config-sample.yaml (#3960)
  • add idempotent reference count to telemetry stats worker (#3964)
  • add config for user data recording (#3966)
  • Provide the InputVideo/AudioState to Ingress in WHIPRTCConnectionNotify (#3982)
  • Add encryption datapacket type (#3869)
  • Allow passing inline trunk for outbound calls. (#3987)
  • Log RPC details. (#3991)
  • "Power of Two Random Choices" option for node selection (#3785)
  • Adding ProviderInfo to GetSIPTrunkAuthenticationResponse (#3993)
  • Use answer with mid -> trackID mapping when in single peer connection (#4005)
  • Include mid -> trackID in both SDP offer and answer. (#4007)

Fixed

  • add incoming request id to request response message (#3912)
  • Simulcast audio fixes (#3925)
  • Fix dynacast subscriber node clearing on move participant. (#3926)
  • mediatransportutil crash fix for logging local address (#3930)
  • Do DD restart only if DD structure is present. (#3935)
  • Avoid matching on empty track id. (#3937)
  • fix stats worker closed condition (#3965)
  • Update deps to fix redis issue when 1 cluster address is provided (#3969)
  • Revert unintentional change to not handle transport fallback (#3970)
  • Do not panic of redis is not configured (#3981)
  • Sort codec layers when adding track (#3998)
  • Resort to full search for requested quality is not available. (#4000)
  • Do not try to read stats from peer connection after close. (#4002)
  • Update pion/webrtc to prevent GetStats panic. (#4004)

Changed

  • update protocol for sip api change (#3902)
  • Refactor subscribedTrack + mediaTrackSubscriptions. (#3908)
  • Set publisher codec preferences after setting remote description (#3913)
  • update protocol for psrpc (#3915)
  • Wait for SetRemoteDescription before configuring senders. (#3924)
  • Update mediatransportutil to log external IP found via STUN. (#3929)
  • Add debugging from DD frame number wrap around. (#3933)
  • More debugging of DD jump (#3934)
  • Use difference in key frame counter to stop seeder. (#3936)
  • Update protocol for SipCreateParticipant (#3939)
  • mediatransportutil to log local address when validating external IP (#3942)
  • Use microseconds for forwarding stats. (#3943)
  • Tweaks tresholds for logging high forwarding latency/jitter. (#3945)
  • Flush stats when there are no packets. (#3947)
  • handle terminated job requests (#3948)
  • Switch ops queue a singly linked list. (#3949)
  • Revert "Switch ops queue a singly linked list." (#3950)
  • Adjust stream allocator ping interval based on state. (#3951)
  • avoid logging on small values (#3958)
  • Update protocol for EventKey helper. (#3963)
  • Do not force codec regression between opus and red. (#3980)
  • Do not start forawarding on out-of-order packet. (#3985)
  • Use padding only packets for dummy start of audio. (#3984)
  • Support Opus mixed with RED when encrypted. (#3986)
  • Limit check to red + opus when looking for primary codec match. (#3988)
  • Increment RTP timestamp on padding when using dummy start. (#3989)
  • Revert to using silence packets for audio dummy start. (#3999)
  • Count request/response packets on both client and server side. (#4001)
  • Do not call receiver methods under settings lock. (#4006)
  • counterfeiter needs an older version of x/tools (#4009)
Sep 5, 2025

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)
Jun 5, 2025

Added

  • Add pID and connID to log context to make it easier to search using pID. (#3518)
  • add server agent load threshold config (#3520)
  • Add a key frame seeder in up track. (#3524)
  • Implement SIP update API. (#3141)
  • Add option to use different pacer with send side bwe. (#3552)
  • Allow specifying extra webhooks with egress requests (#3597)

Fixed

  • Fix missing RTCP sender report when forwarding RED as Opus. (#3480)
  • Take RTT and jitter from receiver view while reporting track stats for (#3483)
  • Fix receiver rtt/jitter. (#3487)
  • fix: fix the wrong error return value (#3493)
  • load mime type before calling writeBlankFrameRTP (#3502)
  • Prevent bind lock deadlock on muted. (#3504)
  • Handle subscribe race with track close better. (#3526)
  • Do not instantiate 0 sized sequencer. (#3529)
  • Fix: Return NotFoundErr instead of Unavailable when the participant does not exist in UpdateParticipant. (#3543)
  • skip out of order participant state updates (#3583)
  • Exclude RED from enabled codecs for Flutter + 2.4.2 + Android. (#3587)
  • protocol update to fix IPv6 SDP fragment parsing (#3603)
  • Forward transfer headers to internal request (#3615)
  • Do not use Redis pipeline for SIP delete. Fixes Redis clustering support. (#3694)

Changed

  • Use a RED transformer to consolidate both RED -> Opus OR Opus -> RED (#3481)
  • refactor: using slices.Contains to simplify the code (#3495)
  • Do not bind lock across flush which could take time (#3501)
  • Log packet drops/forward. (#3510)
  • Clean up published track on participant removal. (#3527)
  • Do not accept unsupported track type in AddTrack (#3530)
  • Use cgroup for memstats. (#3573)
  • Replace Promise with Fuse. (#3580)
  • Do not drop audio codecs (#3590)
  • map PEER_CONNECTION_DISCONNECTED -> CONNECTION_TIMEOUT (#3591)
  • Update mediatransportutil for max sctp message (65K) (#3611)
  • Disable vp9 for safari 18.4 due to compatibility (#3631)
  • Avoid synthesising duplicate feature. (#3632)
  • Take AudioFeatures from AddTrack. (#3635)
  • Use unordered for lossy data channel. (#3653)
  • Send self participant update immediately. (#3656)
  • update mediatransportutil for sctp congestion control (#3673)
Mar 2, 2025

Added

  • Add support for datastream trailer (#3329)
  • Reject ingress if Enabled flag is false (#3293)
  • Use nonce in data messages to de-dupe SendData API. (#3366)
  • H265 supoort and codec regression (#3358)
  • Pass error details and timeouts. (#3402)
  • Webhook analytics event. (#3423)
  • add participant job type (#3443)
  • add datapacket stream metrics (#3450)
  • Implement SIP iterators. (#3332)
  • Add ice candidates logs for failed peerconnection (#3473)

Fixed

  • Disable SCTP zero checksum for old go client (#3319)
  • disable sctp zero checksum for unknown sdk (#3321)
  • remove code that deletes state from the store for rooms older than 24 hours (#3320)
  • Correct off-by-one lost count on a restart. (#3337)
  • Do not send DD extension if ID is 0. (#3339)
  • allocate node for autocreated room in agent dispatch (#3344)
  • Do not seed if stream is already writable. (#3347)
  • Clone pending tracks to prevent concurrent update. (#3359)
  • Resolve newer participant using higher precision join time. (#3360)
  • Resolve FromAsCasing warning in Dockerfile (#3356)
  • pass RoomConfig along when creating a new dispatch rule (#3367)
  • Reduce chances of metadata cache overflow. (#3369, #3370)
  • ReconnectResponse getting mutated due to mutation of client conf. (#3379)
  • fire TrackSubscribed event only when subscriber is visible (#3378)
  • fix internal signal protocol backward compatibility with 1.7.x (#3384)
  • Correct reason for poor/lost score. (#3397)
  • Do not skip due to large RR interval. (#3398)
  • Update config.go to properly process bool env vars (#3382)
  • consolidated mime type checks (#3407, #3418)
  • Ignore unknown mime in dynacast manager. (#3419)
  • Fix timing issue between track republish (#3428)
  • Catch up if the diff is exactly (1 << 16) also. (#3433)
  • Don't drop message if calculate duration is too small (#3442)
  • Dependent participants should not trigger count towards FirstJoinedAt (#3448)
  • Fix codec regression failed after migration (#3455)
  • Do not revoke track subscription on permission update for exempt participants. (#3458)

Changed

  • Remove duplicate SSRC get. (#3318)
  • Exempt egress participant from track permissions. (#3322)
  • Use nano time for easier (and hopefully) faster checks/calculations. (#3323)
  • move unrolled mime type check for broader use (#3326)
  • Request key frame if subscribed is higher than max seen and not congested. (#3348)
  • Request key frame on subscription change. (#3349)
  • Room creation time with ms resolution (#3362)
  • close signal session is request messages are undeliverable (#3364)
  • Declare congestion none only if both methods are in DQR. (#3372)
  • Clone TrackInfo to TrackPublishRequested event. (#3377)
  • Run bandwidth estimation when congestion is relieved also (#3380)
  • move ConnectedAt to Participant interface (#3383)
  • Starting on padding for RTX stream is accepted. (#3390)
  • Adjust receiver report sequence number to be within range of highest. (#3396)
  • Split down stream snapshot into sender view and receiver view. (#3422)
  • Seed on receiving forwarder state. (#3435)
  • Give more cache for RTX. (#3438)
  • Properly initialise DD layer selector. (#3467)
Jan 7, 2025

[1.8.3] - 2025-01-07

Added

  • Allow requesting a dialtone during call transfer (#3122)
  • Handle room configuration that's set in the grant itself (#3120)
  • Update ICE to pick up accepting use-candidate unconditionally for ICE lite agents (#3150)
  • auto create rooms during create agent dispatch api request (#3158)
  • Annotate SIP errors with Twirp codes. (#3161)
  • TWCC based congestion control (#3165 #3234 #3235 #3244 #3245 #3250 #3251 #3253 #3254 #3256 #3262 #3282)
  • Loss based congestion signal detector. (#3168 #3169)
  • Fix header size calculation in stats. (#3171)
  • add per message deflate to signal ws (#3174)
  • Add ResyncDownTracks API that can be used to resync all down tracks on (#3185)
  • One shot signalling mode (#3188 #3192 #3194 #3223)
  • Server side metrics (#3198)
  • Add datastream packet type handling (#3210)
  • Support SIP list filters. (#3240)
  • Add RTX to downstream (#3247)
  • Handle REMB on RTX RTCP (#3257)
  • Thottle the publisher data channel sending when subscriber is slow (#3255 #3265 #3281)

Fixed

  • avoids NaN (#3119)
  • reduce retransmit by seeding duplicate packets and bytes. (#3124)
  • don't return video/rtx to client (#3142)
  • ignore unexported fields in yaml lint (#3145)
  • Fix incorrect computation of SecondsSinceNodeStatsUpdate (#3172)
  • Attempt to fix missing participant left webhook. (#3173)
  • Set down track connected flag in one-shot-signalling mode. (#3191)
  • Don't SetCodecPreferences for video transceiver (#3249)
  • Disable av1 for safari (#3284)
  • fix completed job status updates causing workers to reconnect (#3294)

Changed

  • Display both pairs on selected candidate pair change (#3133)
  • Maintain RTT marker for calculations. (#3139)
  • Consolidate operations on LocalNode. (#3140)
  • Use int64 nanoseconds and reduce conversion in a few places (#3159)
  • De-centralize some configs to where they are used. (#3162)
  • Split out audio level config. (#3163)
  • Use int64 nanoseconds and reduce conversion in a few places (#3159)
  • Reduce lock scope. (#3167)
  • Clean up forwardRTP function a bit. (#3177)
  • StreamAllocator (congestion controller) refactor (#3180)
  • convert psprc error to http code in rtc service failure response (#3187)
  • skip http request logging when the client aborts the request (#3195)
  • Do not treat data publisher as publisher. (#3204)
  • Publish data and signal bytes once every 30 seconds. (#3212)
  • upgrade to pion/webrtc v4 (#3213)
  • Don't wait rtp packet to fire track (#3246)
  • Keep negotiated codec parameters in Downtrack.Bind (#3271)
  • Structured logging of ParticipantInit (#3279)
  • Start stream allocator after creating peer connection. (#3283)
  • Reduce memory allocation in WritePaddingRTP / WriteProbePackets (#3288)
  • add room/participant to logger context for SIP APIs (#3290)
  • vp8 temporal layer selection with dependency descriptor (#3302)
  • Use contiguous groups to determine queuing region. (#3308)
Oct 19, 2024

Added

  • Support protocol 15 - send signal response for success responses (#2926)
  • Add DisconnectReason to ParticipantInfo. (#2930)
  • add roommanager service (#2931)
  • Add tracksubscribed event on downtrack added (#2934)
  • Speed up track publication (#2952)
  • Add FastPublish in JoinResponse (#2964)
  • Update protocol. Support SIP Callee dispatch rule type. (#2969)
  • Record out-of-packet count/rate in prom. (#2980)
  • Support passing SIP headers. (#2993)
  • Update ICE via webrtc to get candidate pair stats RTT (#3009)
  • Initial plumbing for metrics. (#2950)
  • Allow agents to override sender identities on ChatMessage (#3022)
  • Implement SIP TransferParticipant API (#3026)
  • api for agent worker job count (#3068)
  • Add counter for pub&sub time metrics (#3084)
  • Support for attributes in initial agent token (#3097)

Fixed

  • Handle another old packet condition. (#2947)
  • Properly exclude mDNS when not trickling also. (#2956)
  • Panic fix for nil candidate check. (#2957)
  • Skip ICE restart on unestablished peer connection. (#2967)
  • Recreate stats worker on resume if needed. (#2982)
  • Handle trailing slashes in URL (#2988)
  • Do not take padding packets into account in max pps calculation (#2990)
  • compute agent service affinity from available capacity (#2995)
  • Do not remove from subscription map on unsubscribe. (#3002)
  • Fix forwarder panic defer of nil senderReport (#3011)
  • avoid race condition on downtrack.Codec (#3032)
  • fix: copy attributes to refresh token (#3036)
  • Set mime_type for tracks don't have simulcast_codecs (#3040)
  • check data messages for nil payloads (#3062)
  • Fix codec name normalisation. (#3081 #3103 #3104 #3106 #3113)
  • Set FEC enabled properly in connection stats module. (#3098)
  • Type safe IP checks for SIP Trunks. (#3108)
  • Parse python, cpp, unity-web, node sdks in clientinfo (#3110)

Changed

  • Use monotonic clock in packet path. (#2940)
  • Refactor propagation delay estimator. (#2941)
  • Propagate SIP attributes from a Dispatch Rule. (#2943)
  • Refactor sip create participant (#2949)
  • Reduce threshold of out-of-order very old packet detection. (#2951)
  • Standardize twirp hooks during server init (#2959)
  • Don't remove DD extesion for simucalst codecs (#2960)
  • Negotiate downttrack for subscriber before receiver is ready (#2970)
  • Allow start streaming on an out-of-order packet. (#2971)
  • exponential backoff when calling CreateRoom (#2977)
  • Start negotiate immediately if last one is before debouce interval (#2979)
  • Seed down track state on re-use. (#2985)
  • Cache RTCP sender report in forwarder state. (#2994)
  • Set SenderReport to nil on seeding if empty. (#3008)
  • Use new track id for republishing (#3020)
  • simplify agent registration (#3018)
  • enable room creator service by default (#3043)
  • Fix clock rate skew calculation. (#3055)
  • Forward new disconnect reasons for SIP. (#3056)
  • Use difference debounce interval in negotiation (#3078)
  • Use lower case mime type in dynacast. (#3080)
  • Drop quality a bit faster on score trending lower to be more responsive. (#3093)
  • Protocol update to get more precise protoproxy timing (#3107)
Aug 12, 2024

Version 1.7.2

Added

  • Feat add prometheus auth (#2252)
  • Support for Agent protocol v2 (#2786 #2837 #2872 #2886, #2919)
  • Add track subscribed notification to publisher (#2834)
  • Always forward DTMF data messages. (#2848)
  • Send error response when update metadata fails. (#2849)
  • Allow specifying room configuration in token (#2853)
  • Make sender report pass through an option. (#2861)
  • Add option to disable ice lite (#2862)
  • mark final ice candidate (#2871)
  • Send the correct room closed reason to clients (#2901)
  • distribute load to agents probabilistically, inversely proportionate to load (#2902)

Fixed

  • Fixed participant attributes not broadcasted correctly (#2825)
  • Handle cases of long mute/rollover of time stamp. (#2842)
  • use correct payload type for red primary encoding (#2845)
  • Forward correct payload type for mixed up red/primary payload (#2847)
  • Check size limits on metadata and name set from client. (#2850)
  • Fallback to primary encoding if redundant block overflow (#2858)
  • Support updating local track features when pending. (#2863)
  • don't send unknown signal message to rust sdk with protocol 9 (#2860)
  • Fixed handling of different extensions across multiple media sections (#2878)
  • Fix forced rollover of RTP time stamp. (#2896)
  • Do not start forwarding on an out-of-order packet. (#2917)
  • Reset DD tracker layers when muted. (#2920)

Changed

  • add handler interface to receive agent worker updates (#2830)
  • log non-trickle candidate in details (#2832)
  • RTP packet validity check. (#2833)
  • Do not warn on padding (#2839)
  • Check sender report against media path. (#2843)
  • Do not create room in UpdateRoomMetadata (#2854)
  • use atomic pointer for MediaTrackReceiver TrackInfo (#2870)
  • Don't create DDParser for non-svc codec (#2883)
Previous123Next
Latest
v1.11.0
Tracking Since
Apr 16, 2021
Last fetched Apr 19, 2026