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
Oct 14, 2021
v0.13.3: Region aware routing and Opus DTX

Region aware routing

Introducing region-aware routing. When configured, LiveKit could route traffic to nodes that are closer to the end user. See multi region support #135 #141 (thanks @bekriebel)

Recording revamp

We've revamped our recording capabilities so that it's close to a GA release. Notable changes include RTMP simulcast support, and moving the pipelines to GStreamer from FFmpeg. Requires livekit-recorder v0.3.1 or higher #137

Opus DTX support

Opus DTX is enabled by default in this version, significantly reducing audio bandwidth utilization.

Other change & bugfixes

  • Added routing metrics to be exposed via Prometheus #139
  • Enable Opus FEC with publisher in the room when subscribers are experiencing high loss #142
  • Transceiver re-use: with clients supporting protocol 4, livekit will re-use existing transceivers to avoid it ballooning. #145
  • Support for Source attribute in TrackInfo #146
Oct 5, 2021
  • Fixed NACK handling when simulcast is enabled 797d2607c45e6986a74ef23c98ab26183687aa6a
  • Fixed client rejoining in single-node mode cdb04248fb0af7c167d7c168142597d5d831d524
  • Upgraded to Pion v3.1.1
  • Room Metadata support #126
Sep 22, 2021

Features

Protocol 3

support for protocol 3, where subscriber connection becomes the primary one. This speeds up session establishment for participants that aren't publishing.

Graceful termination

When running in multi-node, server will now terminate gracefully, allowing remaining rooms on the node to drain. #116

Other changes

  • Fixed mute/unmute on simulcasted tracks with less than 3 layers #114
  • Support incremental speaker updates #120
  • Webhooks for when recording is finished #125
Sep 6, 2021

Changes since v0.12.0

  • option to disable server-initiated mute/unmute (supported with JS SDK) #107
  • fixed mute/unmute loop when JS client changes mute states quickly #107
  • support for load aware node selection #94
  • support for sendData room API #88
  • windows development support #101
  • fixed panic when simulcasting low res video #102
  • recorder to use message bus #108
  • various interface updates #97 #103 #104 #105 #106
Aug 10, 2021

Feature release v0.12.0

Webhooks

LiveKit can now notify your server when room events take place. See webhooks docs for configuration and details. The following server SDK versions include support for receiving webhooks:

  • server-sdk-go v0.6.0
  • server-sdk-js v0.5.1

Recording support

We've also included support for our upcoming recording feature. When released, it'll work with v0.12 and above.

Aug 1, 2021

Bugfix release

Changes

  • Default TLS port updated to match rfc5766 #68
  • STUN servers are sent to clients automatically #69
  • Preparing for recording mode #70
  • Fixed external IP discovery #72
  • Fixed case where subscriber could be placed on an unavailable layer upon joining b8e1cbe4f57ebbae6676d3c744f0ae0e3eb64965
Jul 23, 2021

Bugfixes

  • Fixed force_tcp flag, correctly suppress UDP candidates when enabled #62
  • Fixed participant actions with Room API in single node configuration #67
  • Fixed participants kicked out of the room sometimes when adaptive simulcast is used (f3a17a151f8641fe00851c2d047776f72d67677e)

Improvements

Huge shoutout to @hn8 for the contributions!

  • TURN/UDP support for improved connectivity #61
  • Updated logger, consistent field names #57 #60
  • Ability to have invisible participants (preparing for recorder) #65
Jul 16, 2021
v0.11.0 - adaptive simulcast

We are introducing a new feature with v0.11 that significantly improve LiveKit's handling of simulcast, particularly on the publisher side. (#51) With v0.11, publishers can now indicate which layers they are actively publishing. This enables the SFU to place subscribers on currently active layers. Publishers could stop publishing to a particular layer due to bandwidth or CPU constraints.

JS SDK > v0.10.x supports adaptive publishing

Also in this release:

Jul 13, 2021
Dev mode debug endpoint

Improvements

  • Fixes down track resync on unmute

Changes

  • Exposes /debug/rooms endpoint when running in dev mode, which displays room and participant state along with down track stats
Jul 11, 2021

Improvements

  • Fix glitch during layer switch with H.264 simulcast
  • Handle client reconnect after server has been restarted (#43)
  • Enhancements to active-speaker detection (#44)
  • Improves handling of Node IP in container environments (#48)

Changes

  • When ports are not explicitly configured, and --dev flag is used, single port mode will be used to make it easier to map ports via Docker.
Jul 7, 2021

Changes:

  • Use multi-port mode by default (#40)
  • Optimized SFU send-loop to fully utilize all CPUs
  • Embedded TURN/TLS for strict corporate firewalls.
Jun 11, 2021

Bugfixes and performance tuning.

Bugfixes:

  • Fixed potential deadlock when subscribers leave
  • Fixed deadlock during ICE restart
  • Improved test reliability

Performance:

  • Single port performance enhancement, increase read buffer and warns if misconfigured

Feature:

  • Ability to send data packets to specific participants (contributed by @FeepsDev)
Jun 4, 2021

Fixed deadlocks in new subscriptions.

May 23, 2021

Improvements:

  • Handles ICE Restart much better than before
  • Upstream ion-sfu v1.10.3
  • Actually enforce CanSubscribe permissions

Features:

  • Ability to disable auto-subscribe behavior
May 16, 2021

Features

  • exports stats via Prometheus (when prometheus_port is set)
  • supports client-initiated ICE restart, especially when mobile networks change.

Changes

  • use_external_ip is not true by default - you should set this for production deploys.
  • updated to ion-sfu v1.10.0, pion v3.0.29
May 7, 2021
v0.9.0 - datachannel v2

Simplified data channel usage with DataChannel V2. LiveKit now provides the ability to publish data payloads to the room without needing to use data tracks. Each client opens two data channels with the server.

  • reliable channel - delivery guaranteed, much like TCP.
  • lossy - best effort delivery, optimizes for getting data to clients asap.

Clients now have a simple interface to publish data to the room via LocalParticipant.publishData

Data tracks that were in place before v0.9.0 are now deprecated.

Apr 28, 2021
v0.8.5 - Single port stability

This release includes significant improvements to connectivity, with single port mode being the default. With this release, LiveKit requires only three ports with no limit* to the number of connected clients.

  • Primary API port (HTTP/WS)
  • UDP data port
  • TCP data port

It also includes a couple of features and bugfixes:

  • Handle client-driven ICE restart - when client network conditions have changed, the server handles when client PeerConnection reconnects without losing session state
  • Bugfixes to single port mode (race conditions)
  • Participant.JoinedAt - indicates when participant joined the room
  • DeleteRoom now immediately terminates all connected clients (via Leave responses)
Apr 16, 2021

This release contains significant improvements to stability and connectivity.

Features

  • Single-port mode: accepts ICE traffic over a single UDP port, demuxing to different participants
  • TCP mode: support for ICE/TCP in situations that UDP isn't available (like VPN, firewalls)
  • Plan B support: initial support for clients that are plan-b based.

Bugfixes

  • Fixed potential race condition during ICE candidate exchange

NOTE: there had been a breaking change to the config file, specifically:

  • rtc.ice_tcp_port is now ice. tcp_port
  • rtc.udp_port should be used to activate single port mode. port_range_start and port_range_end are no longer needed
Latest
v1.11.0
Tracking Since
Apr 16, 2021
Last checked Apr 20, 2026