Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion .changes/au-buffer-size

This file was deleted.

1 change: 0 additions & 1 deletion .changes/audio-session-activate-check

This file was deleted.

1 change: 0 additions & 1 deletion .changes/broadcast-crash

This file was deleted.

1 change: 0 additions & 1 deletion .changes/broadcast-improvements

This file was deleted.

1 change: 0 additions & 1 deletion .changes/objc-tests

This file was deleted.

1 change: 0 additions & 1 deletion .changes/received-message-is-final

This file was deleted.

1 change: 0 additions & 1 deletion .changes/remove-swift-collections

This file was deleted.

1 change: 0 additions & 1 deletion .changes/rotation-dimension-freeze

This file was deleted.

1 change: 0 additions & 1 deletion .changes/sample-buffer-cropping

This file was deleted.

1 change: 0 additions & 1 deletion .changes/single-pc

This file was deleted.

1 change: 0 additions & 1 deletion .changes/socket-fix

This file was deleted.

1 change: 0 additions & 1 deletion .changes/socket-stale

This file was deleted.

1 change: 0 additions & 1 deletion .changes/sound-api-2

This file was deleted.

1 change: 0 additions & 1 deletion .changes/stats-crash

This file was deleted.

1 change: 0 additions & 1 deletion .changes/vision-26

This file was deleted.

1 change: 0 additions & 1 deletion .changes/webrtc-m144

This file was deleted.

26 changes: 13 additions & 13 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,38 +57,38 @@ jobs:

# https://github.com/actions/runner-images/blob/main/images/macos/macos-26-arm64-Readme.md
- os: macos-26
xcode: 26.3
platform: "iOS Simulator,name=iPhone 17 Pro,OS=26.2"
xcode: 26.4
platform: "iOS Simulator,name=iPhone 17 Pro,OS=26.4"
symbol-graph: true
- os: macos-26
xcode: 26.3
platform: "iOS Simulator,name=iPhone 17 Pro,OS=26.2"
xcode: 26.4
platform: "iOS Simulator,name=iPhone 17 Pro,OS=26.4"
extension-api-only: true
- os: macos-26
xcode: 26.3
xcode: 26.4
platform: "macOS"
symbol-graph: true
- os: macos-26
xcode: 26.3
xcode: 26.4
platform: "macOS"
asan: true
- os: macos-26
xcode: 26.3
xcode: 26.4
platform: "macOS"
tsan: true
- os: macos-26
xcode: 26.3
xcode: 26.4
platform: "macOS"
strict-concurrency-env: true
- os: macos-26
xcode: 26.3
xcode: 26.4
platform: "macOS,variant=Mac Catalyst"
- os: macos-26
xcode: 26.3
platform: "visionOS Simulator,name=Apple Vision Pro,OS=26.2"
xcode: 26.4
platform: "visionOS Simulator,name=Apple Vision Pro,OS=26.4"
- os: macos-26
xcode: 26.3
platform: "tvOS Simulator,name=Apple TV,OS=26.2"
xcode: 26.4
platform: "tvOS Simulator,name=Apple TV,OS=26.4"

runs-on: ${{ matrix.os }}
timeout-minutes: 60
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/cocoapods-lint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- os: macos-15
xcode: 16.4
- os: macos-26
xcode: 26.3
xcode: 26.4
runs-on: ${{ matrix.os }}
timeout-minutes: 30
steps:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/publish-docs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
strategy:
matrix:
include:
- platform: "iOS Simulator,name=iPhone 17 Pro,OS=26.2"
- platform: "iOS Simulator,name=iPhone 17 Pro,OS=26.4"
artifact_name: symbol-graph-ios
- platform: "macOS"
artifact_name: symbol-graph-macos
Expand All @@ -38,7 +38,7 @@ jobs:
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "26.3"
xcode-version: "26.4"

- name: Build for Release - Symbol Graph
run: |
Expand Down Expand Up @@ -72,7 +72,7 @@ jobs:
- name: Set up Xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: "26.3"
xcode-version: "26.4"

- name: Download Symbol Graphs
uses: actions/download-artifact@v4
Expand Down
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.12.1
2.13.0
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,32 @@
# Changelog

## [2.13.0] - 2026-04-09

### Added

- Single peer connection mode via `RoomOptions.singlePeerConnection`. Requires LiveKit Cloud or LiveKit OSS >= 1.9.2.
- Missing data stream and RPC ObjC exposure with ObjC tests
- SoundPlayer API for prepared audio clips with local playback and best-effort remote playback
- Add isFinal property to ReceivedMessage for transcription segment finalization

