リリースノート

CHANGE

後方互換性のない変更

UPDATE

後方互換性がある変更

ADD

後方互換性がある追加

FIX

バグ修正

2022.x

2022.2.1

日時

2022-04-22

対応 Sora

2021.2.8

対応 iOS

13.0 以降

対応 libwebrtc

m97.4692.4.0

2022.2.0

日時

2022-03-11

対応 Sora

2021.2.1

対応 iOS

13.0 以降

対応 libwebrtc

m99.4844.1.0

  • [UPDATE] WebRTC 99.4844.1.0 に対応しました

  • [ADD] メッセージング機能を追加しました

  • [ADD] MediaChannel.contactUrl を追加しました

    • MediaChannel.contactUrl は、複数のシグナリング候補の中から最初に type: connect メッセージを送信した Sora のシグナリング URL です

  • [CHANGE] DataChannel 経由で受信したメッセージのうち label が signaling, push, notify について MediaChannelHandlers.onReceiveSignaling で通知する処理を追加しました

  • [CHANGE] MediaChannel.connectedUrl を更新するタイミングを修正しました

    • type: connect を送信するタイミングで MediaChannel.connectedUrl を更新していたものを、 type: offer を受信したタイミングで値を更新するように変更しました

2022.1.1

日時

2022-03-04

対応 Sora

2021.2.1

対応 iOS

13.0 以降

対応 libwebrtc

m98.4758.0.0

  • [FIX] Sora との接続確立後に WebSocket のエラーが発生した場合、 エラーが正しく伝搬されず、終了処理が実行されない問題を修正しました

2022.1.0

日時

2022-02-03

対応 Sora

2021.2.0

対応 iOS

13.0 以降

対応 libwebrtc

m98.4758.0.0

  • [UPDATE] システム条件を変更しました

    • macOS 12.2 以降

    • Xcode 13.2

    • Swift 5.5.2

  • [UPDATE] WebRTC 98.4758.0.0 に対応しました

  • [UPDATE] MediaStream から MediaChannel にアクセスできるようにしました

  • [ADD] 複数シグナリング URL の指定に対応しました

  • [ADD] type: rediret に対応しました

  • [CHANGE] スポットライトレガシーを削除する

  • [CHANGE] WebSocketChannel プロトコルを廃止しました

    • Configuration.webSocketChannelType を廃止しました

    • Configuration.allowsURLSessionWebSocketChannel を廃止しました

    • WebSocketChannelHandlers.onDisconnect を廃止しました

    • WebSocketChannelHandlers.onPong を廃止しました

    • WebSocketChannelHandlers.onSend を廃止しました

    • MediaChannel.webSocketChannel を廃止しました

    • WebSocketChannelHandlers を廃止しました

  • [CHANGE] Starscream を削除して、 URLSessionWebSocketTask をデフォルトで使用する対応を行いました

  • [CHANGE] サポートする iOS のバージョンを13以上に変更しました

  • [CHANGE] MediaChannel.native の型を RTCPeerConnection から RTCPeerConnection? に変更しました

    • PeerChannel で force unwrapping している箇所を修正する際に、併せて修正しました

  • [FIX] CameraVideoCapturer で force unwrapping していた箇所を修正しました

  • [FIX] VideoView に debugMode = true を設定した際にメモリー・リークが発生する問題を修正しました

2021.x

2021.3.1

日時

2022-01-05

対応 Sora

2021.2.0

対応 iOS

12.1 以降

対応 libwebrtc

m95.4638.3.0

  • [FIX] RTCPeerConnectionState が .failed に遷移した際の切断処理中にクラッシュする問題を修正しました

    • BasicPeerChannelContext と PeerChannel の循環参照を防ぐために弱参照を利用していましたが、それが原因で BasicPeerChannelContext より先に PeerChannel が解放されるケースがあり、クラッシュの原因となっていました

  • [FIX] DataChannel クラスで利用しているデータ圧縮/復号処理にメモリー・リークがあったので修正しました

2021.3.0

日時

2021-11-25

  • [UPDATE] システム条件を変更しました

    • macOS 12.0 以降

    • Xcode 13.1

    • Swift 5.5

    • CocoaPods 1.11.2

  • [UPDATE] WebRTC 95.4638.3.0 に対応しました

  • [ADD] DataChannel シグナリングに対応しました

    • Configuration.dataChannelSignaling を追加

    • Configuration.ignoreDisconnectWebSocket を追加

  • [CHANGE] PeerChannel, SignalingChannel protocol を削除しました

    • Configuration.peerChannelType を廃止

    • Configuration.signalingChannelType を廃止

    • Configuration.peerChannelHandlers を廃止

    • Configuration.signalingChannelHandlers を廃止

    • MediaChannel.native を追加

    • MediaChannel.webSocketChannel を追加

  • [FIX] Sora 接続時に audioEnabled = false を設定すると answer 生成に失敗してしまう問題についてのワークアラウンドを削除しました

