releases.sh
preview
Search
Docs
LiveKit
/
LiveKit Server
/
v1.9.1
v1.9.1
September 5, 2025
LiveKit Server
View original ↗
$
npx -y @buildinternet/releases show rel_r5R_VEI5QoFn7kytcExJ-
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)
Fetched April 11, 2026