Skip to content

Latest commit

Β 

History

History
246 lines (176 loc) Β· 12.1 KB

CHANGELOG.md

File metadata and controls

246 lines (176 loc) Β· 12.1 KB

StreamVideo iOS SDK CHANGELOG

The format is based on Keep a Changelog.

Upcoming

βœ… Added

  • 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

🐞 Fixed

  • 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

🐞 Fixed

  • Improved performance on lower end devices #557
  • CallKitService access issue when ending calls #566

September 27, 2024

βœ… Added

  • You can now pass your customData when initializing a CallViewModel #530

πŸ”„ Changed

  • 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

🐞 Fixed

  • An MissingPermissions error was thrown when creating a StreamVideo with anonymous user type. #525

August 29, 2024

βœ… Added

  • 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

πŸ”„ Changed

  • 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

βœ… Added

  • 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 the stopTimer have been removed. #449

June 17, 2024

βœ… Added

  • A new ParticipantAutoLeavePolicy that allows you to set when a user should automatically leave a call. #434

πŸ”„ Changed

June 10, 2024

βœ… Added

  • Support for session timers. #425
  • Rejecting call contains a reason parameter. #428

May 30, 2024

βœ… Added

  • In CallKitService you can now configure if calls support Video. Depending on the value CallKit will suffix either the word Audio (when false) or Video when true, next to the application's name. #420

May 28, 2024

πŸ”„ Changed

May 27, 2024

πŸ”„ Changed

  • CallKitAdapter will dispatch voIP notification reporting to the MainActor. #411

May 22, 2024

πŸ”„ Changed

  • Call objects for the same cId will reference the same memory instance. #404
  • CallKitService.callEnded now accepts the cId of the call to end. #406
  • CallKitService.State has been deprecated. #406

🐞 Fixed

  • Video tracks for anonymous users not displaying

May 17, 2024

πŸ”„ Changed

βœ… Added

  • An originalName property on the User that will hold the name provided when initialized. [#391](#391

May 10, 2024

πŸ”„ Changed

βœ… Added

  • A viewModifier that allows you to present a view whenever a call ends. #382

May 01, 2024

πŸ”„ Changed

  • The return type of call.get() is now the API type GetCallResponse which encapsulates the previous CallResponse under the call property. #335
  • Remove Nuke dependency from the SwiftUI SDK. #340
  • members type changed from MemberRequest to Member in startCall and enterLobby in CallViewModel. #368

βœ… Added

  • 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

🐞 Fixed

  • An issue where VoIP push notifications for ended calls, were received when the user connects #336

March 19, 2024

🐞 Fixed

  • CallView positioning when placed inside a UIKit container. #329

March 15, 2024

βœ… Added

  • Stats reporting. #313

March 05, 2024

βœ… Added

  • 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

🐞 Fixed

  • Updated Web Socket reconnection logic. #314

February 15, 2024

πŸ”„ Changed

  • The following API changes occurred as part of the redesign. #269 & #270
    • OutgoingCallView now accepts an additional callTopView parameter to align with the updated design.
    • CallParticipantsInfoView and the ViewFactory.makeParticipantsListView method aren't accept the availableFrame anymore.
    • ParticipantsGridLayout orientation parameter isn't required anymore.
    • The onRotate ViewModifier has been removed. You can use the InjectedValues[\.orientationAdapter] which is an ObservableObject that can provide information regarding device orientation.

December 08, 2023

⚠️ Important

  • 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.

βœ… Added

  • Add support for pre-built XCFrameworks
  • Fast reconnection
  • New redesigned UI components. #236

πŸ”„ Changed

  • 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 to CornerDraggableView and initializer changed.
    • LocalParticipantViewModifier & VideoCallParticipantModifier now accept a few parameters that allow you to further control their presentation.
    • ScreenSharingView now accepts a isZoomEnabled parameter to control if the the view will be zoom-able.
    • LocalVideoView now accepts a availableFrame parameter.

October 16, 2023

🐞 Fixed

  • Video tracks remain disabled when they become visible #191

October 11, 2023

βœ… Added

  • Picture-in-Picture support
  • Livestream Player
  • Call stats report

πŸ”„ Changed

  • Factory method for creating LocalParticipantViewModifier
  • availableSize has been replaced by availableFrame in most Views.

🐞 Fixed

  • Current user overlay view size when camera is off
  • Thermal state improvements
  • Benchmark tests for up to 1000 users

August 25, 2023

βœ… Added

  • Screensharing from iOS devices
  • Remote pinning of users
  • Add XCPrivacy manifest
  • Custom Audio Filters

πŸ”„ Changed

  • Factory method for creating VideoCallParticipantView
  • VideoCallParticipantView init method

🐞 Fixed

  • Stability improvements
  • CPU usage improvements

July 18, 2023

βœ… Added

  • 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

βœ… Added

  • StreamVideo iOS SDK πŸš€