2021.2.1

日時

2021-09-29

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

2021.2

日時

2021-09-29

  • [UPDATE] Swift Package Manager に対応しました

  • [UPDATE] WebRTC 93.4577.8.0 に対応しました

  • [UPDATE] システム条件を変更しました

    • iOS 12.1 以降

  • [UPDATE] Starscream のバージョンを 4.0.4 に更新しました

  • [UPDATE] シグナリング・メッセージ re-offer, re-answer に対応しました

  • [UPDATE] AES-GCM を有効にしました

  • [UPDATE] SoraDispatcher を追加しました

    • libwebrtc 内部で利用されているディスパッチ・キューをラップし、 SDK のユーザーから利用しやすくしました

  • [CHANGE] 接続開始時のカメラ・デバイスを指定可能にしました

    • Configuration.cameraSettings.position.front または .back を設定して、接続開始時のカメラ・デバイスを指定します

    • この修正に伴い、以下の API が変更されました

      • CameraVideoCapturer の API を破壊的に変更

      • CameraVideoCapturer.SettingsCameraSettings にリネーム

      • VideoCapturerHandlersCameraVideoCapturerHandlers にリネーム

      • VideoCapturer を廃止

      • VideoCapturerDevice を廃止

      • CameraPosition を廃止

      • Configuration.videoCapturerDevice を廃止

      • MediaStream.videoCapturer を廃止

  • [FIX] 接続、切断の検知に RTCPeerConnectionState を参照するように変更しました

  • [FIX] 接続終了後に MediaChannel のメモリが解放されずに残り続ける事象を修正しました

2021.1

日時

2021-06-24

  • [UPDATE] システム条件を変更しました

    • Xcode 12.5

    • Swift 5.4

    • CocoaPods 1.10.1

  • [UPDATE] サイマルキャストで VP8 / H.264 (ハードウェアアクセラレーション含む) に対応しました

  • [UPDATE] WebRTC 91.4472.9.1 に対応しました

  • [UPDATE] AV1 に対応しました

  • [ADD] libwebrtc のログレベルを設定する API を追加しました

    • Sora.setWebRTCLogLevel(_:)

  • [CHANGE] スポットライトに関する API を変更しました

    • Sora のスポットライトレガシー機能を利用するための API を Sora.useSpotlightLegacy() に変更

    • Configuration.activeSpeakerLimit を非推奨にして、 Configuration.spotlightNumber に変更

    • Configuration.spotlightFocusRid を追加

    • Configuration.spotlightUnfocusRid を追加

  • [CHANGE] シグナリングに含まれる JSON 型のフィールドを JSONSerialization でデコードするようにしました

    • フィールドの型を SignalingMetadata から Any? に変更しました。任意の型にキャストして利用する必要があります

    • 対象のフィールド

      • SignalingNotifyConnection.metadata

      • SignalingOffer.metadata

      • SignalingPush.data

    • 修正にともない SignalingClientMetadataSignalingNotifyMetadata にリネームしました

  • [CHANGES] type: notify のシグナリング・メッセージに対応する struct として SignalingNotify を追加しました

    • event_type 毎に定義されていた以下の struct を廃止し SignalingNotify に統合しました

      • SignalingNotifyConnection

      • SignalingNotifySpotlightChanged

      • SignalingNotifyNetworkStatus

  • [CHANGE] サイマルキャストのオプションを Sora のアップデートへ追従しました

    • SimulcastQuality を削除し SimulcastRid を追加

    • Configuration.simulcastQuality を削除し simulcastRid を追加

    • SignalingConnect.simulcastQuality を削除し simulcastRid を追加

  • [CHANGE] DeviceModel を廃止し、 hw.machine の結果を表示するよう変更しました

  • [FIX] SignalingNotify に漏れていたフィールドを追加しました

    • SignalingNotify.authnMetadata

    • SignalingNotify.authzMetadata

    • SignalingNotify.data

    • SignalingNotify.turnTransportType

  • [FIX] サイマルキャストのパラメーター active: false が無効化されてしまう問題を修正しました

  • [FIX] WebSocketChannel 切断時に MediaChannel を切断する処理が漏れていたので追加しました

2020.x

2020.7.2

日時

2021-05-26

  • [FIX] Sora 接続時に SDK から client_id が指定できない問題を修正しました

    • Configuration.clientId: 追加

2020.7.1

日時

2021-01-08

  • [FIX] スポットライトレガシー機能に対応しました

  • [FIX] API: スポットライトに関する API について以下を変更しました

    • Configuration.Spotlight: 追加

    • Configuration.spotlightEnabled: 型を Spotlight に変更

2020.7

日時

