Skip to content

Releases: shiguredo/sora-ios-sdk

2022.2.1

22 Apr 01:18
Compare
Choose a tag to compare
  • [UPDATE] App Store Connect に bitcode を有効にしてバイナリをアップロードするとエラーになる問題の暫定回避策として、 WebRTC 97.4692.4.0 に下げる

2022.2.0

11 Mar 01:48
Compare
Choose a tag to compare
  • [UPDATE] WebRTC 99.4844.1.0 に上げる
  • [ADD] メッセージング機能に対応する
  • [ADD] MediaChannel.contactUrl を追加する
    • MediaChannel.contactUrl は、最初に type: connect メッセージを送信した Sora のシグナリング URL
    • @enm10k
  • [CHANGE] DataChannel 経由で受信したメッセージのうち label が signaling, push, notify のものは MediaChannelHandlers.onReceiveSignaling が呼ばれるように修正する
  • [CHANGE] MediaChannel.connectedUrlを更新するタイミングを修正する
    • type: connect を送信するタイミングで MediaChannel.connectedUrl を更新していたが、 type: offer を受信したタイミングで値を更新するように修正
    • @enm10k

2022.1.1

04 Mar 06:45
Compare
Choose a tag to compare
  • [FIX] Sora との接続確立後に WebSocket のエラーが発生した場合、 エラーが正しく伝搬されず、終了処理が実行されないため修正する
    • 接続確立後に WebSocket のエラーが発生した場合、 Sora との接続を切断して終了処理を行うのが正しい処理です
    • 詳細な仕様は https://sora-doc.shiguredo.jp/SORA_CLIENT に記載されています
    • @enm10k

2022.1.0

03 Feb 05:49
Compare
Choose a tag to compare
  • [UPDATE] システム条件を変更する
    • macOS 12.2 以降
    • Xcode 13.2
    • Swift 5.5.2
    • @miosakuma
  • [UPDATE] WebRTC 98.4758.0.0 に上げる
  • [UPDATE] MediaStream から MediaChannel にアクセスできるようにする
  • [ADD] 複数シグナリング URL の指定に対応する
    • Configuration.url を廃止して Configuration.urlCandidates を追加する
    • MediaChannel.connectedUrl を追加する
    • @enm10k
  • [ADD] type: rediret に対応する
  • [CHANGE] スポットライトレガシーを削除する
  • [CHANGE] WebSocketChannel プロトコルを廃止する
    • Configuration.webSocketChannelType を廃止する
    • Configuration.allowsURLSessionWebSocketChannel を廃止する
    • WebSocketChannelHandlers.onDisconnect を廃止する
    • WebSocketChannelHandlers.onPong を廃止する
    • WebSocketChannelHandlers.onSend を廃止する
    • MediaChannel.webSocketChannel を廃止する
    • WebSocketChannelHandlers を廃止する
    • @enm10k
  • [CHANGE] Starscream を削除して、 URLSessionWebSocketTask をデフォルトで使用する
  • [CHANGE] サポートする iOS のバージョンを13以上に変更する
  • [CHANGE] MediaChannel.native の型を RTCPeerConnection から RTCPeerConnection? に変更する
    • PeerChannel で force unwrapping している箇所を修正する際に、併せて修正した
    • @enm10k
  • [FIX] CameraVideoCapturer で force unwrapping していた箇所を修正する
  • [FIX] VideoView に debugMode = true を設定した際にメモリー・リークが発生する問題を修正する

2021.3.1

05 Jan 01:31
Compare
Choose a tag to compare
  • [FIX] RTCPeerConnectionState が .failed に遷移した際の切断処理中にクラッシュする問題を修正する
    • BasicPeerChannelContext と PeerChannel の循環参照を防ぐために弱参照を利用していましたが、それが原因で BasicPeerChannelContext より先に PeerChannel が解放されるケースがあり、クラッシュの原因となっていました
    • @enm10k
  • [FIX] DataChannel クラスで利用しているデータ圧縮/復号処理にメモリー・リークがあったので修正する

2021.3.0

25 Nov 01:54
Compare
Choose a tag to compare
  • [UPDATE] システム条件を変更する
    • macOS 12.0 以降
    • Xcode 13.1
    • Swift 5.5
    • CocoaPods 1.11.2
    • @miosakuma
  • [UPDATE] WebRTC 95.4638.3.0 に上げる
  • [ADD] DataChannel シグナリングに対応する
    • Configuration.dataChannelSignaling を追加
    • Configuration.ignoreDisconnectWebSocket を追加
    • @szktty @enm10k
  • [CHANGE] PeerChannel, SignalingChannel protocol を削除する
    • Configuration.peerChannelType を廃止
    • Configuration.signalingChannelType を廃止
    • Configuration.peerChannelHandlers を廃止
    • Configuration.signalingChannelHandlers を廃止
    • MediaChannel.native を追加
    • MediaChannel.webSocketChannel を追加
    • @szktty @enm10k
  • [FIX] Sora 接続時に audioEnabled = false を設定すると answer 生成に失敗してしまう問題についてのワークアラウンドを削除する

2021.2.1

29 Sep 06:41
Compare
Choose a tag to compare

2021.2.1

  • [FIX] Swift Package Manager に対応するためバージョニングを修正

2021.2