### Changed

- Changed minimal supported visionOS version to 26 due to WebRTC dependencies
- Update WebRTC to m144
- Remove swift-collections dependency by replacing with minimal internal implementations

### Fixed

- Local video track freezing during landscape rotation or losing aspect ratio
- Use software rendering in BroadcastImageCodec to avoid GPU crash when app is backgrounded during PiP
- Correct sample-buffer rendering for cropped and scaled screen-share frames
- WebSocket failing to connect in some concurrent scenarios
- Stop audio publishing when audio session activation fails by propagating configuration errors to the audio engine
- Set maximumFramesToRender on mixer audio nodes to prevent kAudioUnitErr_TooManyFramesToProcess (-10874) when iOS negotiates larger IO buffer sizes
- Crash during PeerConnection teardown caused by stats timer race
- Screen share via broadcast extension showing 3fps on receiver due to hardcoded simulcast layer FPS
- WebSocket errors killing new connections

## [2.12.1] - 2026-02-17

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions LiveKitClient.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |spec|
spec.name = "LiveKitClient"
spec.version = "2.12.1"
spec.version = "2.13.0"
spec.summary = "LiveKit Swift Client SDK. Easily build live audio or video experiences into your mobile app, game or website."
spec.homepage = "https://github.com/livekit/client-sdk-swift"
spec.license = {:type => "Apache 2.0", :file => "LICENSE"}
Expand All @@ -14,7 +14,7 @@ Pod::Spec.new do |spec|

spec.source_files = "Sources/**/*"

spec.dependency("LiveKitWebRTC", "= 144.7559.01")
spec.dependency("LiveKitWebRTC", "= 144.7559.03")
spec.dependency("LiveKitUniFFI", "= 0.0.5")
spec.dependency("SwiftProtobuf")

Expand Down
2 changes: 1 addition & 1 deletion Package.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ let package = Package(
],
dependencies: [
// LK-Prefixed Dynamic WebRTC XCFramework
.package(url: "https://github.com/livekit/webrtc-xcframework.git", exact: "144.7559.01"),
.package(url: "https://github.com/livekit/webrtc-xcframework.git", exact: "144.7559.03"),
.package(url: "https://github.com/livekit/livekit-uniffi-xcframework.git", exact: "0.0.5"),
.package(url: "https://github.com/apple/swift-protobuf.git", from: "1.31.0"),
// Only used for DocC generation
Expand Down
2 changes: 1 addition & 1 deletion Package@swift-6.0.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ let package = Package(
],
dependencies: [
// LK-Prefixed Dynamic WebRTC XCFramework
.package(url: "https://github.com/livekit/webrtc-xcframework.git", exact: "144.7559.01"),
.package(url: "https://github.com/livekit/webrtc-xcframework.git", exact: "144.7559.03"),
.package(url: "https://github.com/livekit/livekit-uniffi-xcframework.git", exact: "0.0.5"),
.package(url: "https://github.com/apple/swift-protobuf.git", from: "1.31.0"),
// Only used for DocC generation
Expand Down
2 changes: 1 addition & 1 deletion Package@swift-6.2.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ let package = Package(
],
dependencies: [
// LK-Prefixed Dynamic WebRTC XCFramework
.package(url: "https://github.com/livekit/webrtc-xcframework.git", exact: "144.7559.01"),
.package(url: "https://github.com/livekit/webrtc-xcframework.git", exact: "144.7559.03"),
.package(url: "https://github.com/livekit/livekit-uniffi-xcframework.git", exact: "0.0.5"),
.package(url: "https://github.com/apple/swift-protobuf.git", from: "1.31.0"),
// Only used for DocC generation
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Add the dependency and also to your target
let package = Package(
...
dependencies: [
.package(name: "LiveKit", url: "https://github.com/livekit/client-sdk-swift.git", .upToNextMajor("2.12.1")),
.package(name: "LiveKit", url: "https://github.com/livekit/client-sdk-swift.git", .upToNextMajor("2.13.0")),
],
targets: [
.target(
Expand Down
2 changes: 1 addition & 1 deletion Sources/LiveKit/LiveKit.swift
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public class LiveKitSDK: NSObject, Loggable {
override private init() {}

@objc(sdkVersion)
public static let version = "2.12.1"
public static let version = "2.13.0"
static let ffiVersion = buildVersion()

fileprivate struct State {
Expand Down
Loading