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
Jun 25, 2024

This version includes a breaking change for SIP service. SIP service now requires sip.admin in the token's permission grant to interact with trunks and dispatch rules; and sip.call to dial out to phone numbers. The latest versions of server SDKs will include the permission grants automatically.

Added

  • Support new SIP Trunk API. (#2799)
  • Add participant session duration metric (#2801)
  • Support for key/value attributes on Participants (#2806)
  • Breaking: SIP service requires sip.admin or sip.call grants. (#2808)

Fixed

  • Fixed agent jobs not launching when using the CreateRoom API (#2796)

Changed

  • Indicate if track is expected to be resumed in onClose callback. (#2800)
Jun 16, 2024

Added

  • Support for optional publisher datachannel (#2693)
  • add room/participant name limit (#2704)
  • Pass through timestamp in abs capture time (#2715)
  • Support SIP transports. (#2724)

Fixed

  • add missing strings.EqualFold for some mimeType comparisons (#2701)
  • connection reset without any closing handshake on clientside (#2709)
  • Do not propagate RTCP if report is not processed. (#2739)
  • Fix DD tracker addition. (#2751)
  • Reset tracker on expected layer increase. (#2753)
  • Do not add tracker for invalid layers. (#2759)
  • Do not compare payload type before bind (#2775)
  • fix agent jobs not launching when using the CreateRoom API (#2784)

Changed

  • Performance improvements to forwarding by using condition var. (#2691 #2699)
  • Simplify time stamp calculation on switches. (#2688)
  • Simplify layer roll back. (#2702)
  • ensure room is running before attempting to delete (#2705)
  • Redact egress object in CreateRoom request (#2710)
  • reduce participant lock scope (#2732)
  • Demote some less useful/noisy logs. (#2743)
  • Stop probe on probe controller reset (#2744)
  • initialize bucket size by publish bitrates (#2763)
Apr 26, 2024

Changelog

This release changes the default behavior when creating or updating WHIP ingress. WHIP ingress will now default to disabling transcoding and forwarding media unchanged to the LiveKit subscribers. This behavior can be changed by using the new enable_transcoding available in updated SDKs. The behavior of existing ingresses is unchanged.

Added

  • Add support for "abs-capture-time" extension. (#2640)
  • Add PropagationDelay API to sender report data (#2646)
  • Add support for EnableTranscoding ingress option (#2681)
  • Pass new SIP metadata. Update protocol. (#2683)
  • Handle UpdateLocalAudioTrack and UpdateLocalVideoTrack. (#2684)
  • Forward transcription data packets to the room (#2687)

Fixed

  • backwards compatability for IsRecorder (#2647)
  • Reduce RED weight in half. (#2648)
  • add disconnected chan to participant (#2650)
  • add typed ops queue (#2655)
  • ICE config cache module. (#2654)
  • use typed ops queue in pctransport (#2656)
  • Use the ingress state updated_at field to ensure that out of order RPC do not overwrite state (#2657)
  • Log ICE candidates to debug TCP connection issues. (#2658)
  • Debug logging addition of ICE candidate (#2659)
  • fix participant, ensure room name matches (#2660)
  • replace keyframe ticker with timer (#2661)
  • fix key frame timer (#2662)
  • Disable dynamic playout delay for screenshare track (#2663)
  • Don't log dd invalid template index (#2664)
  • Do codec munging when munging RTP header. (#2665)
  • Connection quality LOST only if RTCP is also not available. (#2670)
  • Handle large jumps in RTCP sender report timestamp. (#2674)
  • Bump golang.org/x/net from 0.22.0 to 0.23.0 (#2673)
  • do not capture pointers in ops queue closures (#2675)
  • Fix SubParticipant twice when paticipant left (#2672)
  • use ttlcache (#2677)
  • Detach subscriber datachannel to save memory (#2680)
  • Clean up UpdateVideoLayers (#2685)
Apr 11, 2024

Added

  • Support for Participant.Kind. (#2505 #2626)
  • Support XR request/response for rtt calculation (#2536)
  • Added support for departureTimeout to keep the room open after participant depart (#2549)
  • Added support for Egress Proxy (#2570)
  • Added support for SIP DTMF data messages. (#2559)
  • Add option to enable bitrate based scoring (#2600)
  • Agent service: support for orchestration v2 & namespaces (#2545 #2641)
  • Ability to disable audio loss proxying. (#2629)

Fixed

  • Prevent multiple debounce of quality downgrade. (#2499)
  • fix pli throttle locking (#2521)
  • Use the correct snapshot id for PPS. (#2528)
  • Validate SIP trunks and rules when creating new ones. (#2535)
  • Remove subscriber if track closed while adding subscriber. (#2537)
  • fix #2539, do not kill the keepaliveWorker task when the ping timeout occurs (#2555)
  • Improved A/V sync, proper RTCP report past mute. (#2588)
  • Protect duplicate subscription. (#2596)
  • Fix twcc has chance to miss for firefox simulcast rtx (#2601)
  • Limit playout delay change for high jitter (#2635)

Changed

  • Replace reflect.Equal with generic sliceEqual (#2494)
  • Some optimisations in the forwarding path. (#2035)
  • Reduce heap for dependency descriptor in forwarding path. (#2496)
  • Separate buffer size config for video and audio. (#2498)
  • update pion/ice for tcpmux memory improvement (#2500)
  • Close published track always. (#2508)
  • use dynamic bucket size (#2524)
  • Refactoring channel handling (#2532)
  • Forward publisher sender report instead of generating. (#2572)
  • Notify initial permissions (#2595)
  • Replace sleep with sync.Cond to reduce jitter (#2603)
  • Prevent large spikes in propagation delay (#2615)
  • reduce gc from stream allocator rate monitor (#2638)
Feb 19, 2024

Changelog

Added

  • Added dynamic playout delay if PlayoutDelay enabled in the room (#2403)
  • Allow creating SRT URL pull ingress (requires Ingress service release) (#2416)
  • Use default max playout delay as chrome (#2411)
  • RTX support on publisher transport (#2452)
  • Add exponential backoff to room service check retries (#2462)
  • Add support for ingress ParticipantMetadata (#2461)

Fixed

  • Prevent race of new track and new receiver. (#2345)
  • Fixed race condition when applying metadata update. (#2363 #2478)
  • Fixed race condition in DownTrack.Bind. (#2388)
  • Improved PSRPC over redis reliability with keepalive (#2398)
  • Fix race condition on Participant.updateState (#2401)
  • Replace /bin/bash with env call for FreeBSD compatibility (#2409)
  • Fix startup with -dev and -config (#2442)
  • Fix published track leaks: close published tracks on participant close (#2446)
  • Enforce empty SID for UserPacket from hidden participants (#2469)
  • Ignore duplicate RID. (Fix for spec breakage by Firefox on Windows 10) (#2471)

Changed

  • Logging improvements (various PRs)
  • Server shuts down after a second SIGINT to simplify development lifecycle (#2364)
  • A/V sync improvements (#2369 #2437 #2472)
  • Prometheus: larger max session start time bin size (#2380)
  • Updated SIP protocol for creating participants. (requires latest SIP release) (#2404 #2474)
  • Improved reliability of signal stream starts with retries (#2414)
  • Use Deque instead of channels in internal communications to reduce memory usage. (#2418 #2419)
  • Do not synthesise DISCONNECT on session change. (#2412)
  • Prometheus: larger buckets for jitter histogram (#2468)
  • Support for improved Ingress internal RPC (#2485)
  • Let track events go through after participant close. (#2487)

Removed

  • Removed code related to legacy (pre 1.5.x) RPC protocol (#2384 #2385)
Dec 22, 2023

Support for LiveKit SIP Bridge ☎️

Added

  • Add SIP Support (#2240 #2241 #2244 #2250 #2263 #2291 #2293)
  • Introduce LOST connection quality. (#2265 #2276)
  • Expose detailed connection info with ICEConnectionDetails (#2287)
  • Add Version to TrackInfo. (#2324 #2325)

Fixed

  • Guard against bad quality in trackInfo (#2271)
  • Group SDES items for one SSRC in the same chunk. (#2280)
  • Avoid dropping data packets on local router (#2270)
  • Fix signal response delivery after session start failure (#2294)
  • Populate disconnect updates with participant identity (#2310)
  • Fix mid info lost when migrating multi-codec simulcast track (#2315)
  • Store identity in participant update cache. (#2320)
  • Fix panic occurs when starting livekit-server with key-file option (#2312) (#2313)

Changed

  • INFO logging reduction (#2243 #2273 #2275 #2281 #2283 #2285 #2322)
  • Clean up restart a bit. (#2247)
  • Use a worker to report signal/data stats. (#2260)
  • Consolidate TrackInfo. (#2331)
Nov 10, 2023

We've added support for the Agent framework. More on this soon!

Added

  • PSRPC based room and participant service. disabled by default (#2171 #2205)
  • Add configuration to limit MaxBufferedAmount for data channel (#2170)
  • Agent framework worker support (#2203 #2227 #2230 #2231 #2232)

Fixed

  • Fixed panic in StreamTracker when SVC is used (#2147)
  • fix CreateEgress not completing (#2156)
  • Do not update highest time on padding packet. (#2157)
  • Clear flags in packet metadata cache before setting them. (#2160)
  • Drop not relevant packet only if contiguous. (#2167)
  • Fixed edge cases in SVC codec support (#2176 #2185 #2191 #2196 #2197 #2214 #2215 #2216 #2218 #2219)
  • Do not post to closed channels. (#2179)
  • Only launch room egress once (#2175)
  • Remove un-preferred codecs for android firefox (#2183)
  • Fix pre-extended value on wrap back restart. (#2202)
  • Declare audio inactive if stale. (#2229)

Changed

  • Defer close of source and sink to prevent error logs. (#2149)
  • Continued AV Sync improvements (#2150 #2153)
  • Egress store/IO cleanup (required for Egress 1.8.0) (#2152)
  • More fine grained filtering NACKs after a key frame. (#2159)
  • Don't filter out ipv6 address for client don't support prflx over relay (#2193)
  • Disable h264 for android firefox (#2190)
  • Do not block on down track close with flush. (#2201)
  • Separate publish and subscribe enabled codecs for finer grained control. (#2217)
  • improve participant hidden (#2220)
  • Reject migration if codec mismatch with published tracks (#2225)
Oct 16, 2023

Added

  • Add option to issue full reconnect on data channel error. (#2026)
  • Support non-SVC AV1 track publishing (#2030)
  • Add batch i/o to improve throughput (#2033)
  • Integrate updated TWCC responder (#2038)
  • Allow RoomService.SendData to use participant identities (#2051 #2058)
  • Support for Participant Egress (#2070)
  • Add max playout delay config (#2089)
  • Enable SVC codecs by default (#2109)
  • Add SyncStreams flag to Room, protocol 10 (#2110)

Fixed

  • Unlock pendingTracksLock when mid is empty (#1994)
  • Do not offer H.264 high profile in subscriber offer, fixes negotiation failures (#1997)
  • Prevent erroneous stream pause. (#2008)
  • Handle duplicate padding packet in the up stream. (#2012)
  • Do not process packets not processed by RTPStats. (#2015)
  • Adjust extended sequence number to account for dropped packets (#2017)
  • Do not force reconnect on resume if there is a pending track (#2081)
  • Fix out-of-range access. (#2082)
  • Start key frame requester on start. (#2111)
  • Handle RED extended sequence number. (#2123)
  • Handle playoutDelay for Firefox (#2135)
  • Fix ICE connection fallback (#2144)

Changed

  • Drop padding only packets on publisher side. (#1990)
  • Do not generate a stream key for URL pull ingress (#1993)
  • RTPStats optimizations and improvements (#1999 #2000 #2001 #2002 #2003 #2004 #2078)
  • Remove sender report warp logs. (#2007)
  • Don't create new slice when return broadcast downtracks (#2013)
  • Disconnect participant when signal proxy is closed (#2024)
  • Use random NodeID instead of MAC based (#2029)
  • Split RTPStats into receiver and sender. (#2055)
  • Reduce packet meta data cache (#2073 #2078)
  • Reduce ghost participant disconnect timeout (#2077)
  • Per-session TURN credentials (#2080)
  • Use marshal + unmarshal to ensure unmarshallable fields are not copied. (#2092)
  • Allow playout delay even when sync stream isn't used. (#2133)
  • Increase accuracy of delay since last sender report. (#2136)
Aug 23, 2023

1.4.5 added support for URL pull Ingress. It's now possible to ingest media files (i.e. mp4, HLS) as long as they are accessible by URL.

Added

  • VP9 codec with SVC support (#1586)
  • Support for source-specific permissions and client-initiated metadata updates (#1590)
  • Batch support for signal relay (#1593 #1596)
  • Support for simulating subscriber bandwidth (#1609)
  • Support for subscription limits (#1629)
  • Send Room updates when participant counts change (#1647)

Fixed

  • Fixed process return code to 0 (#1589)
  • Fixed VP9 stutter when not using dependency descriptors (#1595)
  • Fixed stutter when using dependency descriptors (#1600)
  • Fixed Redis cluster support when using Egress or Ingress (#1606)
  • Fixed simulcast parsing error for slower clients (camera and screenshare) (#1621)
  • Don't close RTCP reader if Downtrack will be resumed (#1632)
  • Restore VP8 munger state properly. (#1634)
  • Fixed incorrect node routing when using signal relay (#1645)
  • Do not send hidden participants to others after resume (#1689)
  • Fix for potential webhook delivery delays (#1690)

Changed

  • Refactored video layer selector (#1588 #1591 #1592)
  • Improved transport fallback when client is resuming (#1597)
  • Improved webhook reliability with delivery retries (#1607 #1615)
  • Congestion controller improvements (#1614 #1616 #1617 #1623 #1628 #1631 #1652)
  • Reduced memory usage by releasing ParticipantInfo after JoinResponse is transmitted (#1619)
  • Ensure safe access in sequencer (#1625)
  • Run quality scorer when there are no streams. (#1633)
  • Participant version is only incremented after updates (#1646)
  • Connection quality attribution improvements (#1653 #1664)
  • Remove disallowed subscriptions on close. (#1668)
  • A/V sync improvements (#1681 #1684 #1687 #1693 #1695 #1696 #1698 #1704)
  • RTCP sender reports every three seconds. (#1692)
Jul 9, 2023

Added

  • Add dependency descriptor stream tracker for svc codecs (#1788)
  • Full reconnect on publication mismatch on resume. (#1823)
  • Pacer interface in down stream path. (#1835)
  • retry egress on timeout/resource exhausted (#1852)

Fixed

  • Send Room metadata updates immediately after update (#1787)
  • Do not send ParticipantJoined webhook if connection was resumed (#1795)
  • Reduce memory leaks by avoiding references in closure. (#1809)
  • Honor bind address passed as --bind also for RTC ports (#1815)
  • Avoid dangling downtracks by always deleting them in receiver close. (#1842)
  • Better cleanup of subscriptions with needsCleanup. (#1845)
  • Fix nack issue for svc codecs (#1856)
  • Fixed hidden participant update were still sent when track is published (#1857)
  • Fixed Redis lockup when unlocking room with canceled request context (#1859)

Changed

  • Improvements to A/V sync (#1773 #1781 #1784 )
  • Improved probing to be less disruptive in low bandwidth scenarios (#1782 #1834 #1839)
  • Do not mute forwarder when paused due to bandwidth congestion. (#1796)
  • Improvements to congestion controller (#1800 #1802 )
  • Close participant on full reconnect. (#1818)
  • Do not process events after participant close. (#1824)
  • Improvements to dependency descriptor based selection forwarder (#1808)
  • Discount out-of-order packets in downstream score. (#1831)
  • Adaptive stream to select highest layer of equal dimensions (#1841)
  • Return 404 with DeleteRoom/RemoveParticipant when deleting non-existent resources (#1860)
Jun 4, 2023

Added

  • Send quality stats to prometheus. (#1708)
  • Support for disabling publishing codec on specific devices (#1728)
  • Add support for bypass_transcoding field in ingress (#1741)
  • Include await_start_signal for Web Egress (#1759)

Fixed

  • Handle time stamp increment across mute for A/V sync (#1705)
  • Additional A/V sync improvements (#1712 #1724 #1737 #1738 #1764)
  • Check egress status on UpdateStream failure (#1716)
  • Start signal relay sessions with the correct node (#1721)
  • Fix unwrap for out-of-order packet (#1729)
  • Fix dynacast for svc codec (#1742 #1743)
  • Ignore receiver reports that have a sequence number before first packet (#1745)
  • Fix node stats updates on Windows (#1748)
  • Avoid reconnect loop for unsupported downtrack (#1754)
  • Perform unsubscribe in parallel to avoid blocking (#1760)

Changed

  • Make signal close async. (#1711 #1722)
  • Don't add nack if it is already present in track codec (#1714)
  • Tweaked connection quality algorithm to be less sensitive to jitter (#1719)
  • Adjust sender report time stamp for slow publishers (#1740)
  • Split probe controller from StreamAllocator (#1751)
May 10, 2023

1.4.2 introduces support for VP9 and AV1 in SVC mode. They are currently not enabled by default. To enable them, add the following to enabled_codecs

  - mime: video/vp9
  - mime: video/av1

Added

  • VP9 codec with SVC support (#1586)
  • Support for source-specific permissions and client-initiated metadata updates (#1590)
  • Batch support for signal relay (#1593 #1596)
  • Support for simulating subscriber bandwidth (#1609)
  • Support for subscription limits (#1629)
  • Send Room updates when participant counts change (#1647)

Fixed

  • Fixed process return code to 0 (#1589)
  • Fixed VP9 stutter when not using dependency descriptors (#1595)
  • Fixed stutter when using dependency descriptors (#1600)
  • Fixed Redis cluster support when using Egress or Ingress (#1606)
  • Fixed simulcast parsing error for slower clients (camera and screenshare) (#1621)
  • Don't close RTCP reader if Downtrack will be resumed (#1632)
  • Restore VP8 munger state properly. (#1634)
  • Fixed incorrect node routing when using signal relay (#1645)
  • Do not send hidden participants to others after resume (#1689)
  • Fix for potential webhook delivery delays (#1690)

Changed

  • Refactored video layer selector (#1588 #1591 #1592)
  • Improved transport fallback when client is resuming (#1597)
  • Improved webhook reliability with delivery retries (#1607 #1615)
  • Congestion controller improvements (#1614 #1616 #1617 #1623 #1628 #1631 #1652)
  • Reduced memory usage by releasing ParticipantInfo after JoinResponse is transmitted (#1619)
  • Ensure safe access in sequencer (#1625)
  • Run quality scorer when there are no streams. (#1633)
  • Participant version is only incremented after updates (#1646)
  • Connection quality attribution improvements (#1653 #1664)
  • Remove disallowed subscriptions on close. (#1668)
  • A/V sync improvements (#1681 #1684 #1687 #1693 #1695 #1696 #1698 #1704)
  • RTCP sender reports every three seconds. (#1692)

Removed

  • Remove deprecated (non-psrpc) egress client (#1701)
Apr 6, 2023

Added

  • Added prometheus metrics for internal signaling API #1571

Fixed

  • Fix regressions in RTC when using redis with psrpc signaling #1584 #1582 #1580 #1567
  • Fix required bitrate assessment under channel congestion #1577

Changed

  • Improve DTLS reliability in regions with internet filters #1568
  • Reduce memory usage from logging #1576
Apr 1, 2023

In this release, we are introducing a major update to our connection quality algorithm. The improved algorithm boasts greater accuracy and quicker responsiveness to network conditions, providing users with early notifications about poor network connections.

We have also introduced a new internal transport between signal and RTC nodes for signal messages. Instead of relying on unreliable one-way pubsub messages, you can now opt for an RPC transport using psrpc. Note: Before setting signal_relay.enabled, please ensure every instance in your cluster is running v1.4.0+; otherwise, instances will be unable to communicate with each other.

Added

  • Added config to disable active RED encoding. Use NACK instead #1476 #1477
  • Added option to skip TCP fallback if TCP RTT is high #1484
  • psrpc based signaling between signal and RTC #1485
  • Connection quality algorithm revamp #1490 #1491 #1493 #1496 #1497 #1500 #1505 #1507 #1509 #1516 #1520 #1521 #1527 #1528 #1536
  • Support for topics in data channel messages #1489
  • Added active filter to ListEgress #1517
  • Handling for React Native and Rust SDK ClientInfo #1544

Fixed

  • Fixed unsubscribed speakers stuck as speaking to clients #1475
  • Do not include packet in RED if timestamp is too far back #1478
  • Prevent PLI layer lock getting stuck #1481
  • Fix a case of changing video quality not succeeding #1483
  • Resync on pub muted for audio to avoid jump in sequence numbers on unmute #1487
  • Fixed a case of data race #1492
  • Inform reconnecting participant about recently disconnected users #1495
  • Send room update that may be missed by reconnected participant #1499
  • Fixed regression for AV1 forwarding #1538
  • Ensure sequence number continuity #1539
  • Give proper grace period when recorder is still in the room #1547
  • Fix sequence number offset on packet drop #1556
  • Fix signal client message buffer size #1561

Changed

  • Reduce lock scope getting RTCP sender reports #1473
  • Avoid duplicate queueReconcile in subscription manager #1474
  • Do not log TURN errors with prefix "error when handling datagram" #1494
  • Improvements to TCP fallback mode #1498
  • Unify forwarder between dependency descriptor and no DD case. #1543
  • Increase sequence number cache to handle high rate tracks #1560
Feb 27, 2023

Added

  • Allow for strict ACKs to be disabled or subscriber peer connections #1410

Fixed

  • Don't error when get tc stats fails #1306
  • Fixed support for Redis cluster #1415
  • Fixed unpublished callback being skipped in certain cases #1418
  • Fixed panic when Egress request is sent with an empty output field #1420
  • Do not unsubscribe from track if it's been republished #1424 #1429 #1454 #1465
  • Fixed panic when closing room #1428
  • Use available layers in optimal allocation #1445 #1446 #1448 #1449
  • Fixed unable to notify webhook when egress ending with status EgressStatus_EGRESS_LIMIT_REACHED #1451
  • Reset subscription start timer on permission grant #1457
  • Avoid panic when server receives a token without a video grant #1463

Changed

  • Updated various logging #1413 #1433 #1437 #1440 #1470
  • Do not force TCP when client left before DTLS handshake #1414
  • Improved performance of data packet forwarding by broadcasting in parallel #1425
  • Cleaning up availableLayers and exemptedLayers #1407
  • Send stream start on initial start #1456
  • Switch to TLS if ICE/TCP isn't working well #1458

Removed

  • Removed signal de-duper as it has not proven to be reliable #1427
  • Remove deprecated ingress rpc #1439 (breaking change for Ingress, this will require Ingress v0.0.2+)
Feb 10, 2023

Added

  • Memory used and total to node stats #1293 #1296
  • Reconnect response to update ICE servers after resume #1300 #1367
  • Additional prometheus stats #1291
  • Adopt psrpc for internal communication protocol #1295
  • Enable track-level audio nack config #1306
  • Telemetry events for ParticipantResumed, track requested actions #1308
  • Allow disabling mDNS, which degrades performance on certain networks #1311 #1393
  • Publish stream stats to prometheus #1313 #1347
  • Retry initial connection attempt if it fails #1335 #1409
  • Add reconnect reason and signal rtt calculation #1381
  • silent frame for muted audio downtrack #1389

Fixed

  • Fixed TimedVersion handling of non-monotonic timestamps #1304
  • Persist participant before firing webhook #1340
  • Set IsPublisher to true for data-only publishers #1348
  • Ignore inactive media in SDP #1365
  • Ensure older participant session update does not go out after a newer #1372
  • Fix potentially nil access in buffer #1374
  • Ensure onPacket is not nil in RTCPReader callback #1390
  • Fix rare panic by CreateSenderReport before bind completed #1397

Changed

  • A/V synchronization improvements #1297 #1315 #1318 #1321 #1351
  • IOInfo service to handle ingress/egress updates #1305
  • Subscription manager to improve subscription resilience #1317 #1358 #1369 #1379 #1382
  • Enable video at low res by default when adaptive stream is enabled #1341
  • Enable upstream nack for opus only audio track #1343
  • Allow /rtc/validate to return room not found message #1344
  • Improve connectivity check to detect DTLS failure #1366
  • Simplify forwarding logic #1349 #1376 #1398
  • Send stream state paused only when it is paused due to bandwidth limitation. #1391
  • Do not catch panics, exit instead to prevent lockup #1392
Jan 8, 2023

Added

  • Signal deduper: ignore duplicate signal messages #1243 #1247 #1257
  • FPS based stream tracker #1267 #1269 #1275 #1281
  • Support forwarding track encryption status #1265
  • Use publisher side sender report when forwarding - improves A/V sync #1286

Fixed

  • When removing a participant, verify SID matches #1237
  • Fixed rare panic when GetSelectedICECandidatePair returns nil #1253
  • Prevent ParticipantUpdate to be sent before JoinResponse #1271 #1272
  • Fixed Firefox connectivity issues when using UDPMux #1270 #1277
  • Fixed subscribing muted track with Egress and Go SDK #1283

Changed

  • ParticipantLeft webhook would not be sent unless connected successfully #1130
  • Updated to Go 1.18+ #1259
  • Updated Egress RPC framework - psrpc #1252 #1256 #1266 #1273
  • Track subscription operations per source track #1248
  • Egress participants do not count in max_participants #1279
Dec 16, 2022

Bugfix release. We recommend upgrading to this release. It includes a backwards-compatible internal protocol change. In a future release, the old protocol will be deprecated.

Added

  • help-verbose subcommand to print out all flags #1171 #1180
  • Support for Redis cluster #1181
  • Allow loopback candidates to be used via config option #1185
  • Support for high bitrate audio #1188
  • Ability to detect publication errors and force reconnect #1214
  • API secrets are validated upon startup to ensure sufficient security #1217

Fixed

  • Correctly suppress verbose pion logs #1163
  • Fixed memory leak on long running room/participants #1169
  • Force full reconnect when there is no previous answer #1168
  • Fixed potential SSRC collision between participants #1173
  • Prevent RTX buffer and forwarding path colliding #1174
  • Do not set forceRelay when unset #1184
  • Prevent subscription after participant close #1182
  • Fixed lost RTCP packets when incorrect buffer factory was used #1195
  • Fixed handling of high bitrate while adding Opus RED #1196
  • Fixes a rare timing issue leading to connection failure #1208
  • Fixed incorrect handling of | in participant identity #1220 #1223
  • Fixed regression causing Firefox to not connect over TURN #1226

Changed

  • CreateRoom API to allocate the room on RTC node #1155 #1157
  • Check forwarder started when seeding #1191
  • Do not forward media until peer connection is connected #1194
  • Log sampler to reduce log spam #1222
Nov 9, 2022

Fixed

  • Fixed logging config causes server to fail to start #1154
Nov 8, 2022

Changelog

Added

  • Ingress Service support #1125
  • Support for web egress #1126
  • Ability to set all configuration params via command line flags #1112
  • Server-side RED encoding for supported clients #1137
  • Opus RED active loss recovery #1139
  • Experimental: fallback to TCP when UDP is unstable #1119
  • Populate memory load in node stats #1121

Fixed

  • Fixed dynacast pausing a layer due to clients (FF) not publishing layer 0 #1117
  • Room.activeRecording updated correctly after users rejoin #1132
  • Don't collect external candidate IP when it's filtered out #1135
  • Install script to use uname without assuming /usr/bin #1138

Changed

  • Allocate packetMeta up front to reduce number of allocations #1108
  • Do not log duplicate packet error. #1116
  • Consolidate getMemoryStats #1122
  • Seed snapshots to avoid saving/restoring in downtrack #1128
  • Remove Dependency Descriptor extension when AV1 is not preferred #1129
  • Always send participant updates prior to negotiation #1147
  • Set track level codec settings for all pending tracks #1148
  • Use Redis universal client to support clustered redis #1149
Latest
v1.11.0
Tracking Since
Apr 16, 2021
Last fetched Apr 19, 2026