2021.2 は Swift Package Manager を利用したビルドが行えず、ホットフィックスを当てたため、こちらにもリリースノートを記載しています

  • [UPDATE] Swift Package Manager に対応する
  • [UPDATE] WebRTC 93.4577.8.0 に上げる
  • [UPDATE] システム条件を変更する
  • [UPDATE] Starscream のバージョンを 4.0.4 に更新する
  • [UPDATE] シグナリング・メッセージ re-offer, re-answer に対応する
  • [UPDATE] AES-GCM を有効にする
  • [UPDATE] SoraDispatcher を追加する
    • libwebrtc 内部で利用されているディスパッチ・キューをラップし、 SDK のユーザーから利用しやすくした
    • @szktty @enm10k
  • [CHANGE] 接続開始時のカメラ・デバイスを指定可能にする
    • Configuration.cameraSettings.position.front または .back を設定して、接続開始時のカメラ・デバイスを指定します
    • この修正に伴い、以下の API が変更されました
      • CameraVideoCapturer の API を破壊的に変更
      • CameraVideoCapturer.SettingsCameraSettings にリネーム
      • VideoCapturerHandlersCameraVideoCapturerHandlers にリネーム
      • VideoCapturer を廃止
      • VideoCapturerDevice を廃止
      • CameraPosition を廃止
      • Configuration.videoCapturerDevice を廃止
      • MediaStream.videoCapturer を廃止
    • @szktty @enm10k
  • [FIX] 接続、切断の検知に RTCPeerConnectionState を参照する
  • [FIX] 接続終了後に MediaChannel のメモリが解放されずに残り続ける事象を修正する

2021.2

29 Sep 03:40
Compare
Choose a tag to compare

2021.2 には Swift Package Manager を利用したビルドが行えない不具合がありました。 2021.2.1 をご利用ください。

https://github.com/shiguredo/sora-ios-sdk/releases/tag/2021.2.1

  • [UPDATE] Swift Package Manager に対応する
  • [UPDATE] WebRTC 93.4577.8.0 に上げる
  • [UPDATE] システム条件を変更する
  • [UPDATE] Starscream のバージョンを 4.0.4 に更新する
  • [UPDATE] シグナリング・メッセージ re-offer, re-answer に対応する
  • [UPDATE] AES-GCM を有効にする
  • [UPDATE] SoraDispatcher を追加する
    • libwebrtc 内部で利用されているディスパッチ・キューをラップし、 SDK のユーザーから利用しやすくした
    • @szktty @enm10k
  • [CHANGE] 接続開始時のカメラ・デバイスを指定可能にする
    • Configuration.cameraSettings.position.front または .back を設定して、接続開始時のカメラ・デバイスを指定します
    • この修正に伴い、以下の API が変更されました
      • CameraVideoCapturer の API を破壊的に変更
      • CameraVideoCapturer.SettingsCameraSettings にリネーム
      • VideoCapturerHandlersCameraVideoCapturerHandlers にリネーム
      • VideoCapturer を廃止
      • VideoCapturerDevice を廃止
      • CameraPosition を廃止
      • Configuration.videoCapturerDevice を廃止
      • MediaStream.videoCapturer を廃止
    • @szktty @enm10k
  • [FIX] 接続、切断の検知に RTCPeerConnectionState を参照する
  • [FIX] 接続終了後に MediaChannel のメモリが解放されずに残り続ける事象を修正する

2021.1

24 Jun 01:02
Compare
Choose a tag to compare
  • [UPDATE] システム条件を変更する
    • Xcode 12.5
    • Swift 5.4
    • CocoaPods 1.10.1
    • @miosakuma
  • [UPDATE] サイマルキャストで VP8 / H.264 (ハードウェアアクセラレーション含む) に対応する
  • [UPDATE] WebRTC 91.4472.9.1 に上げる
  • [UPDATE] AV1 に対応する
  • [ADD] libwebrtc のログレベルを設定する API を追加
    • Sora.setWebRTCLogLevel(_:)
    • @szktty
  • [CHANGE] スポットライトに関する API を変更する
    • Sora のスポットライトレガシー機能を利用するための API を Sora.useSpotlightLegacy() に変更
    • Configuration.activeSpeakerLimit を非推奨にして、 Configuration.spotlightNumber に変更
    • Configuration.spotlightFocusRid を追加
    • Configuration.spotlightUnfocusRid を追加
    • @enm10k
  • [CHANGE] シグナリングに含まれる JSON 型のフィールドを JSONSerialization でデコードする
    • フィールドの型を SignalingMetadata から Any? に変更したため、任意の型にキャストして利用することとなる
    • 対象のフィールド
      • SignalingNotifyConnection.metadata
      • SignalingOffer.metadata
      • SignalingPush.data
    • 修正にともない、 SignalingClientMetadataSignalingNotifyMetadata にリネームする
    • @enm10k
  • [CHANGES] type: notify のシグナリング・メッセージに対応する struct として SignalingNotify を追加する
    • event_type 毎に定義されていた以下の struct を廃止し、 SignalingNotify に統合する
      • SignalingNotifyConnection
      • SignalingNotifySpotlightChanged
      • SignalingNotifyNetworkStatus
    • @enm10k
  • [CHANGE] サイマルキャストのオプションを Sora のアップデートへ追従する
    • SimulcastQuality を削除し、 SimulcastRid を追加する
    • Configuration.simulcastQuality を削除し、 simulcastRid を追加する
    • SignalingConnect.simulcastQuality を削除し、 simulcastRid を追加する
    • @szktty
  • [CHANGE] DeviceModel を廃止し、 hw.machine の結果を表示する
  • [FIX] SignalingNotify に漏れていたフィールドを追加する
    • SignalingNotify.authnMetadata
    • SignalingNotify.authzMetadata
    • SignalingNotify.data
    • SignalingNotify.turnTransportType
    • @enm10k
  • [FIX] サイマルキャストのパラメーター active: false が無効化されてしまう問題を修正する
  • [FIX] WebSocketChannel 切断時に MediaChannel を切断する処理が漏れていたので追加する

2020.7.2

26 May 01:46
Compare
Choose a tag to compare
  • [FIX] SignalingConnect に clientId が漏れていたので追加する