Skip to content

1.22.0 Release #797

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 21 commits into from
May 6, 2025
Merged

1.22.0 Release #797

merged 21 commits into from
May 6, 2025

Conversation

Stream-SDK-Bot
Copy link
Collaborator

βœ… Added

  • You can now configure policies based on the the device's proximity information. Those policies can be used to toggle speaker and video. #770

🐞 Fixed

  • Fix ringing flow issues. #792
  • Fix a few points that were negatively affecting Picture-in-Picture lifecycle. #796

@Stream-SDK-Bot Stream-SDK-Bot requested a review from a team as a code owner May 5, 2025 15:51
Copy link

github-actions bot commented May 5, 2025

Public Interface

+ public final class VideoProximityPolicy: ProximityPolicy, @unchecked Sendable  
+ 
+   public static let identifier: ObjectIdentifier
+   
+ 
+   public init()
+   
+ 
+   public func didUpdateProximity(_ proximity: ProximityState,on call: Call)

+ public enum ProximityState: Hashable, Sendable  
+ 
+   case near
+   case far

+ public protocol ProximityPolicy: Sendable, CustomStringConvertible

+ public final class SpeakerProximityPolicy: ProximityPolicy, @unchecked Sendable  
+ 
+   public static let identifier: ObjectIdentifier
+   
+ 
+   public init()
+   
+ 
+   public func didUpdateProximity(_ proximity: ProximityState,on call: Call)

+ extension ProximityPolicy  
+ 
+   public var description: String

+ public protocol ProximityProviding



 public struct StatelessSpeakerIconView: View  
-   public var call: Call?
+   public weak var call: Call?

 public class Call: @unchecked Sendable, WSEventsSubscriber  
-   public func updateAudioSessionPolicy(_ policy: AudioSessionPolicy)async throws
+   public func updateAudioSessionPolicy(_ policy: AudioSessionPolicy)async throws 
+   public func addProximityPolicy(_ policy: any ProximityPolicy)throws 
+   public func removeProximityPolicy(_ policy: any ProximityPolicy)

 public struct StatelessToggleCameraIconView: View  
-   public var call: Call?
+   public weak var call: Call?

 public struct StatelessMicrophoneIconView: View  
-   public var call: Call?
+   public weak var call: Call?

 public struct StatelessAudioOutputIconView: View  
-   public var call: Call?
+   public weak var call: Call?

 public final class StatsOptions: @unchecked Sendable, Codable, JSONEncodable, Hashable  
-   public var reportingIntervalMs: Int
+   public var enableRtcStats: Bool
-   
+   public var reportingIntervalMs: Int
- 
+   
-   public init(reportingIntervalMs: Int)
+ 
-   
+   public init(enableRtcStats: Bool,reportingIntervalMs: Int)
- 
+   
-   public static func ==(lhs: StatsOptions,rhs: StatsOptions)-> Bool
+ 
-   public func hash(into hasher: inout Hasher)
+   public static func ==(lhs: StatsOptions,rhs: StatsOptions)-> Bool
-   
+   public func hash(into hasher: inout Hasher)
- 
+   
-   public enum CodingKeys: String, CodingKey, CaseIterable  
+ 
-   
+   public enum CodingKeys: String, CodingKey, CaseIterable  
-     case reportingIntervalMs = "reporting_interval_ms"
+   
+     case enableRtcStats = "enable_rtc_stats"
+     case reportingIntervalMs = "reporting_interval_ms"

 public final class CurrentDevice: @unchecked Sendable  
-   
+   @MainActor public var isProximityMonitoringEnabled: Bool
- 
+   
-   public enum DeviceType: Sendable  
+ 
-   
+   public enum DeviceType: Sendable  
-     case unspecified
+   
-     case phone
+     case unspecified
-     case pad
+     case phone
-     case tv
+     case pad
-     case carPlay
+     case tv
-     case mac
+     case carPlay
-     case vision
+     case mac
+     case vision

 public struct StatelessVideoIconView: View  
-   public var call: Call?
+   public weak var call: Call?

@Stream-SDK-Bot
Copy link
Collaborator Author

SDK Size

title previous release current release diff status
StreamVideo 7.48 MB 7.54 MB +58 KB 🟒
StreamVideoSwiftUI 2.25 MB 2.25 MB +2 KB 🟒
StreamVideoUIKit 2.37 MB 2.38 MB +2 KB 🟒
StreamWebRTC 9.85 MB 9.85 MB 0 KB 🟒