2020-11-06

  • [CHANGE] WebRTC 86.4240.10.0 に変更しました

  • [CHANGE] AudioMode.swift がターゲット含まれておらずビルドできなかった事象を修正しました

2020.6

日時

2020-11-05

  • [UPDATE] システム条件を更新しました

    • Xcode 12.0

    • Swift 5.3

    • CocoaPods 1.9.3

  • [CHANGE] WebRTC M86 に対応しました

  • [CHANGE] API: スポットライトに関する API について以下を変更しました

    • Configuration.spotlight: 非推奨

    • Configuration.spotlightEnabled: 追加

    • Configuration.activeSpeakerLimit: 追加

  • [CHANGE] API: 音声モードに関する API について以下を変更しました

    • Sora.setAudioMode(_:options:): 追加

    • AudioMode: 追加

    • AudioOutput: 追加

  • [FIX] API: Sora.connect(): タイムアウト時にハンドラが実行されない事象を修正しました

2020.5

日時

2020-08-11

  • [UPDATE] システム条件を更新しました

    • Xcode 11.6

    • Swift 5.2.4

    • WebRTC SFU Sora 2020.1 以降

  • [UPDATE] WebRTC M84 に対応しました

  • [UPDATE] シグナリング pong に統計情報を追加しました

  • [FIX] API: 次のイベントハンドラのクラスにコンストラクタを追加しました

    • MediaChannelHandlers

    • MediaStreamHandlers

    • PeerChannelHandlers

    • SignalingChannelHandlers

    • SoraHandlers

    • VideoCapturerHandlers

    • WebSocketChannelHandlers

  • [FIX] API: Sora.connect(): 接続先ホストが存在しない場合にハンドラが実行されない事象を修正しました

2020.4.1

日時

2020-04-08

  • [FIX] 受信したシグナリングの role が sendonly, recvonly, sendrecv の場合にデコードに失敗する事象を修正しました

  • [FIX] API: MediaChannel: senderStream: ストリーム ID が接続時に指定した配信用ストリームID と一致するストリームを返すように修正しました (変更前はカメラのストリームを返した)

  • [FIX] API: MediaChannel: receiverStreams: senderStream 以外のストリームを返すように修正しました (変更前はカメラ以外のストリームを返した)

2020.4

日時

2021-03-27

  • [CHANGE] iOS 13 以降の場合に URLSession を使って WebSocket 通信を行うように修正しました

  • [CHANGE] Plan B に関連する API を削除しました

  • [CHANGE] シグナリングで送信する JSON にて、 role を upstream/downstream のどちらかで出力するように修正しました

  • [CHANGE] シグナリングの offer/update/ping を peer connection の状態に関わらず処理するように修正しました

  • [CHANGE] 端末情報を追加しました (iPhone 11, iPhone 11 Pro, iPhone1 11 Pro Max, iPad 7th)

  • [CHANGE] ログに出力される WebSocket のエラー内容を詳細にしました

  • [CHANGE] API: MediaChannel: senderStream プロパティを追加しました

  • [CHANGE] API: MediaChannel: receiverStreams プロパティを追加しました

2020.3

日時

2020-02-28

  • [FIX] マイクが初期化されない事象を修正しました

2020.2

日時

2020-02-25

  • [CHANGE] 受信時にマイクのパーミッションを要求しないようにしました

  • [FIX] Sora.remove(mediaChannel:) 実行時に onRemoveMediaChannel が呼ばれない事象を修正しました

2020.1

日時

2020-01-20

本バージョンよりバージョン表記を「リリース年.リリース回数」に変更しました。

  • [UPDATE] システム条件を更新しました

    • Xcode 11.3

    • CocoaPods 1.8.4 以降

    • WebRTC SFU Sora 19.10.3 以降

  • [CHANGE] WebRTC M79 に対応しました

  • [CHANGE] Carthage の使用を止めました

  • [CHANGE] シグナリングに含める各種バージョン情報を変更しました

  • [CHANGE] API: SocketRocket の使用を止めて Starscream を採用しました

  • [CHANGE] API: イベントハンドラのプロパティ名を短縮しました

  • [CHANGE] API: Configuration : init(url:channelId:role:) を非推奨にしました

  • [CHANGE] API: Configuration : init(url:channelId:role:multistreamEnabled:) を追加しました

  • [CHANGE] API: Configuration : webSocketChannelHandlers プロパティを追加しました

  • [CHANGE] API: Configuration : multistreamEnabled プロパティを追加しました

  • [CHANGE] API: Role : Sora の仕様に合わせて sendonly, recvonly, sendrecv を追加しました

  • [CHANGE] API: Role : publisher, subscriber, group, groupSub を非推奨にしました

© Copyright 2018-2022, Shiguredo Inc. Created using Sphinx 4.4.0