The format is based on Keep a Changelog.
- CallKit availability policies allows you to control wether
Callkit
should be enabled/disabled based on different rules #611
- By observing the
CallKitPushNotificationAdapter.deviceToken
you will be notified with an emptydeviceToken
value, once the object unregister push notifications. #608 - When a call you receive a ringing while the app isn't running (and the screen is locked), websocket connection wasn't recovered. #600
- Sorting order on Fullscreen Layout and Picture-in-Picture wasn't respecting dominant speaker change. #613
November 12, 2024
- When joining one call after another, the last frame of the previous call was flashing for a split second in the new call #596
November 06, 2024
- You can now provide the incoming video quality setting for some or all participants #571
- You can now set the time a user can remain in the call - after their connection disrupted - while waiting for their network connection to recover #573
- You can now provide the preferred Video stream codec to use #583
- Sync microphone mute state between the SDK and CallKit #590
- Toggling the speaker during a call wasn't always working. #585
- In some cases when joining a call setup wasn't completed correctly which lead in issues during the call (e.g. missing video tracks or mute state not updating). #586
October 08, 2024
September 27, 2024
- You can now pass your customData when initializing a
CallViewModel
#530
- Updated the default sorting for Participants during a call to minimize the movement of already visible tiles #515
- Breaking The
StreamDeviceOrientation
values now are.portrait(isUpsideDown: Bool)
&.landscape(isLeft: Bool)
. #534
- An
MissingPermissions
error was thrown when creating aStreamVideo
with anonymous user type. #525
August 29, 2024
- Participants (regular and anonymous) count, can be accessed - before or after joining a call - from the
Call.state.participantCount
&Call.state.anonymousParticipantCount
respectively. #496 - You can now provide the
CallSettings
when you start a ringing call #497
- The following
Call
APIs have been now marked as async to provide better observability.func focus(at point: CGPoint)
func addCapturePhotoOutput(_ capturePhotoOutput: AVCapturePhotoOutput)
func removeCapturePhotoOutput(_ capturePhotoOutput: AVCapturePhotoOutput)
func addVideoOutput(_ videoOutput: AVCaptureVideoDataOutput)
func removeVideoOutput(_ videoOutput: AVCaptureVideoDataOutput)
func zoom(by factor: CGFloat)
July 19, 2024
- Support for custom participant sorting in the Call object. #438
- Ability to join call in advance with joinAheadTimeSeconds parameter. #446
- Missed calls support #449
- IncomingCallViewModel has been simplified and the
hideIncomingCallScreen
property as also thestopTimer
have been removed. #449
June 17, 2024
- A new
ParticipantAutoLeavePolicy
that allows you to set when a user should automatically leave a call. #434
June 10, 2024
May 30, 2024
- In
CallKitService
you can now configure if calls support Video. Depending on the valueCallKit
will suffix either the wordAudio
(when false) orVideo
when true, next to the application's name. #420
May 28, 2024
May 27, 2024
CallKitAdapter
will dispatch voIP notification reporting to the MainActor. #411
May 22, 2024
Call
objects for the samecId
will reference the same memory instance. #404CallKitService.callEnded
now accepts the cId of the call to end. #406CallKitService.State
has been deprecated. #406
- Video tracks for anonymous users not displaying
May 17, 2024
- An
originalName
property on theUser
that will hold the name provided when initialized. [#391](#391
May 10, 2024
- A viewModifier that allows you to present a view whenever a call ends. #382
May 01, 2024
- The return type of
call.get()
is now the API typeGetCallResponse
which encapsulates the previousCallResponse
under thecall
property. #335 - Remove Nuke dependency from the SwiftUI SDK. #340
members
type changed fromMemberRequest
toMember
instartCall
andenterLobby
inCallViewModel
. #368
- The SDK now provides a CallKit integration out of the box. #334
- Infrastructure required for NoiseCancellation support #353
- User
call_display_name
property from VoIP push notifications, whenever is available #361
- An issue where VoIP push notifications for ended calls, were received when the user connects #336
March 19, 2024
- CallView positioning when placed inside a UIKit container. #329
March 15, 2024
- Stats reporting. #313
March 05, 2024
- New API that allows adding/removing capturePhotoOutput, videoOutput on the local participant's AVCaptureSession. #301
- New API that allows zooming the local participant's camera. #301
- VideoFilters for blurring or setting an image as background. #309
- Updated Web Socket reconnection logic. #314
February 15, 2024
- The following API changes occurred as part of the redesign. #269 & #270
OutgoingCallView
now accepts an additionalcallTopView
parameter to align with the updated design.CallParticipantsInfoView
and theViewFactory.makeParticipantsListView
method aren't accept theavailableFrame
anymore.ParticipantsGridLayout
orientation
parameter isn't required anymore.- The
onRotate
ViewModifier has been removed. You can use theInjectedValues[\.orientationAdapter]
which is an ObservableObject that can provide information regarding device orientation.
December 08, 2023
- Nuke dependency is no longer exposed. If you were using this dependency we were exposing, you would need to import it manually. This is due to our newest addition supporting Module Stable XCFramework, see more below in the "Added" section. If you encounter any SPM-related problems, be sure to reset the package caches.
- Add support for pre-built XCFrameworks
- Fast reconnection
- New redesigned UI components. #236
- You can now focus on a desired point in the local video stream. #221
- The following API changes occurred as part of the redesign. #221
CornerDragableView
has been renamed toCornerDraggableView
and initializer changed.LocalParticipantViewModifier
&VideoCallParticipantModifier
now accept a few parameters that allow you to further control their presentation.ScreenSharingView
now accepts aisZoomEnabled
parameter to control if the the view will be zoom-able.LocalVideoView
now accepts aavailableFrame
parameter.
October 16, 2023
- Video tracks remain disabled when they become visible #191
October 11, 2023
- Picture-in-Picture support
- Livestream Player
- Call stats report
- Factory method for creating
LocalParticipantViewModifier
availableSize
has been replaced byavailableFrame
in most Views.
- Current user overlay view size when camera is off
- Thermal state improvements
- Benchmark tests for up to 1000 users
August 25, 2023
- Screensharing from iOS devices
- Remote pinning of users
- Add XCPrivacy manifest
- Custom Audio Filters
- Factory method for creating
VideoCallParticipantView
VideoCallParticipantView
init method
- Stability improvements
- CPU usage improvements
July 18, 2023
- SDK version info sent in all requests
- Call participants shown in the lobby view
- Support for setting default audio device
- Improved test coverage
July 07, 2023
- StreamVideo iOS SDK π