Copy link

sonarqubecloud bot commented May 5, 2025

Copy link

github-actions bot commented May 5, 2025

Build for regression testing β„–211 has been uploaded to TestFlight 🎁

Copy link

github-actions bot commented May 5, 2025

Public Interface

+ public protocol ProximityProviding

+ public enum ProximityState: Hashable, Sendable  
+ 
+   case near
+   case far

+ public final class VideoProximityPolicy: ProximityPolicy, @unchecked Sendable  
+ 
+   public static let identifier: ObjectIdentifier
+   
+ 
+   public init()
+   
+ 
+   public func didUpdateProximity(_ proximity: ProximityState,on call: Call)

+ extension ProximityPolicy  
+ 
+   public var description: String

+ public final class SpeakerProximityPolicy: ProximityPolicy, @unchecked Sendable  
+ 
+   public static let identifier: ObjectIdentifier
+   
+ 
+   public init()
+   
+ 
+   public func didUpdateProximity(_ proximity: ProximityState,on call: Call)

+ public protocol ProximityPolicy: Sendable, CustomStringConvertible



 public final class StatsOptions: @unchecked Sendable, Codable, JSONEncodable, Hashable  
-   public var reportingIntervalMs: Int
+   public var enableRtcStats: Bool
-   
+   public var reportingIntervalMs: Int
- 
+   
-   public init(reportingIntervalMs: Int)
+ 
-   
+   public init(enableRtcStats: Bool,reportingIntervalMs: Int)
- 
+   
-   public static func ==(lhs: StatsOptions,rhs: StatsOptions)-> Bool
+ 
-   public func hash(into hasher: inout Hasher)
+   public static func ==(lhs: StatsOptions,rhs: StatsOptions)-> Bool
-   
+   public func hash(into hasher: inout Hasher)
- 
+   
-   public enum CodingKeys: String, CodingKey, CaseIterable  
+ 
-   
+   public enum CodingKeys: String, CodingKey, CaseIterable  
-     case reportingIntervalMs = "reporting_interval_ms"
+   
+     case enableRtcStats = "enable_rtc_stats"
+     case reportingIntervalMs = "reporting_interval_ms"

 public struct StatelessAudioOutputIconView: View  
-   public var call: Call?
+   public weak var call: Call?

 public final class CurrentDevice: @unchecked Sendable  
-   
+   @MainActor public var isProximityMonitoringEnabled: Bool
- 
+   
-   public enum DeviceType: Sendable  
+ 
-   
+   public enum DeviceType: Sendable  
-     case unspecified
+   
-     case phone
+     case unspecified
-     case pad
+     case phone
-     case tv
+     case pad
-     case carPlay
+     case tv
-     case mac
+     case carPlay
-     case vision
+     case mac
+     case vision

 public struct StatelessMicrophoneIconView: View  
-   public var call: Call?
+   public weak var call: Call?

 public struct StatelessToggleCameraIconView: View  
-   public var call: Call?
+   public weak var call: Call?

 public struct StatelessSpeakerIconView: View  
-   public var call: Call?
+   public weak var call: Call?

 public class Call: @unchecked Sendable, WSEventsSubscriber  
-   public func updateAudioSessionPolicy(_ policy: AudioSessionPolicy)async throws
+   public func updateAudioSessionPolicy(_ policy: AudioSessionPolicy)async throws 
+   public func addProximityPolicy(_ policy: any ProximityPolicy)throws 
+   public func removeProximityPolicy(_ policy: any ProximityPolicy)

 public struct StatelessVideoIconView: View  
-   public var call: Call?
+   public weak var call: Call?

@ipavlidakis
Copy link
Contributor

/merge release

@testableapple
Copy link
Contributor

Publication of the release has been launched πŸ‘

@github-actions github-actions bot merged commit 1c1ff61 into main May 6, 2025
12 of 13 checks passed
@github-actions github-actions bot deleted the release/1.22.0 branch May 6, 2025 08:12
Copy link

github-actions bot commented May 6, 2025

Public Interface

πŸš€ No changes affecting the public interface.

Copy link

github-actions bot commented May 6, 2025

1 Warning
⚠️ Big PR

Generated by 🚫 Danger

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants