リリースノート¶
- CHANGE
後方互換性のない変更
- UPDATE
後方互換性がある変更
- ADD
後方互換性がある追加
- FIX
バグ修正
2025.2.0¶
- 日付:
2025-09-18
- 対応 Sora:
2025.1.0 以降
- 対応 iOS:
14.0 以降
- 対応 libwebrtc:
m138.7204.0.3
ハイライト¶
MediaChannelHandlersにonDisconnect: ((SoraCloseEvent) -> Void)?を追加しましたonDisconnect: ((Error?) -> Void)?はonDisconnectLegacyという名前に変更され、非推奨になりました既存の
onDisconnect: ((Error?) -> Void)?では異常発生時のエラーは取得できても、正常に終了した際の理由などを取得することができませんでしたonDisconnect: ((SoraCloseEvent) -> Void)?を利用することで、正常に終了した際のステータスコードと理由も取得できるようになりますonDisconnect: ((Error?) -> Void)?からの移行については onDisconnect: ((Error?) -> Void)? から onDisconnect: ((SoraCloseEvent) -> Void)? への移行 を参照してください
破壊的変更¶
CocoaPods でのライブラリ提供を廃止しました
シグナリング type: connect メッセージの
multistreamを自動で true に設定する仕様を廃止しましたMediaChannelHandlersのonDisconnect: ((Error?) -> Void)?をonDisconnectLegacyという名前に変更し、非推奨にしましたonDisconnect: ((SoraCloseEvent) -> Void)?への移行を推奨しますonDisconnectLegacy: ((Error?) -> Void)?は2027 年中に削除予定です移行については onDisconnect: ((Error?) -> Void)? から onDisconnect: ((SoraCloseEvent) -> Void)? への移行 を参照してください
非推奨情報¶
Configuration.multistreamEnabledを非推奨にしましたSora 2025.1.0 でレガシーストリームが廃止されたため、この項目を非推奨にしました
合わせて
Configurationのイニシャライザの multistreamEnabled をオプション引数にし、デフォルト値を nil に変更しました2027 年中に削除予定です
変更履歴¶
[CHANGE] CocoaPods でのライブラリ提供を廃止しました
詳細は CocoaPods での提供終了について を参照してください
[CHANGE] connect メッセージの
multistreamを自動で true に設定する仕様を廃止しましたConfiguration.role に .sendrecv を指定している場合に multistream を true に設定する仕様を廃止しました
Configuration.spotlightEnabled に .enabled を指定している場合に multistream を true に設定する仕様を廃止しました
Sora iOS SDK 2025.2.0 からは、connect メッセージには Configuration.multistreamEnabled に指定した値がそのまま設定されます
今後は Configuration.role に .sendrecv を指定している場合または Configuration.spotlightEnabled に .enabled を指定している場合に Configuration.multistreamEnabled に false を指定すると接続エラーになります
[CHANGE]
MediaChannelHandlersのonDisconnect: ((Error?) -> Void)?をonDisconnectLegacyという名前に変更し、非推奨にしました[UPDATE] WebRTC m138.7204.0.3 に上げました
[UPDATE]
Configuration.multistreamEnabledを非推奨にしましたConfigurationのイニシャライザの multistreamEnabled をオプション引数にし、デフォルト値を nil に変更しましたSora のデフォルト挙動に合わせる場合は、
Configurationのイニシャライザで mutlistreamEnabled を指定しないようにしてください
[UPDATE] Sora との接続が終了したときの状態を表す
SoraCloseEvent(enum) を追加しました[UPDATE]
MediaChannelHandlersにonDisconnect: ((SoraCloseEvent) -> Void)?を追加しましたonDisconnect: ((Error?) -> Void)?からの移行については onDisconnect: ((Error?) -> Void)? から onDisconnect: ((SoraCloseEvent) -> Void)? への移行 を参照してください
[ADD] サイマルキャストの映像のエンコーディングパラメーター
scaleResolutionDownToを追加しましたscaleResolutionDownTo の詳細については Sora のドキュメントの サイマルキャスト機能 を参照してください
[ADD] Sora から DataChannel シグナリングを切断する際に
"type": "close"メッセージを受信する機能を追加しましたDataChannel シグナリングが有効、かつ
ignore_disconnect_websocketが true、かつ Sora の設定でdata_channel_signaling_close_messageが有効な場合に受信することができます
[FIX] Sora から切断された場合の切断処理を修正し適切なエラーを
MediaChannelHandlers.onDisconnectで受け取ることができるようになりましたSora iOS SDK 2025.1.1 までは Sora から Close Frame を受け取ったり、ネットワークエラーが起きたりしても、WebSocket メッセージ受信失敗に起因する
SoraError.webSocketErrorしか受信できませんでしたが、以下の内容を受信できるようになりましたSora から Close Frame を受け取った場合のステータスコードと理由
ステータスコードが 1000 で正常に切断された場合も
MediaChannelHandlers.onDisconnectで通知されます
ネットワークエラーや Sora がダウンした場合のエラー内容
いままでは WebSocket メッセージ受信失敗時のエラーである
The operation couldn’t be completed. Socket is not connectedというエラーしか返せていなかった状態が改善されましたこの変更によって
MediaChannelHandlers.onDisconnectで受信するメッセージの内容は変わりますが、コールバックが発火するタイミングに変更はありません
2025.1.3¶
- 日付:
2025-07-28
- 対応 Sora:
2024.2.0 以降
- 対応 iOS:
14.0 以降
- 対応 libwebrtc:
m132.6834.5.2
[FIX] Sora の設定が、DataChannel 経由のシグナリングの設定、かつ、WebSocket の切断を Sora への接続が切断したと判断しない設定の場合に、SDP 再交換に失敗することがある問題を修正しました
WebSocket 経由から DataChannel 経由へのシグナリング切替時に
type: switchedとtype: re-offerをほぼ同時に受信した際、type: re-answerを WebSocket 経由で送信する前に WebSocket を切断してしまいtype: re-answerの送信に失敗することがあるためですDataChannel 経由へのシグナリング切替後でも、まだ WebSocket 経由で送信中のメッセージが存在する可能性を考慮し、余裕を持って切断するために 10 秒の待機時間を設けるようにしました
2025.1.2¶
- 日付:
2025-05-07
- 対応 Sora:
2024.2.0 以降
- 対応 iOS:
14.0 以降
- 対応 libwebrtc:
m132.6834.5.2
[FIX] マルチストリーム利用時に SDP 再ハンドシェイク中に SDK が終了処理をした際に EXC_BAD_ACCESS (不正なメモリアクセス) によりクラッシュする問題を修正しました
2025.1.1¶
- 日付:
2025-01-23
- 対応 Sora:
2024.2.0 以降
- 対応 iOS:
14.0 以降
- 対応 libwebrtc:
m132.6834.5.2
[FIX] WebRTC m132.6834.5.2 にアップデートしました
Apple 非公開 API を利用していたため、App Store Connect へのアップロードに失敗する問題に対応しました
2025.1.0¶
- 日付:
2025-01-21
- 対応 Sora:
2024.2.0 以降
- 対応 iOS:
14.0 以降
- 対応 libwebrtc:
m132.6834.5.1
[UPDATE] WebRTC m132.6834.5.1 にアップデートしました
[UPDATE] システム条件を変更しました
IPHONEOS_DEPLOYMENT_TARGET を 14.0 に変更
SwiftPM の platforms の設定を v14 に変更
CocoaPods の platform の設定を 14.0 に変更
[UPDATE]
SignalingOfferに以下の項目を追加しましたversionsimulcastMulticodecspotlightchannelIdsessionIdaudioaudioCodecTypeaudioBitRatevideovideoCodecTypevideoBitRate
[UPDATE]
SignalingNotifyに以下の項目を追加しましたtimestampspotlightNumberfailedConnectionIdcurrentStatepreviousState
[ADD]
ForwardingFilterに name と priority を追加しました[ADD] シグナリング connect 時にリスト形式の転送フィルターを設定するための項目を追加しました
ConfigurationとSignalingConnectにforwardingFiltersを追加しました
2024.3.0¶
- 日付:
2024-09-06
- 対応 Sora:
2024.1.0 以降
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m127.6533.1.1
[CHANGE]
MediaChannelConfigurationを非推奨にしましたSDK 内部では利用していないため非推奨としています
現在ご利用の方はこのクラス定義をご自分のプロジェクトにコピーしてご利用ください
[UPDATE] libwebrtc
m127.6533.1.1にアップデートしました[UPDATE] SignalingOffer に
simulcast: Bool?を追加しました[UPDATE] システム条件を変更しました
macOS 14.6.1 以降
Xcode 15.4
WebRTC SFU Sora 2024.1.0 以降
[FIX] SignalingConnect の
metadata,signaling_notify_metadataが未設定 (nil) の場合に{}として送信されてしまう問題を修正しました未設定の場合は項目が含まれて送信されないように修正しました
この修正により、
Configuration.signalingConnectMetadataの値が未指定の場合は Sora の認証ウェブフックにmetadata,authn_metadataの項目が送信されなくなりますこの修正により、
Configuration.signalingConnectNotifyMetadataの値が未指定の場合は Sora のイベントウェブフックにmetadataの項目が送信されなくなります修正前の動作を維持して
{}を送信したい場合は、Configuration.signalingConnectMetadataおよびConfiguration.signalingConnectNotifyMetadataに中身が空の Encodable プロトコルに準拠したオブジェクトを指定してください例)
configuration.signalingConnectMetadata = [String: String]()
[FIX] 認証ウェブフック成功時に払い出された
simulcastの値が反映されない不具合に対応しました[FIX] スポットライト機能が有効の条件で
WrapperVideoEncoderFactoryのサイマルキャスト機能が有効になる不具合を修正しました利用上に不具合はありませんが、意図しないエンコーダーの設定になっていたため修正しました
[FIX] TURN URI に IPv6 アドレスが設定されている場合に接続ができない不具合を修正しました
TURN URI 文字列に対して、内部処理で意図しないエスケープ処理が行われていた問題を修正しました
2024.2.0¶
- 日付:
2024-04-23
- 対応 Sora:
2023.2.0 以降
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m122.6261.1.0
[CHANGE] シグナリング connect メッセージの libwebrtc に含まれるバージョン文字列を変更しました
Android とフォーマットを統一しました
"Shiguredo-build M122 (M122.1.0 6b419a0)" から "Shiguredo-build M122 (122.6261.1.0 6b419a0)" に変更されます
[UPDATE] libwebrtc を m122.6261.1.0 に更新しました
libwebrtc の AV1 デコード機能の脆弱性対応が含まれています
[UPDATE] システム条件を変更しました
macOS 14.4.1 以降
Xcode 15.3
Swift 5.10
2024.1.0¶
- 日付:
2024-02-26
- 対応 Sora:
2023.2.0 以降
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m121.6167.4.0
[CHANGE] Sora 2022.1.0 にて
metadata_listが廃止されたのに伴い、SignalingNotifyのmetadataListを削除しました代わりに
SignalingNotifyのdataで値を取得できます
[CHANGE] VideoView のバックエンドを RTCEAGLVideoView から RTCMTLVideoView に変更しました
libwebrtc のアップデートに伴い
RTCEAGLVideoViewがdeprecatedになったことに伴う修正です
[UPDATE] システム条件を変更しました
macOS 14.3.1 以降
WebRTC SFU Sora 2023.2.0 以降
CocoaPods 1.15.2 以降
Xcode 15.2
Swift 5.9.2
[UPDATE] CameraVideoCapturer のログを出力するようにしました
[UPDATE] libwebrtc のバージョンを 121.6167.4.0 に更新しました
HEVC (H.265) 対応パッチを含んだバージョンです
[UPDATE] 解像度に qHD (960x540) を追加しました
[UPDATE] CocoaPods を v1.15.2 に更新しました
[UPDATE] Sora 2023.2.0 で対応した
ForwardingFilterのversionとmetadataを追加しました[ADD]
VideoCodecにハードウェアアクセラレーターを利用した HEVC(H.265) の映像を送受信できるようにするコーデック指定H265を追加しました[ADD] リソースの逼迫により、送信する映像の品質が維持できない場合に、解像度やフレームレートのどちらを維持するかを指定できる設定
degradationPreferenceをWebRTCConfigurationに追加しました詳細については CPU やネットワーク帯域等逼迫時における映像品質優先項目の設定 をご確認ください
[FIX]
ForwardingFilterのactionを未指定にできるように修正しました[FIX]
SignalingNotifyに項目を追加しましたsessionIdkinddestinationConnectionIdsourceConnectionIdrecvConnectionIdsendConnectionIdstreamId
2023.3.1¶
- 日付:
2023-10-24
- 対応 Sora:
2023.1.0
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m116.5845.6.1
[FIX] AVCaptureDevice.Format の選択時にフレームレートを考慮するように修正しました
フレームレートに 60 を設定しても、 AVFrameRateRange が 1-30 の AVCaptureDevice.Format が選択されてしまうケースがあったため修正しました
修正前は、カメラから同じ解像度の AVCaptureDevice.Format が複数取得された場合、最初に解像度が一致した AVCaptureDevice.Format を選択しており、フレームレートが考慮されていなかったことが原因です
2023.3.0¶
- 日付:
2023-09-13
- 対応 Sora:
2023.1.0
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m116.5845.6.1
[CHANGE]
@available(*, unavailable)アトリビュートの項目を削除しましたSwift 5.9 以降
@available(*, unavailable)アトリビュートが禁止されたことによる対応です削除した項目を利用していた場合ビルドエラーが発生するため 利用不可項目の削除について を参照して対応をお願いします
[CHANGE]
@available(*, deprecated, ... )としていた非推奨項目を削除する非推奨であった項目について削除に移行しました
削除した項目を利用していた場合ビルドエラーが発生するため 利用不可項目の削除について を参照して対応をお願いします
[CHANGE]
PeerChannel.swiftとSignalingChannel.swiftのonConnectHandlerをonConnectに置き換えました既に他のファイルでは名称変更を行なっていたがこのファイルのみ変更が行われていなかったため対応する
[UPDATE] WebRTC 116.5845.6.1 に対応しました
[FIX]
MediaChannelのconnectionCount,publisherCount,subscriberCountに値が設定されない不具合を修正しましたSora のシグナリングメッセージ、 channel_upstream_connections, channel_downstream_connections が廃止された契機で値が設定されなくなっていました
Sora のシグナリングメッセージ、channel_sendrecv_connections, channel_sendonly_connections, channel_recvonly_connections, channel_connections を元に値を設定するよう修正
2023.2.0¶
- 日付:
2023-08-01
- 対応 Sora:
2023.1.0
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m115.5790.7.0
[UPDATE] WebRTC 115.5790.7.0 に対応しました
[UPDATE] システム条件を変更しました
macOS 13.4.1 以降
WebRTC SFU Sora 2023.1.0 以降
Xcode 14.3.1
Swift 5.8.1
CocoaPods 1.12.1 以降
[ADD] サイマルキャストを VP9 / AV1 で利用できるようにしました
[ADD] 接続時に転送フィルターを指定できるようにしました
ConfigurationにforwardingFilterを追加しました詳細は 転送フィルターの設定 をご確認ください
[ADD] 接続時に映像コーデックパラメーターを指定できるようにしました
ConfigurationにvideoVp9Params,videoAv1Params,videoH264Paramsを追加しました詳細は 映像コーデックパラメーターの設定 をご確認ください
2023.1.0¶
- 日付:
2023-04-07
- 対応 Sora:
2022.2.0
- 対応 iOS:
13.0 以降
- 対応 libwebrtc:
m112.5615.1.0
[UPDATE] WebRTC 112.5615.1.0 に対応しました
[UPDATE] システム条件を変更しました
macOS 13.3 以降
Xcode 14.3
Swift 5.8
WebRTC SFU Sora 2022.2.0 以降
[UPDATE]
CameraSettingsのResolutionにuhd2160p,uhd3024pを追加しました[ADD]
ConfigurationにaudioStreamingLanguageCodeを追加しました[FIX] m107.5304.4.1 利用時、シグナリング時に EXEC_BAD_ACCESS が発生する事象を修正しました
RTCPeerConnection.offer()に渡すブロック内でRTCPeerConnection.close()を呼んでいるのが原因だと思われるため、 async/await を使って offer() の終了を待ってから close() するよう修正しましたRTCPeerConnection.offer()の実行が非同期で行われるようになりましたが、NativePeerChannelFactory.createClientOfferSDP()の用途では問題はありません